unstale

npm / @babel/code-frame

@babel/code-frame

What changed in @babel/code-frame 8, from its official release notes, upgrade guides and advisories. Also covers @types/babel__code-frame. Sources checked 2026-10-24.

19 breaking1 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.5 on npm

@babel/code-frame 822 changes

Breaking changes 19

  • BigIntLiteral.value is a bigint rather than a string; use toString() for its string representation.

    8.0.0upgrade guide

  • The typeParameters field is renamed to typeArguments across the listed expression and TypeScript AST nodes.

    8.0.0upgrade guide

  • The superTypeParameters field is renamed to superTypeArguments in ClassDeclaration and ClassExpression.

    8.0.0upgrade guide

  • The column passed to codeFrameColumns is now 0-based, matching @babel/parser AST locations.

    8.0.0upgrade guide

  • TSParenthesizedType is no longer generated unless createParenthesizedExpression is enabled; node.extra.parenthesized can detect parentheses when disabled.

    8.0.0upgrade guide

  • The default export was removed; migrate to the codeFrameColumns API.

    8.0.0upgrade guide

  • Dynamic import() is represented by an ImportExpression node instead of a CallExpression with an Import callee.

    8.0.0upgrade guide

  • Babel is shipped as native ECMAScript modules.

    8.0.0upgrade guide

  • Babel 8 packages require Node.js ^22.18.0 || >=24.11.0; older Node versions cannot run Babel.

    8.0.0upgrade guide

  • The parameters field is renamed to params.

    8.0.0upgrade guide

  • The typeAnnotation field is renamed to returnType.

    8.0.0upgrade guide

  • Class implements entries use TSClassImplements instead of TSExpressionWithTypeArguments.

    8.0.0upgrade guide

  • Enum members are wrapped in a TSEnumBody node under the body property.

    8.0.0upgrade guide

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

    8.0.0upgrade guide

  • The argument field is renamed to source.

    8.0.0upgrade guide

  • Interface heritage entries use TSInterfaceHeritage instead of TSExpressionWithTypeArguments.

    8.0.0upgrade guide

  • The typeParameter property is flattened into key and constraint properties on TSMappedType.

    8.0.0upgrade guide

  • Interpolated template literal types produce TSTemplateLiteralType nodes; templates without interpolation retain their existing AST shape.

    8.0.0upgrade guide

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

    8.0.0upgrade guide

New APIs and options 1

  • When both estree and typescript parser plugins are enabled, the parser creates TSAbstractMethodDefinition and TSPropertyDefinition nodes.

    8.0.0upgrade guide

Behavior and default changes 1

  • Dotted namespace names are represented as a single TSModuleDeclaration with a TSQualifiedName name.

    8.0.0upgrade guide

Fixes and other changes 1

  • TSTypeQuery.exprName can be a ThisExpression instead of an Identifier for typeof this.

    8.0.0upgrade guide