From 2a2d4ad1a421339577931f9ad6a658fbca78403a Mon Sep 17 00:00:00 2001 From: Simen Bekkhus Date: Sat, 10 Sep 2022 15:52:02 +0200 Subject: [PATCH 1/2] fix(resolver): resolve mapped paths --- CHANGELOG.md | 1 + .../jest-resolve/src/__tests__/resolve.test.ts | 14 ++++++++++++++ packages/jest-resolve/src/defaultResolver.ts | 6 +----- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 975c3f3f4c36..0f853f2b2773 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ ### Fixes - `[jest-core]` Capture execError during `TestScheduler.scheduleTests` and dispatch to reporters ([#13203](https://github.com/facebook/jest/pull/13203)) +- `[jest-resolver]` Make sure to resolve module paths after looking at `exports` - `[jest-snapshot]` Fix typings of snapshot matchers ([#13240])(https://github.com/facebook/jest/pull/13240)) ### Chore & Maintenance diff --git a/packages/jest-resolve/src/__tests__/resolve.test.ts b/packages/jest-resolve/src/__tests__/resolve.test.ts index eb6d3c3cd7d3..4a84b71aa218 100644 --- a/packages/jest-resolve/src/__tests__/resolve.test.ts +++ b/packages/jest-resolve/src/__tests__/resolve.test.ts @@ -220,6 +220,20 @@ describe('findNodeModule', () => { ); }); + test('supports nested paths with wildcard and no extension', () => { + const result = Resolver.findNodeModule('exports/directory/file', { + basedir: conditionsRoot, + conditions: [], + }); + + expect(result).toEqual( + path.resolve( + conditionsRoot, + './node_modules/exports/some-other-directory/file.js', + ), + ); + }); + test('supports nested conditions', () => { const resultRequire = Resolver.findNodeModule('exports/deeplyNested', { basedir: conditionsRoot, diff --git a/packages/jest-resolve/src/defaultResolver.ts b/packages/jest-resolve/src/defaultResolver.ts index c785c055f998..03be868ebc1a 100644 --- a/packages/jest-resolve/src/defaultResolver.ts +++ b/packages/jest-resolve/src/defaultResolver.ts @@ -111,11 +111,7 @@ const defaultResolver: SyncResolver = (path, options) => { const pathToResolve = getPathInModule(path, resolveOptions); - const result = - // if `getPathInModule` doesn't change the path, attempt to resolve it - pathToResolve === path - ? resolveSync(pathToResolve, resolveOptions) - : pathToResolve; + const result = resolveSync(pathToResolve, resolveOptions); // Dereference symlinks to ensure we don't create a separate // module instance depending on how it was referenced. From 15790459a057aad6a8ab5840418e5b1e52afd8b9 Mon Sep 17 00:00:00 2001 From: Simen Bekkhus Date: Sat, 10 Sep 2022 15:53:07 +0200 Subject: [PATCH 2/2] changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f853f2b2773..88fb28751656 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ ### Fixes - `[jest-core]` Capture execError during `TestScheduler.scheduleTests` and dispatch to reporters ([#13203](https://github.com/facebook/jest/pull/13203)) -- `[jest-resolver]` Make sure to resolve module paths after looking at `exports` +- `[jest-resolver]` Make sure to resolve module paths after looking at `exports` ([#13242](https://github.com/facebook/jest/pull/13242)) - `[jest-snapshot]` Fix typings of snapshot matchers ([#13240])(https://github.com/facebook/jest/pull/13240)) ### Chore & Maintenance