OSS探訪

JavaScript・TypeScriptの未使用ファイル、依存関係、exportを横断して検出する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
12,379
主要言語
TypeScript
ライセンス
ISC
リポジトリ最終更新
2026/09/29
ページ内ナビ

概要

Knipは、JavaScript/TypeScript projectから未使用のファイル、依存関係、exportなどを検出するCLIです。entrypointや各種tool設定を解析して到達可能なcodeをたどり、不要なcodeやdependency、未登録dependencyをreportします。monorepoにも対応し、一部のissueは自動修正できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

未使用ファイル・依存関係・exportをまとめて検出する

projectのsourceと設定を解析し、unused files、dependencies、unlisted dependencies、exportsなど複数種類のissueを一つのreportにまとめます。

出典:[2][5]

pluginと設定から実際のentrypointを推定する

一般的なtoolやframeworkの設定をpluginで解釈し、単純なimport graphだけでは見つけにくいentrypointも解析対象へ含めます。必要に応じてentryなどを設定してproject固有の到達経路を補えます。

出典:[4][5]

向いている用途

大規模refactor前のdead code整理やCIでの継続検査に向く

unused codeやdependencyを一度に可視化したいcleanup作業、monorepoの保守、不要codeが再び増えないようCIへ組み込む運用に向きます。

出典:[2][4]

導入前の確認

reportをそのまま削除指示として扱わない

公式guideは、使われているはずのfileがunusedと出た場合にignoreへ逃がすのではなく、まずentrypointやplugin設定の到達漏れを確認するよう案内しています。削除前に結果の根拠を確認します。

出典:[4]

6.38.0はNode.js 20.19.0以上または22.12.0以上を前提にする

6.38.0 package metadataはNode.js ^20.19.0 || >=22.12.0を要求します。自動修正を使う場合も、--fixで変更対象を限定し、差分を確認してから適用します。

出典:[6][5]

参考にした公式資料

  1. [1]webpro-nl/knip repository(2026-09-30)
  2. [2]Knip README(2026-09-30)
  3. [3]Knip getting started guide(2026-09-30)
  4. [4]Knip first cleanup guide(2026-09-30)
  5. [5]Knip CLI reference(2026-09-30)
  6. [6]Knip 6.38.0 package metadata(2026-09-30)
  7. [7]Knip 6.38.0 release(2026-09-30)
  8. [8]Knip ISC license(2026-09-30)
編集部からの補足

単純なgrepでは見つけにくいtool設定由来のentrypointまで考慮してdead codeを整理できる点が強みです。ただしreportは削除命令ではないため、到達漏れやplugin設定を確認してからcleanupする運用が重要です。

3ステップで試す

  1. 1

    Knip設定を作成

    公式の推奨setupを実行し、projectにKnipと初期設定を追加します。Knip v6はNode.js 20.19.0以上が必要です。

    npm init @knip/config
  2. 2

    少数のissueに絞って初回実行

    最初から全件を直さず、report上位からunused file・dependency・exportの理由を確認します。

    npm run knip -- --max-show-issues 5
  3. 3

    unused exportだけを限定修正

    自動修正対象をunused exportに限定します。実行後はdiffを確認し、到達漏れや設定不足による誤検出がないか確認します。

    npm run knip -- --fix --exports
公式READMEで確認

成長

成長の推移 · 直近30日

12,379 Stars

推移データを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • deadcode
  • dependency-analysis
  • dependency-management
  • javascript
  • lint
  • linter
  • maintenance
  • typescript
  • unused-code
  • unused-exports
Stars
12,379
Forks
506
Watchers
16
Open Issues
18
所有者種別
Organization
主要言語
TypeScript
ライセンス
ISC
リポジトリ最終更新
2026/09/29

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?