If you are already using jest-cli
, add babel-jest
and it will automatically compile JavaScript code using Babel.
yarn add --dev babel-jest @babel/core
If you would like to write your own preprocessor, uninstall and delete babel-jest and set the config.transform option to your preprocessor.
Note: this step is only required if you are using babel-jest
with additional code preprocessors.
To explicitly define babel-jest
as a transformer for your JavaScript code, map .js files to the babel-jest
module. Typescript files are also supported.
By default, it loads your existing Babel configuration (if any)
"transform": {
"\\.[jt]sx?$": "babel-jest"
},
You can also pass further babel options
"transform": {
"\\.[jt]sx?$": ["babel-jest", { "extends": "./babel.config.js", "plugins": ["babel-plugin-transform-import-meta"] }]
},
By default, babel-jest
includes babel-preset-jest
. In addition to the babel options, we introduce a new option, excludeJestPreset
, which allows you to disable this behavior. Note that this will break jest.mock
hoisting.
"transform": {
"\\.[jt]sx?$": ["babel-jest", { "excludeJestPreset": true }],
}