Loupe

Centralisez vos dépendances et faites de la place sur votre disque avec PNPM !

Hello !

Aujourd’hui nous allons parler gestionnaires de paquets et plus précisément de PNPM. Nous allons voir en quoi ce nouveau gestionnaire diffère des alternatives standards à savoir NPM et Yarn.

PNPM à deux objectifs : Vous faire gagner de la place sur votre disque et vous faire gagner du temps en étant plus rapide que les gestionnaires de paquets standards.

Gagner de la place !

C’est la grande force et l’atout principal de PNPM.
Et pour remplir cet objectif, PNPM a une astuce : Vous faire installer une seule fois sur votre disque chaque dépendance que vous utilisez.
Pour réaliser cela, PNPM crée sur votre disque un dossier à lui où seront stockées toutes vos dépendances via du content adressable storage (CAS). Ainsi, lorsque vous aurez besoin d’installer une dépendance pour l’un de vos projet, PNPM l’installera dans son dossier puis créera simplement dans votre projet un lien symbolique vers celui-ci. Si le paquet que vous souhaitez installer est déjà présent, PNPM n’aura rien à retélécharger et créera juste le lien !
Dans le cas spécifique où plusieurs de vos projets utilisent la même dépendance mais avec des versions différentes, et afin de ne pas installer la dépendance dans son intégralité, PNPM regardera quel fichier diffère d’une version à l’autre et ne téléchargera que ceux-ci. PNPM se chargera ensuite de vous fournir la dépendance dans la bonne version et avec les bons fichiers !

Gagner du temps !

Tout ceci a évidemment un impact conséquent sur les temps de téléchargement.
Si la dépendance est déjà présente et sous la bonne version, PNPM ne télécharge rien et n’aura simplement qu’à créer le lien symbolique.
Si la dépendance est déjà présente mais pas sous la bonne version, PNPM ne devra télécharger que les fichiers qui diffèrent et créer le lien symbolique.
Cette différence notable revient à ne télécharger que ce qui est nécessaire et réduit donc considérablement les temps d’installation et de mise à jour.
Mais PNPM affiche également de très bonnes performances quand il s’agit de premières installations de paquets, que ce soit avec un fichier lock ou non, et se retrouve donc dans la majorité des scénarios devant ses concurrents que sont NPM et Yarn.

Afin de démontrer cela, PNPM a sorti un benchmark de leur performances, que vous pouvez retrouver sur leur page Github :

L’installation

Pour pouvoir utiliser PNPM, rien de plus simple :

> npm install -g pnpm

Et voilà c’est tout !

PNPM utilise les mêmes commandes que NPM, donc si vous avez l’habitude d’utiliser NPM, c’est transparent pour vous !
N’oubliez juste pas que l’intérêt de PNPM réside avant tout dans son utilisation sur plusieurs projets afin de profiter de l’installation unitaire des dépendances.

Happy coding !

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus