npm v12 cambiará valores por defecto para reforzar la seguridad en instalaciones

Fuentes: npm v12 will default to blocking install scripts, Git and remote dependencies

El equipo de npm anunció los próximos cambios incompatibles de su versión 12, prevista para julio de 2026, que endurecen la seguridad del comando npm install al convertir en opt-in comportamientos que hoy se ejecutan de forma automática. Los tres ajustes principales son: --allow-scripts pasará a estar desactivado por defecto, de modo que ya no se ejecutarán los scripts preinstall, install y postinstall de las dependencias —incluidas las compilaciones nativas implícitas de node-gyp y los prepare de dependencias Git, file y link— salvo que el proyecto los autorice explícitamente; --allow-git quedará sin permisos por defecto, impidiendo resolver dependencias Git (directas o transitivas) a menos que se habilite con la bandera correspondiente, lo que cierra una vía de ejecución de código ya advertida en febrero; y --allow-remote también quedará en none, bloqueando las dependencias remotas como tarballs HTTPS hasta su aprobación. Los flags --allow-file y --allow-directory no modifican sus valores por defecto. Todas estas medidas ya están disponibles tras advertencias desde npm 11.16.0 (algunas desde 11.10.0 y 11.15.0), lo que permite a los desarrolladores prepararse antes de la migración. La recomendación es actualizar a npm 11.16.0, revisar los avisos durante la instalación, usar npm approve-scripts --allow-scripts-pending para listar paquetes con scripts, aprobar los de confianza con npm approve-scripts y registrar la allowlist resultante en el package.json. Los scripts no aprobados dejarán de ejecutarse al pasar a v12. El equipo invita a enviar comentarios en la discusión comunitaria habilitada en GitHub.