Tutoriel Vidéo Yarn Yarn, un nouveau gestionnaire de dépendances

Télécharger la vidéo

Yarn est un nouveau gestionnaire de dépendances pour NodeJS qui propose une approche plus rapide et plus sécurisée que le gestionnaire historique npm.

Qu'est ce qui ne va pas avec NPM ?

Avant de commencer à parler d'un nouvel outil il est important de comprendre les limitations de ce qui existe déjà.

Des dépendances non figées

Lors d'un npm install —save les dépendances sont récupérées avec un numéro de version "compatible avec". Par exemple un npm install jquery va ajouter la ligne suivante dans le fichier package.json ^3.1.1 qui indique à NPM de télécharger une version de jQuery >= 3.1.1 et < 4.0.0. Ainsi 2 personnes qui initialise le projet à un moment différent peuvent se retrouver avec des versions différentes et avoir des bugs différents malgré un fichier package.json identique.

Une installation lente

L'autre problème de npm est son extrème lenteur. En effet, à chaque nouveau npm install, il va récupérer les dépendances depuis les dépôts puis les dépendances de ces dépendances et ainsi de suite. Cette résolution en cascade peut rapidement prendre pas mal de temps suivant la taille de votre projet.

Yarn

Créé par Facebook yarn propose de régler ces différents problèmes tout en se reposant (pour le moment) sur l'écosystème déjà construit par npm.

  • Yarn utilise le package.json pour définir les dépendance et les récupère depuis npmjs
  • Lors de la récupération des dépendances un fichier yarn.lock est généré et contient la liste de toutes les dépendances du projet avec leur numéro de version. Ce fichier permet aux autres personnes travaillant sur le projet de récupérer les mêmes dépendances.
  • Un cache global permet de ne pas retélécharger les même dépendances à chaque projet..

Vous pouvez essayer yarn dès maintenant à la place de vos commandes npm habituelles.