編集

TypeScript 6.0リリース、7.0移行に向けた設定変更に対応可能

TypeScript 6.0が公開された。現行のJavaScriptコードベースでの最終リリースとして位置づけられ、Goで再実装されるTypeScript 7.0への橋渡しとなる構成。6.0では新機能の追加に加えて、7.0移行時の差分を減らすための設定や既定値の見直しが進んでいる。

主要な変更点は次のとおり。

  • --stableTypeOrdering を追加。6.0と7.0で発生しやすい型順序差分のノイズを抑制可能
  • target / libes2025 を追加。RegExp.escape などの型を利用可能
  • Temporal の組み込み型を追加。esnext 系の lib で利用可能
  • Map / WeakMapgetOrInsertgetOrInsertComputed の型を追加
  • lib.domdom.iterable / dom.asynciterable の内容を統合
  • #/ から始まる subpath imports に対応(moduleResolution: nodenext | bundler

7.0移行を見据えた破壊的変更と非推奨化も多い。strict の既定値が true になり、moduleesnexttypes の既定値は空配列、rootDir の既定値は tsconfig.json を含むディレクトリに変更。加えて target: es5moduleResolution: nodebaseUrl など複数オプションが非推奨となり、6.0では ignoreDeprecations: "6.0" で一時的に抑制できる一方、7.0では削除予定。

types 既定値変更の影響で、Node.jsやテストランナーのグローバル型が解決されない場合は tsconfig.json で明示設定が必要。

json
{
  "compilerOptions": {
    "types": ["node", "jest"]
  }
}

#参考文献

編集