TypeScriptコンパイラをRustに移植する「tsrs」— CloudflareとVoidZeroが始動
投稿日:2026.10.21
CATEGORY
- Web開発
CloudflareとVoidZeroが、TypeScriptコンパイラをRustで書き直すプロジェクト「tsrs」を進めています。狙いは、開発者が型チェックを待つ時間を減らし、TypeScriptをより高速・省メモリにして、ブラウザを含む多様な環境でフル機能の開発環境を動かせるようにすることです。2026年10月20日、Cloudflare公式ブログがこの取り組みを明らかにしました。
tsrsとは何か — フォークではなく、並走する移植
tsrsは、CloudflareとVoidZeroが、Owner.comのMax Schwenk氏と協業して進めているプロジェクトです。重要なのは、tsrsがTypeScriptのフォークではないという点です。言語そのものの設計や方向性を決める権限は、引き続きTypeScriptチームが持ちます。tsrsが担うのは、その言語を処理するコンパイラをRustで実装し直す部分です。
なぜRustか — Go移植だけでは足りなかった理由
TypeScriptチームはすでに、コンパイラをGoに移植した「TypeScript's Go port」を成功させています。それでも別にRust版を動かす理由は、速度だけではありません。WebAssembly(Wasm)への適性が決め手になっています。
GoのコードをWasmとして動かすには、ガベージコレクタ(GC)もまとめて同梱する必要があります。一方でRustのメモリ管理モデルは、Wasmのゲスト側とホスト側の間で直接メモリを操作できます。Cloudflareは長年Wasmをサポートしてきた上に、最近はネイティブなRustサポートも発表しており、この技術的な相性の良さがtsrsをRustで作る根拠になっています。

どれだけ速くなるか — ベンチマークと7.1への還流
Cloudflareが公開したベンチマーク(TypeScript 7.0との比較、型チェックのワーカー数を揃えた条件)によれば、tsrsはTypeScript 7.0に対して最大8倍高速で、メモリ使用量は約70%少なくなっています。
tsrsの成果は、TypeScript本体にも還流し始めています。次期バージョンであるTypeScript 7.1のベータ版は、TypeScript 7.0に対して最大2.5倍高速とされており、その最適化の一部はtsrsから取り込まれたものだとされています。tsrsはOxcツールチェーンの一部としてインキュベートされており、CloudflareはVinextという別プロジェクトと同様のプロセスで、上流のTypeScriptとの同期を維持していく計画です。tsc-rsとtsrsの統合(LSP〈エディタの補完やエラー表示を担う仕組み〉などを単一パッケージにまとめる作業)には、Theo Browne氏が取り組んでいます。
開発者にとっての意味
tsrsが実用段階に進めば、エディタ上での型チェックの反応が速くなり、保存してから結果が返ってくるまでの待ち時間が縮む可能性があります。加えて、WebAssembly適性を足がかりに、ブラウザの中だけでTypeScriptのフル機能な開発環境を動かすような使い方も視野に入ってきます。

なお、Cloudflareの発表記事では、最近のAIモデルの進歩によって、こうした大規模なコンパイラ移植がほぼ独立した形で数日のうちに行えるようになったという旨の言及もあります。移植そのものの技術的な正しさと、移植にかかった期間は別の軸です。前者はベンチマークや実環境での検証によって裏付けられます。
まとめ
自分のプロジェクトでtscの型チェックに実際どれくらい時間がかかっているかを一度計測しておくと、tsrsが使えるようになったときに体感できる改善幅が具体的にわかります。tsrsがTypeScriptコンパイラの主流になるかどうかはまだ見えていません。ただ、Go移植と性能で張り合う選択肢はすでに並走して動いており、その成果の一部は7.1にも還流し始めている。
関連
AI エージェントを業務で回すときの設計と運用については、CTO の note に書いています。
出典
- Cloudflare: TypeScript コンパイラの Rust 移植「tsrs」始動 https://blog.cloudflare.com/typescript-rust-port/
※ この記事は AI を使用しています。Leadeas が自社開発した AI エージェント基盤で下書きを作成し、人間のレビューを経て公開しています。AI ネイティブ開発会社として自社の技術をそのまま実演する目的で、この手法を用いています。(詳しくは AI 利用ポリシー)

