{"id":19275,"library":"babel-preset-env","title":"babel-preset-env","description":"A Babel preset that automatically determines the transforms and polyfills needed for target environments (browsers or Node.js versions) based on browserslist queries. Version 1.7.0 is the last stable release before merging into the Babel monorepo. Deprecated in favor of @babel/preset-env (Babel 7). No longer maintained as a standalone package. Use @babel/preset-env for continued support and updates.","status":"deprecated","version":"1.7.0","language":"javascript","source_language":"en","source_url":"https://github.com/babel/babel-preset-env","tags":["javascript"],"install":[{"cmd":"npm install babel-preset-env","lang":"bash","label":"npm"},{"cmd":"yarn add babel-preset-env","lang":"bash","label":"yarn"},{"cmd":"pnpm add babel-preset-env","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"This is a Babel preset, not a module to import directly. Use it in .babelrc or babel config.","wrong":"import env from 'babel-preset-env'","symbol":"preset-env (preset)","correct":"module.exports = { presets: ['env'] }"},{"note":"In v2 alpha, useBuiltIns: true was renamed to 'usage'. In v1, true is invalid; use 'entry' or 'usage'.","wrong":"['env', { useBuiltIns: true }]","symbol":"useBuiltIns option","correct":"['env', { useBuiltIns: 'usage' }]"},{"note":"Use browserslist query string or object with browser/Node versions. In v1.5+, versions can be strings.","wrong":"['env', { targets: { browsers: 'last 2 versions' } }]","symbol":"targets option","correct":"['env', { targets: { browsers: 'last 2 versions' } }]"}],"quickstart":{"code":"// .babelrc\n{\n  \"presets\": [\n    [\"env\", {\n      \"targets\": {\n        \"browsers\": [\"> 0.25%\", \"not dead\"]\n      },\n      \"useBuiltIns\": \"usage\",\n      \"corejs\": 2\n    }]\n  ]\n}\n\n// Then in your build script:\n// npx babel src --out-dir lib\n// For polyfills, ensure core-js@2 is installed.","lang":"javascript","description":"Configure babel-preset-env with browserslist targets and useBuiltIns for automatic polyfill inclusion."},"warnings":[{"fix":"Replace 'babel-preset-env' with '@babel/preset-env' and update Babel to v7+.","message":"babel-preset-env is deprecated. Use @babel/preset-env for Babel 7+.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Use 'entry' or 'usage' (Babel 7) instead of true.","message":"useBuiltIns: true was renamed to 'usage' in v2 alpha. In v1, true is invalid.","severity":"breaking","affected_versions":"<2.0.0"},{"fix":"Always set targets to reduce output size and avoid unnecessary transforms.","message":"Without specifying targets, it behaves like babel-preset-latest (transpiles everything).","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Add import 'core-js' at app entry when using 'entry' mode.","message":"useBuiltIns: 'entry' requires importing core-js at the entry point (e.g., import 'core-js'). Usage mode does not.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"npm install babel-preset-env --save-dev","cause":"Package not installed or typo in name.","error":"Error: Cannot find module 'babel-preset-env'"},{"fix":"Add 'transform-runtime' plugin or ensure core-js polyfill includes regenerator.","cause":"Async/await or generator functions need runtime polyfill.","error":"ReferenceError: regeneratorRuntime is not defined"},{"fix":"Install core-js@2 (or 3) and set 'corejs' option accordingly.","cause":"Using useBuiltIns: 'usage' with outdated core-js.","error":"Module not found: Can't resolve 'core-js/modules/es6.promise'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}