Vercel Doctor

Dead Code

コードベース内の未使用ファイル、エクスポート、型を検出するルール。

Dead code検出はKnipで動作しています。未使用コードはバンドルを肥大化させ、コールドスタートを遅くし、デプロイサイズを増やします。これらはすべてVercelのコスト上昇につながります。

--no-dead-code または設定ファイルの "deadCode": false で、dead code検出を完全に無効化できます。

knip/files

Warning · knip/files

プロジェクト内のいずれのファイルからもインポートされていないファイルを検出します。

Why it matters: 未使用ファイルもデプロイされ、ビルド時にパースされます。モジュールグラフに追加することでコールドスタート時間を増やします。

Fix: ファイルを削除するか、意図的にスタンドアロンの場合は、Knip設定の entry パターンに追加してください。


knip/exports

Warning · knip/exports

どこからもインポートされないエクスポートされたシンボル(関数、変数、クラス)を検出します。

Why it matters: 未使用エクスポートはバンドルに dead code を追加します。特にサーバーサイドコードでは、tree-shakingが必ずしも除去してくれません。

Fix: export キーワードを削除するか、不要なシンボルを削除してください。


knip/types

Warning · knip/types

参照されないエクスポートされたTypeScriptの型とインターフェースを検出します。

Fix: 未使用の型エクスポートを削除してください。


knip/duplicates

Warning · knip/duplicates

複数ファイルから同じシンボルがエクスポートされていることを検出します。

Why it matters: 重複エクスポートは曖昧さを生み、間違ったファイルからインポートしたり、必要な以上のコードを取り込む原因になります。

Fix: 重複を1つのエクスポート元に集約してください。

Edit on GitHub

Last updated on

On this page