Alias
Gli alias consentono di installare pacchetti con nomi personalizzati.
Supponiamo che tu usi lodash
in tutto il tuo progetto. C'è un bug in lodash
che rompe il tuo progetto. Hai una soluzione ma lodash
non la unirà. Normalmente dovresti installare lodash
direttamente dal tuo fork (come una dipendenza ospitata da git) o pubblicarlo con un nome diverso. Se usi la seconda soluzione devi sostituire tutti i requisiti nel tuo progetto con il nuovo nome della dipendenza (require('lodash')
=> require('awesome-lodash')
). Con gli alias, hai una terza opzione.
Pubblica un nuovo pacchetto chiamato awesome-lodash
e installalo usando lodash
come il suo alias:
pnpm add lodash@npm:awesome-lodash
Non sono necessarie modifiche al codice. Tutte le richieste di lodash
ora si risolveranno a awesome-lodash
.
A volte vorrai usare due diverse versioni di un pacchetto nel tuo progetto. Facile:
pnpm add lodash1@npm:lodash@1
pnpm add lodash2@npm:lodash@2
Ora puoi richiedere la prima versione di lodash tramite require('lodash1')
e la seconda tramite require('lodash2')
.
Questo diventa ancora più potente se combinato con gli hook. Forse vuoi sostituire lodash
con awesome-lodash
in tutti i pacchetti in node_modules
. Puoi ottenere facilmente questo risultato con il seguente .pnpmfile.cjs
:
function readPackage(pkg) {
if (pkg.dependencies && pkg.dependencies.lodash) {
pkg.dependencies.lodash = 'npm:awesome-lodash@^1.0.0'
}
return pkg
}
module.exports = {
hooks: {
readPackage
}
}