Saltar al contenido principal
Version: 8.x

Alias

Los alias te permiten instalar paquetes con nombres personalizados.

Asumamos que tu utilizas lodash en todo tu proyecto. Hay un bug en lodash. Tienes una solución a este bug pero lodash no lo fusiona en su repositorio. Normalmente instalarías lodash con el bug solucionado desde tu fork (como una dependencia hosteada en git) o la publicarías en npm con un nombre diferente. Si usas la segunda opción tendrás que reemplazar todos los require en tu proyecto con el nuevo nombre de la dependencia (require('lodash') => require('awesome-lodash')). Con los alias tienes una tercera opción.

Publica un nuevo paquete llamado awesome-lodash e instálalo usando lodash como su alias:

pnpm add lodash@npm:awesome-lodash

No son necesarios cambios en el código. Todos los requires de lodash se resolverán como awesome-lodash.

A veces querrás usar diferentes versiones de un paquete en tu proyecto. Fácil:

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

Ahora puedes requerir la primera versión de lodash con require('lodash1') y la segunda con require('lodash2').

Eso se vuelve más útil cuando es combinado con los hooks. Tal vez quieras reemplazar lodash con awesome-lodash en todos los paquetes en la carpeta de node_modules. Puedes conseguirlo simplemente con este código en el archivo .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
}
}