Brendan Dash

Brendan Dash

pnpm shamefully-hoist 設定

恥ずかしげに引き上げる#

https://pnpm.io/npmrc#shamefully-hoist

デフォルトでは、pnpm は半厳格な node_modules 構造を作成します。これは、依存関係が宣言されていない依存関係にアクセスできることを意味しますが、node_modules の外部のモジュールにはアクセスできません。このレイアウトでは、ほとんどのエコシステム内のパッケージは正常に動作します。ただし、特定のツールが依存関係を node_modules のルートディレクトリに引き上げる必要がある場合、このオプションを true に設定してこれらの依存関係を引き上げることができます。

要するに、現在モジュール A があり、モジュール A がモジュール B に依存している場合、プロジェクトの package.json でモジュール A に依存していると、モジュール A はモジュール B に正常にアクセスできますが、プロジェクト内ではモジュール B にアクセスできません。shamefully-hoist=true に設定すると、モジュール B が引き上げられ、プロジェクト内でアクセスできるようになります。

デフォルトでは、pnpmnode_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 に配置し、ルートディレクトリから参照できるようにします

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。