From d355b3b51e06d4e39aae3a5091ce354b0ff5c261 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pierzcha=C5=82a?= Date: Mon, 2 Oct 2017 10:03:05 +0200 Subject: [PATCH] Support rootDir tag in testEnvironment (#4579) --- .../jest-config/src/__tests__/normalize.test.js | 15 +++++++++++++++ packages/jest-config/src/utils.js | 2 +- yarn.lock | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/jest-config/src/__tests__/normalize.test.js b/packages/jest-config/src/__tests__/normalize.test.js index 2b4b2782beb6..c654d4b03f87 100644 --- a/packages/jest-config/src/__tests__/normalize.test.js +++ b/packages/jest-config/src/__tests__/normalize.test.js @@ -583,6 +583,9 @@ describe('testEnvironment', () => { if (name === 'jest-environment-jsdom') { return 'node_modules/jest-environment-jsdom'; } + if (name.startsWith('/root')) { + return name; + } return findNodeModule(name); }); }); @@ -612,6 +615,18 @@ describe('testEnvironment', () => { ), ).toThrowErrorMatchingSnapshot(); }); + + it('works with rootDir', () => { + const {options} = normalize( + { + rootDir: '/root', + testEnvironment: '/testEnvironment.js', + }, + {}, + ); + + expect(options.testEnvironment).toEqual('/root/testEnvironment.js'); + }); }); describe('babel-jest', () => { diff --git a/packages/jest-config/src/utils.js b/packages/jest-config/src/utils.js index 5afccaa0b8ff..b9fde85b7407 100644 --- a/packages/jest-config/src/utils.js +++ b/packages/jest-config/src/utils.js @@ -100,7 +100,7 @@ export const _replaceRootDirTags = (rootDir: string, config: any) => { * 1. looks for relative to Jest. */ export const getTestEnvironment = (config: Object) => { - const env = config.testEnvironment; + const env = _replaceRootDirInPath(config.rootDir, config.testEnvironment); let module = Resolver.findNodeModule(`jest-environment-${env}`, { basedir: config.rootDir, }); diff --git a/yarn.lock b/yarn.lock index 42f4d5265093..d1eade80989c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5837,7 +5837,7 @@ typedarray@^0.0.6, typedarray@~0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -typescript@^2.5.3: +typescript@^2.2.2, typescript@^2.5.3: version "2.5.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.5.3.tgz#df3dcdc38f3beb800d4bc322646b04a3f6ca7f0d"