diff --git a/CHANGELOG.md b/CHANGELOG.md index c0dbc8210e4a..574d06ebfbcb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ ## master +### Features + +- `[babel-jest]` Add support for `babel.config.js` added in Babel 7.0.0 ([#6911](https://github.com/facebook/jest/pull/6911)) + ### Fixes - `[expect]` Fix variadic custom asymmetric matchers ([#6898](https://github.com/facebook/jest/pull/6898)) diff --git a/packages/babel-jest/src/index.js b/packages/babel-jest/src/index.js index fb0ac333249e..5484019e2f4f 100644 --- a/packages/babel-jest/src/index.js +++ b/packages/babel-jest/src/index.js @@ -24,6 +24,7 @@ import babelIstanbulPlugin from 'babel-plugin-istanbul'; const BABELRC_FILENAME = '.babelrc'; const BABELRC_JS_FILENAME = '.babelrc.js'; +const BABEL_CONFIG_JS_FILENAME = 'babel.config.js'; const BABEL_CONFIG_KEY = 'babel'; const PACKAGE_JSON = 'package.json'; const THIS_FILE = fs.readFileSync(__filename); @@ -45,7 +46,13 @@ const createTransformer = (options: any): Transformer => { cache[directory] = fs.readFileSync(configFilePath, 'utf8'); break; } - const configJsFilePath = path.join(directory, BABELRC_JS_FILENAME); + let configJsFilePath = path.join(directory, BABELRC_JS_FILENAME); + if (fs.existsSync(configJsFilePath)) { + // $FlowFixMe + cache[directory] = JSON.stringify(require(configJsFilePath)); + break; + } + configJsFilePath = path.join(directory, BABEL_CONFIG_JS_FILENAME); if (fs.existsSync(configJsFilePath)) { // $FlowFixMe cache[directory] = JSON.stringify(require(configJsFilePath));