NPM ajoute des espaces de travail pour gérer plusieurs packages

NPM 7.0.0, une mise à niveau du gestionnaire de packages JavaScript, devrait être publié avec Node.js 15 cette semaine, mis en évidence par Workspaces.

Les espaces de travail sont une fonctionnalité demandée depuis longtemps qui donne à NPM un ensemble de fonctionnalités pour gérer plusieurs packages à partir d'un package racine unique de niveau supérieur. Conduire l'ajout de cette capacité est un désir de gérer plusieurs packages qui peuvent ou non être utilisés ensemble.

Toujours dans la version 7.0.0, NPM installe automatiquement les dépendances homologues. Auparavant, les développeurs devaient les gérer eux-mêmes. Un nouvel algorithme de dépendance d'homologue garantit qu'une dépendance d'homologue correspondant valablement est trouvée à ou au-dessus de l'emplacement dépendant de l'homologue dans l'arborescence node_modules. Notez que l'installation automatique de dépendances homologues peut potentiellement interrompre certains flux de travail.

Les autres nouvelles fonctionnalités de NPM v7.0.0 incluent:

  • Un nouveau format de verrouillage de package permettra des builds reproductibles de manière déterministe et contient ce dont NPM a besoin pour construire l'arborescence des packages. L'interface de ligne de commande NPM peut désormais utiliser yarn.lock comme source de métadonnées de package et de conseils de résolution.
  • Une refactorisation des internes du NMP, avec un accent sur la séparation des préoccupations. Les modifications internes visent à garantir que la base de code NPM est plus fiable dans le temps et plus facile à maintenir. Avec ce refactoring, l'inspection et la gestion de l'arborescence node_modules a été déplacée vers le module Arborist, par exemple. La refactorisation devrait permettre des livraisons plus rapides des mises à jour NPM.
  • Lors d'un changement radical, la sortie de npm audita considérablement changé à la fois dans les --jsonstyles de lecture humaine et de sortie.

Pour essayer NPM v7.0.0 maintenant, les développeurs peuvent l'installer en l'exécutant npm i -g [email protected]dans leur terminal. Afin de ne pas interrompre les flux de travail NPM, NPM v7.0.0 sera déployé au fil du temps. Il ne sera pas marqué comme latest. Les flux de travail n'obtiendront pas NPM v7.0.0 par défaut, sauf si un utilisateur opte pour l'exécution npm install -g [email protected]ou l'installation de Node.js 15.