409

package.jsonファイルに不要になったパッケージがあるかどうかを判断する方法はありますか?

たとえば、パッケージを試してみて、後でコメントを付けたり、コードを削除したりするときに、アンインストールするのを忘れると、削除できるパッケージがいくつか残ってしまいます。

パッケージを安全に削除できるかどうかを判断する効率的な方法は何ですか?

4

11 に答える 11

534

depcheckという npm モジュールを使用できます(Node のバージョン 10 以降が必要です)。

  1. モジュールをインストールします。

     npm install depcheck -g
    
     or
    
     yarn global add depcheck
    
  2. それを実行して、未使用の依存関係を見つけます。

     depcheck
    

findこのアプローチの良いところは、 orgrepコマンドを覚える必要がないことです。

useをインストールせずに実行するにはnpx:

npx depcheck 
于 2014-12-08T16:24:27.480 に答える
175

というパッケージもありますnpm-check

npm-チェック

古い、正しくない、使用されていない依存関係を確認します。

ここに画像の説明を入力

それは非常に強力で、積極的に開発されています。未使用の依存関係をチェックする機能の1つ-この部分ではdepcheck、他の回答で言及されているモジュールを使用します。

于 2014-12-14T06:53:01.143 に答える
19

未使用の依存関係を確認する

npm install depcheck -g
depcheck

ここに画像の説明を入力

古いライブラリを確認する

npm outdated

ここに画像の説明を入力

于 2021-01-08T06:44:37.597 に答える
6

Unix のような OS (Linux、OSX など) を使用している場合は、 と の組み合わせを使用してfindegrepパッケージ名を含む require ステートメントを検索できます。

find . -path ./node_modules -prune -o -name "*.js" -exec egrep -ni 'name-of-package' {} \;

ステートメント全体を検索する場合require('name-of-package')は、正しいタイプの引用符を使用することを忘れないでください。

find . -path ./node_modules -prune -o -name "*.js" -exec egrep -ni 'require("name-of-package")' {} \;

また

find . -path ./node_modules -prune -o -name "*.js" -exec egrep -ni "require('name-of-package')" {} \;

欠点は、完全に自動化されていないことです。つまり、パッケージ名を抽出しpackage.jsonてチェックしません。これは、パッケージごとに自分で行う必要があります。単なる JSON であるため、依存関係ごとにこのコマンドを実行するためにpackage.json使用する小さなスクリプトを作成することで、これを修正できます。child_process.execそしてそれをモジュールにします。そしてそれをNPMリポジトリに追加します...

于 2014-03-27T09:08:46.650 に答える