npm v12 ist GA: npm install führt Dependency-Code nur noch mit Erlaubnis aus

Dev

npm v12 ist als latest verfügbar. allowScripts ist standardmäßig deaktiviert; --allow-git und --allow-remote stehen auf none. Damit werden Lifecycle-Skripte, implizite node-gyp-Builds und Nicht-Registry-Quellen zu expliziten Vertrauensentscheidungen.

npm v12 ist GA: npm install führt Dependency-Code nur noch mit Erlaubnis aus
npm v12 blockiert Install-Skripte, Git- und Remote-Abhängigkeiten standardmäßig. So migrieren Teams native Module, CI und Publishing sicher.

Was sich ändert

npm v12 ist als latest verfügbar. allowScripts ist standardmäßig deaktiviert; --allow-git und --allow-remote stehen auf none. Damit werden Lifecycle-Skripte, implizite node-gyp-Builds und Nicht-Registry-Quellen zu expliziten Vertrauensentscheidungen.

Policy statt Bypass

Prüfen Sie mit npm approve-scripts --allow-scripts-pending, welche Pakete Code ausführen wollen. Genehmigen Sie nur nachvollziehbare Pakete, bevorzugt versionsgebunden, und committen Sie die allowScripts-Policy in package.json.

CI-Auswirkungen

Native Add-ons, Git-Abhängigkeiten, Remote-Tarballs, Workspaces und warme Build-Caches sind die wichtigsten Testflächen. Mindestens ein sauberer npm ci-Lauf ohne Cache sollte Teil der Migration sein.

Sicher veröffentlichen

Für das Publishing empfiehlt npm OIDC Trusted Publishing statt langlebiger Write-Tokens. Kritische Pakete können zusätzlich npm stage publish und eine menschliche 2FA-Freigabe nutzen.

npm-v12-Checkliste

Pending Scripts prüfen und Eigentümer festlegen.

Freigaben möglichst an Versionen binden.

Cold Installs für alle unterstützten Plattformen testen.

Publish-Tokens durch OIDC oder Staging ersetzen.

Quellen