何が変わったか
MicrosoftはTypeScriptコンパイラをGo言語で全面的に書き直し、7.0として正式リリースした。ユーザーが書くTypeScriptの文法自体はほぼそのままに、処理系という裏側のエンジンだけが置き換わっている。
性能改善の中身
フルビルドで8〜12倍、VS Codeでのエラー表示速度は11.9倍、メモリ使用量も最大26%削減という数字が示されている。--checkersや--buildersフラグで並列処理を制御できるようになった点も、大規模プロジェクトほど恩恵を受けやすい設計だ。
ネイティブ化トレンドの中でのTypeScript
JavaScript/TypeScriptのツールチェーンをRustやGoなどのネイティブ言語で書き直す動きは、Rust製のSWCやesbuild、Turbopackなど、ここ数年のフロントエンド界隈で繰り返されてきた潮流だ。TypeScriptという最大規模のプロジェクト自身がその流れに合流したことで、この方向性が一時的な流行ではなく既定路線になったと言える。
移行で気をつけたいこと
target: es5などの古い設定の廃止、rootDirやtypesの既定値変更など、既存プロジェクトに影響する破壊的変更が含まれている。@typescript/typescript6パッケージを使えば旧コンパイラと並行運用しながら段階的に移行する道もあるが、Vue・Astro・Svelteなど埋め込み言語への対応は7.1以降に持ち越されているため、そうしたツールに依存するプロジェクトは追加の検証期間を見込んでおいた方がよい。リリースノートの詳細はTypeScript Blog(https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/)にある。