微软宣布推出 TypeScript 7.0 的候选发布版本(RC)。TypeScript 7.0 是基于 Go 语言对 JavaScript 版 TypeScript 的重新移植,微软表示,得益于原生代码速度和共享内存并行机制,其性能通常比 TypeScript 6.0 快约 10 倍。
开发者可通过 npm 上的 typescript 包安装新版编译器来体验这一版本。
微软表示,与 TypeScript 6.0 不同,TypeScript 7.0 能够并行执行多个构建步骤,包括解析、类型检查和代码输出。其中,解析和代码输出等步骤在不同文件之间大多可以独立完成,因此并行化机制能够在较低开销的情况下自动适配更大规模的代码库。不过,微软也指出,并非 TypeScript 构建流程中的每个步骤都能轻松实现并行化。
随着 TypeScript 7.0 RC 的正式发布,微软计划在未来一个月内推出 TypeScript 7.0 正式版。该公司表示,后续将重点关注发布协调与流程管理、已报告的回归问题,以及 TypeScript 7.1 中未来 API 能力的规划。
由于稳定的程序化 API 要到 TypeScript 7.1 才会正式提供,微软将确保 TypeScript 7.0 能与 TypeScript 6.0 并行运行、不产生 tsc 命名冲突列为优先事项。为此,微软提供了一个兼容包 @typescript/typescript6,其中包含一个名为 tsc6 的可执行文件,使 TypeScript 7.0 可以在不发生 tsc 命名冲突的情况下与旧版并行安装。此外,@typescript/typescript6 包还重新导出了 TypeScript 6.0 的 API,使得 tsc 可专用于 TypeScript 7.0,而其他工具则可继续依赖 TypeScript 6.0。
Q&A
Q1:TypeScript 7.0 为什么比 TypeScript 6.0 快这么多?
A:TypeScript 7.0 是基于 Go 语言重新移植的版本,利用了原生代码的执行速度和共享内存并行机制。它能够同时并行执行解析、类型检查、代码输出等多个构建步骤,尤其在处理大型代码库时,并行化带来的性能收益更加显著,整体速度通常比 TypeScript 6.0 快约 10 倍。
Q2:TypeScript 7.0 和 TypeScript 6.0 可以同时安装使用吗?
A:可以。微软专门提供了兼容包 @typescript/typescript6,其中包含名为 tsc6 的可执行文件,避免与 TypeScript 7.0 的 tsc 命令产生命名冲突。该包同时重新导出了 TypeScript 6.0 的 API,让依赖旧版 API 的工具可以继续正常运行,两个版本可以无冲突地并行使用。
Q3:TypeScript 7.0 正式版什么时候发布?
A:微软表示,在 TypeScript 7.0 RC 发布后,计划在未来一个月内推出正式版。正式发布前,团队将重点处理发布协调工作、已知的回归问题,并为后续的 TypeScript 7.1 规划未来的 API 能力。稳定的程序化 API 预计要到 TypeScript 7.1 版本才会正式提供。