ts-rs 项目是由开发者 pingdotgg 发起的微软 TypeScript 7 编译器 (tsc) 的 Rust 移植实验。早期尝试使用了 OpenAI 的 GPT-5.6 Sol 和 GPT 6 Astra 模型,消耗了超过 400,000 美元的 API 令牌,生成了超过 130 万行 Rust 代码,但兼容率仅约为 84%。转向 Anthropic 的 Claude Opus 5.5 后,约十小时内得到可工作版本,整个移植在两周内完成,总令牌支出约 24,047 美元,据项目 README 所述。
说明了文章中提到的 TypeScript 7 编译器 Rust 移植项目的 ts-rs 仓库。
ts-rs 保留了原始 Go 基础编译器的算法和行为,提供与标准 TypeScript 编译器相同的命令行界面 (tsc)、语言服务器和 API。它固定在微软 TypeScript 仓库的特定上游修订版(提交 673a5f17d713,对应 2026 年 9 月 29 日的 TypeScript 7.1.0‑dev)。所有 181,711 个移植的 Go 测试均通过,语言服务器和 API 响应与 Go 基础的 oracle 测试集完全匹配,作者报告在实际项目测试中实现了 100% 的兼容性。
性能基准显示,在六十个开源项目上(几何平均),ts-rs 的类型检查耗时约为 Go 基础编译器的一半。在 T3 Code 基准中,ts-rs 相比 tsc 7(不带 Effect 诊断)快 2.22 倍,相比 tsc 6 快 8.6 倍;带 Effect 诊断时,ts-rs 相比 tsc 7 快 1.89 倍,相比 tsc 6 快 12.5 倍。在六个主要开源应用(VS Code、Sentry、Playwright、Excalidraw、TypeORM、tRPC)上的实际测试表明,几何平均加速比为相比 tsc 6 快 11.4 倍,相比 tsc 7 快 1.61 倍。项目目前提供静态 Linux x64 和 macOS arm64 二进制文件,Windows 和 Linux arm64 支持尚待实现;已知问题包括单仓库文件输出差异以及与原始编译器不同的增量内存增长模式。