1 ポイント 投稿者 doscm164 3 시간 전 | まだコメントはありません。 | WhatsAppで共有

昨日、TypeScript 7 が正式リリースされました。Go で書き直されたネイティブコンパイラ(tsgo)により約10倍高速化しましたが、TS5/6 で deprecated だったコンパイラオプションがすべて削除され、strict のデフォルト値も true に変わったため、古い tsconfig を持つプロジェクトはそのままではアップグレードできません。

その機械的な部分を自動化する codemod を作りました。

npx ts6to7 --dry # プレビュー(何も書き込みません)
npx ts6to7 # 適用

やること:

  • tsconfig*.json をその場で修正 — jsonc-parser で編集するため、コメントとフォーマットはそのまま維持されます
  • 削除されたオプションを TS7 の同等設定に変換: target: es5 → ES2015、module: umd/amd → ESNext、moduleResolution: node → NodeNext/Bundler、importsNotUsedAsValues → verbatimModuleSyntax など
  • baseUrl は paths に折りたたみ
  • typescript 依存関係を ^7.0.0 にバンプ
  • strict が未設定だった場合は false に固定 — extends で別の config を継承するファイルは変更せず、警告のみ出します(ベース config がすでに strict を設定している可能性があるためです)
  • 安全に自動変換できないもの(ES5 専用ランタイム、ts-node/ts-jest のような旧コンパイラ API ベースのツール、types 配列の欠落など)は、ファイル単位でスコープされた「手動確認が必要」チェックリストとして出力

TypeScript 5 からでも直接移行可能: 6 を経由する必要はありません。TS5 時代のオプションである ignoreDeprecations や、プロジェクト参照の prepend もあわせて整理します。

モノレポにも対応しています(すべてのパッケージをスキャン)。

現在は 0.2.0 です。tsconfig が誤って変換されるケースがあれば、その tsconfig を添付した issue で知らせてもらえると大変助かります。

まだコメントはありません。

まだコメントはありません。