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
お使いの版で挙動が違う場合があります。誤りに気づいたらこの解説を報告するから教えてください。
ここからどう深掘りされるか
この問いに答えられた場合、面談は次の質問に進みます。
観点をすべて押さえられた場合
6.0 に上げたら非推奨の警告がたくさん出ました。すぐには直せません。どうしますか。一部しか触れられなかった場合
プロジェクトで使っている TypeScript の版は、どこで確かめますか。触れられなかった場合
プロジェクトで使っている TypeScript の版は、どこで確かめますか。