SuperAPI AI 工具集

typescript-migration

编程与开发

查看项目

更新于 10-16 01:09

技能介绍

本技能提供 TypeScript 5.x → 6 → 7(Go 原生重写,代号 Corsa)的权威迁移指南,信息来源为微软官方公告。核心规则:不可跳过 TS 6,受支持路径仅为 5.x → 6 → 7;跳过 TS 6 会因 TS 7 移除全部 TS 6 废弃项而产生大量硬错误,"ignoreDeprecations": "6.0" 仅在 TS 6 内临时有效。

用途:TS 5.x/6 项目升级、tsconfig 破坏性变更处理、TS 7 工具链兼容性评估、废弃选项(TS5xxx)排查。

主要能力:一分钟分诊(检测版本、分类升级路径);升级前审计会在 TS 7 下失效的工具(typescript-eslint、ts-morph、ts-node、Vue/Svelte/Astro/MDX/Angular 模板、ts-patch、ttypescript、typia、baseUrl、node10、ES5 target);项目类型决策矩阵(新项目可直接上 TS 7;依赖编译器 API 的项目走 5→6→7 并用 @typescript/typescript6 并存;Volar 项目暂留 TS 6;Angular 可用 TS 7 CLI + TS 6 编辑器;自定义 AST transformer 暂留 TS 6);TS 6 默认值变更速查(strict 变 true、module 变 esnext、target 变 es2025、moduleResolution 变 bundler、types 默认空数组、esModuleInterop 变 true 等);TS 7 变更速查(Go 原生、7.0 无编程 Compiler API、preserveConstEnums 移除、新型别顺序、新增 --checkers/--builders/--singleThreaded 等)。官方并行模式:在 package.json 中声明 "@typescript/native": "npm:typescript@^7.0.2" 与 "typescript": "npm:@typescript/typescript6@^6.0.2"。

使用方式:四步流程为检测(scripts/detect-ts-version.sh)、审计(scripts/audit-ts7-breakers.sh)、迁移(按 references/migration-playbooks.md,经用户明确同意后可运行 ts5to6 --fixBaseUrl 与 --fixRootDir)、验证(scripts/compare-tsc7-tsc6.sh 按 TSxxxx 诊断码比对,首次 TS 7 运行前删除 .tsbuildinfo)。

限制:需已安装目标版本 typescript 与项目根 tsconfig.json;仅自动运行检测/审计脚本与官方认可的 codemod,不自动改写用户源码;稳定版请用 typescript 包而非 @typescript/native-preview;ts-migrating 仅用于在现有大型代码库中逐步启用更严格 compilerOption,不用于版本迁移。最新版本与兼容细节请以官方来源为准。