{"id":19302,"library":"babel-preset-jest","title":"babel-preset-jest","description":"Babel preset for Jest, part of the Jest monorepo. Current version 30.3.0, released as part of Jest 30. This preset automatically configures Babel plugins needed for Jest to work with your code (e.g., transforms for ES modules, JSX, and TypeScript). Relies on @babel/core (peer dep) and babel-jest. Key differentiator: it's the official Jest preset, ensuring compatibility with Jest's internal module transformation. Actively maintained with frequent releases alongside Jest. Not to be used standalone; instead used via babel-jest or jest config.","status":"active","version":"30.3.0","language":"javascript","source_language":"en","source_url":"https://github.com/jestjs/jest","tags":["javascript"],"install":[{"cmd":"npm install babel-preset-jest","lang":"bash","label":"npm"},{"cmd":"yarn add babel-preset-jest","lang":"bash","label":"yarn"},{"cmd":"pnpm add babel-preset-jest","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency: required by Babel to perform transformations","package":"@babel/core","optional":false}],"imports":[{"note":"Use via babel.config.js: module.exports = { presets: ['babel-preset-jest'] } or jest config transform","wrong":"import preset from 'babel-preset-jest'","symbol":"default","correct":"// No need to import directly; configure in Jest or Babel"},{"note":"createTransformer is in babel-jest, not babel-preset-jest","wrong":"import { createTransformer } from 'babel-preset-jest'","symbol":"createTransformer","correct":"import { createTransformer } from 'babel-jest'"},{"note":"Simply use string 'jest' in Babel config; package resolution handles it","wrong":"const preset = require('babel-preset-jest'); module.exports = { presets: [preset] }","symbol":"require presets","correct":"module.exports = { presets: ['jest'] }"}],"quickstart":{"code":"// Install: npm install --save-dev babel-preset-jest @babel/core\n// In babel.config.js:\nmodule.exports = {\n  presets: ['@babel/preset-env', 'jest']\n};\n// Or in jest.config.js:\nmodule.exports = {\n  transform: {\n    '^.+\\\\.jsx?$': 'babel-jest',\n  },\n  // The preset is automatically applied when using babel-jest\n};","lang":"javascript","description":"Shows how to configure Jest with babel-preset-jest in Babel config and how to let babel-jest apply it automatically."},"warnings":[{"fix":"Upgrade Node to >=18.14.0","message":"Jest 30 dropped support for Node 16 and 18 (prior to 18.14), requiring Node >=18.14.","severity":"breaking","affected_versions":">=30.0.0"},{"fix":"In jest.config.js: transform: { '^.+\\\\.jsx?$': 'babel-jest' }","message":"Jest 30 changed the default transform from babel-jest to a new runtime, but babel-preset-jest can still be used. If you rely on automatic Babel integration, you may need to explicitly configure `transform` in jest config.","severity":"breaking","affected_versions":">=30.0.0"},{"fix":"Use 'jest' as a string in presets array, or rely on babel-jest.","message":"babel-preset-jest is not imported directly; it's used via Babel config string 'jest' or automatically by babel-jest. Trying to import it as a module will not work.","severity":"gotcha","affected_versions":"*"},{"fix":"Install @babel/plugin-transform-modules-commonjs and add to your babel.config.js plugins array.","message":"In older Jest versions (<29), babel-preset-jest included @babel/plugin-transform-modules-commonjs by default. Starting from Jest 29, this plugin is no longer automatically added; you must install and configure it explicitly if needed.","severity":"deprecated","affected_versions":"<29.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Install @babel/core@^7.11.0: npm install --save-dev @babel/core@^7.11.0","cause":"babel-preset-jest requires @babel/core version 7 or 8 beta, but you have version 8 stable installed.","error":"Error: Requires Babel \"^7.0.0-0\", but was loaded with \"8.0.0\""},{"fix":"Install babel-jest: npm install --save-dev babel-jest","cause":"Missing babel-jest dependency when using jest's default babel transform.","error":"Module not found: Can't resolve 'babel-jest'"},{"fix":"Install babel-jest: npm install --save-dev babel-jest","cause":"babel-jest is not installed but Jest is trying to use Babel transforms.","error":"Jest: `babel-jest` is required for using the `.babelrc` or `babel.config.js` files. Install it: npm install --save-dev babel-jest"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}