TypeScript 原生支持:基于 Go 的编译器公测(Corsa 项目)

TypeScript工具性能

关键更新

微软发布了 TypeScript 原生预览版(Corsa 项目):一个基于 Go 的 TypeScript 编译器和语言服务的移植版本,作为 npm 预览包提供(暴露 tsgo 二进制文件)和 VS Code 的“TypeScript(原生预览)”扩展。团队报告在大型真实项目上实现了一致的约 10 倍的改进(类型检查时间和编辑器项目加载),现在包括 JSX 和 JavaScript+JSDoc 检查,以及基于 LSP 的编辑流程。预览版明确表示为“进行中的工作”:许多编辑器功能和一些发射/构建标志仍然缺失,并且在边缘情况下存在已知的行为差异。

重要性

这是对 TypeScript 工具的一个实际的、非表面的改变,立即改变了大型代码库和单一代码库的开发者使用体验和 CI 经济。更快的类型检查和更低的编辑器启动延迟将减少迭代时间,使更重的静态分析和更大的单一代码库工作流成为可能,并使即时工具(重构、跨项目查询、AI 驱动的助手)变得更加响应。操作上,团队必须将原生构建视为不同的运行时工件:CI 镜像和开发环境需要包含或安装 tsgo 二进制文件,编辑器集成依赖于新的 LSP 路径(libsyncrpc 桥接存在于 Node 中)。由于预览版可能在细微方面有所不同(模块解析、自定义转换器、特定的 --build/emit 行为),因此将采用视为渐进式:在具有代表性的服务/分支上验证 tsgo,运行端到端测试和类型敏感工具,并计划在验证工作负载的相同性后再更新 CI/devcontainer 镜像。从长远来看,这将成为 TypeScript 7 的路径,并显著加快开发者体验;从短期来看,预计将原生预览与现有的 JS 编译器并行运行,以发现任何兼容性问题。

来源

继续阅读