Facebook officialise Yarn, un client npm open source qui se veut rapide
Un outil déjà utilisé en production
Le 13 octobre 2016 à 09h20
3 min
Logiciel
Logiciel
Facebook a lancé un nouveau produit à destination des développeurs, Yarn. Il s’agit d’un client open source npm alternatif pour JavaScript. L’éditeur promet notamment un temps d’installation nettement plus court.
La société de Mark Zuckerberg a pour habitude de développer de nombreux outils pour ses propres besoins. Certains sont proposés en libre accès par la suite, voire en open source. C’est le cas de Yarn, qui dispose pour le coup d’un dépôt GitHub dédié.
La même chose, en plus rapide
Concurrent du client npm officiel, Yarn est bien sûr compatible avec ce type de paquets, le but étant de faire la même chose, mais plus rapidement. Selon Facebook, le gain peut être très important : là où l’installation classique d’un paquet npm prendrait plusieurs minutes, Yarn peut le réaliser en quelques secondes. Tout dépend en fait de la taille du paquet. L’approche retenue pour l’installation diffère, Facebook expliquant que sa solution se base sur les lockfiles et un algorithme déterministe. La procédure d’installation maintient la même structure répertoires node_modules, gardant intactes les dépendances.
En pratique, chaque paquet téléchargé est automatiquement mis en cache. Les opérations sont parallélisées autant que possible et l’ensemble du processus se veut également plus fiable. Si un paquet a déjà été récupéré au moins une fois, il pourra être réinstallé autant que nécessaire, Yarn n’ayant plus besoin de connexion après la mise en cache. Les flux npm et bower sont tous deux gérés, de même que les registres mélangés.
À l'aise avec les paquets publics, moins avec les privés
Facebook indique utiliser Yarn en production pour ses propres besoins. Il n’est donc pas étonnant que l’outil soit accompagné de fonctionnalités permettant de réaliser des installations plus ou moins précises. Il est par exemple possible de restreindre les licences des modules installées, ou d’exporter les informations sur ces licences. Une API est exposée publiquement et son utilisation doit être assez simple pour que les autres outils puissent s’en servir.
Point intéressant, l’équipe de développement de npm a souhaité la bienvenue à Yarn, en tant que nouvel arrivant dans la cour des clients npm open source. Elle souligne cependant un détail important : Yarn « fonctionne apparemment très bien avec les paquets publics », mais pas avec les paquets privés. Facebook a été averti, l’éditeur travaillant sur un correctif.
Disponible sur tous les systèmes
L’installation de Yarn peut se faire de différentes manières, selon le système que l’on utilise. Pour Windows, le site officiel met à disposition un fichier MSI, sur lequel il suffira donc de double-cliquer après téléchargement. Un paquet Chocolatey sera prochainement ajouté. Sous macOS et Linux, la récupération pourra se faire via une ligne dans le terminal. Il suffit de se rendre sur la page liée aux installations pour copier/coller les commandes.
Facebook officialise Yarn, un client npm open source qui se veut rapide
-
La même chose, en plus rapide
-
À l'aise avec les paquets publics, moins avec les privés
-
Disponible sur tous les systèmes
Commentaires (36)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 14/10/2016 à 13h56
Le 14/10/2016 à 14h43
" />
" />
Je sais que Google existe, mais (note pour les rédacteurs de NXI) c’est toujours mieux d’ajouter un mot rapide dans l’article, voire un lien vers un article intéressant sur le sujet :) .
Le 13/10/2016 à 12h58
Le 13/10/2016 à 12h58
Le 13/10/2016 à 13h06
Le 13/10/2016 à 13h25
Le 13/10/2016 à 13h30
Blague à part, sans demander la cathédrale, je ne vois pas un bazar non plus.
Je vois un gros bordel, rempli de projets qui ne dépassent que rarement le statut d’alpha, des forks à tout va bien trop souvent injustifiés, et rien de bien sérieux pour qui travaille sur autre chose que du site web jetable.
Le 13/10/2016 à 13h54
Tu peux toujours revenir à la base aussi hein. A coup de GIT, (vanilla) JS, Css et HTML.
Tu veux du support long et sûr sur un framework ? Va sur du payant/proprio comme ext-js.
Et là on ne parle que de frontend, parce qu’en backend des projets solides (libre et gratuit) il y en a pas mal…
Le 13/10/2016 à 14h40
Perso on a lâché bower pour ne plus utiliser que npm. Ils se font très rare les paquets dispo seulement sur bower et au pire on peut pointer sur git ou les publier sur notre repo npm privé.
Le 13/10/2016 à 14h46
Le 13/10/2016 à 14h53
Bah non. le “standard’ ici étant la distribution / gestion de modules nodes, et que les deux outils sont entièrement compatible avec ce standard… je ne vois pas le problème.
Il n’y a pas de redéfinition du standard. C’est juste un outil.
C’est un peu comme s’il n’y avait qu’une seule marque de smartphone et que vous sortiez ce xkcd alors qu’ils utiliseraient tous les deux les normes standards en cours….
Le 13/10/2016 à 15h11
Il n’y a que moi qui ne sait pas ce qu’est NPM ? Et pourtant je suis un lecteur assidu de NXI…
" />
Le 13/10/2016 à 15h19
Le 13/10/2016 à 15h38
Le 13/10/2016 à 17h18
Non il n’a pas raison sur l’esprit (enfin dans ce contexte ci).
Ici on a un outil qui a des problèmes à gérer de gros projets : ils en ont développé un plus performant. le “standard” ici ne change pas, ils n’en ont pas créé de nouveau. Que les gens utilisent npm ou yarn, c’est comme choisir une marque de marteau pour enfoncer un clou… Bref, on a un outil de plus, qui fonctionne avec les standards et projets actuels. Bien.
Le xkcd : on a 14 standards, on veut en faire un 15eme pour ne plus en avoir qu’un seul utilisé -> 15 standards utilisés. Donc en gros avoir une 15eme génération de clou non compatible avec les anciens marteaux.
Situation bien différente.
Le 13/10/2016 à 17h21
Bof, c’est vrai qu’il y a profusion de framework plus ou moins suivi. Mais tout de même : node (et les outils autour) sont relativement stables maintenant. Angular, React, bootstrap (je mélange tout " />) et même Jquery (" />) ont un support (et une communauté) assez importante pour pouvoir se permettre de les exploiter de façon pro.
Je pense aussi que maintenant que le HTML5 est arrivé, que ES6 est finalisé etc, les frameworks vont pouvoir se stabiliser pour quelques années.
Le 14/10/2016 à 04h01
Le 14/10/2016 à 08h43
Sauf qu’il n’y a rien de mal à créer des outils interopérables.
Le 13/10/2016 à 09h27
Si ça pouvait aussi donner un moyen simple de partager un paquet sur plusieurs projet sans passer par un abonnement npm ça serait cool aussi, parce que j’ai pas l’impression que les mecs de chez npm fassent beaucoup d’effort là-dessus. :(
Le 13/10/2016 à 09h43
Très très cool, mais encore loin d’être prêt pour la production, j’ai rencontré pas mal de bugs personnellement
Le 13/10/2016 à 09h51
Quel nom mal choisi ! YARN c’est le moteur d’exécution de Hadoop.
Le 13/10/2016 à 09h56
Tu peux préciser dans ton package json des dép qui sont installées via un répo git. Du coup, c’est déjà disponible depuis pas mal de temps
Le 13/10/2016 à 09h58
https://xkcd.com/927/
Le 13/10/2016 à 09h59
Ah noter que Yarn n’a pas éte développé uniquement par Facebook, mais aussi par Google, Exponent et Tilde.
Le 13/10/2016 à 10h01
Perdu " />
Ici on garde le même principe que le npm, c’est juste un outil supplémentaire…
Le 13/10/2016 à 10h01
Le 13/10/2016 à 10h29
Vivement un 16ème gestionnaire de paquet, un 36ème système de build, un 42ème pré/post processeur CSS et un 158ème langage à transpiler.
Y’a à pas dire, le développement web en 2016 ça vend du rêve " />
Le 13/10/2016 à 10h34
Le 13/10/2016 à 10h37
J’étais passé à côté de ça, merci!
Le 13/10/2016 à 10h58
Le 13/10/2016 à 10h59
Dans ma boite nous utilisons principalement npm et bower, du coup si on peut avoir un seul gestionnaire de packet au lieu de deux, je suis preneur :)
Le 13/10/2016 à 11h22
Le 13/10/2016 à 11h34
Le 13/10/2016 à 11h43
C’est aussi poussé par Google si je dis pas de bêtise.
Le 13/10/2016 à 11h55
jspm?
Le 13/10/2016 à 12h09
Je ne m’attendais surement pas à des trolls de si bas-étage, je dois te l’avouer ;)