tsrsとは?TypeScriptをRustで作り直したツールの仕組み・使い方・TypeScript 7との違い

/ noro_hacks

※本記事には広告リンクが含まれます。

tsrsとは?TypeScriptをRustで作り直したツールの仕組み・使い方・TypeScript 7との違い

tsrsは、アプリやWebサイトを作る人が使う「コードの間違い探しツール」を、Rustという別の言語で作り直したオープンソースのソフトです。2026年10月下旬にCloudflareとVoidZeroが発表し、開発者の間で話題になりました。Cloudflareの発表によると、TypeScript 7と比べて最大8倍速く、メモリも約70%少なく済みます。

tsrsを一言でいうと?

tsrsは、プログラミング言語TypeScriptで書かれたコードの間違いを素早く見つけるための、Rust製のチェックツールです。

身近なものでいうと、長い本の「校正ソフト」を、同じルールのまま動きの速いものに入れ替えるようなものです。誤字脱字を探すルールは変わらず、探す速さと必要な作業机の広さだけが変わります。

たとえ話はここまでです。実際には、TypeScriptの仕様を決めているのは本家のTypeScriptチームです。tsrsはその決定に忠実に従う「移植版(ポート)」という位置づけで、ルールそのものは作り替えません。

これまでと何が変わるのか

  • 開発者の待ち時間が減る見込みがある。 発表では、コードの検査を待つ時間を減らし、作る時間を増やすことが目標とされています。
  • ブラウザの中でも開発環境を動かしやすくなる可能性がある。 使うメモリが少ないため、これまで難しかった場所でも動かせるようになる、と説明されています。
  • パソコンやサーバーの負担が軽くなる。 同じ条件の比較で、メモリの使用量が約70%少ないとされています。

tsrsとは?誰が作ったものですか?

まず、土台になっているTypeScriptを説明します。

※TypeScriptとは: Webアプリなどを作るときに使われるプログラミング言語です。書いたコードの中の食い違いを、動かす前に見つけやすくする仕組みを持っています。

※コンパイラとは: 人が書いたコードを、コンピューターが動かせる形に変換し、途中で間違いも検査するソフトです。

※Rustとは: 速さと、メモリの扱いの安全さに強みがあるとされるプログラミング言語です。

tsrsは、このTypeScriptのコンパイラをRustに移植したものです。Cloudflareの発表では、CloudflareとVoidZeroが、Owner.comのMax Schwenk氏とともに取り組んでいると説明されています。TypeScriptチームと密に連携していて、OxcというJavaScript向けの道具群の一部として育てている段階です。

GitHubのREADMEには、Max Schwenk氏が移植を担当し、Owner.comが初期の作業を支援したと書かれています。VoidZeroについて、Publickeyは「Cloudflareに買収された」と説明しています。この点はCloudflare側の発表の読める範囲には出てこないため、Publickeyの記述として受け取ってください。

ChatGPTなどとの違い

ChatGPTは、人と会話しながら文章などを作るAIサービスです。tsrsはAIではありません。開発者がコードを検査・変換するために使う道具です。

ただし、AIとの縁はあります。Cloudflareは、最先端のAIモデルが大規模な移植をほぼ自力で数日のうちにこなせるようになった、という変化を「いま作る理由」に挙げています。tsrs自体がどんな手順で作られたかは、資料からは確認できません。

同じ名前の別のものに注意

「TSRS」という名前は、金融商品にもあります。たとえばYahoo Financeのページには、同じ表記のETF(株のように売買できる投資信託)が載っています。これは今回のソフトとは無関係です。

なぜ話題になっているのですか?

理由は大きく3つあります。

速さとメモリの小ささ

Cloudflareの発表では、初期のベンチマークで、tsrsはTypeScript 7.0より最大8倍速く、メモリは約70%少ないとされています。条件は、型チェックを担当する作業役(ワーカー)の数をそろえた比較です。

たとえば、これまで8分待っていた作業が1分で終わる程度の差です。メモリも、作業机の広さが3割ほどで足りるイメージです。どちらも「最大」の値で、すべての場面で出るとは限りません。

TypeScript 7はGo言語で作られた版です。Publickeyによると、β版のTypeScript 7.1は7より約2.5倍速く、tsrsはそれより速いグラフになっています。Cloudflareは、7.1の高速化の一部はtsrsで見つかった工夫が本家に取り込まれたものだとも述べています。

本家と争わない姿勢

Cloudflareは「TypeScriptをフォークしない」と強調しています。言語の方向性はTypeScriptチームが決めるべきで、移植版はその決定に厳密に合わせないと、いずれ互換性が崩れる、という考え方です。

本家と対立する話ではなく、協力して高速化を進める話として広まっている点が、注目された理由のひとつと考えられます。

ブラウザやCloudflareのサービスで動かす構想

Cloudflareは、Cloudflare Workers(同社の、プログラムを世界中のサーバーで動かすサービス)でRustを直接使えるようにしたことも発表しています。tsrsの小さなメモリ消費は、この流れと相性がよいと説明されています。

盛り上がりの様子も見ておきます。編集部が確認した見出しの集計では、海外の技術系ニュースサイトHacker Newsで429ポイント、はてなブックマークで40ブックマークがついています。日本語メディアではPublickeyが取り上げました。

仕組み・主な特徴は?

本物のTypeScriptと同じ結果を目指している

何ができるかというと、今使っているTypeScriptの検査・変換ツールの置き換えを狙えます。GitHubのREADMEは、TypeScript 7のコンパイラと言語サーバーの「drop-in replacement」(差し替えるだけで使える代替品)だと説明しています。

実現方法は、TypeScriptの元の実装に厳密に従う忠実な移植です。安定版はTypeScript 7.1に対して100%の適合(同じ結果を返すこと)を目指す、とあります。これは目標であり、達成済みという意味ではありません。

速く、メモリが少ない

何ができるかというと、コードの検査にかかる時間と、使うメモリを減らせます。数字は前の節のとおりです。

Cloudflareの発表によれば、標準ではパソコンやサーバーの種類に合わせて自動調整される設定で配布されます。この設定はメモリを多く使う代わりに、さらに速くなるとされています。具体的な数値は、読み取れた本文には見当たりません。

また、Cloudflareは他の移植版の速度比較も出回っているとして、大きなマシンや別の設定を使った例が多いと指摘しています。今回のベンチマークはTypeScriptチームと確認し、同じ設定で比べたと説明されています。

ブラウザなどでも動く

何ができるかというと、WebAssemblyという仕組みで、ブラウザの中やCloudflare Workers上でも動かせます。

※WebAssemblyとは: ブラウザなどの中で、プログラムを速く安全に動かすための共通の形式です。

なぜRustなのかについて、Cloudflareは次のように説明しています。Go言語のプログラムをWebAssemblyにすると、Goのごみ掃除の仕組み(ガベージコレクタ)も一緒に入れる必要があります。Rustのメモリ管理はそのまま扱いやすいため、WebAssemblyと相性がよいという説明です。

READMEには、WebAssembly用の@tsrs/wasmというパッケージがあることと、ブラウザで試せるプレイグラウンド(お試し画面)の存在が書かれています。

編集ソフトとの連携は、資料で書き方が違う

コードを書く編集ソフトの中で、エラーを赤線で教える裏方の仕組みがあります。これを言語サーバー(LSP)といいます。この点は資料によって書き方が異なります。

項目 READMEなど Publickey
言語サーバー コンパイラと言語サーバーの置き換えを目指すと説明。編集ソフト設定の手引きへのリンクもある 今後、LSPを含む全機能をサポートする予定と報じている
VoidZeroとOxc Oxcの一部として育成中(Cloudflare発表) ポストを引用し、近くOxcの一部になると紹介

どこまで今動くのかは、READMEの対応状況の文書(COMPATIBILITY.md)で確かめるのが確実です。この記事の資料だけでは判断できません。

自分に関係ありますか?向いている人・向いていない人

結論から言うと、エンジニアでない人が直接使う場面は、資料の範囲ではありません。 tsrsは、開発者がコマンドで動かす道具です。

ただし、間接的な関係はあります。開発者の待ち時間が減り、ブラウザ上でも開発環境が動かせるようになれば、普段使うサービスやAI開発ツールの裏側にいずれ入っていく可能性があります。これはCloudflareが示す方向性であり、具体的な採用サービスの名前は資料にありません。

向いている人

  • TypeScriptを使っていて、コードの検査が遅いと感じている開発者
  • メモリが限られた環境で、TypeScriptの検査を動かしたい人
  • ブラウザやWorkersの中で開発ツールを動かしたい人
  • 性能や互換性について、フィードバックを送れる人

向いていない人

  • 安定した本番運用を、いますぐ求める人(実験的リリースの段階のため)
  • プログラミングをしておらず、画面から使えるアプリを探している人
  • 検査結果が毎回まったく同じであることが必須の人(後述の既知の問題があるため)

使い方・始め方は?

ここからは実際に触ってみたい人向けです。読み飛ばしても全体像は分かります。

入手先はnpm(JavaScriptの部品を配布する場所)のtsrsパッケージです。Cloudflareの発表には、次の手順が実験的リリースの試し方として載っています。

npm install tsrs
npx tsrs

GitHubのREADMEには、pnpmを使った次の例があります。

pnpm add -D tsrs
pnpm exec tsrs --noEmit

検査の順番を、Goで作られた版(tsgo)に近づけたいときのオプションも紹介されています。ただし、すべてのプログラムで結果が決まることを保証するものではない、と注意書きがあります。

pnpm exec tsrs --noEmit --checkerAssignment go

コマンドを使わずに試すなら、READMEにあるブラウザのプレイグラウンドが手軽です。さらに詳しい使い方(メモリの調整、編集ソフトの設定、Node向けAPIなど)は、READMEから文書に進めます。必要なNode.jsのバージョンなどの前提条件は、この記事の資料には書かれていません。

注意点・現時点で分かっていないことは?

実験的な段階であること

Cloudflareは、いま配布しているものを実験的リリースと呼んでいます。READMEも、性能・メモリ・適合度についてのフィードバックを求める書き方です。対応済みの機能と未対応の部分は、READMEが案内する対応状況の文書で確かめる必要があります。

検査結果が実行ごとに変わりうる問題

READMEによると、既知の問題として、実行のたびにエラーが出たり消えたりすることがあります。同じコードと設定なら毎回同じ結果になる「決定的な検査」が、まだ完全ではないという意味です。対応する課題は#725番として公開されています。

開発元は上記のオプションで近づけられるとしつつ、すべてのプログラムでの保証はないと述べています。修正の見通しは、資料の範囲では確認できません。

ベンチマークの読み方

8倍・70%という数字は、TypeScript 7.0と、型チェックのワーカー数をそろえて比べた「最大」の値です。グラフの細かい数値は、この記事の資料からは読み取れません。自分のプロジェクトで同じ効果が出るかは、試さないと分かりません。

ライセンス、料金、Microsoftとの関係

READMEによれば、tsrsはTypeScript(Microsoft著作)の派生物で、Apache-2.0ライセンスです。同じ文書に「Microsoftとは提携しておらず、承認も受けていない」とも書かれています。一方で、TypeScriptチームのサポートへの謝辞もあります。

Cloudflareの発表では、TypeScriptチームと密に協力しているとされています。協力関係と、公式な承認は別のことだと分けて読むのがよさそうです。

料金について、資料に記載はありません。オープンソースとして公開されていますが、将来の有料プランなどについては現時点では公表されていません。

開発体制と今後

READMEによれば、バグ報告の受け付け窓口は開いていますが、プルリクエスト(コードの修正提案)は、レビューする余力がないため受け付けていません。

なお、Cloudflareの発表には、移植版をどう保守していくかを説明する節があります。ただ、この記事で参照できた本文は、その途中までしか読めませんでした。保守体制の詳細は確認できていません。

まとめ

  • tsrsは、TypeScriptのコードを検査・変換する道具を、Rustで作り直したオープンソースです。
  • CloudflareとVoidZeroが関わり、本家TypeScriptチームと協力しながら進めていると説明されています。
  • TypeScript 7.0との比較で、最大8倍速く、メモリは約70%少ないとされています。ただし「最大」の値です。
  • 直接使うのは開発者で、一般の人は将来、使うサービスの裏側で恩恵を受けるかもしれません。
  • 現在は実験的な段階で、検査結果が毎回同じになるとは限らない問題など、分かっていない点もあります。

よくある質問

プログラミングができなくてもtsrsは使えますか?

直接使う場面はほとんどありません。tsrsはコマンドを打って動かす開発者向けの道具で、アプリのように画面から触るものではないからです。資料に一般ユーザー向けの画面や機能の説明はありません。

tsrsは無料で試せますか?

ソースコードはApache-2.0ライセンスで公開され、npmから導入して試せると資料にあります。料金プランについての記載は資料にありません。ブラウザ上で動くプレイグラウンドも用意されています。

tsrsはChatGPTのようなAIサービスですか?

いいえ。tsrsはAIではなく、TypeScriptで書かれたコードを検査・変換する道具です。ただしCloudflareは、AIモデルが大規模な移植を数日でこなせるようになった点を、開発の背景として挙げています。

tsrsは本家TypeScriptと別のプログラミング言語ですか?

別の言語ではありません。Cloudflareは、TypeScriptをフォークする(別の道へ枝分かれさせる)のではないと明言しています。言語の仕様はTypeScriptチームが決め、tsrsはそれに忠実に従う立場です。

今すぐ仕事のプロジェクトに入れて大丈夫ですか?

資料では実験的リリースと位置づけられています。READMEは、安定版はTypeScript 7.1に対して100%の適合を目指すと説明し、実行のたびにエラーの出方が変わりうる既知の問題も挙げています。導入前に確認が必要です。

関連記事