diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/angular.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/angular.spec.ts.snap index c86b94d43..bc695be4b 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/angular.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/angular.spec.ts.snap @@ -49,6 +49,10 @@ exports[`angular configuration for android 1`] = ` mainFields: [ 'module', 'main' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { @@ -349,6 +353,10 @@ exports[`angular configuration for ios 1`] = ` mainFields: [ 'module', 'main' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap index 4955469d6..6d2f74332 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap @@ -43,6 +43,10 @@ exports[`base configuration for android 1`] = ` '.scss', '.android.json', '.json' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { @@ -329,6 +333,10 @@ exports[`base configuration for ios 1`] = ` '.scss', '.ios.json', '.json' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap index a35aeb83b..e202175cd 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap @@ -43,6 +43,10 @@ exports[`javascript configuration for android 1`] = ` '.scss', '.android.json', '.json' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { @@ -367,6 +371,10 @@ exports[`javascript configuration for ios 1`] = ` '.scss', '.ios.json', '.json' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/react.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/react.spec.ts.snap index 67de0a79f..e5dd0b3b2 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/react.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/react.spec.ts.snap @@ -46,6 +46,10 @@ exports[`react configuration > android > adds ReactRefreshWebpackPlugin when HMR '.scss', '.android.json', '.json' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { @@ -360,6 +364,10 @@ exports[`react configuration > android > base config 1`] = ` '.scss', '.android.json', '.json' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { @@ -652,6 +660,10 @@ exports[`react configuration > ios > adds ReactRefreshWebpackPlugin when HMR ena '.scss', '.ios.json', '.json' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { @@ -967,6 +979,10 @@ exports[`react configuration > ios > base config 1`] = ` '.scss', '.ios.json', '.json' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/svelte.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/svelte.spec.ts.snap index 2c11a48a4..88871e6f9 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/svelte.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/svelte.spec.ts.snap @@ -45,6 +45,10 @@ exports[`svelte configuration for android 1`] = ` '.scss', '.android.json', '.json' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { @@ -356,6 +360,10 @@ exports[`svelte configuration for ios 1`] = ` '.scss', '.ios.json', '.json' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/typescript.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/typescript.spec.ts.snap index d95cab7f0..2d356ba14 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/typescript.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/typescript.spec.ts.snap @@ -43,6 +43,10 @@ exports[`typescript configuration for android 1`] = ` '.scss', '.android.json', '.json' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { @@ -367,6 +371,10 @@ exports[`typescript configuration for ios 1`] = ` '.scss', '.ios.json', '.json' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/vue.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/vue.spec.ts.snap index 52f510895..9441f6687 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/vue.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/vue.spec.ts.snap @@ -46,6 +46,10 @@ exports[`vue configuration for android 1`] = ` '.scss', '.android.json', '.json' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { @@ -364,6 +368,10 @@ exports[`vue configuration for ios 1`] = ` '.scss', '.ios.json', '.json' + ], + modules: [ + '__jest__/node_modules', + 'node_modules' ] }, resolveLoader: { diff --git a/packages/webpack5/src/configuration/base.ts b/packages/webpack5/src/configuration/base.ts index f50beb3a9..62315a673 100644 --- a/packages/webpack5/src/configuration/base.ts +++ b/packages/webpack5/src/configuration/base.ts @@ -137,6 +137,12 @@ export default function (config: Config, env: IWebpackEnv = _env): Config { // resolve symlinks config.resolve.symlinks(true); + // resolve modules in project node_modules first + // then fall-back to default node resolution (up the parent folder chain) + config.resolve.modules + .add(getProjectFilePath('node_modules')) + .add('node_modules'); + config.module .rule('bundle') .enforce('post')