2016-02-02 30 views
7

npm dedupe può appiattire la struttura della cartella. Tuttavia, prima di farlo. Spero di vedere un elenco di pacchetti duplicati, in modo da sapere se andare avanti o meno. C'è una tale caratteristica? In caso contrario, esiste una sorta di script che mi aiuta a raggiungere questo obiettivo?Come trovare i pacchetti duplicati in npm?

+0

Yea decrescente. Permettimi di correggere l'errore di battitura. – jackyzhai

+0

Non c'è nessuna caratteristica apparente come quella, a meno che non sia nascosta da qualche parte. –

+0

triste. quindi spero che qualcuno abbia uno script in grep o qualcosa del genere. – jackyzhai

risposta

11

Prova questo:

npm ls --parseable | xargs -L1 sh -c 'basename $1' dummy | sort | uniq -c | grep -v "^ *1 " | sort -rn 

La pipeline è:

  1. pacchetti lista in formato analizzabili
  2. Striscia di ogni percorso fino a solo il nome del pacchetto
  3. nomi Ordina pacchetti in ordine alfabetico per preparare il conteggio dei nomi univoci
  4. Raggruppare e contare nomi di pacchetto univoci
  5. Nascondi pacchetti che non sono duplicati (count = 1)
  6. Ordina di nuovo per numero di occorrenze
+0

questo è fantastico. Intendi xargs -L 1? "-l" restituisce un errore. – jackyzhai

+1

sì -L1 è più compatibile, anche se -l è supportato anche sul mio sistema di test (Ubuntu 12.04), ho modificato la risposta. – mzulch

Problemi correlati