Yarn
Description de l'image Yarn-logo-kitten.svg.

Informations
Développé par Meta PlatformsVoir et modifier les données sur Wikidata
Première version Voir et modifier les données sur Wikidata
Dernière version 4.2.2 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/yarnpkg/berryVoir et modifier les données sur Wikidata
Écrit en JavaScript et TypeScriptVoir et modifier les données sur Wikidata
Système d'exploitation MultiplateformeVoir et modifier les données sur Wikidata
Environnement MultiplateformeVoir et modifier les données sur Wikidata
Type Application-level package manager (d)Voir et modifier les données sur Wikidata
Licence BSD 2-clauses (en)Voir et modifier les données sur Wikidata
Site web yarnpkg.comVoir et modifier les données sur Wikidata

Yarn est l'un des principaux gestionnaires de paquets JavaScript[2],[3], développé en 2016 par Facebook (maintenant Meta) pour l'environnement d'exécution JavaScript Node.js. Une alternative au gestionnaire de packages npm, Yarn a été créé en collaboration avec Facebook, Exponent (maintenant Expo.dev), Google et Tilde (la société derrière Ember.js) pour résoudre les problèmes de cohérence, de sécurité et de performances avec de grandes bases de code[4].

Fonctionnalité

Les utilisateurs peuvent écrire leurs propres plugins pour Yarn.

Contraintes

Les contraintes de Yarn permettent aux utilisateurs d'appliquer des règles pour leurs dépendances ou leurs champs de manifeste dans des espaces de travail délimités.

Cache hors ligne

Les packages téléchargés sont mis en cache et stockés dans un seul fichier.

Plug'n'Play

Plug'n'Play permet aux utilisateurs d'exécuter des projets Node sans dossier node_modules, en définissant la manière ou l'emplacement pour résoudre les fichiers de package de dépendances avec le fichier Plug-n-Play-control. Cette fonctionnalité vise à corriger une architecture node_modules mal structurée et résultant en un temps de démarrage de l'application Node.js plus rapide.

Plugins

Les plugins peuvent ajouter de nouveaux résolveurs, récupérateurs, éditeurs de liens, commandes, et peuvent également s'inscrire à certains événements ou être intégrés les uns aux autres. La plupart des fonctionnalités de Yarn sont implémentées via des plugins, y compris yarn add et yarn install, qui sont également des plugins préinstallés.

Protocoles

Les utilisateurs peuvent définir quel protocole sera utilisé pour résoudre certains packages, par exemple, le protocole git est utilisé pour télécharger un package public à partir d'un référentiel Git, et le protocole patch est utilisé pour créer une copie corrigée du package d'origine.

Flux de travail de publication

Release Workflow met automatiquement à niveau les packages relatifs parmi les espaces de travail monorepos lorsque les packages racine sont mis à niveau.

Espaces de travail

Les espaces de travail permettent à plusieurs projets de travailler ensemble dans le même référentiel et d'appliquer automatiquement les modifications à d'autres parents lorsque le code source est modifié, permettant l'installation de plusieurs packages en une seule passe en exécutant la commande d'installation une seule fois.

Zéro installation

Les zéro-installations résolvent les besoins d'installation de packages quand les packages doivent être installés lorsque les codes viennent d'être récupérés en local.

Comparaison avec npm

Syntaxe

Pour installer Yarn :

npm install -g yarn

Pour installer un paquet avec Yarn[7] :

yarn add nom-du-paquet --dev

NB : dans les premières versions, c'était :

yarn install package-name --save-dev

Voir aussi

Références

  1. « Release 4.2.2 », (consulté le )
  2. « Package management basics », MDN,
  3. « 5 best JavaScript Package Managers », Dunebook.com,
  4. (en-US) « Yarn: A new package manager for JavaScript », Engineering at Meta, (consulté le )
  5. « Package Manager – NPM and Yarn Explained with Examples », Sitepoint,
  6. « How To Install and Use the Yarn Package Manager for Node.js », DigitalOcean,
  7. « Yarn vs npm: Everything You Need to Know », CodeSweetly,