rushstack
rushstack copied to clipboard
[rush] support pnpm `auto-install-peers`
Summary
pnpm
supports auto-install-peers
, which will make it much less painful when installing dependency when strictPeerDependencies
is turned on.
https://github.com/pnpm/pnpm/discussions/3995#discussioncomment-2581128
Repro steps
Currently adding dependencies with peerDependencies
is a manual drill down process:
- install it, see the missing dependency errors
- install the missing dependency, rinse and repeat
Tried adding auto-install-peers=true
to .npmrc
doesn't turn that on when using rust
.
Details
To fix this, either let pnpm
reads .npmrc
or add autoInstallPeers
to pnpmOptions
in rush.json
:
{
"pnpmOptions": {
"autoInstallPeers": true
}
}
Standard questions
Please answer these questions to help us investigate your issue more quickly:
Question | Answer |
---|---|
@microsoft/rush globally installed version? |
5.66.2 |
rushVersion from rush.json? |
5.66.2 |
useWorkspaces from rush.json? |
yes |
Operating system? | Windows |
Would you consider contributing a PR? | No |
Node.js version (node -v )? |
16.14.2 |
pnpm version? | 6.32.8 |
I need this too.thanks.
Likewise
Please consider this 🙏
I like the idea of rush.json pnpmOptions.autoInstallPeers, but as of pnpm v7.1.3, setting "auto-install-peers=true" in the top-level (common/config/rush/) .npmrc
file seems to do the trick:
OS: Win10 Node: v16.18.0 Rush v5.70.0 PNPM v7.13.6
rush.json:
...
"rushVersion": "5.70.0",
"pnpmVersion": "7.13.6",
"pnpmOptions": {
"pnpmStore": "local",
"strictPeerDependencies": true,
"resolutionStrategy": "fast",
"preventManualShrinkwrapChanges": false,
"useWorkspaces": true
},
...
common/config/rush/.npmrc:
...
auto-install-peers=true
...