
npm v12 kurulum betiklerini ve Git bağımlılıklarını varsayılan olarak engelleyecek
GitHub, npm v12'de gelecek yıkıcı değişiklikleri açıkladı: bağımlılık kurulum betikleri, Git bağımlılıkları ve uzak URL bağımlılıkları varsayılan olarak kapalı olacak. Sürümün Temmuz 2026'da çıkması bekleniyor ve uyarılar npm 11.16.0 ve sonrasında görünüyor.
npm v12'de ne değişiyor
GitHub, JavaScript paket yöneticisinin bir sonraki ana sürümü olan ve Temmuz 2026'da çıkması beklenen npm v12 ile gelecek yıkıcı değişikliklerin listesini yayımladı. Sürüm, npm install komutunun bugün otomatik gerçekleşen birkaç davranışını geliştiricilerin açıkça izin vermesi gereken adımlara dönüştürüyor. Tüm değişiklikler npm 11.16.0 ve sonrasında uyarı olarak görünüyor, böylece projeler yükseltmeden önce hazırlanabiliyor.
Kurulum betikleri artık izin gerektiriyor
En büyük değişiklik allowScripts ayarının varsayılan olarak kapalı olması. Yükseltmeden sonra npm install, projede açıkça izin verilmediği sürece bağımlılıkların preinstall, install ve postinstall betiklerini çalıştırmayacak. Bu, yerel node-gyp derlemelerini de kapsıyor: binding.gyp dosyası taşıyan ama açık bir install betiği olmayan bir paket yine engelleniyor, çünkü npm onun için örtük olarak node-gyp rebuild çalıştırıyor. Git, dosya ve link bağımlılıklarındaki prepare betikleri de aynı şekilde engelleniyor.
Neyin engelleneceğini görmek için npm approve-scripts --allow-scripts-pending çalıştırılabilir; ardından güvenilen paketler npm approve-scripts ile onaylanır, kalanlar npm deny-scripts ile engellenir. Oluşan izin listesi package.json dosyasına yazılır ve depoya işlenmesi (commit) önerilir.
Git ve uzak bağımlılıklar varsayılan olarak kapalı
İki bayrağın daha varsayılanı değişiyor. --allow-git none oluyor; böylece npm install, açıkça izin verilmediği sürece doğrudan veya dolaylı Git bağımlılıklarını çözmeyecek. GitHub'a göre bu, --ignore-scripts kullanılsa bile bir Git bağımlılığının .npmrc dosyasının Git çalıştırılabilir dosyasını değiştirebildiği kod yürütme yolunu kapatıyor. Değişiklik ilk kez 18 Şubat 2026'da duyuruldu ve npm 11.10.0 ve sonrasında mevcut.
--allow-remote da none olarak varsayılanlaşıyor: HTTPS tar arşivleri gibi uzak URL'lerden gelen bağımlılıklar açık izin olmadan çözülmeyecek. Bu bayrak npm 11.15.0 ve sonrasında mevcut. İlgili --allow-file ve --allow-directory bayrakları v12'de mevcut varsayılanlarını koruyor.
Nasıl hazırlanılır
GitHub'ın önerisi npm 11.16.0 veya üstüne yükseltmek, normal kurulumu çalıştırmak ve uyarıları gözden geçirmek. Ardından npm approve-scripts --allow-scripts-pending ile hangi paketlerde betik olduğu listelenir, güvenilenler onaylanır ve güncellenen package.json depoya işlenir. Yükseltmeden sonra yalnızca onaylanan betikler çalışmaya devam eder; onaylanmayanlar durur. npm approve-scripts, npm deny-scripts ve npx ile global kurulumların kullandığı allow-scripts yapılandırmasına ilişkin belgeler npm dokümantasyon sitesinde, tartışma ise GitHub Community'de yer alıyor.
SiTech — AI destekli web geliştirme
Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.