From f7e943164bee636616b04bc5cdeefddd9ce57d13 Mon Sep 17 00:00:00 2001 From: Constantine Genchevsky Date: Thu, 21 May 2020 19:06:32 +0300 Subject: [PATCH 1/3] Fix configuration of Webpack aliases --- packages/jest/src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/jest/src/index.js b/packages/jest/src/index.js index 01567e9a9..f7c9c8692 100644 --- a/packages/jest/src/index.js +++ b/packages/jest/src/index.js @@ -63,7 +63,7 @@ module.exports = (options = {}) => (neutrino) => { moduleNameMapper: Object.keys(aliases).reduce( (mapper, key) => ({ ...mapper, - [`^${key}$`]: `${getFinalPath(aliases[key])}$1`, + [`^${key}$`]: `${getFinalPath(aliases[key])}`, }), { [extensionsToNames(media)]: require.resolve('./file-mock'), From 11282148c10c2bdc705c0231c9f77be34a676564 Mon Sep 17 00:00:00 2001 From: constgen Date: Mon, 22 Jun 2020 17:35:17 +0300 Subject: [PATCH 2/3] Add a test for the reflection of Webpack aliases in Jest config --- packages/jest/test/jest_test.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/jest/test/jest_test.js b/packages/jest/test/jest_test.js index c96a805d6..655aa9af6 100644 --- a/packages/jest/test/jest_test.js +++ b/packages/jest/test/jest_test.js @@ -1,3 +1,4 @@ +import path from 'path'; import test from 'ava'; import airbnbPreset from '../../airbnb'; import eslintPreset from '../../eslint'; @@ -150,3 +151,18 @@ test('exposes babel config without babel-loader specific options', (t) => { t.false('cacheIdentifier' in babelOptions); t.false('customize' in babelOptions); }); + +test('configures webpack aliases in moduleNameMapper correctly', (t) => { + const api = new Neutrino(); + const reactPath = path.resolve(path.join('node_modules', 'react')); + api.use(reactPreset()); + api.use(mw()); + api.config.resolve.alias.set('react', reactPath); + const config = api.outputHandlers.get('jest')(api); + + t.true( + Object.entries(config.moduleNameMapper).some(function ([key, alias]) { + return key === '^react$' && alias === reactPath; + }), + ); +}); From 7e115799a45fa45599ec3157a92f9f5cf5d60c71 Mon Sep 17 00:00:00 2001 From: constgen Date: Mon, 22 Jun 2020 17:56:40 +0300 Subject: [PATCH 3/3] Fix linting violation --- packages/jest/test/jest_test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/jest/test/jest_test.js b/packages/jest/test/jest_test.js index 655aa9af6..113e5fecf 100644 --- a/packages/jest/test/jest_test.js +++ b/packages/jest/test/jest_test.js @@ -161,7 +161,7 @@ test('configures webpack aliases in moduleNameMapper correctly', (t) => { const config = api.outputHandlers.get('jest')(api); t.true( - Object.entries(config.moduleNameMapper).some(function ([key, alias]) { + Object.entries(config.moduleNameMapper).some(([key, alias]) => { return key === '^react$' && alias === reactPath; }), );