NPM 7.0 llega con instalación automática de dependencias y mas
Hace poco fue anunciada la liberación de la nueva version del administrador de paquetes NPM 7.0, incluido en la distribución de Node.js y utilizado para distribuir módulos de JavaScript.
Esta nueva version de NPM 7.0 llega con Workspaces(un conjunto de características de la CLI de npm), que brinda soporte para administrar múltiples paquetes, dependiendo de varios paquetes para instalarlos en un solo paso.
¡Feliz lanzamiento el martes! Hoy marca un hito importante para el equipo de CLI de npm: hemos cortado oficialmente npm@7.0.0. Si ha estado siguiendo este último año, o más, ahora que hemos estado trabajando duro para traerle esta versión.
También se presenta la instalación automática de dependencias entre pares (se usa en complementos para determinar los paquetes base para los que el paquete actual está diseñado para funcionar, incluso si no se usa directamente en él).
Ahora se encuentran automáticamente las dependencias de pares adecuadas para los paquetes, ya que anteriormente los desarrolladores tenían que instalarlos manualmente.
Las dependencias entre pares se especifican en el archivo package.json en la sección «peerDependencies». NPM 7.0 implementa un algoritmo para garantizar que se encuentre una dependencia entre pares correctamente definida en el nivel del paquete dependiente o por encima del mismo en el árbol node_modules.
Nuestro enfoque y determinación superaron los últimos 3 meses, ya que recogimos una cadencia de lanzamiento semanal y comenzamos a abordar errores / comentarios durante nuestras ventanas beta / rc.
Como mencioné antes, todavía tenemos mucho margen de mejora, pero creemos que el cli se encuentra en un lugar muy estable hoy y está listo para su uso. npm v7 se enviará con Node.js v15 (un PR para aterrizar este trabajo se abrirá en breve) y esperamos continuar el ritmo de cambio / mejora a medida que nos acercamos a este último trimestre del año.
Por otra parte se presenta la segunda versión del formato de bloqueo (package-lock v2) y soporte para el archivo de bloqueo yarn.lock.
El formato de bloqueo de paquetes se ha revisado para que ahora aparentemente contenga todo lo que npm necesita para crear completamente el árbol de paquetes. Hasta ahora, los archivos yarn.lock aparentemente se han ignorado, desde V7 el cliente npm también puede leer los metadatos del paquete y la información de resolución de ellos.
El nuevo formato permite compilaciones repetibles e incluye todo lo necesario para construir un árbol de paquetes completo.
Además, se menciona que a pesar de la revisión masiva de los componentes internos de npm, el equipo ha trabajado incansablemente para garantizar que haya interrupciones mínimas en la mayoría de los flujos de trabajo.
Se ha llevado a cabo una importante refactorización de componentes internos, con el objetivo de separar la funcionalidad para simplificar el mantenimiento y aumentar la confiabilidad.
Por ejemplo, el código para inspeccionar y administrar el árbol node_modules se ha movido a un módulo Arborist separado.
Se ha realizado la transición al uso del campo package.exports, lo que hace que sea imposible conectar módulos internos a través de la llamada require().
Paquete npx completamente reescrito, que ahora usa el comando «npm exec» para ejecutar ejecutables desde paquetes.
La salida del comando «npm audit» ha cambiado significativamente, tanto cuando se genera en un formato legible como cuando se selecciona el modo «–json».
Descarga
La nueva version ya está disponible para el público en general y se puede realizar la pronta actualización de la version anterior o instalar completamente esta nueva version.
Finalmente es importante saber que el repositorio de NPM sirve a más de 1,3 millones de paquetes, que son utilizados por unos 12 millones de desarrolladores. Se registran alrededor de 75 mil millones de descargas por mes. NPM 7.0 fue el primer lanzamiento significativo formado después de la compra de NPM Inc por GitHub.
La nueva versión se enviará con una versión futura de la plataforma Node.js 15, prevista para el 20 de octubre. Para instalar NPM 7.0 sin esperar una nueva versión de Node.js, se puede realizar ejecutando el comando en tu terminal:
npm i -g npm@7
Si quieres conocer mas al respecto sobre la nueva version liberada, puedes consultar los detalles en el anuncio oficial.