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