diff --git a/packages/jest-config/src/__tests__/normalize.test.js b/packages/jest-config/src/__tests__/normalize.test.js index 89ee1bdb2daa..4287519acc5d 100644 --- a/packages/jest-config/src/__tests__/normalize.test.js +++ b/packages/jest-config/src/__tests__/normalize.test.js @@ -954,7 +954,7 @@ describe('preset', () => { return '/node_modules/react-native-js-preset/jest-preset.js'; } - if (name === 'doesnt-exist') { + if (/doesnt-exist/.test(name)) { return null; } diff --git a/packages/jest-config/src/normalize.ts b/packages/jest-config/src/normalize.ts index 5d60d45c2053..8e23db998984 100644 --- a/packages/jest-config/src/normalize.ts +++ b/packages/jest-config/src/normalize.ts @@ -133,14 +133,15 @@ const setupPreset = ( ); try { + if (!presetModule) { + throw new Error(`Cannot find module '${presetPath}'`); + } + // Force re-evaluation to support multiple projects try { - if (presetModule) { - delete require.cache[require.resolve(presetModule)]; - } + delete require.cache[require.resolve(presetModule)]; } catch {} - // @ts-expect-error: `presetModule` can be null? preset = require(presetModule); } catch (error) { if (error instanceof SyntaxError || error instanceof TypeError) {