unstale

npm / @babel/compat-data

@babel/compat-data

What changed in @babel/compat-data 8, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-25.

27 breaking3 new APIs and options1 behavior and defaults1 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.6 on npm

@babel/compat-data 832 changes

Breaking changes 27

  • Package entrypoints are JSON files instead of JavaScript files; ESM imports need with { type: "json" }.

    8.0.0upgrade guide

  • BigIntLiteral.value is a bigint instead of a string, aligning it with NumericLiteral handling.

    8.0.0upgrade guide

  • Babel 8 uses the ImportExpression AST by default; setting this parser option to false retains the legacy import() AST.

    8.0.0upgrade guide

  • Babel is shipped as native ECMAScript modules.

    8.0.0upgrade guide

  • Dynamic import() is represented as an ImportExpression node, with source and options fields, instead of a CallExpression.

    8.0.0upgrade guide

  • The ios_saf entry is removed from data/native-modules.json; use ios instead.

    8.0.0upgrade guide

  • The isExport field is removed from TSImportEqualsDeclaration; inspect the parent path for an ExportNamedDeclaration instead.

    8.0.0upgrade guide

  • Babel 8 packages require Node.js ^22.18.0 || >=24.11.0; Babel itself will not run on older versions.

    8.0.0upgrade guide

  • The parameters field is renamed to params on TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSFunctionType, TSConstructorType, and TSMethodSignature.

    8.0.0upgrade guide

  • The params field replaces parameters on TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSFunctionType, TSConstructorType, and TSMethodSignature.

    8.0.0upgrade guide

  • Stage 4 plugin entries are renamed from proposal-* to transform-*; update plugin names passed to isRequired as well.

    8.0.0upgrade guide

  • The returnType field replaces typeAnnotation on TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSFunctionType, TSConstructorType, and TSMethodSignature.

    8.0.0upgrade guide

  • The field replaces superTypeParameters on ClassDeclaration and ClassExpression.

    8.0.0upgrade guide

  • The ClassDeclaration and ClassExpression field is renamed to superTypeArguments.

    8.0.0upgrade guide

  • Class implements entries use TSClassImplements instead of TSExpressionWithTypeArguments.

    8.0.0upgrade guide

  • TSEnumDeclaration members are now wrapped in a TSEnumBody node.

    8.0.0upgrade guide

  • This node is replaced by TSClassImplements and TSInterfaceHeritage for class implements and interface heritage entries.

    8.0.0upgrade guide

  • An exported TSImportEqualsDeclaration is represented inside an ExportNamedDeclaration; its isExport field is removed.

    8.0.0upgrade guide

  • The TSImportType argument field is renamed to source.

    8.0.0upgrade guide

  • The source field replaces argument on TSImportType.

    8.0.0upgrade guide

  • Interface extends entries use TSInterfaceHeritage instead of TSExpressionWithTypeArguments.

    8.0.0upgrade guide

  • The nested typeParameter is flattened into key and constraint properties on TS MappedType.

    8.0.0upgrade guide

  • A dotted namespace name is represented as one TSQualifiedName on a single TSModuleDeclaration rather than nested declarations.

    8.0.0upgrade guide

  • TSTypeParameter.name is an Identifier node rather than a plain string.

    8.0.0upgrade guide

  • The return type field is renamed from typeAnnotation to returnType on TSCallSignatureDeclaration, TSConstructSignatureDeclaration, TSFunctionType, TSConstructorType, and TSMethodSignature.

    8.0.0upgrade guide

  • The field replaces typeParameters on CallExpression, JSXOpeningElement, NewExpression, OptionalCallExpression, TSImportType, TSInstantiationExpression, TSTypeQuery, and TSTypeReference.

    8.0.0upgrade guide

  • The field is renamed to typeArguments on CallExpression, JSXOpeningElement, NewExpression, OptionalCallExpression, TSImportType, TSInstantiationExpression, TSTypeQuery, and TSTypeReference.

    8.0.0upgrade guide

New APIs and options 3

  • This node is created when both estree and typescript parser plugins are enabled.

    8.0.0upgrade guide

  • This node is created when both estree and typescript parser plugins are enabled.

    8.0.0upgrade guide

  • Interpolated template literal types are represented by TSTemplateLiteralType; non-interpolated template literal types retain their existing AST shape.

    8.0.0upgrade guide

Behavior and default changes 1

  • TSParenthesizedType is generated only when this parser option is enabled; otherwise parentheses can be detected with node.extra.parenthesized.

    8.0.0upgrade guide

Fixes and other changes 1

  • TSTypeQuery.exprName can be a ThisExpression for typeof this, rather than an Identifier named this.

    8.0.0upgrade guide