npm Nedir?
İngilizce: npm (Node Package Manager)
npm, JavaScript paketlerini kayıt defteri, komut satırı aracı, package.json ve lock dosyalarıyla yöneten Node.js ekosistemidir.
npm Nedir?
npm, JavaScript ekosisteminde paket yayınlama, bağımlılık kurma ve proje script’lerini çalıştırma için kullanılan paket yöneticisi ve kayıt defteridir. Node.js ile birlikte gelir ve frontend, backend, test, build ve otomasyon araçlarının büyük kısmı npm paketleri üzerinden dağıtılır.
Bir proje package.json dosyasında ihtiyaç duyduğu paketleri ve komutları tanımlar. package-lock.json gibi lock dosyaları ise aynı bağımlılık sürümlerinin ekipte ve CI ortamında tekrar kurulmasına yardım eder.
npm Nasıl Kullanılır?
npm install: Bağımlılıkları kurar.npm install <paket>: Yeni paketi projeye ekler.npm run <script>:package.jsoniçindeki script’i çalıştırır.npm publish: Paketi npm registry’ye yayınlar.npm audit: Bilinen güvenlik açıkları için bağımlılıkları kontrol eder.
npm sadece paket indirme aracı değildir; proje yaşam döngüsünün build, test, lint, preview ve deploy komutlarını da standartlaştırır.
İş Dünyasında Kullanımı
Node.js projelerinde npm, ekiplerin aynı araç zincirini kullanmasını sağlar. Vite, TypeScript, ESLint, test framework’leri ve UI kütüphaneleri genellikle npm üzerinden projeye eklenir.
Kurumsal projelerde bağımlılık yönetimi güvenlik meselesidir. Paketlerin kaynağı, lisansı, bakım durumu ve transitive dependency zinciri takip edilmelidir. Özel registry, lock dosyası, düzenli güncelleme ve CI kontrolleri npm kullanımını daha kontrollü hale getirir.
İlgili Terimler
Bun, JavaScript ve TypeScript için çalışma zamanı, paket yöneticisi, test koşucu ve bundler sunan hızlı araç zinciridir.
Bağımlılık YönetimiBağımlılık yönetimi, projedeki paketlerin sürüm, lisans ve güvenlik durumunu izleyip güncellemeyi kontrollü hale getirir.
Node.jsNode.js, V8 üzerinde JavaScript'i sunucuda çalıştıran; olay döngüsü ve asenkron I/O ile yoğun bağlantıları yöneten çalışma zamanıdır.
pnpmpnpm, paketleri tek bir içerik adresli depoda saklayıp projelere bağlayarak JavaScript bağımlılıklarını hızlı ve tutarlı yöneten paket yöneticisidir.
ViteVite, geliştirme sırasında ESM ile hızlı sunucu açan, üretimde Rollup üzerinden optimize bundle üreten frontend aracıdır.