{"id":19315,"library":"babel-preset-next","title":"babel-preset-next","description":"A Babel preset that includes plugins for async generator functions, class properties, object rest spread, and decorators, targeting Babel 7.0 and requiring @babel/core and babel-loader 8.0+. Version 1.4.0 is the latest release, with modest updates to Babel dependencies. This preset is minimal and opinionated, primarily intended for personal or small projects, and not widely adopted. It differs from more comprehensive presets like @babel/preset-env by offering a fixed set of plugins without dynamic targeting or polyfilling.","status":"active","version":"1.4.0","language":"javascript","source_language":"en","source_url":"https://github.com/cuining/babel-preset-next","tags":["javascript"],"install":[{"cmd":"npm install babel-preset-next","lang":"bash","label":"npm"},{"cmd":"yarn add babel-preset-next","lang":"bash","label":"yarn"},{"cmd":"pnpm add babel-preset-next","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency required for Babel compilation.","package":"@babel/core","optional":false}],"imports":[{"note":"This package is a CommonJS preset for Babel, not a JavaScript module. Use string reference in .babelrc or babel.config.js.","wrong":"import presets from 'babel-preset-next'","symbol":"default","correct":"module.exports = { presets: ['next'] }"},{"note":"The package exports a single function as module.exports, not a named export. Use require for CommonJS.","wrong":"import { preset } from 'babel-preset-next'","symbol":"preset","correct":"const next = require('babel-preset-next')"},{"note":"Options are passed as an array in Babel configuration. Common mistake is to omit the array wrapping.","wrong":"","symbol":"options","correct":"// In .babelrc: { \"presets\": [[\"next\", { \"targets\": { \"ie\": 9 } }]] }"}],"quickstart":{"code":"// Install\nnpm install --save-dev @babel/core @babel/preset-env babel-loader babel-preset-next\n\n// .babelrc\n{\n  \"presets\": [\n    [\"next\", {\n      \"targets\": {\n        \"ie\": 9\n      },\n      \"debug\": false\n    }]\n  ]\n}\n\n// webpack.config.js (if using babel-loader)\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.js$/,\n        exclude: /node_modules/,\n        use: {\n          loader: 'babel-loader',\n          options: {\n            presets: [['next', { targets: { ie: 9 } }]]\n          }\n        }\n      }\n    ]\n  }\n};","lang":"javascript","description":"Shows installation and configuration of babel-preset-next via .babelrc and webpack."},"warnings":[{"fix":"Consider using @babel/preset-env with appropriate targets and plugin-proposal-* for individual proposals.","message":"Deprecated: async-generator-functions, class-properties, object-rest-spread, decorators are now part of @babel/preset-env or stage presets.","severity":"deprecated","affected_versions":"<=1.4.0"},{"fix":"Ensure @babel/core >=7.0.0 and babel-loader >=8.0.0 are installed.","message":"Requires Babel 7.0 and babel-loader 8.0+. Older versions will break.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use babel-minify or upgrade webpack to v4 with latest uglifyjs-webpack-plugin.","message":"Default target is IE 9; if you target modern browsers, UglifyJS may fail on ES6+ syntax.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Migrate to Babel 7 if using this preset.","message":"Breaking: v1.0.0 switched to Babel 7 plugins; not backward compatible with Babel 6.","severity":"breaking","affected_versions":">=1.0.0 <2.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 --save-dev @babel/core","cause":"@babel/core not installed as a dev or peer dependency.","error":"Cannot find module '@babel/core'"},{"fix":"Use require('babel-preset-next') or string reference in .babelrc.","cause":"Attempting to import the preset as an ES module or incorrect require.","error":"Error: Plugin/Preset files are not allowed to export objects, only functions."},{"fix":"Upgrade to @babel/core 7+ and babel-loader 8+.","cause":"Incompatible Babel version (e.g., Babel 6 with this preset).","error":"Module build failed (from ./node_modules/babel-loader/lib/index.js): TypeError: Cannot read property 'bindings' of null"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}