upm nedir?
upm, npm kayıt defterindeki paketleri kuran bir paket yöneticisi. Farkı boyutu: proje sayfasına göre diskte yaklaşık 250 KB, sıkıştırılmış hali 85 KB civarında. Saf JavaScript (TypeScript ile yazılmış), Node.js’in kendi modüllerini kullanıyor ve dışarıdan bağımlılığı yok. Lisansı MIT.
Syntax Weekly’de en başta konuşulan haber buydu: “küçük ve hızlı bir npm”.
Neler yapıyor?
- Mevcut projeyle uyum:
.npmrcayarlarını okuyor;package-lock.json,pnpm-lock.yamlvebun.lockdosyalarını destekliyor. Yani başka bir yöneticiyle kurulmuş projeye geçmek için kilit dosyasını baştan üretmene gerek kalmıyor. - Hız: Proje, kurulum hızının Rust ile yazılmış alternatiflere yakın olduğunu söylüyor. Bu bir üretici beyanı; kendi projende ölçmeden bel bağlama.
- Programlanabilir: Komutlar, JavaScript içinden çağırılabilen fonksiyonlar olarak da kullanılabiliyor.
- Güvenlik varsayılanı: Varsayılan olarak yayınlanmasının üzerinden en az 1 gün geçmemiş sürümleri kurmuyor. Yeni yayınlanan zararlı bir paket sürümüne hemen bulaşmamak için yaygınlaşan bir yöntem.
Sınırlar
Proje henüz kararlı değil, geliştiricileri de kullanmadan önce sınırlamalara bakmanı öneriyor:
- Yalnızca kayıt defteri, workspace ve tarball bağımlılıkları var; Git ya da yerel klasör bağımlılığı yok.
- Workspace’ler tek bir ağaç gibi çalışıyor, tek pakete filtreli kurulum yok.
- Peer bağımlılık desteği sınırlı.
Bu yüzden şimdilik denemek ve merak etmek için güzel; üretimdeki bir projenin ana paket yöneticisi yapmak için erken.
Düşün
- Bir araç için “küçük ve bağımlılıksız olması” senin için ne kadar önemli?
- Yeni yayınlanan sürümleri bir gün bekletmek, hangi riskleri azaltır, hangisini artırır?
Kaynaklar (3, İngilizce)
Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.