← 文章 / 编程开发
InfoQ 7小时前 · 2026-08-10 14:48:01 · 0 阅读

微软发布搭载原生 Go 编译器的 TypeScript 7.0,构建速度提升 10 倍

微软发布 TypeScript 7.0,这是该语言首个搭载其研发已久的原生编译器的稳定版本。该编译器将 TypeScript 工具集移植到了 Go 语言。据开发团队称,在完整的构建过程中,该版本通常能带来 8 倍至 12 倍的速度提升。

最初,该项目作为一项实验性原生移植计划于 2025 年 3 月首次公布,而此前一直是以 @typescript/native-preview 包的形式向社区开放,其每周下载量曾超过 850 万次。

随着 7.0 版本的发布,夜间构建版本已经回归到标准 TypeScript 包的 next 标签下,而新的 tsc 可执行文件可以通过常规方式进行安装:

npm install -D typescript
复制代码

为了佐证这些数值,微软公布了基于真实代码库的构建时间数据。以 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 完全关闭并行处理。

TypeScript 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 版本中已弃用的功能转换为硬性错误,并且现在默认使用 strict 和 esnext 模式。因此,为了实现平稳过渡,建议开发团队先采用 TypeScript 6.0 。要详细了解相关的行为差异,可以查阅项目的 CHANGES.md 文件。

esbuild、swc 和 Biome 等工具的速度更快,但它们会在不进行类型检查的情况下进行类型移除或转译,而 TypeScript 7.0 不同,它是在保持完整类型检查的同时,大幅缩小了速度差距。开发团队表示,随着移植版本的发布,功能开发工作现在已经恢复,预计每三到四个月会发布一次新版本,其中 7.1 版本将重点关注整个生态系统所期待的 API。

TypeScript 是一种由微软开发和维护的开源编程语言,遵循 Apache 2.0 许可发布。它在 JavaScript 的基础上增加了可选的静态类型,更便于早期发现错误,让开发者更有信心地构建大规模应用程序。

原文链接:https://www.infoq.com/news/2026/08/typescript-7-released/

原始来源: InfoQ

评论 (0)