IT-Q

tsc の型チェックに数分かかるようになりました。何から手を付けますか。

まず --extendedDiagnostics で、読み込んだファイル数や型チェックの時間を測ります。多い原因は、読み込むファイルが多すぎることと、非常に複雑な型の計算です。

面接官が見ているのは当てずっぽうにせず、計測してから手を打てるか。

よくある答えと、面談でどう見られるか

  • まず --extendedDiagnostics などで、どこに時間がかかっているかを測る
    その通りです。読み込むファイルの数なのか、型の計算なのかで打ち手が違います。
  • skipLibCheck を有効にする
    効くことは多いですが、測らずに入れると、本当の原因が別にあっても気づきません。代償もあります。
  • 型チェックをやめて、ビルドだけにする
    速くはなりますが、型の誤りを見つける手段を失います。
  • 複雑な型を全部 any に置き換える
    速くなる保証は無く、検査は確実に失われます。

模範解答

まず、どこに時間がかかっているかを測ります。--extendedDiagnostics を付けて実行すると、読み込んだファイルの数や、型チェックにかかった時間などが出ます。より詳しく見るなら --generateTrace で記録を取れます。

原因として多いのは、読み込むファイルが多すぎることです。@types を全部読んでいる(TypeScript 6.0 より前の既定)、対象外のディレクトリまで include している、などです。ほかには、非常に複雑な型の計算に時間を取られている場合があります。

測ってから、types の指定、include の見直し、skipLibCheck、プロジェクトを分割する project references などを選びます。TypeScript 7.0 は Go で書き直され、フルビルドで通常 8〜12 倍速くなるとされていますが、上げられるかは周辺の道具の対応次第です。

対象: TypeScript 5.x〜7.0 照合した一次資料: 公式ドキュメント 照合: 2026-10-25 最終更新: 2026-10-25
お使いの版で挙動が違う場合があります。誤りに気づいたらこの解説を報告するから教えてください。

ここからどう深掘りされるか

この問いに答えられた場合、面談は次の質問に進みます。