Gestionnaire de packages NPM 7.0 disponible

Publié version du gestionnaire de paquets NMP 7.0, inclus avec Node.js et utilisé pour distribuer des modules en JavaScript. Le référentiel NPM sert plus de 1.3 million de packages, utilisés par environ 12 millions de développeurs. Environ 75 milliards de téléchargements sont enregistrés chaque mois. NPM 7.0 a été la première version importante créée après achat NPM Inc par GitHub. La nouvelle version sera incluse dans la livraison d'une prochaine version de la plateforme Noeud.js 15, qui est attendu le 20 octobre. Pour installer NPM 7.0 sans attendre une nouvelle version de Node.js, vous pouvez exécuter la commande « npm i -g npm@7 ».

Clé les innovations:

  • Espaces de travail (Espaces de travail), vous permettant de regrouper les dépendances de plusieurs packages en un seul package pour les installer en une seule étape.
  • Mise en place automatique dépendances entre pairs (utilisé dans les plugins pour déterminer les packages de base avec lesquels le package actuel est conçu pour fonctionner, même s'il n'y est pas directement utilisé). Les dépendances entre pairs sont spécifiées dans le fichier package.json dans la section « peerDependencies ». Auparavant, ces dépendances étaient installées manuellement par les développeurs, mais NPM 7.0 implémente un algorithme pour garantir qu'une dépendance homologue correctement définie se trouve au même niveau ou au-dessus du package dépendant dans l'arborescence node_modules.
  • La deuxième version du format de verrouillage (package-lock v2) et prise en charge du fichier de verrouillage Yarn.lock. Le nouveau format permet des builds reproductibles et inclut tout le nécessaire pour créer entièrement une arborescence de packages. NPM peut également désormais utiliser les fichiers Yarn.lock comme source de métadonnées de package et d'informations de verrouillage.
  • Une refactorisation importante des composants internes a été réalisée, visant à séparer les fonctionnalités pour simplifier la maintenance et augmenter la fiabilité. Par exemple, le code d'inspection et de gestion de l'arborescence node_modules a été déplacé vers un module distinct Arborist.
  • Nous sommes passés à l'utilisation du champ package.exports, ce qui rend impossible la connexion de modules internes via l'appel require().
  • Le package a été complètement réécrit npx, qui utilise désormais la commande "npm exec" pour exécuter les exécutables des packages.
  • La sortie de la commande "npm audit" a été considérablement modifiée, à la fois lorsqu'elle est sortie dans un format lisible par l'homme et lorsque le mode "--json" est sélectionné.

Source: opennet.ru

Ajouter un commentaire