-
Notifications
You must be signed in to change notification settings - Fork 604
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] Support PNPM workspaces #1938
Conversation
Note: currently working on changes to |
…to supportWorkspaces2
I encountered that issue again where BTW it took me a while to realize that with workspaces, it is correct behavior for common\temp\node_modules to be mostly empty. (That misunderstanding is why I previously thought that I am still not able to pin down a repro, but this problem definitely seems to be caused by some previous state being left over from a non-workspaces installation. @D4N14L Should we add a field like |
Agree on that. I'll add that in there. |
apps/rush-lib/src/logic/installManager/WorkspaceInstallManager.ts
Outdated
Show resolved
Hide resolved
So how can I use Rush with pnpm? What is the easiest way to convert a repo? |
@zkochan I'm no expert, but I've switched between package managers a few times to test different outcomes. it came down to
|
This feature is still "experimental" and doesn't have website docs yet. But basically you follow the normal steps but set CC @D4N14L |
I really wish the design for this would enable using a pnpm-workspace.yaml at the root instead of in common/temp. |
@orokanasaru so this has come up a few times, and there's been some discussion. There's essentially two options that we've narrowed it down to:
For the first option, the way I see it working would be to add The second option seems more appealing to me. Yes, you would need to call the commands through a 'wrapper' package of sorts, but all this package would do is run your pnpm commands in the Thoughts? |
@D4N14L I agree that there would be issues putting everything at the root and that is probably not the ideal solution. It seems like figuring out step #2 for adding custom parameters to commands would provide users quite a bit of flexibility in defining their own wrappers. As an example, our repo already has a Rush providing a wrapper package (and hopefully a corresponding API in rushlib) to do some translation and analysis of commands to make this simpler and safer would be a nice bonus. |
This PR is to add workspaces features to PNPM (as requested in a few issues, but currently tracked in #1887 .
Workspaces is supported with PNPM in Rush in the following way:
Things that will be improved in the future: