TypeScript 6.0リリース、7.0移行に向けた設定変更に対応可能
TypeScript 6.0が公開された。現行のJavaScriptコードベースでの最終リリースとして位置づけられ、Goで再実装されるTypeScript 7.0への橋渡しとなる構成。6.0では新機能の追加に加えて、7.0移行時の差分を減らすための設定や既定値の見直しが進んでいる。
主要な変更点は次のとおり。
--stableTypeOrderingを追加。6.0と7.0で発生しやすい型順序差分のノイズを抑制可能target/libでes2025を追加。RegExp.escapeなどの型を利用可能Temporalの組み込み型を追加。esnext系の lib で利用可能Map/WeakMapにgetOrInsertとgetOrInsertComputedの型を追加lib.domにdom.iterable/dom.asynciterableの内容を統合#/から始まる subpath imports に対応(moduleResolution: nodenext | bundler)
7.0移行を見据えた破壊的変更と非推奨化も多い。strict の既定値が true になり、module は esnext、types の既定値は空配列、rootDir の既定値は tsconfig.json を含むディレクトリに変更。加えて target: es5、moduleResolution: node、baseUrl など複数オプションが非推奨となり、6.0では ignoreDeprecations: "6.0" で一時的に抑制できる一方、7.0では削除予定。
types 既定値変更の影響で、Node.jsやテストランナーのグローバル型が解決されない場合は tsconfig.json で明示設定が必要。
json
{
"compilerOptions": {
"types": ["node", "jest"]
}
}