npm v12 GA oldu: npm install artık kod çalıştırmadan önce izin istiyor
npm v12 artık latest etiketiyle sunuluyor. allowScripts varsayılan olarak kapalı; --allow-git ve --allow-remote ise none. Lifecycle script'leri ve örtük node-gyp build'leri açık onay gerektiriyor.
Ne değişti
npm v12 artık latest etiketiyle sunuluyor. allowScripts varsayılan olarak kapalı; --allow-git ve --allow-remote ise none. Lifecycle script'leri ve örtük node-gyp build'leri açık onay gerektiriyor.
Açık politika
npm approve-scripts --allow-scripts-pending ile paketleri listeleyin, kaynaklarını inceleyin ve yalnızca gerekli script'leri onaylayın. allowScripts politikasını package.json içinde commit edin.
CI etkisi
Önce native addon, Git dependency, uzak tarball, workspace ve önbelleksiz cold install senaryolarını test edin. Eski cache eksik onayı gizleyebilir.
Güvenli yayın
Yayın tarafında uzun ömürlü token'ları OIDC trusted publishing ile değiştirin. Kritik paketlerde npm stage publish ve insan 2FA onayı ekleyin.
npm v12 kontrol listesi
✓Pending script'leri denetleyin.
✓Onayları sürüme sabitleyin.
✓CI'da cold install test edin.
✓OIDC veya staging'e geçin.
Kaynaklar
- 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