恥ずかしげに引き上げる#
デフォルトでは、pnpm
は半厳格な node_modules
構造を作成します。これは、依存関係が宣言されていない依存関係にアクセスできることを意味しますが、node_modules
の外部のモジュールにはアクセスできません。このレイアウトでは、ほとんどのエコシステム内のパッケージは正常に動作します。ただし、特定のツールが依存関係を node_modules
のルートディレクトリに引き上げる必要がある場合、このオプションを true
に設定してこれらの依存関係を引き上げることができます。
要するに、現在モジュール A があり、モジュール A がモジュール B に依存している場合、プロジェクトの package.json
でモジュール A に依存していると、モジュール A はモジュール B に正常にアクセスできますが、プロジェクト内ではモジュール B にアクセスできません。shamefully-hoist=true
に設定すると、モジュール B が引き上げられ、プロジェクト内でアクセスできるようになります。
デフォルトでは、pnpm
は node_modules
内で package.json
で指定された依存関係のみを公開し、npm
のように依存関係の依存関係を公開しません。
.npmrc
shamefully-hoist=true
hoist-pottern#
hoist-pattern[]=*eslint*
hoist-pattern[]=*babel*
特定の依存関係を node_modules/.pnpm/node_modules
に引き上げて外部から参照できなくします
public-hoist-pattern#
public-hoist-pattern[]=['*eslint*', '*prettier*']
依存関係をルートディレクトリの node_modules
に配置し、ルートディレクトリから参照できるようにします