Npm, c'est le système de paquet le plus merdique que j'ai jamais vu. Il permet d'installer la même lib dans N versions. Tu te retrouves alors une appli avec du code quasi-dupliqué N fois, à cause des dépendances qui n'utilisent pas la même version de lib que les autres dépendances.
J'ai installé une appli Web servie par nodejs (Strider-cd), assez conséquente, certes, utilisant beaucoup de paquet différents. Voici quelques statistiques :
il y a 670 paquets différents (bon, pourquoi pas...)
à cela faut ajouter 254 paquets supplémentaires qui sont des versions alternatives de certains des 670 paquets. C'est 254 paquets de trop. mon script n'a pas calculé la taille de chaque paquet, mais nulle doute que ça fait un énorme gachi en terme de ressources mémoire, disque, et processeur (lors de l'analyse du code par l'interpreteur JS)
Pour certains paquets, ils sont présents en 5, 6 ou 7 versions !
au total donc, 924 paquets auront été téléchargé et chargé en mémoire. (une demi heure pour télécharger tout ça from scratch, sur un serveur ayant 100 Mbs de bande passante...).
Bref, NPM est un système de paquets qui favorisent le bloatware et le gachi de ressources. Faut pas s'étonner après de toutes ces applis Web ou Electron qui réclament des mégas..
[^] # Re: C'était mieux avant
Posté par Laurent J (site web personnel, Mastodon) . En réponse au journal Un développeur qui dénonce. Évalué à 10.
Npm, c'est le système de paquet le plus merdique que j'ai jamais vu. Il permet d'installer la même lib dans N versions. Tu te retrouves alors une appli avec du code quasi-dupliqué N fois, à cause des dépendances qui n'utilisent pas la même version de lib que les autres dépendances.
J'ai installé une appli Web servie par nodejs (Strider-cd), assez conséquente, certes, utilisant beaucoup de paquet différents. Voici quelques statistiques :
Bref, NPM est un système de paquets qui favorisent le bloatware et le gachi de ressources. Faut pas s'étonner après de toutes ces applis Web ou Electron qui réclament des mégas..