TypeScript 6.0 Beta 发布 — 最后一个基于 JavaScript 的编译器和关键迁移转折点

TypeScript工具Node.js

Summary

  • 微软发布了 TypeScript 6.0 Beta(2026 年 2 月 11 日)。此版本明确是最后一个用 JavaScript/TypeScript 编写的编译器,并被定位为迁移到原生 TypeScript 7 工作(新的原生端口)的桥梁。 (devblogs.microsoft.com)

What changed (high-impact for full‑stack teams)

  • 最后一个基于 JavaScript 的版本:6.0 是现有代码库的最后一个版本;TypeScript 7 将是原生端口的继任者。将 6.0 视为兼容性桥梁和长期默认值的早期信号。 (devblogs.microsoft.com)
  • 新的迁移和稳定性助手:添加了 --stableTypeOrdering 标志,以帮助缓解在迁移到并行原生编译器时可能出现的非确定性声明顺序。使用它在迁移期间稳定 d.ts 输出。 (devblogs.microsoft.com)
  • 模块解析和子路径更新:TypeScript 6.0 增加了对以 "#/" 开头的子路径导入的支持,并允许将 --moduleResolution bundler 与 --module commonjs 结合使用 — 这对 node/打包的全栈项目和单体仓库都很重要。 (devblogs.microsoft.com)
  • 推断和人机工程学:对“this”无关函数的类型推断已放宽,因此从不使用 this 的方法不再被视为上下文敏感,从而减少了令人惊讶的推断错误。这减少了在混合方法和箭头语法的大型代码库中的波动。 (devblogs.microsoft.com)
  • 为 7.0 准备的弃用和默认值变化:团队列出了弃用和即将到来的默认值变化(在他们的跟踪器中提到的示例包括默认启用 --strict 和将默认 --target 更改为最新的 ECMAScript)。这些是与现代运行时对齐的故意默认值 — 但它们将需要审计旧的代码库。 (devblogs.microsoft.com)

Why this matters now

  • 更快的原生工具即将到来,但它改变了默认值和行为:6.0 是一个兼容性检查点,以便团队可以在 TypeScript 7.0 成为默认工具链之前选择迁移安全的标志。现在准备可以减少最后时刻的惊喜(构建中断、声明发出差异或更严格的检查)。 (devblogs.microsoft.com)
  • 构建和编辑器/工具影响:多个更改影响发出的声明文件、模块解析行为和编辑器推断 — 这些领域通常会在全栈项目中导致 PR 噪音和 CI 失败。尽早解决这些问题可以缩短原生编译器推出时的适应时间。 (devblogs.microsoft.com)

Practical checklist for teams (30–90 minutes to start)

  1. 在功能分支中尝试 beta 版本:npm install -D typescript@beta 并运行您现有的测试/CI 构建以捕获回归。 (6.0 明确发布用于测试。) (devblogs.microsoft.com)
  2. 锁定声明输出:如果您的库为消费者发出 d.ts,请启用 --stableTypeOrdering 以保持声明顺序稳定,同时验证其他更改。 (devblogs.microsoft.com)
  3. 审计 tsconfig 默认值:检查是否依赖 baseUrl、--target es5 或 --moduleResolution node/node10 — 这些将被弃用或更改;主动更新配置。 (devblogs.microsoft.com)
  4. 验证打包器和运行时路径:如果您使用包“imports”或路径映射,请测试新的 "#/" 子路径导入案例以及打包器+commonjs 解析组合,以确保模块解析在开发和生产包中按预期工作。 (devblogs.microsoft.com)
  5. 并排运行类型检查器和编辑器:团队应准备好让当前的 TypeScript 二进制文件和原生预览共存一段时间 — 但现在开始对编辑器流程和新的推断行为进行冒烟测试。 (devblogs.microsoft.com)

Recommended next steps (owners)

  • 工程经理:安排一周进行单项目迁移测试,并跟进单体仓库。跟踪任何 CI 失败,并将其分类为配置、代码或第三方问题。 (devblogs.microsoft.com)
  • 库维护者:如果您的库依赖于声明顺序、默认目标或遗留发出行为,请标记 package.json engines 并发布说明。消费者将受益于指导。 (devblogs.microsoft.com)
  • 工具作者(代码检查工具、格式化工具、IDE 插件):确认与 6.0 API 的兼容性,并关注将随 7.0 到来的 Corsa/Corsa-native API 更改;考虑在过渡期间支持两者。 (devblogs.microsoft.com)

Bottom line TypeScript 6.0 Beta 是一个有意识的、以迁移为重点的发布:它既现代化了默认行为,又赋予团队控制权(标志和配置路径),以顺利过渡到原生 TypeScript 7 工具链。全栈团队应将 beta 视为可操作的排练 — 现在进行测试,使用提供的标志稳定输出,并计划原生端口在 7.x 时间框架内带来显著的性能和工具变化。 (devblogs.microsoft.com)

Source

  • 宣布 TypeScript 6.0 Beta — Dev Blogs, Microsoft. (devblogs.microsoft.com)

Source

继续阅读