diff --git a/packages/jest-worker/src/Farm.ts b/packages/jest-worker/src/Farm.ts index 44344baa8e79..f6ad78524d63 100644 --- a/packages/jest-worker/src/Farm.ts +++ b/packages/jest-worker/src/Farm.ts @@ -50,17 +50,12 @@ export default class Farm { method: string, ...args: Array ): PromiseWithCustomMessage { - const customMessageListeners: Set = new Set(); + const customMessageListeners = new Set(); const addCustomMessageListener = (listener: OnCustomMessage) => { customMessageListeners.add(listener); return () => { - // Check if the following check is required - customMessageListeners.forEach(customListener => { - if (customListener === listener) { - customMessageListeners.delete(customListener); - } - }); + customMessageListeners.delete(listener); }; }; @@ -89,7 +84,11 @@ export default class Farm { const onEnd: OnEnd = (error: Error | null, result: unknown) => { customMessageListeners.clear(); - return error ? reject(error) : resolve(result); + if (error) { + return reject(error); + } else { + return resolve(result); + } }; const task = {onCustomMessage, onEnd, onStart, request}; diff --git a/packages/jest-worker/src/__tests__/process-integration.test.js b/packages/jest-worker/src/__tests__/process-integration.test.js index 11e435a1f1bd..7d151cad828d 100644 --- a/packages/jest-worker/src/__tests__/process-integration.test.js +++ b/packages/jest-worker/src/__tests__/process-integration.test.js @@ -38,10 +38,6 @@ function assertCallsToChild(childNum, ...calls) { }); } -jest.mock('worker_threads', () => { - throw Error('Unsupported'); -}); - describe('Jest Worker Integration', () => { beforeEach(() => { mockForkedProcesses = []; diff --git a/packages/jest-worker/src/index.ts b/packages/jest-worker/src/index.ts index b8d149c3afe1..7bc79e1c736a 100644 --- a/packages/jest-worker/src/index.ts +++ b/packages/jest-worker/src/index.ts @@ -15,7 +15,7 @@ import type { WorkerPoolInterface, WorkerPoolOptions, } from './types'; -import _messageParent from './workers/messageParent'; +export {default as messageParent} from './workers/messageParent'; function getExposedMethods( workerPath: string, @@ -150,4 +150,3 @@ export default class JestWorker { } export type {PromiseWithCustomMessage}; -export const messageParent = _messageParent; diff --git a/packages/jest-worker/src/workers/messageParent.ts b/packages/jest-worker/src/workers/messageParent.ts index d9e768ae6734..e827c72bf0f2 100644 --- a/packages/jest-worker/src/workers/messageParent.ts +++ b/packages/jest-worker/src/workers/messageParent.ts @@ -5,11 +5,11 @@ * LICENSE file in the root directory of this source tree. */ +import {isMainThread, parentPort} from 'worker_threads'; import {PARENT_MESSAGE_CUSTOM} from '../types'; const isWorkerThread = () => { try { - const {isMainThread, parentPort} = require('worker_threads'); return !isMainThread && parentPort; } catch { return false;