IT-Q

TypeScript を 5.x から 6.0 に上げたら、「process が見つからない」というエラーが大量に出ました。何を疑いますか。

6.0 で tsconfig の types の既定が [] に変わったのが原因です。@types が自動で読まれなくなったので、types に "node" や使っているテストの型を明示します。

面接官が見ているのは🔴 6.0 の既定値の変更(types が既定で空)を知っているか。

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

  • 6.0 で types の既定が空になり、@types/node が自動で読まれなくなった。types に "node" を書く
    その通りです。6.0 で最も多くのプロジェクトに影響する変更の1つです。
  • @types/node が消えたので入れ直す
    入っていても読まれなくなったのが原因です。入れ直しても直りません。tsconfig の types を見ます。
  • 6.0 では Node.js の型に対応しなくなった
    対応しています。既定で自動では読み込まなくなっただけです。
  • 型チェックを止めて(skipLibCheck を有効にして)しのぐ
    skipLibCheck は .d.ts の検査を省くもので、型が見つからない問題は直りません。

模範解答

6.0 で tsconfig の types の既定値が [] に変わったことを疑います。

以前は、node_modules/@types の中にあるパッケージがすべて自動で読み込まれていました。そのため import しなくても、@types/node の process や、テストの describe が使えていました。6.0 からはこれが既定で無効になり、明示的に書いたものだけが読まれます。

直し方は、tsconfig.json の types に "node" や、使っているテストの型を書くことです。公式は、すべての @types を読んでいたせいでビルドが遅くなっていたことを理由に挙げ、types を適切に指定するだけでビルド時間が 20〜50% 縮んだ例があるとしています。

同じ 6.0 では strict が既定で有効になり、rootDir の既定も変わっています。上げたら、まずリリースノートの「既定値の変更」を確認します。

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

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

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