Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[rush] Feature Request: Support PNPM 9 #4841

Closed
kenrick95 opened this issue Jul 19, 2024 · 10 comments
Closed

[rush] Feature Request: Support PNPM 9 #4841

kenrick95 opened this issue Jul 19, 2024 · 10 comments

Comments

@kenrick95
Copy link
Contributor

kenrick95 commented Jul 19, 2024

Summary

Rush should support PNPM 9, which has a breaking change on the lockfile format.

Based on the conversation in Zulipchat:

@jeremymeng
Last time I checked PNPM v9 on our repo (azure/azure-sdk-for-js) there are changes that broke PnpmShrinkwrapFile. It seems that some properties got moved around in he parsed yaml data.

When directly bumped in my company's repo, I observed that rush update successfully upgraded the lockfile in the temp folder (common/temp/pnpm-lock.yaml), but it wasn't synced back to common/config/rush/pnpm-lock.yaml. Not really sure why..

I tried bumping the PNPM version in in the Rushstack repo and tried to build, but seems like pnpm-sync also needs to be modified to support PNPM 9.

Repro steps

Expected result:

Actual result:

Details

Standard questions

Please answer these questions to help us investigate your issue more quickly:

Question Answer
@microsoft/rush globally installed version? 5.129.7
rushVersion from rush.json? 5.117.8
useWorkspaces from rush.json? Yes
Operating system? Mac
Would you consider contributing a PR? Yes
Node.js version (node -v)? 18.20.3
@iclanton
Copy link
Member

@g-chao - Would you take a look at this?

@iclanton iclanton moved this from Needs triage to Needs Investigation in Bug Triage Jul 22, 2024
@iclanton iclanton moved this from Needs Investigation to High priority in Bug Triage Jul 22, 2024
@dbartholomae
Copy link
Contributor

Is this something where external PRs would be accepted?

@VasekProchazka
Copy link

Hello, what is the current status ?

@matthieu-foucault
Copy link

I just tried on our monorepo and everything seems to be working fine with pnpm v9.12.3, rush v5.140.1.
Should I expect some issues with pnpm v9?

@iclanton
Copy link
Member

@dbartholomae - we're happy to accept external PRs.

@dbartholomae
Copy link
Contributor

I just tried updating pnpm to version 9, and it worked without additional changes (except for pnpm internal things, like the fact that pre and post hooks now are enabled by default). So there doesn't seem to be need for a PR anymore, and maybe this issue can be closed - unless anyone else still runs into trouble?

@prabirshrestha
Copy link
Member

@dbartholomae curious if you have tried pnpm catalog feature that was introduced in v9 and if it works. https://pnpm.io/catalogs

@dbartholomae
Copy link
Contributor

We don't use them, so I can't really tell

@fzxen
Copy link
Contributor

fzxen commented Nov 21, 2024

@dbartholomae After upgrading to v9 and executing the rush install/update command, you will find that the content of the .rush/temp/shrinkwrap-deps.json file is incorrect. As you can see, rush is currently unable to correctly parse lockfile v9. Thus, Rush cache system doesn't work fine with pnpmv9 because rush will generate a cacheId based on the hash of shrinkwrap-deps.json. I have submitted a PR to fix this issue. #5009.

@kenrick95
Copy link
Contributor Author

Looks like #5009 has been merged and released as @microsoft/[email protected]. Thanks a lot @fzxen!

@github-project-automation github-project-automation bot moved this from High priority to Closed in Bug Triage Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

7 participants