Open7

JS dependency analyzeツールの比較

bisquit_devbisquit_dev
bisquit_devbisquit_dev

Next.jsやRemixで使われるファイルベースルーティングの場合、エントリポイントからreferenceされないが、これらはビルトインプラグインによって自動でentryポイントが設定される。
https://github.com/webpro/knip/tree/main/src/plugins/next#default-configuration

プラグインに含まれないライブラリでファイルベースルーティングをしている場合は手動で設定が必要。

e.g.

knip.ts
import type { KnipConfig } from 'knip';

const config: KnipConfig = {
  entry: ['src/index.tsx', 'src/pages/**/*.{ts,tsx}'],
};

export default config;

bisquit_devbisquit_dev

knipで検知させて、念のため全検索でチェックするのが良さそう。

bisquit_devbisquit_dev

最初からモジュール名で全検索すれば良いのでは?と思うかもしれないが、それだとeslintのextendsのようにモジュール名の一部指定のような特別な記法を検知できない。

knipではプラグインによってこれらをカバーしている。