Super early pre-release of Babel 8 :)
It's currently known to not work with:
It is known to work with:
@rollup/plugin-babel
peerDependencies are all incorrect, so use the npm flag --legacy-peer-deps if you want to test it.
For the full Babel 8 migration guide, see https://next.babeljs.io/docs/v8-migration
v8.0.0-alpha.0 (2023-07-20)
👓 Spec Compliance
babel-parser- #12451 [babel 8] Report a SyntaxError for
}and>in JSX text (@nicolo-ribaudo) - #12447 [babel 8] Disallow sequence expressions in JSX expression containers (@nicolo-ribaudo)
- #12451 [babel 8] Report a SyntaxError for
💥 Breaking Change
- Other
- #15763 [babel 8] Bump eslint-parser/plugin eslint requirements (@JLHwung)
- #13921 [babel 8] Align
allow*parser options with ESLint behavior (@nicolo-ribaudo)
- All packages
- #15585 [babel 8] Require Node.js
^16.20.0 || ^18.16.0 || >=20.0.0(@nicolo-ribaudo) - #14013 [babel 8] Add
"exports"to every package (@nicolo-ribaudo)
- #15585 [babel 8] Require Node.js
babel-plugin-proposal-decorators,babel-plugin-proposal-pipeline-operator,babel-plugin-transform-class-properties- #15676 [babel 8] Only support
legacyand2023-05decorators (@nicolo-ribaudo)
- #15676 [babel 8] Only support
babel-core,babel-helper-create-class-features-plugin,babel-plugin-transform-arrow-functions,babel-plugin-transform-computed-properties,babel-plugin-transform-for-of,babel-plugin-transform-regenerator,babel-plugin-transform-unicode-escapes,babel-preset-env,babel-traverse,babel-types- #15576 [babel 8] Other Babel 8 misc changes (@nicolo-ribaudo)
babel-core,babel-helper-builder-binary-assignment-operator-visitor,babel-helper-create-class-features-plugin,babel-helper-create-regexp-features-plugin,babel-helper-environment-visitor,babel-helper-member-expression-to-functions,babel-helper-module-transforms,babel-helper-plugin-utils,babel-helper-replace-supers,babel-helper-simple-access,babel-helper-string-parser,babel-helper-transform-fixture-test-runner,babel-helpers,babel-plugin-transform-modules-commonjs,babel-preset-env- #15550 More misc Babel 8 little changes (@nicolo-ribaudo)
babel-cli,babel-compat-data,babel-core,babel-helper-create-class-features-plugin,babel-helper-environment-visitor,babel-helper-replace-supers,babel-helpers,babel-parser,babel-plugin-transform-for-of,babel-plugin-transform-react-jsx,babel-preset-env,babel-traverse,babel-typesbabel-types- #15527 [babel 8] Remove builders present only for backwards-compatibility (@nicolo-ribaudo)
- #14464 [babel 8] Remove
selfClosingfromjsxElementbuilder (@wjw99830)
babel-core,babel-plugin-syntax-flow,babel-plugin-syntax-jsx,babel-plugin-syntax-typescript,babel-plugin-transform-parameters,babel-plugin-transform-react-jsx-development,babel-plugin-transform-spread,babel-plugin-transform-typescript,babel-preset-flow,babel-preset-typescript,babel-standalone- #14955 [babel 8] Better file ext handling for TS and Flow presets (@nicolo-ribaudo)
babel-traverse- #15288 [babel 8] Remove
blockargument fromScope#rename(@nicolo-ribaudo)
- #15288 [babel 8] Remove
babel-generator,babel-helper-compilation-targets,babel-preset-env,babel-preset-flow,babel-typesbabel-generator,babel-helper-builder-binary-assignment-operator-visitor,babel-helper-create-class-features-plugin,babel-helper-member-expression-to-functions,babel-helper-skip-transparent-expression-wrappers,babel-plugin-proposal-function-bind,babel-plugin-proposal-logical-assignment-operators,babel-plugin-proposal-optional-chaining,babel-plugin-proposal-partial-application,babel-plugin-transform-proto-to-assign,babel-plugin-transform-spread,babel-traverse,babel-typesbabel-core,babel-generator,babel-helper-create-class-features-plugin,babel-plugin-proposal-class-properties,babel-plugin-proposal-decorators,babel-plugin-proposal-pipeline-operator,babel-plugin-syntax-decorators,babel-plugin-transform-function-name,babel-plugin-transform-typescript,babel-standalone- #12712 [babel 8] Remove support for the
2018-09decorators proposal (@nicolo-ribaudo)
- #12712 [babel 8] Remove support for the
babel-core,babel-helper-module-imports,babel-helper-transform-fixture-test-runner,babel-node,babel-plugin-proposal-class-static-block,babel-plugin-syntax-decorators,babel-plugin-transform-modules-commonjs,babel-plugin-transform-runtime,babel-standalonebabel-generator,babel-types- #14465 [babel 8]
ObjectTypeAnnotationfields must always be arrays (@danez) - #12361 [babel 8] Remove the
Noopnode type (@sidntrivedi012)
- #14465 [babel 8]
babel-generator,babel-parser,babel-types- #13709 [babel 8] fix properties name for function-like TS nodes (@sosukesuzuki)
- #12829 [babel 8] Use an identifier for
TSTypeParameter.name(@fedeci)
babel-node,babel-register- #14025 [babel 8] Move
@babel/registertransform to a separate worker (@nicolo-ribaudo)
- #14025 [babel 8] Move
babel-parser- #13919 Improve template tokenizing (@JLHwung)
- #13752 [babel 8] Materialize ESTree's
classFeaturesoption (@nicolo-ribaudo)
babel-plugin-transform-react-constant-elements,babel-preset-envbabel-core- #13199 [babel 8] Move ESLint parsing to a Worker (@nicolo-ribaudo)
babel-generator,babel-parserbabel-plugin-transform-block-scoping,babel-traversebabel-cli,babel-core,babel-helper-module-transforms,babel-plugin-transform-modules-amd,babel-plugin-transform-modules-systemjs,babel-plugin-transform-modules-umd- #12724 [babel 8] Remove module-specific options from
@babel/core(@nicolo-ribaudo)
- #12724 [babel 8] Remove module-specific options from
babel-preset-reactbabel-preset-flowbabel-core,babel-helper-compilation-targets,babel-plugin-proposal-async-generator-functions,babel-plugin-proposal-class-properties,babel-plugin-proposal-decorators,babel-plugin-proposal-object-rest-spread,babel-plugin-transform-classes,babel-plugin-transform-flow-comments,babel-plugin-transform-flow-strip-types,babel-plugin-transform-function-name,babel-plugin-transform-modules-commonjs,babel-plugin-transform-parameters,babel-plugin-transform-react-constant-elements,babel-plugin-transform-regenerator,babel-plugin-transform-runtime,babel-preset-env,babel-standalonebabel-plugin-proposal-dynamic-import,babel-plugin-transform-modules-systemjsbabel-generator,babel-plugin-transform-react-jsx,babel-plugin-transform-template-literals,babel-plugin-transform-unicode-escapesbabel-code-frame,babel-highlight- #12660 [babel 8] Improve syntax highlighting (@nicolo-ribaudo)
babel-node,babel-plugin-transform-async-to-generator,babel-plugin-transform-block-scoping,babel-plugin-transform-classes,babel-plugin-transform-function-name,babel-plugin-transform-react-constant-elements,babel-plugin-transform-react-inline-elements,babel-plugin-transform-react-jsx,babel-plugin-transform-regenerator,babel-preset-react,babel-preset-typescript,babel-standalone- #12630 [babel 8] Use the JSX automatic runtime by default (@nicolo-ribaudo)
babel-helper-builder-react-jsx,babel-plugin-transform-react-jsx-development,babel-plugin-transform-react-jsx,babel-preset-react- #12593 [babel 8] Remove
useSpreadanduseBuiltInsjsx options (@nicolo-ribaudo)
- #12593 [babel 8] Remove
babel-preset-env- #12594 [babel 8] Remove
uglifytarget support in preset-env (@nicolo-ribaudo)
- #12594 [babel 8] Remove
babel-plugin-proposal-class-properties,babel-plugin-transform-typescript,babel-preset-typescript- #12461 [babel 8] Enable
allowDeclareFieldsoption by default with TS (@nicolo-ribaudo)
- #12461 [babel 8] Enable
babel-preset-typescriptbabel-generator- #12477 [babel 8] Remove the
jsonCompatibleStringsoption (@nicolo-ribaudo)
- #12477 [babel 8] Remove the
babel-helper-fixtures,babel-plugin-transform-flow-strip-types- #12457 [babel 8] Enable
allowDeclareFieldsoption by default w/ Flow (@nicolo-ribaudo)
- #12457 [babel 8] Enable
🚀 New Feature
🐛 Bug Fix
babel-helper-fixtures,babel-preset-typescript
🏠 Internal
babel-plugin-transform-runtime- #15528 [babel 8] regeneratorRuntime helper is always available (@nicolo-ribaudo)
babel-core- #15526 [babel 8] Remove old error plugin mappings for default syntax (@nicolo-ribaudo)
- Other
- #14949 Fix prepublish build of Babel 8 with ESM (@nicolo-ribaudo)
- #14872 Use the built-in class fields and private methods rules in ESLint 8 (@JLHwung)
babel-plugin-transform-modules-commonjs,babel-plugin-transform-runtime- #14120 [babel 8] Remove
@babel/runtime@<=7.13.0compat check (@nicolo-ribaudo)
- #14120 [babel 8] Remove
babel-cli- #14119 [babel 8] Remove
@nicolo-ribaudo/chokidar-2fallback (@nicolo-ribaudo)
- #14119 [babel 8] Remove
babel-cli,babel-node,babel-plugin-transform-runtime,babel-register- #13828 [babel 8] Remove
make-dirpolyfill forfs.mkdirSync(@nicolo-ribaudo) - #12458 Use native Node.js functions when available (@nicolo-ribaudo)
- #13828 [babel 8] Remove
babel-parser- #13768 Store token type as number (@JLHwung)
- #13294 fix(parser): [Babel8] Align error codes between Flow and TypeScript (@sosukesuzuki)
babel-plugin-proposal-partial-application,babel-typesbabel-core,babel-helper-transform-fixture-test-runner,babel-registerbabel-cli,babel-plugin-transform-classes,babel-register,babel-traverse- #12656 [babel 8] Update
globals,find-cache-dirandslash(@nicolo-ribaudo)
- #12656 [babel 8] Update
babel-plugin-syntax-typescript