created: 2020-08-26T05:08:12.000Z
ts-migrateをつかった
ちょうど ts に移行する雰囲気があったので使ってみた
ts-migrate がやってくれること
主な機能は以下の2つ
$ ts-migrate rename
- js => ts のリネーム
$ ts-migrate migrate
- コンパイルエラーが出る箇所を
any
,@ts-expect-error
で抑制 - もちろん機械的な変換なのでロジックは変更されない
- コンパイルエラーが出る箇所を
ts-migrateを使うと allowJs
をつけてjsとtsを共存させながら徐々に移行するというのをしないで済む。jsファイルを型定義/チェックもなにもないめちゃユルいtsファイルに一括変換できてしまうのがこのツールの便利なところ
コマンド
最低限で使うのならこんなコマンドから機械的に{js=>ts}に変換できてしまう
# jsファイルからtsファイルにrename
$ npx ts-migrate rename .
# コンパイルエラーを抑制
$ npx ts-migrate migrate .
webpackとかjestの設定を直すだけで移行が済んでしまう
tsconfig#{include/exclude}
特定のディレクトリを移行対象から外したい/含めたいというコントロールは tsconfig.json
の include, exclude の項目を ts-migrate が参照してくれるのでそれを使う。 build
とかのディレクトリは exclude しておく。