npm dedupe
フォルダー構造をフラット化できます。ただし、その前に、重複するパッケージのリストを確認して、先に進むかどうかを確認したいと思います。そのような機能はありますか? ない場合は、これを実現するのに役立つスクリプトはありますか?
ベストアンサー1
これを試して:
npm ls --parseable | xargs -L1 sh -c 'basename $1' dummy | sort | uniq -c | grep -v "^ *1 " | sort -rn
ここでのパイプラインは次のとおりです。
- 解析可能な形式でパッケージを一覧表示する
- 各パスをパッケージ名のみに削除する
- 一意の名前をカウントできるようにパッケージ名をアルファベット順に並べ替えます
- 一意のパッケージ名をグループ化してカウントする
- 重複していないパッケージを非表示にする (カウント = 1)
- 出現回数の降順で再度並べ替える