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
legacy
and2023-05
decorators (@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-types
babel-types
- #15527 [babel 8] Remove builders present only for backwards-compatibility (@nicolo-ribaudo)
- #14464 [babel 8] Remove
selfClosing
fromjsxElement
builder (@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
block
argument fromScope#rename
(@nicolo-ribaudo)
- #15288 [babel 8] Remove
babel-generator
,babel-helper-compilation-targets
,babel-preset-env
,babel-preset-flow
,babel-types
babel-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-types
babel-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-09
decorators 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-standalone
babel-generator
,babel-types
- #14465 [babel 8]
ObjectTypeAnnotation
fields must always be arrays (@danez) - #12361 [babel 8] Remove the
Noop
node 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/register
transform to a separate worker (@nicolo-ribaudo)
- #14025 [babel 8] Move
babel-parser
- #13919 Improve template tokenizing (@JLHwung)
- #13752 [babel 8] Materialize ESTree's
classFeatures
option (@nicolo-ribaudo)
babel-plugin-transform-react-constant-elements
,babel-preset-env
babel-core
- #13199 [babel 8] Move ESLint parsing to a Worker (@nicolo-ribaudo)
babel-generator
,babel-parser
babel-plugin-transform-block-scoping
,babel-traverse
babel-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-react
babel-preset-flow
babel-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-standalone
babel-plugin-proposal-dynamic-import
,babel-plugin-transform-modules-systemjs
babel-generator
,babel-plugin-transform-react-jsx
,babel-plugin-transform-template-literals
,babel-plugin-transform-unicode-escapes
babel-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
useSpread
anduseBuiltIns
jsx options (@nicolo-ribaudo)
- #12593 [babel 8] Remove
babel-preset-env
- #12594 [babel 8] Remove
uglify
target 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
allowDeclareFields
option by default with TS (@nicolo-ribaudo)
- #12461 [babel 8] Enable
babel-preset-typescript
babel-generator
- #12477 [babel 8] Remove the
jsonCompatibleStrings
option (@nicolo-ribaudo)
- #12477 [babel 8] Remove the
babel-helper-fixtures
,babel-plugin-transform-flow-strip-types
- #12457 [babel 8] Enable
allowDeclareFields
option 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.0
compat check (@nicolo-ribaudo)
- #14120 [babel 8] Remove
babel-cli
- #14119 [babel 8] Remove
@nicolo-ribaudo/chokidar-2
fallback (@nicolo-ribaudo)
- #14119 [babel 8] Remove
babel-cli
,babel-node
,babel-plugin-transform-runtime
,babel-register
- #13828 [babel 8] Remove
make-dir
polyfill 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-types
babel-core
,babel-helper-transform-fixture-test-runner
,babel-register
babel-cli
,babel-plugin-transform-classes
,babel-register
,babel-traverse
- #12656 [babel 8] Update
globals
,find-cache-dir
andslash
(@nicolo-ribaudo)
- #12656 [babel 8] Update
babel-plugin-syntax-typescript