メインコンテンツまでスキップ
Version: Next

エイリアス

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

プロジェクト全体で lodash を使用していると仮定します。 lodash にあなたのプロジェクトで問題を起こすバグがあります。 あなたは修正をしましたが、まだ lodash にはマージされていません。 通常であれば、 lodash をあなたのフォークから (git-hosted 依存として) インストールするか、他の名前で publish することになります。 2番目の方法を用いる場合は、プロジェクト内のすべての使用箇所を新しい依存で置き換える必要があります。 (require('lodash') => require('awesome-lodash')) 3番目の方法は、エイリアスを使うを使うことです。

新しいパッケージを awesome-lodash という名前で公開して lodash をそのエイリアスとしてインストールする場合、

pnpm add lodash@npm:awesome-lodash

コードを変更する必要はありません。 すべての lodash の使用箇所は awesome-lodash へと解決されるようになります。

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

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

1番目のバージョンは require('lodash1') によって使用でき、2番目のバージョンは require('lodash2') により使用できます。

また、フックと組み合わせることでさらに協力になります。 node_modules 内の lodash をすべて awesome-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
}
}