该编译器将 TypeScript 工具链整体迁移到了 Go 语言。开发团队表示,在完整构建场景下,新版本通常能让速度提升 8 到 12 倍。

InfoQ 中文 2026-08-11T07:05:48.003390

这个项目最初在 2025 年 3 月公布,当时只是一次原生移植的实验。此前它一直以 @typescript/native-preview 的包名向社区开放,每周下载量一度超过 850 万次。

到了 7.0 正式发布,夜间构建版本已经回归到标准 TypeScript 包的 next 标签下,新的 tsc 可执行文件也可以走常规安装流程了。

为了给这些数字提供佐证,微软放出了基于真实代码库的构建耗时对比。以 VS Code 源码为例,完整构建从 TypeScript 6 时代的 125.7 秒降到了 10.6 秒,大约快了 11.9 倍,同时总内存占用还减少了约 18%。编辑器端也受益明显,因为新工具基于语言服务器协议(LSP)构建,并且支持多线程。以前在 VS Code 代码库中打开一个带错误的文件要等约 17.5 秒,现在不到 1.3 秒就能完成。

早期试用过的团队也反馈了类似的结果。Slack 的工程师提到,这一改动把 CI 中的类型检查耗时从大约 7.5 分钟压缩到了 1.25 分钟。Vanta 同样给出了正面评价:

在 Vanta,我们用上 tsgo 后效果非常明显,现在一切都快太多了。

并行程度可以通过新增的 --checkers--builders 参数来调节;如果设备资源有限,也可以直接用 --singleThreaded 把并行完全关掉。

不过,7.0 发布时还没有稳定的可编程 API。开发团队预计这个 API 要到 7.1 才会推出,所以 typescript-eslint,以及 Vue、Svelte、Astro、MDX、Angular 这些框架工具暂时还接不上新版本。

在 Hacker News 的讨论帖里,有开发者贴出了数据,并对团队的迁移工作表示祝贺:

根据他们的测试,速度提升数值如下:

祝贺团队用这么稳妥的方式完成了这项壮举。

另外,博客评论区有人提醒,还在用 webpack 加载器的项目只能再等等:

我很想把所有项目都升到 TypeScript 7,但大部分项目都依赖 webpack,而 7.0 没有给 webpack 加载器留下可用的 API 接口。可惜,只能等 7.1 了。

这种并行迁移思路是过渡期平稳的关键。微软为此发布了一个兼容包 @typescript/typescript6,里面带有 tsc6 二进制文件,并重新导出了 6.0 版本的 API。现有工具可以通过 npm 别名接上它,继续正常工作而不受影响。

TypeScript 7.0 还把 6.0 里标记为弃用的功能直接升级成了硬性错误,并且默认启用 strictesnext 模式。因此,要想平滑升级,建议团队先切到 TypeScript 6.0。具体的行为变化可以查阅项目里的 CHANGES.md 文件。

像 esbuild、swc、Biome 这些工具确实更快,但它们要么只做类型移除,要么只做转译,并不会进行真正的类型检查。TypeScript 7.0 则不同,它在保留完整类型检查的前提下,把和这些工具之间的速度差距大幅缩小了。

开发团队还透露,随着移植版落地,功能开发已经恢复节奏,预计每三到四个月发一次新版本。7.1 会重点补上整个生态都翘首以待的 API。

TypeScript 是一款由微软开发并维护的开源编程语言,采用 Apache 2.0 许可证发布。它在 JavaScript 之上增加了可选的静态类型,让开发者能够更早发现代码中的错误,也更有信心去构建大规模应用。

查看原文