NPM agrega espacios de trabajo para administrar múltiples paquetes

NPM 7.0.0, una actualización del administrador de paquetes de JavaScript, se lanzará con Node.js 15 esta semana, destacada por Workspaces.

Workspaces es una característica solicitada desde hace mucho tiempo que le brinda a NPM un conjunto de características para administrar múltiples paquetes desde un único paquete raíz de nivel superior. Impulsar la adición de esta capacidad es el deseo de administrar múltiples paquetes que pueden o no pueden usarse juntos.

También en la versión 7.0.0, NPM instala automáticamente las dependencias entre pares. Anteriormente, los desarrolladores tenían que gestionarlos por su cuenta. Un nuevo algoritmo de dependencia de pares asegura que se encuentre una dependencia de pares que coincida de manera válida en o por encima de la ubicación dependiente de pares en el árbol node_modules. Tenga en cuenta que la instalación automática de dependencias entre pares podría romper ciertos flujos de trabajo.

Otras capacidades nuevas en NPM v7.0.0 incluyen:

  • Un nuevo formato de bloqueo de paquetes permitirá compilaciones reproducibles de manera determinista y tiene lo que NPM necesita para construir el árbol de paquetes. La CLI de NPM ahora puede usar yarn.lock como fuente de metadatos de paquetes y guía de resolución.
  • Una refactorización de los aspectos internos de la NGP, con énfasis en la separación de preocupaciones. Los cambios internos están destinados a garantizar que la base del código NPM sea más confiable con el tiempo y más fácil de mantener. Con esta refactorización, la inspección y gestión del árbol node_modules se ha trasladado al módulo Arborist, por ejemplo. Se espera que la refactorización resulte en entregas más rápidas de actualizaciones de NPM.
  • En un cambio radical, la salida de npm auditha cambiado significativamente tanto en los --jsonestilos de salida legibles por humanos como en los de salida.

Para probar NPM v7.0.0 ahora, los desarrolladores pueden instalarlo ejecutándolo npm i -g [email protected]en su terminal. En un intento de no romper los flujos de trabajo de NPM, NPM v7.0.0 se implementará con el tiempo. No se marcará como latest. Los flujos de trabajo no obtendrán NPM v7.0.0 de forma predeterminada a menos que un usuario opte por ejecutar npm install -g [email protected]o instalar Node.js 15.