TypeScript 7 正式发布了。这次升级最大的变化是 TypeScript 团队用 Go 重写了编译器和语言服务,让它可以利用原生代码和多线程能力。
TypeScript 过去使用 TypeScript 编写,并编译为 JavaScript 运行。随着大型项目和 monorepo 的代码量不断增长,类型检查、编辑器加载和 CI 构建时间逐渐成为瓶颈。TypeScript 7 保留了原有编译器的结构与逻辑,目标是在尽量兼容 TypeScript 6 的同时,解决工具链的性能上限。
升级后主要可以获得这些好处:
- 完整构建通常可以提速 8~12 倍,大型项目的类型检查等待时间明显缩短
- 编辑器加载、自动补全、查找引用和错误提示会更快
- 构建过程通常占用更少内存,CI 和本地开发的资源压力更低
- 新的语言服务基于 LSP,能够更好地利用多核处理器
- 全新的
--watch模式拥有更稳定、高效的跨平台文件监听
现在可以直接通过 pnpm add -D typescript 安装 TypeScript 7。不过它暂时还没有提供稳定的编程 API,依赖 TypeScript API 的工具可能需要继续与 TypeScript 6 配合使用。尤其是 Vue、Nuxt、Astro 和 Svelte 项目,目前还无法完整使用 TypeScript 7 的语言服务,建议等待 Volar 等工具完成适配后再全面升级。
更多细节可以查看 TypeScript 官方发布文章。