Microsoftは、ネイティブコードへ移植中の「TypeScript 7」の最新状況を公式ブログで紹介した。エディタ機能やコンパイラは日常利用レベルに達し、既存版に比べ最大約10倍の高速化が確認されている。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Microsoftは2025年12月2日(米国時間)、TypeScriptコンパイラと言語サービスをJavaScript実装からネイティブコードへ移植する「TypeScript 7.0」(開発コード名:Corsa)の進捗(しんちょく)を明らかにした。
エディタ向け言語サービスとコマンドラインコンパイラは既にプレビュー段階にあり、多くの開発チームが日常業務で試用できる水準に達したという。併せて、現行のJavaScriptベース実装「Strada」系は「TypeScript 6.0」で終了し、今後はCorsaへの集約を進める方針を明らかにした。
Microsoftは、TypeScriptとJavaScript向けのエディタ機能を提供するネイティブ版言語サービスを、「Visual Studio Code」向け拡張機能「TypeScriptネイティブ プレビュー」として提供している。
同拡張機能では、以下の主要機能が既に移植済みだという。
初期のネイティブプレビューでは「高速だが不安定」との指摘があったものの、言語サービスの内部構造を見直し、共有メモリ型の並列処理を取り入れることで、安定性とスケーラビリティを高めたとしている。大規模コードベースを含め、クラッシュが起きにくい構成に再設計しているという。
「ネイティブ版ではプロジェクトの読み込み時間短縮、メモリ使用量削減、エディタ全体の応答性向上が期待できる。不具合や未移植機能があった場合に備え、拡張機能側には従来のTypeScriptエンジンとネイティブ版を切り替える機能も用意している」(Microsoft)
コンパイラのネイティブ移植も進んでおり、npmでは「@typescript/native-preview」としてナイトリービルドが公開されている。ローカル開発用には「npm install -D @typescript/native-preview」、グローバルには「npm install -g @typescript/native-preview」で導入できる。
新しい実行コマンドとして「tsgo」が利用可能になっており、既存の「tsc」コマンドと並行して使えるという。
Microsoftによると、TypeScript 7.0の型チェックは、現行のTypeScript 6.0とほぼ同等の互換性を確保したという。Microsoftが用意した約2万件のコンパイラテストのうち、TypeScript 6.0で少なくとも1件のエラーを出すテストケースは約6000件あり、ほとんどでTypeScript 7.0でも同様にエラーが検出できているとした。
両者で挙動が異なるのは74ケースのみで、その全てが正規表現構文チェックやisolatedDeclarations関連など未完了の機能、あるいは非推奨機能の整理やデフォルト設定変更に伴う意図的な変更だとしている。このため、「現時点でもTypeScript 7.0をビルド検証用の型チェッカーとして安心して使える」と、Microsoftは強調している。
コンパイラ機能面では、「--incremental」やプロジェクトレファレンス、「--build」モードなど、既存の主要オプションもネイティブ版に移植済みだ。従来と同様に「tsc -b some.tsconfig.json --extendedDiagnostics」や「tsgo -b some.tsconfig.json --extendedDiagnostics」といったコマンドで運用でき、多くのプロジェクトが最小限の変更でネイティブ版プレビューを試せるとしている。
性能面では、ネイティブコード化と共有メモリを使ったマルチスレッドビルドにより、単一プロジェクトだけでなく複数プロジェクトの並列ビルドにも対応した。増分ビルド(「--incremental」)の再実装と組み合わせることで、大規模プロジェクトでも小規模な変更であればほぼ即時にビルドが完了する状態を目指している。
Microsoftが提示したベンチマークでは、TypeScript 6.0(tsc)とTypeScript 7.0(tsgo)のフルビルド時間を比較している。ネイティブ版では既存コンパイラに対して最大で約10倍の高速化が確認されているという。
さらに、Corsa/TypeScript 7.0では、JavaScript実装版Stradaが提供してきたコンパイラAPIとの互換性を持たない。Corsa側の新API設計はまだ進行中で、サードパーティーツールが利用できる安定APIは未整備だ。このため、「ESLint」など既存のツール類は当面、従来の「typescript」パッケージとそのAPIを利用し、型チェックや高速ビルドのみ「tsgo」で行うといった併用構成が推奨されている。
Microsoftは、現行のJavaScriptベースコンパイラ「Strada」系について、TypeScript 6.0を最後のメジャーバージョンとする方針を示した。「TypeScript 6.1」以降のリリースは予定しておらず、6.0系の更新は、セキュリティ問題や5.9から新たに発生した重大な不具合、6.0と7.0の互換性に関わる重大な問題が判明した場合に限って、6.0.1や6.0.2といったパッチを公開する想定だ。
TypeScript 6.0は、TypeScript 5.9と将来の7.0をつなぐ「ブリッジ」的な位置付けになるという。6.0では7.0に向けた一連の非推奨化を事前に行い、型チェックの挙動も7.0に合わせて調整することで、開発者が6.0と7.0を用途に応じて併用しやすくする狙いがある。
例えば、エディタ側の拡張機能やプラグインがStradaのAPIに依存している場合は6.0を利用しつつ、CI(継続的インテグレーション)のビルドや大規模プロジェクトの型チェックには7.0を使うといった構成が想定されている。逆に、エディタでは7.0による高速な言語サービスを利用し、コマンドラインツールは当面6.0を継続利用する構成も可能だとしている。
6.0系では新機能の追加や大きな変更は極力行わない方針で、開発チームは7.0(Corsa)側の完成度向上にリソースを集中させる。これにより、API整備や古いターゲット向けダウンレベル出力など、ネイティブ版移行の障壁となっている課題を優先的に解消していく。
7.0では、TypeScript 6.0で予定されている非推奨項目の一部が削除される。現時点で公表されている主な変更点は以下の通り。
これらの変更に対応するため、Microsoftはtsconfig.jsonを自動変換するツール「ts5to6」を試験提供している。現時点ではbaseUrlとrootDir設定の更新に対応しており、拡張元の設定ファイルや参照関係をたどって関連プロジェクトの設定もまとめて調整できるという。
言語サービスについては、Corsaで内部構造を一新し、従来の「TSServer」独自プロトコルから標準のLSP(Language Server Protocol:言語サーバプロトコル)への移行を進めている。このため、補完やホバー、ナビゲーションの挙動に関する既存の不具合報告の多くは、そのまま7.0では再現しない可能性が高い。
Microsoftは「ネイティブ版TypeScriptは既に現実的かつ安定したものになり、幅広い利用に耐えうる段階に達した」と強調する一方で、「APIや古いターゲット向け出力など、残された課題への対応には引き続き開発者コミュニティーからのフィードバックが重要だ」と述べている。
「Pythonを抜いた」 いま最も使用されている言語とは GitHubの年次調査「Octoverse 2025」
なぜTypeScriptは「最も使われる言語」になったのか? 言語・ツール選定基準の今後は GitHub見解
Microsoft、TypeScriptのコンパイラをGo言語に移植し、処理速度を10倍高速化させる計画を明らかにCopyright © ITmedia, Inc. All Rights Reserved.