npm Nedir? Nedir?
npm (Node Package Manager), JavaScript ve Node.js ekosisteminin varsayılan paket yöneticisi ve dünyanın en büyük yazılım kayıt defteridir.
npm, 2010 yılında Isaac Z. Schlueter tarafından geliştirilmiş ve Node.js ile birlikte varsayılan paket yöneticisi olarak dağıtılmaktadır. npm registry, 2 milyondan fazla JavaScript paketi barındıran dünyanın en büyük yazılım kayıt defteridir. npm, package.json dosyası aracılığıyla proje bağımlılıklarını, script'leri ve metadata'yı yönetir. Semantik versiyonlama (semver) ile bağımlılık sürümleri kontrol edilir. npm install komutu bağımlılıkları node_modules dizinine indirir ve package-lock.json ile tam sürüm kilidini sağlar. npm CLI, paket kurma/kaldırma, script çalıştırma, paket yayınlama, güvenlik denetimi (npm audit) ve çalışma alanları (workspaces) ile monorepo yönetimi gibi işlevler sunar. npx komutu ile paketleri kurmadan doğrudan çalıştırmak mümkündür. 2020'de GitHub (Microsoft) tarafından satın alınan npm, JavaScript ekosisteminin omurgasıdır. Haftada milyarlarca indirme gerçekleşir. React, Express, lodash, axios gibi popüler paketler npm üzerinden dağıtılır.
Kullanım Alanları
JavaScript paket yönetimi, Proje bağımlılık yönetimi, Script çalıştırma, Paket yayınlama, Monorepo yönetimi (workspaces)
Avantajları
Dünyanın en büyük paket ekosistemi, Node.js ile varsayılan olarak gelir, npx ile kolay paket çalıştırma, Güvenlik denetimi (npm audit), Workspaces desteği
Dezavantajları
node_modules boyutu çok büyüyebilir, Bağımlılık çatışmaları, Güvenlik riskleri (kötü niyetli paketler), Yarn ve pnpm'e göre daha yavaş
İlgili Teknolojiler
Docker Nedir?
Docker, uygulamaları konteynerler içinde paketleyip çalıştırmaya yarayan açık kaynaklı bir platform ve araçtır.
Kubernetes Nedir?
Kubernetes (K8s), konteynerleştirilmiş uygulamaların dağıtımını, ölçeklendirmesini ve yönetimini otomatikleştiren açık kaynaklı bir orkestrasyon platformudur.
Git Nedir?
Git, dağıtık bir versiyon kontrol sistemidir ve yazılım geliştirmede kaynak kod yönetiminin standart aracıdır.
VS Code Nedir?
Visual Studio Code (VS Code), Microsoft tarafından geliştirilen, hafif ama güçlü bir açık kaynak kod editörüdür.