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
...