Package.json Oluşturucu

package.json
Sonraki

npm init çalıştırıp on bir soruyu yanıtlamak yerine, bir formu doldurun ve düzgün, doğru yapılandırılmış bir package.json geri alın. Bu oluşturucu zorunlu alanları (name, version), yaygın kullanılanları (scripts, dependencies, devDependencies, engines) ve bir paketi keşfedilebilir ve yayınlanabilir kılan ince ayrıntıları (repository, bugs, keywords, license) kapsar.

package.json'ınızı nasıl oluşturursunuz

  1. 1

    Ad ve sürümü girin

    Ad npm kurallarına uyar: küçük harf, URL-güvenli, 214 karakterin altında. Sürüm semver'dir (ör. 0.1.0).

  2. 2

    Modül türünü seçin

    CommonJS (varsayılan) veya "type": "module" ile ESM. Node.js 14+ projeleri için önemlidir.

  3. 3

    Betikler ekleyin

    Start, build, test, lint: `npm run <name>` ile çalıştırılan komutlar.

  4. 4

    Bağımlılıkları listeleyin

    Çalışma zamanı paketleri dependencies'te, araçlar devDependencies'te.

  5. 5

    Meta verileri ayarlayın

    Açıklama, yazar, lisans, depo URL'si, anahtar kelimeler.

  6. 6

    Çıktıyı kopyalayın

    Proje kök dizininde yeni bir package.json'a yapıştırın.

En önemli alanlar

Alan Zorunlu mu? Notlar
name Evet Küçük harf, 1-214 karakter, URL-güvenli
version Evet Semver (major.minor.patch)
type Hayır ESM için “module”, CommonJS için atlayın
main Önerilir CommonJS için giriş noktası (index.js)
exports Önerilir İkili CJS/ESM için modern exports haritası
scripts Kesinlikle önerilir npm run <name> komutları
dependencies Gerektikçe Çalışma zamanı paketleri
devDependencies Gerektikçe Derleme araçları, test çalıştırıcıları, linterlar
engines İyi olur Gerekli Node sürüm aralığı
license Yayınlamak için evet MIT, Apache-2.0 gibi SPDX tanımlayıcısı

Semver kopya kâğıdı

  • 1.0.0, major.minor.patch
  • ^1.0.0, 1.x.x ile uyumlu (>=1.0.0, <2.0.0)
  • ~1.0.0, yalnızca yama güncellemeleri (>=1.0.0, <1.1.0)
  • >=1.0.0 <2.0.0, açık aralık
  • 1.0.0-beta.1, ön sürüm
  • latest, npm etiketi, bir sürüm değil

npm install package çalıştırılırken varsayılan ^’dir, bu da bozucu olmayan yükseltmelere izin verir.

Sahip olmaya değer standart betikler

{
  "scripts": {
    "start": "node index.js",
    "dev": "nodemon index.js",
    "build": "tsc",
    "test": "vitest",
    "lint": "eslint .",
    "format": "prettier --write ."
  }
}

Adlandırma tuzakları

  • Büyük harf yok. MyPackage, npm install’da başarısız olur.
  • Boşluk yok. Tire kullanın: my-package.
  • Kapsamlı adlar, GitHub veya npm organizasyonları için @org/ ile başlar: @acme/utils.
  • Ayrılmış kelimeler. node_modules, favicon.ico, core, express paket adı olarak kullanılamaz.

Lisans seçenekleri

Tanınan bir SPDX tanımlayıcısı seçin:

  • MIT, en izin verici yaygın seçim.
  • Apache-2.0, patent verilmesiyle izin verici.
  • ISC, çok kısa MIT benzeri lisans, npm varsayılanı.
  • GPL-3.0-or-later, copyleft.
  • UNLICENSED, özel paket, dağıtım için değil.

Yanlış veya belirsiz lisans dizeleri npm publish’te uyarıları tetikler.

Sık Sorulan Sorular

Dependencies, biri sizinkini kullanan bir projede npm install çalıştırdığında kurulur. devDependencies yalnızca paketin kendi geliştirme ortamında kurulur. Çalışma zamanı paketlerini dependencies’e, test/derleme araçlarını devDependencies’e koyun.

Evet, uygulamalar için. Kilit dosyası kesin sürümleri sabitler ve makineler ile CI arasında tekrarlanabilir kurulumları sağlar. npm’e yayınlanan kütüphane paketleri için kilit dosyası isteğe bağlıdır, kullanıcılar kendi kilit dosyalarını alır.

Yalnızca paketin varsayılan olarak ESM (import/export sözdizimi) olmasını istiyorsanız. Onsuz .js dosyaları CommonJS olarak ele alınır. “type” ne olursa olsun ESM dosyaları için .mjs veya CommonJS dosyaları için .cjs de kullanabilirsiniz.

Kodunuzun test edildiği Node sürümlerini. Bugün tipik bir seçim "engines": {"node": ">=18"}’dir. Bu bir hata değil bir uyarıdır, ancak araçlar buna saygı duyar ve kullanıcılar doğru sabitler.

İlgili Araçlar

Araç diğer dillerde mevcuttur