From 7626da9e5e18a61ebc3b2a3f74e7116962243ee3 Mon Sep 17 00:00:00 2001 From: Simen Bekkhus Date: Tue, 24 Jan 2023 11:45:32 +0100 Subject: [PATCH] fix(resolve): remove faulty check for `node:` modules (#13806) --- CHANGELOG.md | 1 + e2e/__tests__/__snapshots__/moduleNameMapper.test.ts.snap | 4 ++-- packages/jest-resolve/src/__tests__/resolve.test.ts | 4 ++-- packages/jest-resolve/src/resolver.ts | 4 +--- packages/jest-runtime/src/index.ts | 2 +- 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1e78df194b7..d8e95e1130be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ - `[@jest/expect-utils]` `toMatchObject` should handle `Symbol` properties ([#13639](https://github.com/facebook/jest/pull/13639)) - `[jest-mock]` Fix `mockReset` and `resetAllMocks` `undefined` return value([#13692](https://github.com/facebook/jest/pull/13692)) - `[jest-resolve]` Add global paths to `require.resolve.paths` ([#13633](https://github.com/facebook/jest/pull/13633)) +- `[jest-resolve]` Correct node core module detection when using `node:` specifiers ([#13806](https://github.com/facebook/jest/pull/13806)) - `[jest-runtime]` Support WASM files that import JS resources ([#13608](https://github.com/facebook/jest/pull/13608)) - `[jest-runtime]` Use the `scriptTransformer` cache in `jest-runner` ([#13735](https://github.com/facebook/jest/pull/13735)) - `[jest-runtime]` Enforce import assertions when importing JSON in ESM ([#12755](https://github.com/facebook/jest/pull/12755) & [#13805](https://github.com/facebook/jest/pull/13805)) diff --git a/e2e/__tests__/__snapshots__/moduleNameMapper.test.ts.snap b/e2e/__tests__/__snapshots__/moduleNameMapper.test.ts.snap index 061f79bcb254..dcc24b54322b 100644 --- a/e2e/__tests__/__snapshots__/moduleNameMapper.test.ts.snap +++ b/e2e/__tests__/__snapshots__/moduleNameMapper.test.ts.snap @@ -41,7 +41,7 @@ exports[`moduleNameMapper wrong array configuration 1`] = ` 12 | module.exports = () => 'test'; 13 | - at createNoMappedModuleFoundError (../../packages/jest-resolve/build/resolver.js:760:17) + at createNoMappedModuleFoundError (../../packages/jest-resolve/build/resolver.js:759:17) at Object.require (index.js:10:1) at Object.require (__tests__/index.js:10:20)" `; @@ -71,7 +71,7 @@ exports[`moduleNameMapper wrong configuration 1`] = ` 12 | module.exports = () => 'test'; 13 | - at createNoMappedModuleFoundError (../../packages/jest-resolve/build/resolver.js:760:17) + at createNoMappedModuleFoundError (../../packages/jest-resolve/build/resolver.js:759:17) at Object.require (index.js:10:1) at Object.require (__tests__/index.js:10:20)" `; diff --git a/packages/jest-resolve/src/__tests__/resolve.test.ts b/packages/jest-resolve/src/__tests__/resolve.test.ts index 48fb0bf39805..6a317217e190 100644 --- a/packages/jest-resolve/src/__tests__/resolve.test.ts +++ b/packages/jest-resolve/src/__tests__/resolve.test.ts @@ -91,11 +91,11 @@ describe('isCoreModule', () => { expect(isCore).toBe(true); }); - it('returns false if using `node:` URLs and `moduleName` is not a core module.', () => { + it('returns true if using `node:` URLs and `moduleName` is not a core module.', () => { const moduleMap = ModuleMap.create('/'); const resolver = new Resolver(moduleMap, {} as ResolverConfig); const isCore = resolver.isCoreModule('node:not-a-core-module'); - expect(isCore).toBe(false); + expect(isCore).toBe(true); }); }); diff --git a/packages/jest-resolve/src/resolver.ts b/packages/jest-resolve/src/resolver.ts index d95a363fd1f7..89af77e7597a 100644 --- a/packages/jest-resolve/src/resolver.ts +++ b/packages/jest-resolve/src/resolver.ts @@ -456,9 +456,7 @@ export default class Resolver { isCoreModule(moduleName: string): boolean { return ( this._options.hasCoreModules && - (isBuiltinModule(moduleName) || - (moduleName.startsWith('node:') && - isBuiltinModule(moduleName.slice('node:'.length)))) && + (isBuiltinModule(moduleName) || moduleName.startsWith('node:')) && !this._isAliasModule(moduleName) ); } diff --git a/packages/jest-runtime/src/index.ts b/packages/jest-runtime/src/index.ts index 5b57dc3546ca..ae0f8bde2ca9 100644 --- a/packages/jest-runtime/src/index.ts +++ b/packages/jest-runtime/src/index.ts @@ -1803,7 +1803,7 @@ export default class Runtime { return this._getMockedNativeModule(); } - return require(moduleWithoutNodePrefix); + return require(moduleName); } private _importCoreModule(moduleName: string, context: VMContext) {