rushstack icon indicating copy to clipboard operation
rushstack copied to clipboard

[rush] support pnpm `auto-install-peers`

Open unional opened this issue 2 years ago • 2 comments

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

unional avatar Apr 17 '22 21:04 unional

I need this too.thanks.

openHacking avatar Jun 01 '22 05:06 openHacking

Likewise

bkoplin avatar Jun 18 '22 13:06 bkoplin

Please consider this 🙏

dreamworkers avatar Oct 06 '22 18:10 dreamworkers

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

cweekly avatar Oct 25 '22 18:10 cweekly