From 4b07096e518e582d10992f2b9aca90828544d0a7 Mon Sep 17 00:00:00 2001 From: Yaroslav Serhieiev Date: Wed, 11 Oct 2023 16:55:16 +0300 Subject: [PATCH] fix: error when debugging in IntelliJ --- e2e/jest-recorder.config.js | 2 +- src/environment-hooks.ts | 29 +++++++++++++++++------------ 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/e2e/jest-recorder.config.js b/e2e/jest-recorder.config.js index 58123de..87d662e 100644 --- a/e2e/jest-recorder.config.js +++ b/e2e/jest-recorder.config.js @@ -39,7 +39,7 @@ const presets = { }, 'no-reporter-1': { ...mixins.env(true), - ...mixins.workers(2), + ...mixins.workers(1), reporters: ['default'], }, 'no-reporter-N': { diff --git a/src/environment-hooks.ts b/src/environment-hooks.ts index 07dff37..4726e0e 100644 --- a/src/environment-hooks.ts +++ b/src/environment-hooks.ts @@ -18,23 +18,28 @@ export function onTestEnvironmentCreate( realm.events.add(realm.setEmitter); if (!realm.globalMetadata.hasTestFileMetadata(testFilePath)) { - if (realm.type === 'child_process') { - realm.coreEmitter.emit({ - type: 'add_test_file', - testFilePath, - }); - } else { + realm.coreEmitter.emit({ + type: 'add_test_file', + testFilePath, + }); + + if (realm.type === 'parent_process') { const { globalConfig } = jestEnvironmentConfig; const first = (r: T[]) => r[0]; - const hint = globalConfig?.reporters - ? ` "reporters": ${inspect(globalConfig.reporters.map(first))}\n` + const hint = globalConfig + ? ` "reporters": ${inspect(globalConfig.reporters?.map(first))}\n` : ''; // Jest 27 fallback - throw new JestMetadataError( + const message = `Cannot use a metadata test environment without a metadata server.\n` + - `Please check that at least one of the reporters in your Jest config inherits from "jest-metadata/reporter".\n` + - hint, - ); + `Please check that at least one of the reporters in your Jest config inherits from "jest-metadata/reporter".\n` + + hint; + + if (globalConfig && (globalConfig.runInBand || globalConfig.maxWorkers === 1)) { + console.warn('[jest-metadata] ' + message); + } else { + throw new JestMetadataError(message); + } } }