TypeScript 团队把编译器重写成了 Go,然后世界安静了
当「红波浪」消失的那一刻,整个 JavaScript 生态都松了一口气。
上周,TypeScript 7 正式发布。和以往那些让 TypeScript 爱好者假装兴奋的 release note 不同(谁在乎「推断类型谓词」的小改进啊?),这一次,是真真正正让人想转发朋友圈的版本——
TypeScript 团队把编译器从 JavaScript 翻写成了 Go。
不是小修小补,不是优化了几个函数,是把整个编译器用另一种语言重写了。一年半以前,Anders Hejlsberg 在舞台上宣布了这个计划,说要让编译器快 10 倍。整个社区半信半疑。现在,承诺兑现了。
发生了什么?
简单说:TypeScript 7 的解析、类型检查和增量编译,现在都是并行运行的了。
之前 TypeScript 6 的编译器是单线程的。当你在 VS Code 里打开一个大项目,它会一行一行地跑类型检查,你在键盘上敲完代码,盯着红波浪,等啊等,等啊等……有时候等你喝完一杯咖啡它还没反应过来。
现在,Go 的并发原语让这一切并行起来。文件解析并行,类型检查并行,emit 输出并行——理论上你有多少 CPU 核心,就能跑多快。
微软还给了一个 `--singleThreaded` 参数,给那些内存受限的环境(比如某些 CI 机器)一个降级选项。这很贴心——说明了他们真的测过资源受限的场景。
更好的编辑器体验
TypeScript 7 的语言服务器(Language Server)也更稳了。团队对现有大型代码库做了大量模糊测试(fuzzing),修复了一堆边缘情况。现在的功能支持列表看起来像在报菜名:
- 自动导入 ✅
- 悬停提示展开 ✅
- 内联提示(inlay hints)✅
- 代码Lens ✅
- 跳转源码定义 ✅
- JSX 联动编辑 ✅
- 标签自动补全 ✅
VS Code 里的 TypeScript 体验终于不像是开着拖拉机在高速上跑了。
改进的 Watch Mode
Parcel 的文件监听器接手了 `--watch` 模式。现在跨平台更可靠,CPU 占用更低,大项目也能好好 watch 了。那些 `tsc --watch` 跑一会儿风扇就呼啸的 MacBook 用户,可以稍微松口气。
但有一个遗憾
TypeScript 7仍然没有提供 programmatic API。
这意味着 MDX、Svelte、Vue、Astro 这些依赖 TS API 的工具,暂时还只能用 TypeScript 6。Bytes 的评论很到位:「roasting TypeScript 爱好者是我最喜欢的活动,但今天,我们都在享受性能提升的盛宴。」
但如果连 TypeScript 自己都还没迁上去,这些框架的等待期估计还得持续一段时间。
为什么这重要?
这是 AI 编程时代的一个缩影。
当 AI 每天帮你生成成千上万行代码,类型检查的频率和规模爆炸了。原本可以接受的编译速度,现在变成了流程中的卡点。Bun 花了 11 天和 16.5 万美元用 Claude Fable 把 100 万行 Zig 翻写成 rust。TypeScript 团队自己动手,用 Go 重写了编译器。
这两件事说的是同一件事:在 AI 帮我们写更多代码的时代,工具链的极限正在被重新丈量。编译器、运行时、包管理器——都在被重写。
如果你是一个独立开发者或小团队,这种趋势意味着什么?
意味着你手里的工具正在变得更快、更强,但也意味着你依赖的生态正在经历一个巨大的迁移阵痛期。选框架、选工具,比以前更需要在「前沿」和「稳定」之间做权衡了。
来源:[Bytes #502 - TypeScript 7 is here](https://bytes.dev/archives/502),原文由 Jarred Sumner 主持的 Bytes Newsletter 撰写。
- [TypeScript 7 官方发布博客](https://devblogs.microsoft.com/typescript/announcing-typescript-7-0)
- [Bun 1.4 Rust 重写博文](https://bun.com/blog/bun-in-rust)
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.