Microsoftは、プログラミング言語TypeScriptの新しいメジャー版となるTypeScript 7.0を2026年7月8日に正式リリースしました。最大の目玉は、コンパイラ本体をGo言語でネイティブ移植し、フルビルドで8〜12倍という高速化を実現した点です。
TypeScript 7.0リリースの3行まとめ
要点を3点に整理します。
- TypeScript 7.0がGo言語のネイティブ移植でフルビルド8〜12倍・エディタ応答も大幅高速化
- 並列チェック(
--checkers)や再構築した--watchモードなど大規模開発向けの制御・改善を追加 - 既定値はTypeScript 6.0を踏襲、旧構文・非推奨オプションはハードエラー化で移行準備が前提
本記事のアップグレード手順・設定例は一般的な内容です。実際の対応は、利用しているプロジェクト構成や依存ライブラリ、ビルド設定、運用ルールによって異なります。
作業の前に必ずバックアップを取得し、検証環境で影響を確認したうえで、各自の責任で実施してください。
TypeScript 7.0の主な変更点
TypeScript 7.0の核心は、コンパイラ本体をGo言語で書き直したネイティブ移植です。従来のコンパイラtscはTypeScript自身(JavaScript)として実装され、Node.js上で動作していました。
Microsoftは前年にネイティブ移植の計画を公表し、ツールセット全体を一桁速くする取り組みとして開発を進めてきました。7.0は移植の成果を正式版として届けるリリースです。
従来はJavaScriptとしてNode.js上で解釈実行されるため、規模の大きなコードベースほど型チェックに時間を要しました。7.0はGoでコンパイルしたネイティブ実行ファイルとして動き、高速化の源泉は次の3点です。
- ネイティブコードの実行速度
- 共有メモリによるマルチスレッド処理
- 数々の新しい最適化
公式はフルビルドで8〜12倍の高速化を示しています。狙いはフルビルドだけの改善にとどまらず、日々の編集の型チェックやエディタの補完まで体感の速さが底上げされました。
移植にあたっては、元のコードベースの構造とロジックを保つ方針が採られました。新旧コンパイラで型チェックの結果を一致させ、互換性を保つための設計です。
ビルド時間の比較は、実在の大規模プロジェクトで計測されています。TypeScript 6.0と7.0の所要時間は次のとおりです。
| プロジェクト | TypeScript 6.0 | TypeScript 7.0 | 倍率 |
|---|---|---|---|
| VS Code | 125.7秒 | 10.6秒 | 約11.9倍 |
| Sentry | 139.8秒 | 15.7秒 | 約8.9倍 |
| Bluesky | 24.3秒 | 2.8秒 | 約8.7倍 |
| Playwright | 12.8秒 | 1.47秒 | 約8.7倍 |
| Tldraw | 11.2秒 | 1.46秒 | 約7.7倍 |
メモリ使用量も減少しています。VS Codeでは5.2GBから4.2GBへ約18%、Blueskyでは1.8GBから1.3GBへ約26%の削減が報告されました。
効果はビルドだけではなくエディタ操作にも及びます。VS Codeでエラーを含むファイルを開く時間は、約17.5秒から1.3秒未満へと短縮し、およそ13倍の改善です。
起動方法は従来と変わらず、コマンドはtscのままです。既存のビルド手順やスクリプトを大きく書き換えずに高速化の恩恵を受けられます。
TypeScript 7.0で速く・便利になった点
高速化に加えて、大規模開発を支える制御と機能が加わりました。順に噛み砕いて解説します。
TypeScriptの並列処理オプション(--checkers/--builders)
1つ目は並列化を制御する新しいフラグです。大規模開発向けに、次の3つが追加されました。
-
--checkers: 型チェックを担うワーカースレッド数を指定(既定値4) -
--builders: プロジェクト参照のビルドを並列化 -
--singleThreaded: 並列処理を無効化し、デバッグ時の挙動確認に使用
スレッド数を増やすと、さらに速度を引き出せます。--checkers 8を指定した計測結果は次のとおりです。
| プロジェクト | --checkers 8 |
TypeScript 6.0比 |
|---|---|---|
| VS Code | 7.51秒 | 約16.7倍 |
| Bluesky | 2.01秒 | 約12.1倍 |
TypeScriptの--watchモード刷新
2つ目は再構築された--watchモードです。ファイル変更を監視する基盤を、Parcelのファイルウォッチャーを土台に作り直しました。
- プラットフォームをまたいで効率的・安定した監視を実現
- 採用したParcelのウォッチャーは元々C++実装、新規ツールチェーン依存を避けるためGoへ移植
- 安定した増分ビルドをWindows・macOS・Linuxで一貫して提供
TypeScriptのテンプレートリテラル型とUnicode対応
3つ目はテンプレートリテラル型のUnicode対応です。文字列を型レベルで分解する際に、絵文字などのサロゲートペアを壊さず、コードポイント単位で扱えるようになりました。
次のコードは型の挙動を示す例で、実行して環境に変更を加えるものではありません。
type HeadTail<S> = S extends `${infer Head}${infer Tail}` ? [Head, Tail] : never;
type Result = HeadTail<"😀abc">;
// Result は ["😀", "abc"]。従来は絵文字が2つのサロゲートに割れていた
従来は先頭の1文字が"\ud83d"のように半分へ割れていました。7.0では"😀"が1つの要素として取り出され、直感に沿う結果を返します。
TypeScriptの言語サーバー刷新
4つ目は言語サーバーの刷新です。エディタ連携はLanguage Server Protocol(LSP)を土台に構築され、マルチスレッドに対応しました。
- 失敗するコマンドが80%超減少(6.0比)
- クラッシュが60%超減少(6.0比)
TypeScriptの実運用での効果
検証にはBloomberg・Google・Figma・Linear・Notion・Slack・Vercelなど、大規模なコードベースが用いられました。実運用の効果も具体的な数値で共有されています。
検証に用いられた各社の詳細は、公式の検証事例一覧を参照してください。
| 対象 | 効果 |
|---|---|
| Slack | 型チェックをCIで約7.5分から1.25分へ短縮、マージキューの待ち時間を40%削減 |
| Canva | エディタでFirst Errorが出るまでの時間を約58秒から約4.8秒へ短縮 |
| Microsoft News Services | 月あたり400時間のCI待ち時間を削減 |
| Vanta | 主要プロジェクトで最大9倍の高速化 |
Microsoft社内の他チームからも声が寄せられています。PowerBIの開発者はエディタ体験を「命拾い(life-saving)」と評し、規模的に使いものにならなかったLoopでも、7.0を「素晴らしい」と表現しました。
TypeScript 7.0へアップグレードする方法
導入はnpmから行います。開発依存としてインストールし、正式版のTypeScript 7.0を取り込みます。
npm install -D typescript
このコマンドはパッケージをインストールし、node_modulesとpackage.jsonを更新します。実行前にバックアップを取得してください。
インストール後は、バージョンを確認しておくと安心です。tscのバージョン表示で7系になっているかを確かめます。
npx tsc --version
このコマンドは現在のバージョンを表示するだけで、変更は加えません。
最新の開発版を試したい場合は、nextタグを指定します。ナイトリービルドの配信元は、標準のtypescriptパッケージです。
npm install -D typescript@next
このコマンドは開発版(ナイトリー)をインストールし、環境を更新します。実行前にバックアップの取得をおすすめします。
エディタ側の準備も必要です。対応方法は環境によって異なります。
- VS Code: 専用拡張のTypeScriptTeam.native-previewを導入
- Visual Studio: ワークスペースに応じて自動でTypeScript 7を有効化
VS Codeでは、コマンドパレットから「Disable TypeScript 7 Language Server」「Enable TypeScript 7 Language Server」で言語サーバーを切り替えられます。今後のVS Code更新では、拡張なしのネイティブ対応も予定です。
TypeScript 7.0の移行時の注意点・互換性
TypeScript移行の基本手順
7.0はTypeScript 6.0の型チェックとコマンドライン挙動に合わせて作られています。移行前に、次の準備を済ませておくと安心です。
-
stableTypeOrderingを有効にする -
ignoreDeprecationsを使わずクリーンに通る状態にする - 6.0で非推奨だったフラグ・構文を解消する(7.0ではハードエラーとして扱われる)
自分のプロジェクトが該当するかは、tsconfig.jsonの設定と6.0でのビルド警告を、後述の「既定値の変更点」「廃止・エラー化されたオプション」の表と照合して確認します。
TypeScript 7.0の既定値の変更点
既定値も更新されました。主な変更は次のとおりです。
| 設定項目 | 7.0での既定 |
|---|---|
strict |
有効 |
noUncheckedSideEffectImports |
有効 |
module |
esnext |
stableTypeOrdering |
有効(無効化不可) |
rootDir |
./(srcに置く構成では明示指定が必要) |
types |
空配列(自動探索に戻すには["*"]の指定が必要) |
TypeScriptで廃止・エラー化されたオプション
サポートが外れたオプションや構文もあります。相互運用まわりの既定も強化されました。
| 分類 | 内容 |
|---|---|
| targetオプション |
es5はハードエラー対象 |
| 追加で廃止されたオプション |
downlevelIteration、moduleResolutionのnode・node10・classicはハードエラー対象 |
moduleオプション |
amd・umd・systemjs・noneは廃止 |
| 追加で廃止された構文・設定 |
baseUrl、名前空間のmoduleキーワード、インポートのassert(withへの置き換えが必要) |
| 相互運用の既定 |
esModuleInterop: false・allowSyntheticDefaultImports: false・alwaysStrict: falseは指定不可 |
JavaScriptの解釈も.tsに近づける方向で整理されました。JSDocの@enumや@classの特別扱い、後置の!、クロージャ形式の関数記法、thisのエイリアスは対象外です。
TypeScriptをsrc構成へ移行する設定例
ソースをsrcに置く構成では、tsconfig.jsonへ次の設定を加えると移行がスムーズです。rootDirとincludeを明示します。
次の内容はコマンドではなく、tsconfig.jsonへ追記する設定です。書き換える前に元のtsconfig.jsonをバックアップしてください。
{
"compilerOptions": {
"rootDir": "./src"
},
"include": ["./src"]
}
TypeScriptの埋め込み言語対応とロードマップ
留意点として、埋め込み言語のフレームワークは7.0にまだ追随できません。安定したプログラム用APIが未提供のため、Vue・MDX・Astro・Svelte・Angularのテンプレート型チェックは現時点で非対応です。
Volarなどのツールは引き続きTypeScript 6.0を必要とします。言語サーバープラグインが不要な場面での利用が、公式の推奨です。
- 今後は約3〜4か月ごとの機能リリースを予定
- TypeScript 7.1で新たなプログラム用APIを提供予定
- Vue・Astro・Svelte・Angularの開発元と連携し、埋め込み言語対応を段階的に拡大
TypeScript 6.0と7.0を併用する方法
6.0と併用したい場合は、互換パッケージを使います。@typescript/typescript6を別名で導入すると、使えるのはtsc6コマンドのみです。
7.0のtscも同時に使うには、@typescript/nativeのような別のnpm aliasでtypescriptパッケージを追加で別名導入する必要があります。
npm install -D typescript@npm:@typescript/typescript6
このコマンドは6.0互換パッケージを別名でインストールし、環境を更新します。念のため、実行前にバックアップを取得してください。
package.jsonで両者を同時に固定する指定も可能です。ネイティブ版を@typescript/native、6.0互換をtypescriptとして宣言します。
次の内容はコマンドではなく、package.jsonに記述する依存関係の宣言です。編集後の再インストールで環境が変わるため、事前にバックアップを取得してください。
{
"devDependencies": {
"@typescript/native": "npm:typescript@^7.0.2",
"typescript": "npm:@typescript/typescript6@^6.0.2"
}
}
TypeScript 7.0リリース概要
| 項目 | 詳細 |
|---|---|
| 製品 | TypeScript |
| バージョン |
7.0(正式版) |
| 種別 | メジャーアップデート(Go言語によるネイティブ移植) |
| 主な変更 | フルビルド8〜12倍高速化、並列制御(--checkers/--builders)、--watch再構築、テンプレートリテラル型のUnicode保持、LSPベースの言語サーバー |
| 対応環境 | npm(Node.js環境)、VS Code(TypeScriptTeam.native-preview拡張)、Visual Studio |
| 入手先 | npmパッケージtypescript(公式) |
| 公開日 | 2026年7月8日 |
trends編集部の一言
まず更新を検討したいのは、ビルドや型チェックの待ち時間が開発の足かせになっている大規模チームです。CIの所要時間やエディタの応答は、開発体験の質を大きく左右します。
- 埋め込み言語に強く依存するプロジェクトは、対応APIが整うTypeScript 7.1以降を待つ判断も現実的
- 互換パッケージで6.0を残しつつ、一部から7.0を試す進め方も選べる
移行の第一歩は、6.0の既定値と非推奨項目への対応です。strict化や廃止オプションの棚卸しを先に済ませると、7.0への切り替えは滑らかに進みます。
まずは検証環境で自プロジェクトのビルドを通し、速度と互換性を自分の目で確かめてみてはいかがでしょうか。
References
- ^ Microsoft TypeScript Blog. 「Announcing TypeScript 7.0」. https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/, (参照 26-07-10).
- ^ TypeScript. 「TypeScript 公式サイト」. https://www.typescriptlang.org/, (参照 26-07-10).
※本記事は一次情報(公式ブログ)を基に編集しています。内容はAIで確認していますが、誤りや最新情報との差異がある場合はコメントよりご報告ください。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
【Git】remote設定を変更する方法
【VBA】コメントアウトを設定する方法
マークダウンで改行する方法
【CSS】notで複数の件を除外する方法
x86とx64の違いを分かりやすく解説
GitLabとGitHubの違いを解説
パソコンのメモリの目安を用途別に選ぶ方法
Linuxで環境変数を確認する方法
CapsLockキーを解除する方法
UbuntuのIPアドレスを確認する方法
ITやプログラミングに関するニュース
ナレッジセンスが法人向け「Notebook AI」を全ユーザーへリリース、資料QAからスライド生成まで一連で利用可能に
NTTドコモビジネスX株式会社が「顧客体験AI資格取得講座」を2026年7月9日提供開始、AI活用CX改善の手法を学べる
AI CROSSがRise株式会社への生成AI活用支援を開始、福岡銀行との協業スキーム第二弾で間接業務の効率化を目指す
株式会社詩田が「LLMAPI.JP」を正式提供開始、全モデル10%OFFで手数料ゼロを実現
ChatSenseのNotebook機能が画像・図表をAI検索対象に追加、回答に活用
株式会社三菱総合研究所とPKUTECHが「AI Memory RAG」を共同開発、時系列・経緯を踏まえた意思決定を支援
PreciserがAIスポーツアナリティクスのモバイルアプリを日本市場向けにリリース、現場での迅速なデータ活用を支援
一般社団法人AICX協会が「AIエージェント・ストラテジスト資格」公式解説講座を販売開始、公式教材の重要論点を動画で解説
common株式会社が集荷・配送向けAI配車サービス『ルートコンパスAI』を提供開始、計画時間を約8割削減
ディーエスブランドがおりこうAIコンシェルジュ「AI MODELプラン」提供開始、リアルな人物アバターでWeb接客を実現
