npm v12 ya es GA: npm install pide permiso antes de ejecutar dependencias
npm v12 ya está etiquetado como latest. allowScripts queda desactivado por defecto, mientras --allow-git y --allow-remote pasan a none. Los scripts de ciclo de vida y los builds implícitos de node-gyp requieren aprobación.
Qué cambia
npm v12 ya está etiquetado como latest. allowScripts queda desactivado por defecto, mientras --allow-git y --allow-remote pasan a none. Los scripts de ciclo de vida y los builds implícitos de node-gyp requieren aprobación.
Política explícita
Use npm approve-scripts --allow-scripts-pending para inventariar paquetes, revise su código y procedencia, apruebe solo lo necesario y guarde la política allowScripts en package.json.
Impacto en CI
Pruebe primero addons nativos, dependencias Git, tarballs remotos, workspaces y builds sin caché. Un cache caliente puede ocultar una aprobación que falta.
Publicación segura
Para publicar, migre tokens de larga duración a trusted publishing con OIDC. En paquetes sensibles, npm stage publish añade revisión humana y 2FA antes de hacer pública la versión.
Checklist de npm v12
✓Revisar todos los scripts pendientes.
✓Fijar aprobaciones por versión.
✓Validar instalaciones limpias en CI.
✓Migrar publishing a OIDC o staging.
Fuentes
- GitHub Changelog: npm install-time security and GAT bypass2fa deprecation
- GitHub Changelog: Upcoming breaking changes for npm v12
- npm Docs: npm approve-scripts
- npm Docs: npm deny-scripts
- npm Docs: Staged publishing for npm packages
- npm Docs: Trusted publishing for npm packages
- Reddit r/javascript: Upcoming breaking changes for npm v12