Node.js dağıtımına dahil olan ve JavaScript modüllerini dağıtmak için kullanılan NPM paket yöneticisinin 7.0 sürümünün yeni versiyonu geçtiğimiz günlerde duyuruldu.
NPM 7.0'ın bu yeni sürümü, birden fazla paketi yönetmeyi ve birden fazla pakete bağımlı olarak bunları tek bir adımda yüklemeyi destekleyen Çalışma Alanları (npm CLI'deki bir dizi özellik) ile birlikte geliyor .
Mutlu Salı sürümü! Bugün npm CLI ekibi için önemli bir dönüm noktası: [email protected] sürümünü resmen yayınladık. Eğer bizi geçen yıl veya daha uzun süredir takip ediyorsanız, bu sürümü size sunmak için çok çalıştığımızı biliyorsunuzdur.
Otomatik bağımlılık yükleme özelliği de mevcuttur (bu özellik, eklentilerde mevcut paketin çalışması için tasarlanmış temel paketleri belirlemek için kullanılır, doğrudan kullanılmasa bile).
Daha önce geliştiricilerin bunları manuel olarak yüklemesi gerektiğinden, paketler için uygun eş bağımlılıkları artık otomatik olarak bulunur.
Bağımlı paketler arasındaki ilişkiler, package.json dosyasındaki "peerDependencies" bölümünde belirtilir . NPM 7.0, düzgün tanımlanmış bir bağımlılığın, node_modules ağacındaki bağımlı paketin seviyesinde veya üzerinde bulunmasını sağlamak için bir algoritma uygular.
Odaklanmamız ve kararlılığımız, haftalık bir yayınlama ritmi yakaladığımız ve beta / rc pencerelerimiz sırasında hataları / yorumları ele almaya başladığımız için son 3 ayı aştı.
Daha önce de bahsettiğim gibi, hala iyileştirme için çok yerimiz var, ancak bugünün çok istikrarlı bir yerde olduğunu ve kullanıma hazır olduğunu düşünüyoruz. npm v7, Node.js v15 ile birlikte gönderilecek (bu çalışmanın yapılması için bir PR kısa süre içinde açılacaktır) ve yılın bu son çeyreğine yaklaşırken değişim / iyileştirme hızına devam etmeyi umuyoruz.
Ayrıca, kilit formatının ikinci sürümü (package-lock v2) ve yarn.lock kilit dosyası desteği sunulmuştur.
Paket engelleme formatı, artık görünüşte paket ağacını tam olarak oluşturmak için npm'nin ihtiyaç duyduğu her şeyi içerecek şekilde revize edildi. Npm istemcisi V7'den paket meta verilerini ve onlardan çözünürlük bilgilerini okuyabildiğinden, şu ana kadar iplik.lock dosyaları göz ardı edildi.
Yeni format, tekrarlanabilir derlemelere olanak tanır ve eksiksiz bir paket ağacı oluşturmak için gereken her şeyi içerir.
Ayrıca, npm dahili bileşenlerinin büyük çaplı revizyonuna rağmen, ekibin çoğu iş akışında minimum kesinti olmasını sağlamak için yorulmadan çalıştığı belirtiliyor.
Bakım kolaylığını sağlamak ve güvenilirliği artırmak amacıyla, dahili bileşenlerde büyük bir yeniden yapılandırma çalışması gerçekleştirildi .
Örneğin, node_modules ağacını incelemeye ve yönetmeye yönelik kod, ayrı bir Arborist modülüne taşınmıştır.
Package.exports alanına geçildi, bu da gerekli () çağrısı yoluyla dahili modülleri bağlamayı imkansız kılar.
Tamamen yeniden yazılmış npx paketi, artık paketlerden yürütülebilir dosyaları çalıştırmak için "npm exec" komutunu kullanıyor.
"Npm denetim" komutunun çıktısı, hem insan tarafından okunabilir biçimde oluşturulduğunda hem de "–json" modu seçildiğinde önemli ölçüde değişti.
Boşaltmak
Yeni sürüm artık genel kullanıma sunulmuştur ve önceki sürümü hızla güncelleyebilir veya bu yeni sürümü tamamen yükleyebilirsiniz.
Son olarak, NPM deposunun yaklaşık 1,3 milyon geliştirici tarafından kullanılan 12 milyondan fazla pakete hizmet ettiğini bilmek önemlidir. Ayda yaklaşık 75 milyar indirme kaydedilir. NPM 7.0, NPM Inc'in GitHub tarafından satın alınmasından sonra oluşturulan ilk önemli sürümdü.
Yeni sürüm, 20 Ekim'de yayınlanması planlanan Node.js platformunun 15. sürümüyle birlikte gelecek . Node.js'nin yeni bir sürümünü beklemeden NPM 7.0'ı yüklemek için terminalinizde aşağıdaki komutu çalıştırabilirsiniz:
npm i -g npm@7
Yeni sürüm hakkında daha fazla bilgi edinmek isterseniz , resmi duyurudaki detaylara göz atabilirsiniz.