Skip to content

TypeScript strict modeへの移行をClaudeと進める

既存のJavaScriptプロジェクトをTypeScriptのstrict modeへ移行するのは、地味に骨が折れる作業です。エラーが何百件も出てどこから手をつければいいか分からない、という経験はありませんか?Claude Codeを使えば、この移行を段階的かつ安全に進められます。

まず現状のエラー数を把握する

Section titled “まず現状のエラー数を把握する”

いきなり"strict": trueにするのではなく、まず現在地を確認しましょう。Claude Codeに次のように依頼します。

tsconfig.jsonにstrictオプションを追加したときに発生するエラーの一覧を出してください。
ファイルごとのエラー件数も集計してください。

Claudeはターミナルで以下のコマンドを実行し、結果を解析してくれます。

Terminal window
npx tsc --strict --noEmit 2>&1 | grep "error TS" | sed 's/(.*//g' | sort | uniq -c | sort -rn

これでエラーが多いファイルから優先的に対処するリストが作れます。件数が多くて怖く見えても、パターンが限られていることがほとんどです。

ファイル単位で段階的に修正する

Section titled “ファイル単位で段階的に修正する”

一気に全修正しようとすると混乱します。Claude Codeにはファイルを1つずつ渡して修正してもらいましょう。

src/utils/api.ts のstrict modeエラーを修正してください。
anyの使用は最小限にして、適切な型を推論・定義してください。
修正後に変更内容の概要も教えてください。

Claudeは型の文脈を読んでunknownas const、ジェネリクスを使い分けながら修正してくれます。修正ごとにgit commitしておくと、問題が起きたときにすぐ戻せて安心です。

レビューと型定義の整備を依頼する

Section titled “レビューと型定義の整備を依頼する”

修正が一通り終わったら、全体的な型定義の品質レビューをClaudeに任せましょう。

strict化が完了したsrc/配下のファイルをレビューしてください。
anyが残っている箇所、型アサーション(as)の乱用、改善できる型定義があれば指摘してください。

このレビューでanyの残留や過度な型アサーションが見つかることが多いです。Claudeは代替となる型定義も一緒に提案してくれるので、そのままコードに反映できます。

移行完了後は、CIにtsc --noEmitを追加しておくと、今後の変更で型エラーが紛れ込むのを防げます。Claude Codeを使えば、一人で抱え込みがちなTypeScript移行作業が、ずっと取り組みやすくなるはずです。

TypeScript: JavaScriptに型定義を追加した言語。型チェックによりバグを事前に発見しやすくなる。