| # Disabling pnpm [hoisting](https://pnpm.io/npmrc#hoist) by setting `hoist=false` is recommended on | |
| # projects using rules_js so that pnpm outside of Bazel lays out a node_modules tree similar to what | |
| # rules_js lays out under Bazel (without a hidden node_modules/.pnpm/node_modules) | |
| hoist=false | |
| # Set a custom registry for a scope that is picked up by pnpm when resolving packages; | |
| # This affects the lockfile format and is here to cover this case. | |
| @types:registry=https://registry.yarnpkg.com | |
| # The rules_js linker won't see this public-hoist-pattern[] since hoisting is _not_ encoded | |
| # in the pnpm lockfile. In pnpm it is a linking time consideration when laying out the node_modules | |
| # tree. In rules_js we currently have a `public_hoist_packages` attribute on `npm_translate_lock` | |
| # the emulates this behavior (see example in MODULE). In the future we'll add support to | |
| # parse the .npmrc file so these directives are used to direct hoisting in the rules_js linker as well. | |
| public-hoist-pattern[]=ms |