Vigia

将 @babel/core 从 7.x 升级到 8.x

根据 TypeScript 类型自动比较 @babel/core 7.29.7 与 8.0.6 的公开 API。签名变化表示可能存在不兼容变更,并非确定结论。

概要

已删除的导入路径0
已删除的导出22
已修改的签名26
已删除的类或接口成员0
已修改的类或接口成员9
新增弃用0
要求变化(engines、peer 依赖)1
新增导出21

已删除的导出

importexportkind之前
@babel/coreNodetypet.Node
@babel/coreBabelFileinterfaceinterface
@babel/corePluginObjinterfaceinterface
@babel/coreEnvFunctioninterfaceinterface
@babel/coreParseResulttypeany
@babel/coreMatchPatterntypestring | RegExp | ((filename: string | undefined, context: MatchPatternContext) => boolean)
@babel/coreParserOptionsvariableany
@babel/corePluginOptionstypefalse | object | undefined
@babel/coreConfigFunctiontype(api: ConfigAPI) => TransformOptions
@babel/coreSimpleCacheKeytypestring | number | boolean | null | undefined
@babel/coreBabelFileResultinterfaceinterface
@babel/coreTransformCallerinterfaceinterface
@babel/coreGeneratorOptionsvariableany
@babel/coreTransformOptionsinterfaceinterface
@babel/coreBabelFileMetadatainterfaceinterface
@babel/coreFileParseCallbacktype(err: Error | null, result: any) => any
@babel/coreFileResultCallbacktype(err: Error | null, result: BabelFileResult | null) => any
@babel/coreMatchPatternContextinterfaceinterface
@babel/coreSimpleCacheCallbacktype() => T
@babel/coreCreateConfigItemOptionsinterfaceinterface
@babel/coreSimpleCacheConfiguratorinterfaceinterface
@babel/coreBabelFileModulesMetadatainterfaceinterface

已修改的签名

export之前之后
@babel/core · parse(code: string, callback: FileParseCallback): void | (code: string, options: TransformOptions | undefined, callback: FileParseCallback): void | (code: string, options?: TransformOptions | undefined): any(code: string, callback: FileParseCallback): void | (code: string, opts: InputOptions | null | undefined, callback: FileParseCallback): void
@babel/core · Visitorany_babel_traverse.Visitor<S>
@babel/core · ConfigAPIinterface{ version: string; cache: SimpleCacheConfigurator; env: EnvFunction; async: () => boolean; assertVersion: (range: string | number) => void; caller: CallerFactory; }
@babel/core · parseSync(code: string, options?: TransformOptions | undefined): any(...args: any): any
@babel/core · transform(code: string, callback: FileResultCallback): void | (code: string, opts: TransformOptions | undefined, callback: FileResultCallback): void | (code: string, opts?: TransformOptions | undefined): BabelFileResult | null(code: string, callback: FileResultCallback): void | (code: string, opts: InputOptions | null | undefined, callback: FileResultCallback): void
@babel/core · ConfigIteminterfaceclass
@babel/core · PluginItemPluginTarget | ConfigItem | PluginObj<any> | [PluginTarget, PluginOptions] | [PluginTarget, PluginOptions, string | undefined]ConfigItem<PluginAPI> | PluginTarget<Option> | [PluginTarget<Option>, Option] | [PluginTarget<Option>, Option, string]
@babel/core · PluginPassinterfaceclass
@babel/core · parseAsync(code: string, options?: TransformOptions | undefined): Promise<any>(...args: any): Promise<any>
@babel/core · loadOptions(options?: TransformOptions | undefined): object | null(opts: InputOptions | null | undefined, callback?: ((err: Error, val: ResolvedOptions | null) => void) | undefined): void
@babel/core · PluginTargetstring | object | ((...args: any[]) => any)string | MaybeDefaultProperty<(api: PluginAPI, options: Option, dirname: string) => PluginObject<PluginPass<object>>>
@babel/core · PartialConfiginterfaceclass
@babel/core · resolvePlugin(name: string, dirname: string): string | null(name: string, dirname: string): string
@babel/core · resolvePreset(name: string, dirname: string): string | null(name: string, dirname: string): string
@babel/core · transformFile(filename: string, callback: FileResultCallback): void | (filename: string, opts: TransformOptions | undefined, callback: FileResultCallback): void(filename: string, callback: FileResultCallback): void | (filename: string, opts: InputOptions | null | undefined, callback: FileResultCallback): void
@babel/core · transformSync(code: string, opts?: TransformOptions | undefined): BabelFileResult | null(...args: any): FileResult | null
@babel/core · transformAsync(code: string, opts?: TransformOptions | undefined): Promise<BabelFileResult | null>(...args: any): Promise<FileResult | null>
@babel/core · createConfigItem(value: PluginTarget | [PluginTarget, PluginOptions] | [PluginTarget, PluginOptions, string | undefined], options?: CreateConfigItemOptions | undefined): ConfigItem(target: PluginTarget<object>, options: { dirname?: string | undefined; type?: "preset" | "plugin" | undefined; } | undefined, callback?: ((err: Error, val: ConfigItem<PluginAPI> | null) => void) | undefined): void
@babel/core · transformFromAst(ast: t.Node, code: string | undefined, callback: FileResultCallback): void | (ast: t.Node, code: string | undefined, opts: TransformOptions | undefined, callback: FileResultCallback): void(ast: any, code: string, callback: FileResultCallback): void | (ast: any, code: string, opts: InputOptions | null | undefined, callback: FileResultCallback): void
@babel/core · loadPartialConfig(options?: TransformOptions | undefined): Readonly<PartialConfig> | null(opts: InputOptions | undefined, callback?: ((err: Error, val: PartialConfig | null) => void) | undefined): void
@babel/core · transformFileSync(filename: string, opts?: TransformOptions | undefined): BabelFileResult | null(...args: any): FileResult | null
@babel/core · DEFAULT_EXTENSIONS[".js", ".jsx", ".es6", ".es", ".mjs"]readonly [".js", ".jsx", ".es6", ".es", ".mjs", ".cjs"]
@babel/core · transformFileAsync(filename: string, opts?: TransformOptions | undefined): Promise<BabelFileResult | null>(...args: any): Promise<FileResult | null>
@babel/core · transformFromAstSync(ast: t.Node, code?: string | undefined, opts?: TransformOptions | undefined): BabelFileResult | null(...args: any): FileResult | null
@babel/core · transformFromAstAsync(ast: t.Node, code?: string | undefined, opts?: TransformOptions | undefined): Promise<BabelFileResult | null>(...args: any): Promise<FileResult | null>
@babel/core · loadPartialConfigAsync(options?: TransformOptions | undefined): Promise<Readonly<PartialConfig> | null>(...args: any): Promise<PartialConfig | null>

已删除的类或接口成员

未发现。

已修改的类或接口成员

member之前之后
ConfigItem.file{ request: string; resolved: string; } | null | undefinedvoid | { request: string; resolved: string; }
ConfigItem.namestring | undefinedstring | void
ConfigItem.valueobject | ((...args: any[]) => any)object | Function
ConfigItem.optionsfalse | object | undefinedfalse | void | object
PluginPass.keystringstring | null | undefined
PluginPass.set(key: unknown, value: unknown): void(key: unknown, val: unknown): void
PluginPass.fileBabelFileFile
PluginPass.optsobjectPartial<Options>
PartialConfig.optionsTransformOptionsNormalizedOptions

新增弃用

未发现。

要求变化(engines、peer 依赖)

之前之后
engines.node>=6.9.0^22.18.0 || >=24.11.0
新增导出 (21)
importexportkind
@babel/coreFileclass
@babel/coreScopevariable
@babel/coregetEnvfunction
@babel/coretokTypesvariable
@babel/corePluginAPItype
@babel/corePresetAPItype
@babel/coreFileResulttype
@babel/corePresetItemtype
@babel/coreVisitorBasetype
@babel/coreInputOptionstype
@babel/corePluginObjecttype
@babel/corePresetObjecttype
@babel/corePresetTargettype
@babel/coreCallerMetadatatype
@babel/coreloadOptionsSyncfunction
@babel/coreloadOptionsAsyncfunction
@babel/coreNormalizedOptionstype
@babel/corebuildExternalHelpersfunction
@babel/corecreateConfigItemSyncfunction
@babel/corecreateConfigItemAsyncfunction
@babel/coreloadPartialConfigSyncfunction

常见问题

将 @babel/core 从 7 升级到 8 有哪些不兼容变更?

在 @babel/core 7.29.7 与 8.0.6 之间,Vigia 发现 22 个已删除的导出、26 个已修改的签名,以及 9 个已删除或修改的类或接口成员。

@babel/core 8 中弃用了哪些内容?

@babel/core 8.0.6 中有 0 个导出或成员新被标记为弃用。

供智能体使用

GET https://vigia.coredls.cloud/v1/packages/npm/@babel/core/upgrade?from=7.29.7&to=8.0.6