npm v12 sudah GA: npm install kini meminta izin sebelum menjalankan kode

Dev

npm v12 kini berstatus latest. allowScripts mati secara default, sedangkan --allow-git dan --allow-remote menjadi none. Lifecycle script dan build node-gyp implisit harus disetujui.

npm v12 sudah GA: npm install kini meminta izin sebelum menjalankan kode
npm v12 memblokir install script, dependency Git, dan URL remote secara default. Panduan migrasi native module, CI, dan publishing.

Apa yang berubah

npm v12 kini berstatus latest. allowScripts mati secara default, sedangkan --allow-git dan --allow-remote menjadi none. Lifecycle script dan build node-gyp implisit harus disetujui.

Kebijakan eksplisit

Jalankan npm approve-scripts --allow-scripts-pending, audit setiap paket, lalu izinkan hanya script yang benar-benar dibutuhkan. Commit kebijakan allowScripts ke package.json.

Dampak pada CI

Fokus uji pada native addon, dependency Git, remote tarball, workspace, dan cold install tanpa cache. Cache lama dapat menyembunyikan approval yang belum ada.

Publishing aman

Untuk publish, pindahkan token jangka panjang ke trusted publishing berbasis OIDC. Paket penting dapat memakai npm stage publish dengan approval 2FA manusia.

Checklist npm v12

Audit semua pending script.

Pin approval ke versi.

Uji cold install di CI.

Migrasi publish ke OIDC atau staging.

Sumber