TypeScript 6.0 への移行手順を、公式ツール ts5to6 による自動修正と、設定の非推奨化がもたらす破壊的変更の両面から整理します。移行後も残りやすい注意点と、検証環境で確かめた挙動も添え、新機能の要点も補足しました。
この記事の情報は2026年9月15日時点で再確認したものです。
TypeScript 6.0 は2026年3月23日リリース。その後 TypeScript 7.0 が2026年7月8日にリリースされ、コンパイラは Go 製に切り替わりました。本記事中の「次期 7.0」という記述は、この追記の時点ではすでにリリース済みです。現在の npm 最新版は 7.0.2 です。
この記事が解決する悩み
- TypeScript 6.0に上げたら何が壊れるのか不安
- baseUrlやmoduleResolutionの変更にどう対応すればいいのか分からない
対象読者: TypeScriptでアプリを書いている人
前提知識: TypeScript 5.xのプロジェクトを持っていること
結論
TypeScript 6.0 への移行は、公式の ts5to6 ツールを使えばほぼ自動で完了します。
npx ts5to6 --project tsconfig.json
どうしても時間がない場合は、tsconfig.json に応急処置を施せば今の設定をそのまま維持できます。
{
"compilerOptions": {
"ignoreDeprecations": "6.0"
}
}
ただしこれはあくまで一時的な逃げ道で、TypeScript 7.0 ではこのオプション自体が削除されました。余裕のあるうちに正しく移行しておきましょう。
TypeScript 6.0 とは何か
2026年3月23日、Microsoft は TypeScript 6.0 を正式リリースしました。このバージョンには特別な意味があります。なんと、JavaScript で書かれた最後の TypeScript コンパイラ なんです。
TypeScript 7.0(コードネーム「Corsa」)では、コンパイラが Go 言語で書き直されました。2026年7月8日にリリース済みで、6.0 はその橋渡しとなる、JS コードベースでリリースされた最後のバージョンです。
とはいえ、6.0 自体にも多くの新機能と破壊的変更が含まれています。プロジェクトを最新環境に追従させるためにも、移行は避けて通れません。
新機能ピックアップ
Temporal API の型定義
JavaScript に待望の日時ライブラリ Temporal が ES2025 として標準化され、TypeScript 6.0 ではその型定義が標準で付属します。
const now = Temporal.Now.instant();
const zoned = Temporal.ZonedDateTime.from({
timeZone: "Asia/Tokyo",
instant: now
});
console.log(zoned.toString()); // 2026-09-02T...
もう moment.js や date-fns に頼る必要はありませんね。
RegExp.escape
ユーザー入力を正規表現で扱うとき、エスケープ処理を自前で書く必要がなくなります。
const userInput = "(hello.world)";
const pattern = new RegExp(RegExp.escape(userInput), "g");
// エスケープ済み: \(hello\.world\)
Map.getOrInsert
マップに対する「なければ作って返す」イディオムが1メソッドで書けるようになりました。
const cache = new Map<string, number[]>();
const list = cache.getOrInsert("users", () => []);
list.push(42);
破壊的変更と移行手順
デフォルト設定の変更
6.0 から tsconfig.json のデフォルト値が大幅に変わりました。
strict: trueがデフォルトにtarget: "es2025"がデフォルトにmodule: "esnext"がデフォルトに
すでに strict モードで運用しているプロジェクトなら影響はほとんどありません。古いプロジェクトで "strict": false に依存している場合は、明示的に設定してください。
tsconfig の baseUrl 非推奨化
これまで baseUrl と paths を組み合わせて使っていた相対インポートの設定が非推奨になりました。理由と直し方は「baseUrl が非推奨になった理由と tsconfig の直し方」にまとめています。
moduleResolution の整理
moduleResolution: "node" が非推奨になり、"node16" か "bundler" を使うのが標準です。
baseUrl が非推奨になった理由と tsconfig の直し方
TypeScript 6.0 で baseUrl が非推奨になったのは、パス解決の基準を暗黙に決めてしまう設定だったからです。tsconfig の直し方は、baseUrl を消して paths をフルパスで書き直すだけです。
baseUrl が非推奨になった理由
baseUrl は、相対インポートの解決基準を1つの設定値に委ねる仕組みでした。
基準が設定ファイルとディレクトリ構成の両方に依存すると、rootDir を変えただけで解決先がずれます。6.0 ではその暗黙の基準をやめ、paths に明示的に書く方式へ寄せられました。
tsconfig の直し方(baseUrl を削除する)
移行は2ステップです。まず baseUrl の行を削除し、次に paths の値を解決先そのものに置き換えます。
{
"compilerOptions": {
"baseUrl": "./src",
"paths": {
"@/*": ["./*"]
}
}
}
上の設定は、次のように書き換えます。
{
"compilerOptions": {
"paths": {
"@/*": ["./src/*"]
}
}
}
ポイントは、baseUrl 基準だった ./* が tsconfig からの相対パス ./src/* になることです。解決先が設定ファイルから見た位置で書かれるので、baseUrl はもう要りません。
ビルドエラー TS5101 の直し方
baseUrl を残したまま型チェックを走らせると、次のエラーで止まります。
tsconfig.json(6,5): error TS5101: Option 'baseUrl' is deprecated and will stop functioning in TypeScript 7.0.
TS5101 は ignoreDeprecations を足せば消せますが、消えるのはエラー表示だけです。TypeScript 7.0 では非推奨オプション自体が削除されているので、TS5101 は素直に baseUrl を削って直すのが結局は近道ですね。
実践: 実際の移行手順
ステップ1: npx ts5to6 を実行
npx ts5to6 --project tsconfig.json
このツールが baseUrl の削除と rootDir の調整を自動で行います。
ステップ2: エラーを確認して修正
npx tsc --noEmit
残ったエラーを1つずつ潰していきます。多くのケースでは paths の書き方を調整するだけで済みます。
ステップ3: 応急処置(時間がない場合)
{
"compilerOptions": {
"ignoreDeprecations": "6.0"
}
}
この設定を追加すると非推奨警告が抑制され、既存のコードがそのまま動きます。TypeScript 7.0 ではすべての deprecated オプションが削除されたので、移行は早めに済ませてくださいね。
実測メモ: TS 6.0.2 で baseUrl を残したまま型チェックすると、tsconfig.json(6,5): error TS5101: Option 'baseUrl' is deprecated and will stop functioning in TypeScript 7.0. で止まりました。"ignoreDeprecations": "6.0" を足すとエラーは消えますが、あくまで一時しのぎです。
まとめ
| 項目 | 内容 |
|---|---|
| リリース日 | 2026年3月23日 |
| JS製コンパイラ | 最後のバージョン(7.0 は Go 製で2026年7月8日にリリース済み) |
| 主要新機能 | Temporal, RegExp.escape, Map.getOrInsert, ES2025標準対応 |
| デフォルト変更 | strict: true, target: es2025, module: esnext |
| 非推奨 | baseUrl, moduleResolution: “node” |
| 移行ツール | npx ts5to6 |
TypeScript 6.0 は「橋渡し」のリリースですが、だからといって軽く見るのは危険です。デフォルト設定の変更や baseUrl の非推奨化は、多くのプロジェクトに影響を与えます。
とはいえ、公式の ts5to6 ツールが優秀なので、移行作業そのものは思ったよりあっさり終わりますよ。この機会に TSConfig を見直して、7.0 以降でも通用するクリーンな設定にしておきましょう。
【広告】お名前.com でドメインを取得して、TypeScript プロジェクトを公開しましょう。![]()
検証環境
| OS | Windows 11 (build 10.0.26200) |
|---|---|
| CPU | AMD Ryzen 9 PRO 8945HS w/ Radeon 780M Graphics |
| メモリ | 28GB |
| 言語/ツール | TypeScript 6.0.2(npx経由) / Node.js 22.23.2 |
| 使用コマンド | npx -p typescript@6.0.2 tsc -p tsconfig[.ignore].json |
| 測定日 | 2026-09-17 |
上記の環境で実際に実行して確認した結果です。環境が異なる場合は挙動が変わることがあります。

参考
本文の記述は以下の一次情報を確認して書いています。
- TypeScript 6.0 リリースノート(公式)
- Announcing TypeScript 6.0(Microsoft公式ブログ)
- GitHub – microsoft/TypeScript(公式リポジトリ / Releases)
- ts5to6(移行CLI。公式6.0リリースノートで言及)
あわせて読みたい
- 【TypeScript】TS 7 vs 6.0 型チェック速度を実測比較2026
- 【TypeScript】import defer 完全ガイド — 評価を遅延する新構文
- 【pnpm】ERR_PNPM_IGNORED_BUILDS の直し方 — allowBuilds へ移行
- 【Node.js】ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX の直し方
【広告】このサイトはConoHa WINGで運営しています。安定した高速サーバーで快適にブログを書けています。いつもありがとう!!![]()

コメント