lanzamiento del gestor de paquetes , incluido en la distribución de Node.js y utilizado para la distribución de módulos en JavaScript. El repositorio de NPM gestiona más de 1.3 millones de paquetes, utilizados por aproximadamente 12 millones de desarrolladores. Se registran alrededor de 75 mil millones de descargas al mes. NPM 7.0 fue la primera versión significativa desarrollada después de NPM Inc por la compañía GitHub. La nueva versión se incluirá en la distribución de la próxima versión de la plataforma , que se espera para el 20 de octubre. Para instalar NPM 7.0 sin esperar a la nueva versión de Node.js, se puede ejecutar el comando «npm i -g npm@7».
:
- Áreas de trabajo (), que permiten agregar en un solo paquete las dependencias de varios paquetes para su instalación en un solo paso.
- Instalación automática (utilizadas en plugins para definir los paquetes básicos para los que está diseñado el paquete actual, incluso si no se utiliza directamente en él). Las dependencias peer se indican en el archivo package.json en la sección «peerDependencies». Anteriormente, tales dependencias eran instaladas manualmente por los desarrolladores, pero en NPM 7.0 se implementó un algoritmo que garantiza que una dependencia peer correctamente definida se encuentre en el mismo nivel o superior que el paquete dependiente en el árbol de node_modules.
- La segunda versión del formato de bloqueos (package-lock v2) y soporte para el archivo de bloqueo yarn.lock. El nuevo formato permite implementar compilaciones repetibles e incluye todo lo necesario para una compilación completa del árbol de paquetes. NPM ahora también puede usar archivos yarn.lock como fuente de metadatos del paquete e información de bloqueos.
- Se ha realizado una importante reestructuración de los componentes internos, enfocada en separar funcionalidades para simplificar su mantenimiento y aumentar la fiabilidad. Por ejemplo, el código para inspeccionar y gestionar el árbol de node_modules se ha trasladado a un módulo separado .
- Se ha llevado a cabo la transición al uso del campo package.exports, que hace imposible la inclusión de módulos internos a través de la llamada require().
- El paquete , que ahora utiliza el comando «npm exec» para ejecutar archivos ejecutables desde paquetes.
- La salida del comando «npm audit» ha cambiado significativamente, tanto en el formato legible como en la selección del modo «—json».
Fuente: opennet.ru
