npm 5.8.0 passe en @latest, et embarque plusieurs contributions communautaires
En plus d'un important travail sur la nouvelle commande « npm ci »

Le , par Marco46, Modérateur
Poursuivant son cycle bimensuel d'amélioration continue, l'équipe gérant npm a publié en @latest la version 5.8.0 du CLI.

Cette version est désormais la version installée par défaut lors de l'exécution d'un npm i npm.

Elle embarque notamment :

  • plusieurs contributions de la communauté ;
  • un travail important sur la nouvelle commande npm ci destinée à l'utilisation de npm au sein d'une intégration continue ;
  • diverses corrections de bogues ;
  • une mise à jour de la documentation du CLI ;
  • des mises à jour de dépendances.


Contributions communautaires notables

Ajout du package detect-newline du célèbre sindresorhus permettant de ne plus utiliser par défaut le caractère LF (connu aussi sous la forme de \n dans les chaînes de caractères) comme caractère de fin de ligne lors de l'enregistrement des fichiers package.json, package-lock.json et npm-shrinkwrap.json. Cette contribution a pour effet de rendre npm agnostique sur le sujet des fins de lignes.

Support du standard NO_COLOR, pour permettre de désactiver les couleurs ANSI via la présence d'une simple variable d'environnement nommée NO_COLOR permettant d'éviter de configurer chaque CLI indépendamment.

Message d'erreur plus détaillé lorsque npm échoue lors de la lecture des fichiers package-lock.json et npm-shrinkwrap.json au lieu d'un laconique JSON parse error.

Support de l'argument --no-proxy pour le CLI en plus du support de la variable d'environnement NO_PROXY. Cet argument sert à définir une liste d'exclusion des domaines qui ne doivent pas être concernés par la configuration éventuelle d'un proxy via les variables d'environnement HTTP_PROXY et HTTPS_PROXY. Avec cet ajout on peut passer par le CLI plutôt que par une variable d'environnement.

Meilleur support des clefs de variables d'environnement dans le fichier .npmrc. Cf explications détaillées dans les commentaires de la pull request.

Message d'erreur plus détaillé lors des erreurs levées par des problèmes de permissions d'accès (EPERM/EACCES).

Améliorations de npm ci

C'était la principale nouveauté de la version précédente.

Les benchmarks effectués par la communauté montrent des gains de temps d'exécution d'un facteur 2 à 5 rendant cette commande plus rapide que Yarn dans un contexte d'intégration continue.

La version 5.8.0 contient de nouvelles améliorations de performance, quelques corrections et une meilleure gestion de la jauge de progression dans le CLI.

Versions suivantes publiées en @next

Les versions 5.9.0 et 6.0.0 ont été publiées en pre-release. Nous y reviendrons en détail lors de leur passage en @latest.

Sources : Notes de version pour la v5.8.0, Article sur le blog officiel

Et vous ?

Qu’en pensez-vous ?
Avez-vous eu le temps d’installer npm 5.8.0 ?

Voir aussi :

Un incident opérationnel a provoqué la disparition d'une centaine de paquets npm, l'équipe derrière le gestionnaire de paquets de Node.js s'explique
Node.js 8.9.0 LTS est disponible pour une utilisation en production et Node.js 9.0.0 à des fins de tests et d'expérimentation


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :
Contacter le responsable de la rubrique Développement Web