13/10/2016

Facebook présente Yarn, un gestionnaire de paquets JavaScript

Le réseau social annonce la disponibilité en open source de Yarn « Plus rapide, plus fiable » que npm. Il est aussi utilisable hors-ligne.

Npm n’est pas taillé pour les besoins de Facebook

Depuis l’adoption par la plateforme Node.JS du gestionnaire de paquets npm, Facebook avait utilisé ce dernier dans le cadre des projets de développement JavaScript. Cependant, Facebook explique que le gestionnaire npm posait des problèmes de cohérence et de sécurité et plus généralement de baisse de performance dès que la taille des projets ou des équipes croissait. Malgré les aménagements opérés par la firme, des opérations courantes devenaient particulièrement chronophages ou coûteuses en bande passante.

Un développement en collaboration

Pour résoudre le problème, Facebook est retourné au laboratoire afin de créer un nouveau gestionnaire de paquets, plus robuste, permettant de gérer plus efficacement les dépendances. C’est ainsi que naquit Yarn, issu de la collaboration avec les sociétés Exponent, Google et Tilde. Selon Facebook, Yarn n’apporte aucune nouvelle fonctionnalité, mais se concentre sur la fiabilité et la rapidité : « Avec Yarn, les ingénieurs ont toujours accès au registre npm, mais peuvent installer des paquets plus rapidement et gérer les dépendances de façon cohérente sur les machines ou dans des environnements hors ligne sécurisés ».

TestYarn

Les qualités de Yarn

Yarn est compatible avec les flux npm et Bower, prenant en charge le mélange des registres. Il rend possible la restriction des licences des modules installés en fournissant des informations de licence. Il expose aussi une interface de programmation publique stable avec la journalisation abstraite.

Pour démontrer la supériorité des performances, Facebook a publié les résultats d’un test confrontant Yarn et npm sur le framework React Native. Dans les conditions de tests, Yarn beaucoup plus rapide. Facebook annonce que Yarn est déjà utilisé en production sans problème majeur. La solution est disponible sur Github, diffusée sous licence BSD et les paquets sont téléchargeables sur yarnpkg.com.

Source : Facebook

Actualités