# 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 WORKSPACE). 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
