Ovviamente c'è almeno uno strumento progettato per comunicare con quel registro, e quello è lo strumento da riga di comando npm
. Ad esempio, il suo search inizia aggiornando una copia cache locale dell'indice, filtrandola. In update-index si può leggere che l'URL che termina con /-/all
è apparentemente speciale. E infatti, aggiungendo che a registry.npmjs.org
(volutamente non formattato come collegamento) verrà recuperato un file 125M che potrebbe essere troppo per il tuo browser. Fortunatamente la versione cache è archiviata disponibile in ~/.npm/registry.npmjs.org/-/all/.cache.json
. Da lì si può leggere un elenco di tutti i pacchetti nown. Si potrebbe quindi continuare a interrogare ciascuno di questi pacchetti in modo più dettagliato.
Il fatto che npm search
non utilizzi apparentemente uno schema più elaborato suggerisce che non ci sia molto di una API sul lato server qui.
Ricerca sul Web per le pagine che menzionano api.npmjs.org
Ho trovato che il download counts può essere recuperato da lì. Tutti gli altri documenti che ho trovato utilizzano questa singola struttura.
Alla ricerca di alternative, ho anche imbattuto in npmsearch.com che offre alcune strutture di ricerca più versatile e ha a somewhat documented API.
https://registry.npmjs.org/-/all solo restituisce '{ "messaggio": "deprecato"}' al giorno d'oggi. Suggerisco di non accettare questa risposta. –