Open7
JS dependency analyzeツールの比較


bunx skott --trackThirdPartyDependencies --showUnusedDependencies
したけどうまく出ない?


bunx knip --dependencies

Next.jsやRemixで使われるファイルベースルーティングの場合、エントリポイントからreferenceされないが、これらはビルトインプラグインによって自動でentryポイントが設定される。
プラグインに含まれないライブラリでファイルベースルーティングをしている場合は手動で設定が必要。
e.g.
knip.ts
import type { KnipConfig } from 'knip';
const config: KnipConfig = {
entry: ['src/index.tsx', 'src/pages/**/*.{ts,tsx}'],
};
export default config;

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

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