-
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 native package manager workspaces #1553
Comments
Absolutely vital to rush so we can leverage functionality from pnpm and the other managers better! Also not to mention that rush has other more abstract needs as mentioned above. |
I've created a separate issue to track PNPM workspaces support here: #1887 |
Any chance of integrating Yarn Workspaces next? |
@jeanmaried we've talked about this a few times, some of us are wanting Rush to be a tad more opinionated so that we can focus on solving real problems. After all, switching between Yarn or PNPM under the hood, what are the real problems and what are the benefits of solving them? |
NPM recently announced that version 7 will finally provide support for monorepos. Today, the monorepo support implemented by Yarn and PNPM is already reasonably close to what we do in
rush install
andrush link
. Thus, we're planning an overhaul of Rush that would delegate most of the installation/linking operations to the underlying package manager. I'm opening this thread to track that effort.Benefits: The Rush maintainers currently spend a lot of time investigating/maintaining issues with installation edge cases, so this would offload a lot of that, freeing us up to focus on more differentiating features such as sharded builds, multi-project watch, publishing workflows, etc.
Drawbacks: One downside is that NPM and Yarn classic will lose Rush's protection against phantom dependencies. But we've found that users with complex installs inevitably move to PNPM or Yarn Plug'n'Play anyway. But an upside is that you would be able to use the package manager's monorepo commands in your Rush repo.
The text was updated successfully, but these errors were encountered: