-
- Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
- I'd be willing to implement this feature
- This feature can already be implemented through a plugin (Maybe?)
Describe the user story
nodeLinker: node-nodules(and the npm package manager) is astronomically long to install on some large monorepos and takes an incredible amount of disk spacenodeLinker: pnpis quick to install, but has a large runtime impact as of today ( See Benchmark PnP runtime overhead #1817 or [Bug] Extremely slowyarn run xxxxcommands on large monorepo #973 for example), and caused a lot of packages to break in the past, and still requires a lot of maintenance from yarn maintainers. In hindsight, this solution may be a bit too radical, the ecosystem is not ready, and might never be.
Describe the solution you'd like
- We could add a
nodeLinker: pnpmoption to yarn, to use the same strategy as pnpm uses. (See https://pnpm.js.org/blog/2020/05/27/flat-node-modules-is-not-the-only-way ) - Maybe this could be done as a plugin
Describe the drawbacks of your solution
- It would probably be a (very) large effort to implement. But since both project are coded in typescript, some code reuse might be possible.
- I know it's probably a very unrealistic feature request.
Describe alternatives you've considered
- Solving all performance impacts caused by pnp in yarn might be doable or easier. But I am starting to feel a bit desperate about pnp. It will always be high maintenance: Anyone can create a package the breaks under pnp. And once the bugs are solved, comes the runtime overhead. Solving the bugs while keeping performance high might not even be possible.
- We are considering moving our monorepo to pnpm. It makes our scripts 2x-10x faster depending on the use case... Install is only 2x longer.
Additional context
We love yarn berry and everything it provides (plugins, constraints etc.). The only source of problems with it is pnp. On the other hand we recently tried pnpm and saw large runtime performance improvements.
borekb, lordofthelake, SamChou19815, tajnymag, jetjo and 1 morejetjo
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request