
TypeScript 7.0 が2026年初頭にリリース予定で、最大の変化はビルドが最大10倍速くなることです。実装言語がJavaScriptからGo言語 に変わり、大規模プロジェクトでの開発体験が劇的に改善されます。
ReactやNext.jsで数百〜数千ファイルのプロジェクトを開発している方には朗報です。本記事では、実際のビルド時間の変化、移行時の注意点、今から準備すべきことをまとめます。
いま何が起きているのか
TypeScriptコンパイラ(tsc)の実装が、JavaScript → Go言語に完全移行します。
変わること:
- tscコマンドがネイティブバイナリに(Node.js不要で起動)
- 並列処理でCPUコアをフル活用
- メモリ使用量が半分以下に削減
変わらないこと:
- コマンドラインインターフェース(
tsc --watchなどそのまま使える) - tsconfig.jsonの基本的な設定
- TypeScript言語仕様(型チェックのルールは同じ)
実際どれくらい速くなる?
公式ブログで発表された実プロジェクトでのベンチマーク結果です。
ビルド時間比較(実プロジェクト)
| プロジェクト | 現在(tsc 6.0) | TS 7.0(tsgo) | 高速化率 |
|---|---|---|---|
| VS Code | 89.11秒 | 8.74秒 | 10.2倍 |
| TypeORM | 15.80秒 | 1.06秒 | 9.9倍 |
| Sentry | 133.08秒 | 16.25秒 | 8.2倍 |
| Playwright | 9.30秒 | 1.24秒 | 7.5倍 |
※ 出典:Progress on TypeScript 7.0 - December 2025
体感的な影響
開発中のwatch モード:
# 1ファイル変更時のリビルド
現在: 約3-5秒待ち
TS 7.0: 約0.5-1秒(ほぼ即座)
CI/CDでのビルド:
# Next.js大規模プロジェクトの例
現在: ビルド全体で8-10分
TS 7.0: ビルド全体で3-4分(型チェックが主な短縮対象)
なぜこんなに速くなる?

3つの主要な改善により、最大10倍の高速化を実現しています。
1. Node.js起動コストがゼロに
現在のtscは、毎回Node.jsを起動しています。
# 現在のtsc
$ tsc --noEmit
# ↓内部的に以下が実行される
node /usr/local/lib/node_modules/typescript/bin/tsc --noEmit
# Node.js起動: 200-300ms
# tscロード: 100-200ms
tsgoはネイティブバイナリのため、この起動時間がなくなります。
# TypeScript 7.0
$ tsgo --noEmit
# 即座に起動(起動時間ほぼゼロ)
小さいプロジェクトほど恩恵が大きい理由:
- 100ファイル規模: 起動時間が処理時間の20-30%を占める
- 5000ファイル規模: 起動時間は処理時間の5%以下
2. 全CPUコアを使った並列処理
現在のtsc:
# シングルスレッド処理
CPU使用率: 1コア = 100%、残り7コア = ほぼ0%
TypeScript 7.0:
# 完全並列処理
CPU使用率: 全8コア = 80-90%
Reactプロジェクトで1000個のコンポーネントファイルがある場合、8コアCPUなら理論上8倍速くファイル解析できます。
3. メモリ効率の改善
大規模Next.jsプロジェクトでの実測:
# 現在のtsc
メモリ使用量: 約800MB
スワップ発生: たまにある
# TypeScript 7.0
メモリ使用量: 約350MB
スワップ発生: ほぼなし
メモリが少ないマシン(8GB以下)でも快適に開発できるようになります。
TypeScript 6.0の役割
TypeScript 7.0への移行前に、TypeScript 6.0が重要な役割を果たします。
6.0は「橋渡し」リリース
TypeScript 6.0は、JavaScriptベースの最後のリリースであり、5.9系と7.0の橋渡しとして位置づけられています:
主な特徴:
- 互換性重視: 5.9からの移行を容易にする
- 7.0の前哨: 非推奨設定を削除し、7.0と同じ挙動に調整
- 最終版: 6.1以降はリリースされず、次は7.0へ
- 併用可能: エディタで6.0、コマンドラインで7.0の併用が推奨される場合もある
6.0と7.0の使い分け
開発環境によって、以下のような使い分けが可能です:
# エディタ(VS Code): TypeScript 6.0の言語サービスを使用
# → 既存のプラグインやツールとの互換性を優先
# コマンドライン: TypeScript 7.0(tsgo)を使用
# → 高速なビルドと型チェック
npm install -g @typescript/native-preview
tsgo --noEmit # 型チェックのみ
このアプローチにより、既存のツールチェーンを維持しながら、ビルド高速化の恩恵を受けられます。
移行時の注意点:tsconfig.jsonの変更
TypeScript 6.0/7.0で削除される設定があります。
削除される設定一覧
{
"compilerOptions": {
"target": "es5", // ❌ 削除(es2015以上必須)
"baseUrl": "./", // ❌ 削除
"outFile": "./bundle.js", // ❌ 削除
"charset": "utf8", // ❌ 削除
"moduleResolution": "node", // ❌ 削除(bundler/nodenext推奨)
"strict": false // ⚠️ デフォルトがtrueに変更
}
}
影響を受けるプロジェクト
1. target: “es5” を使用している場合
対象:
- IE11対応が必要なプロジェクト
- 古いAndroid WebView対応が必要なアプリ
対処法:
// tsconfig.json
{
"compilerOptions": {
"target": "es2015" // es5 → es2015 に変更
}
}
古いブラウザ対応が必要な場合は、Babel を併用します。
npm install --save-dev @babel/preset-env
// babel.config.json
{
"presets": [
["@babel/preset-env", {
"targets": "> 0.25%, not dead"
}]
]
}
2. baseUrl を使用している場合
対象:
// baseUrl: "./src" の設定で以下のようなimportをしている
import { Button } from 'components/Button';
// ↑ 相対パス(../../)を使わないimport
対処法(推奨):
Node.js 16.9以降のSubpath imports を使用します。
// package.json
{
"imports": {
"#components/*": "./src/components/*",
"#utils/*": "./src/utils/*",
"#hooks/*": "./src/hooks/*"
}
}
// 修正後のimport
import { Button } from '#components/Button';
import { formatDate } from '#utils/date';
対処法(簡易版):
TypeScript 5.0以降の paths のみ使用(baseUrl不要)。
// tsconfig.json
{
"compilerOptions": {
"paths": {
"@components/*": ["./src/components/*"],
"@utils/*": ["./src/utils/*"]
}
}
}
3. outFile を使用している場合
対象:
- 単一ファイルバンドルを生成しているプロジェクト
- AMD/SystemJS モジュール形式を使用しているレガシーコード
対処法:
モダンなバンドラーに移行します。
# esbuild(最速)
npm install --save-dev esbuild
# webpack(プラグインエコシステムが豊富)
npm install --save-dev webpack webpack-cli ts-loader
# vite(開発体験が良い)
npm install --save-dev vite @vitejs/plugin-react
今から準備すべきこと
1. tsconfig.jsonのチェック
以下のコマンドで削除予定の設定を確認できます。
# tsconfig.jsonを確認
cat tsconfig.json | grep -E "target|baseUrl|outFile|charset"
もし該当する設定があれば、前述の対処法で修正してください。
2. CI/CDの動作確認
TypeScript 7.0は2026年Q1リリース予定ですが、ベータ版を試せます。
# .github/workflows/test.yml
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
ts-version: ["5.7", "7.0-beta"]
steps:
- name: Install TypeScript
run: npm install -g typescript@${{ matrix.ts-version }}
- name: Type check
run: tsc --noEmit
3. エディタ拡張の更新確認
VS Code:
- TypeScript Native Preview Extension が既に利用可能
- 設定で
"typescript.experimental.useTsgo": trueを有効化 - 正式版は2026年Q1予定
その他のエディタ:
- IntelliJ IDEA: 動作確認中
- Vim/Neovim(LSP使用): 対応予定
ツールの互換性
影響を受けるツール
ts-node: 現時点で非対応
# 代替ツール
npm install --save-dev tsx
# tsx コマンドで代替可能(同等の速度改善も期待できる)
@swc/core / esbuild: 影響なし
- これらは既に独自の高速トランスパイラを使用しているため、型チェック部分のみTS 7.0の恩恵を受ける
Vite / Next.js: 問題なし
- TypeScriptコンパイラは型チェックのみで使用
- トランスパイルは別のツール(esbuild / swc)が担当
影響を受けないツール
以下は引き続き問題なく使用できます:
- ESLint(@typescript-eslint)
- Prettier
- Jest(ts-jest)
- Storybook
Reactプロジェクトでの実例
Before(TypeScript 5.7)
# 開発サーバー起動
$ npm run dev
# 型チェック: 12秒待ち...
# ファイル保存時
$ # コンポーネント修正
# リビルド: 3-4秒待ち...
After(TypeScript 7.0 予想)
# 開発サーバー起動
$ npm run dev
# 型チェック: 2秒で完了
# ファイル保存時
$ # コンポーネント修正
# リビルド: 0.5-1秒で完了(ほぼ即座)
よくある質問
Q: 既存のコードを書き換える必要は?
A: ありません。TypeScript言語仕様は変わらないため、.tsファイルの修正は不要です。tsconfig.jsonの一部設定のみ要確認。
Q: Node.jsは不要になる?
A: いいえ。tscコマンド自体はNode.js不要で動きますが、開発サーバー(Next.js / Vite等)は引き続きNode.jsで動作します。
Q: パッケージサイズは増える?
A: いいえ。tsgoはネイティブバイナリですが、npm installでは従来通りダウンロードされます。プロジェクトのnode_modules全体のサイズはほぼ変わりません。
Q: いつから使える?
A: 2026年初頭を目標にリリース予定ですが、具体的な日程は未定です。ベータ版は既にGitHub
で公開されており、npm で @typescript/native-preview としてインストールできます。
まとめ
TypeScript 7.0の主な変化:
速度向上(実プロジェクトでの実測):
- VS Code: 10.2倍高速化
- TypeORM: 9.9倍高速化
- Sentry: 8.2倍高速化
- Playwright: 7.5倍高速化
TypeScript 6.0の役割:
- 5.9から7.0への「橋渡し」リリース
- JavaScript実装の最終版(6.1以降はリリースなし)
- 6.0と7.0の併用が可能(エディタ:6.0、ビルド:7.0)
移行の注意点:
- tsconfig.jsonの一部設定削除(target: es5, baseUrl, moduleResolution: node等)
--strictがデフォルトで有効化- ts-nodeは代替ツール(tsx)への移行推奨
- CI/CDでの動作確認を事前に実施
今すべきこと:
- tsconfig.jsonで
target,baseUrl,outFile,moduleResolutionを確認 - 該当する設定があれば移行パスを検討
- ベータ版(
@typescript/native-preview)で事前検証 - 2026年初頭のリリースを待つ
大規模なReact/Next.jsプロジェクトで開発している方は、ビルド時間の劇的な短縮で開発体験が大きく改善されます。今のうちに移行準備を進めておくことをお勧めします。