Cloudflareのブログ「Introducing tsrs: A port of TypeScript to Rust」によると、tsrsはTypeScriptチームと密に連携しながら進めるRust版コンパイラで、Oxc JavaScriptコンパイラツールチェーンの中でインキュベートされる。ブログは「TypeScriptをフォークするのではない」と明言し、言語の設計と方向性はTypeScriptチームが引き続き決めるとしている。初期ベンチマークでは、同じ型チェックワーカー数の条件でTypeScript 7.0より最大8倍速く、メモリは約70%少ない。次期TypeScript 7.1 betaも7.0比最大2.5倍速くなっており、その最適化の一部はtsrsから上流に取り込まれたものだという。既定ではマシンに応じてメモリを多めに使いさらに速く動く設定になる。実験版はnpm install tsrsで導入しnpx tsrsで試せる。Rustを選んだ理由としては、Goのようにガベージコレクタを同梱せずWebAssemblyで動かせる点を挙げ、ブラウザやCloudflare Workers上で開発ツールチェーン全体をサンドボックス内で動かせるようになるとしている。今後はTheo Browne氏のtsc-rsと統合し、LSPを含むTypeScriptの全機能をサポートする単一パッケージを目指す。
Cloudflare・VoidZero、TypeScriptコンパイラのRust移植「tsrs」を発表 TS 7.0比最大8倍速・メモリ約7割減、フォークではなくTypeScriptチームと協力
## POINTS
- TypeScript 7.0比で最大8倍速・メモリ約70%減(同じワーカー数で比較)
- フォークではなくTypeScriptチームと協力し、Oxcの一部として開発
- WASMで動きブラウザやWorkersでも利用可能、npx tsrsで実験版を試せる