rushstack
                                
                                 rushstack copied to clipboard
                                
                                    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/rushglobally installed version? | 5.66.2 | 
| rushVersionfrom rush.json? | 5.66.2 | 
| useWorkspacesfrom 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
...