AccueilActualités informatiqueJavaScript : Yarn 3.1 révise la syntaxe de l'espace de travail

JavaScript : Yarn 3.1 révise la syntaxe de l’espace de travail

La nouvelle version mineure du gestionnaire de paquets JavaScript Yarn est disponible en version 3.1. L’alternative à npm suit le versionnement sémantique et n’a donc aucun changement de rupture. Toutefois, la nouvelle version adapte le SDK pour tenir compte d’un changement de rupture dans Visual Studio Code 1.61 et plus.

Sommaire

Yarn 3.1 révise la syntaxe de l’espace de travail et ajoute workspace:^ et workspace:~ ajouté. Jusqu’à présent, déjà workspace:* était disponible, dont les rangs ont été remplacés au moment de la publication par les rangs correspondants de l’espace de travail cible. Toutefois, si un caractère d’insertion (Caret, ^) était souhaitée au lieu d’une plage exacte, cela n’était possible que sous la forme workspace:^x.y.z que Yarn a mis à jour dans l’ensemble du référentiel après une publication. Les conflits de fusion qui en résultent devraient être réduits par la nouvelle syntaxe. Cela devrait simplifier les références croisées dans monorepos en particulier, où la plupart des paquets sont destinés à être publiés.

Dans un cas particulier, la syntaxe est également disponible dans le fichier peerDependencies-est autorisé :

{
  "peerDependencies": {
    "@my/other-package": "workspace:^"
  }
} 

En outre, le nouveau drapeau --since a été ajouté, qui fait référence à yarn workspaces list et yarn workspaces foreach peut être appliquée. Il en résulte que les commandes ne sont appliquées qu’aux paquets modifiés par rapport à la branche principale ou maître, en fonction des branches existantes. Toutefois, l’équipe de Yarn décrit cette nouvelle option comme étant « encore un peu expérimentale », surtout lorsqu’elle est utilisée en conjonction avec le programme -R,--recursive est utilisé.

La nouvelle version de Yarn embarque Node.js – récemment sorti en version 17 – grâce à l’outil expérimental Corepack. Il est destiné à construire un pont entre Node.js et les gestionnaires de paquets et supporte Yarn et pnp, mais pas npm.

L’utilisation des modules ECMAScript (ESM) à l’aide de l’API Loader Hook, qui n’est pas encore considérée comme stable, est également expérimentale dans Yarn 3.1. Le support ESM doit être automatiquement activé lorsque l’un des paquets de l’arborescence des dépendances a un code "type": "module"-dans l’arbre de dépendance. Elle peut également être activée ou désactivée manuellement dans les paramètres (pnpEnableEsmLoader: true).

Toutes les nouvelles fonctionnalités de Yarn 3.1 peuvent être trouvées dans un post dev.to et dans le changelog sur GitHub.

Plus d'articles