pingdotgg/ts-rust

An experimental Rust port of the TypeScript 7 compiler (tsc)

解决的问题

提供标准 TypeScript 编译器(tsc)的高性能替代方案,通过将 TypeScript 编译器、检查器和语言服务器协议(LSP)移植到 Rust,旨在减少类型检查时间,并实现 WebAssembly(WASM)中的高性能执行。

工作原理

该项目是 Microsoft 原始用 Go 编写的原生 TypeScript 编译器的直接移植。它保持了与原始版本相同的算法、行为和命令行接口。该移植是使用 LLM(特别是 Claude Opus 5.5)将 Go 实现翻译为 Rust 而生成的。

适用人群

  • 希望在大型项目中获得更快类型检查的 TypeScript 开发者。
  • 需要能在 WASM 中高效运行的 TypeScript 检查器的开发者。
  • Effect 框架的用户,因其内置了 Effect 语言服务诊断功能。

主要亮点

  • 显著提速:基准测试显示,与 tsc 6 相比,平均快约 11.4 倍;与 tsc 7(Go 编译器)相比,平均快 1.61 倍。
  • 即插即用替代:使用与 tsc 相同的命令行选项,可通过 npm 安装为 tsc-rs。
  • Effect 集成:内置 Effect 语言服务诊断功能,无需额外的编译阶段。
  • 高兼容性:在测试的真实项目中报告 100% 兼容性,通过了超过 181,000 个移植的 Go 测试。

相关

  • 项目
  • 项目
  • 项目
  • 项目