npm / @babel/plugin-transform-runtime
@babel/plugin-transform-runtime
What changed in @babel/plugin-transform-runtime 8, from its official release notes, upgrade guides and advisories. Also covers @babel/plugin-transform-async-generator-functions. Sources checked 2026-10-24.
36 breaking3 new APIs and options1 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli init@babel/plugin-transform-runtime 840 changes
Breaking changes 36
All presets and plugins require @babel/core@^8.0.0 as a peer dependency.
The Babel 7 package name @babel/plugin-proposal-async-generator-functions is replaced by this transform package name.
BigIntLiteral.value is a bigint rather than a string; JSON serialization requires a custom bigint serializer.
The typeParameters field is renamed to typeArguments.
The superTypeParameters field is renamed to superTypeArguments.
The superTypeParameters field is renamed to superTypeArguments.
TSParenthesizedType is no longer generated unless createParenthesizedExpression is enabled; node.extra.parenthesized can indicate parentheses when disabled.
Babel is shipped as native ECMAScript modules, affecting how the plugin can be loaded.
Dynamic import() is represented by an ImportExpression node instead of a CallExpression with an Import callee.
Importing internal files is disallowed; use the exported API instead.
The typeParameters field is renamed to typeArguments.
The typeParameters field is renamed to typeArguments.
Babel 8 packages require Node.js ^22.18.0 || >=24.11.0; Babel itself will not run on older Node versions.
The typeParameters field is renamed to typeArguments.
The parameters field is renamed to params.
The typeAnnotation field is renamed to returnType.
Class implements entries use TSClassImplements instead of TSExpressionWithTypeArguments, with typeArguments in place of typeParameters.
The parameters field is renamed to params.
The typeAnnotation field is renamed to returnType.
The parameters field is renamed to params.
The typeAnnotation field is renamed to returnType.
Enum members are wrapped in a TSEnumBody node under the body field.
The parameters field is renamed to params.
The typeAnnotation field is renamed to returnType.
An exported TSImportEqualsDeclaration is parsed inside an ExportNamedDeclaration; its isExport field is removed.
The argument field is renamed to source.
The typeParameters field is renamed to typeArguments.
The typeParameters field is renamed to typeArguments.
Interface heritage entries use TSInterfaceHeritage instead of TSExpressionWithTypeArguments, with typeArguments in place of typeParameters.
The typeParameter property is flattened into key and constraint properties on TSMappedType.
The parameters field is renamed to params.
The typeAnnotation field is renamed to returnType.
A dotted namespace name is represented as one TSQualifiedName instead of nested TSModuleDeclaration nodes.
TSTypeParameter.name is an Identifier node rather than a plain string.
The typeParameters field is renamed to typeArguments.
The typeParameters field is renamed to typeArguments.
New APIs and options 3
When both estree and typescript parser plugins are enabled, Babel creates TSAbstractMethodDefinition nodes.
When both estree and typescript parser plugins are enabled, Babel creates TSPropertyDefinition nodes.
Interpolated template literal types are represented by TSTemplateLiteralType; templates without interpolations retain their existing AST shape.
Fixes and other changes 1
TSTypeQuery.exprName can be a ThisExpression rather than an Identifier named this.