メインコンテンツにスキップ
バージョン: 9.x

エイリアス

エイリアスを使用すると、カスタム名でパッケージをインストールできます。

プロジェクト全体でlodashを使用していると仮定します。lodashにプロジェクトを破損するバグがあります。このバグの修正はありますが、lodashではマージされません。通常はlodashをフォークから直接インストールするか(gitでホストされている依存関係として)、または異なる名前で公開する必要があります。2番目のソリューションを使用する場合、プロジェクト内のすべてのrequireを新しい依存関係名(require('lodash') => require('awesome-lodash'))に置き換える必要があります。エイリアスを使用すると、3番目のオプションが使用できます。

awesome-lodashという新しいパッケージを発行し、lodashをエイリアスとして使用してインストールします

pnpm add lodash@npm:awesome-lodash

コードを変更する必要はありません。lodashのすべてのrequireはawesome-lodashに解決されるようになりました。

プロジェクト内でパッケージの異なる2つのバージョンを使用したい場合もあります。簡単です

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

これで、require('lodash1')を使用して最初のバージョンのlodashをrequireでき、require('lodash2')を使用して2番目のバージョンをrequireできます。

これは、フックと組み合わせるとさらに強力になります。たとえば、node_modules内のすべてのパッケージでlodashawesome-lodashに置き換えることができます。次の.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
}
}