Ana içeriğe atla
Sürüm: Gelecek

Lakaplar

Lakaplar, paketleri farklı isimler ile yüklemeyi sağlar.

Projede lodash kullandığını varsayalım. lodash'te bir bug var ve çalışmanı etkiliyor. Bu sorunu çözmek için bir fikrin ve çözümün var ancak lodash bu çözümü içeri almıyor. Normal şartlarda bir paket yazıp lodash bağımlılığı ile veya tamamen farklı bir ad ile yayınlayabilirsiniz. Eğer ikinci çözümü seçtiyseniz, paket adını tüm projede değiştirmeniz gerekebilir. (require('lodash') => require('awesome-lodash')) Ama lakaplar ile üçüncü bir seçeneğin de var.

awesome-lodash adında bir paket yayınla ve onu lodash adı ile çağır:

pnpm add lodash@npm:awesome-lodash

Kodda değişikliğe gerek yok, lodash gereken her yerde awesome-lodash şeklinde çağrılabilir.

Bazen projede bir paketin iki farklı versiyonunu kullanmak isteyebilirsin. Kısaca:

pnpm add lodash1@npm:lodash@1
pnpm add lodash2@npm:lodash@2

Şimdi ise, lodash'in ilk versiyonuna(require('lodash1')) ve ikinci versiyonuna(require('lodash2')) ihtiyacın var.

Kancalar ile çok daha güçlü ve kullanışlı hale gelebilir. Eğer lodash içeren tüm paketleri awesome-lodash ile node_modules'da değiştirmek istersen, .pnpmfile.cjs dosyasına gidip şu değişiklikleri yapman gerekiyor:

function readPackage(pkg) {
if (pkg.dependencies && pkg.dependencies.lodash) {
pkg.dependencies.lodash = 'npm:awesome-lodash@^1.0.0'
}
return pkg
}

module.exports = {
hooks: {
readPackage
}
}