-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[Feature] nodeLinker: pnpm option ? #1845
Comments
I don't think we have the resources to support three different linkers at the moment. It's very possible to implement a pnpm style install, and we would happily provide tips to do so, but I think it should come from the outside. Note that, personally, I don't have the same assessment regarding PnP: applications that don't follow the semantic cause as many problems, but harder to find, and the runtime overhead doesn't look that significant - that is, in master, after fixing the regression you reported. In any case, the PnP runtime never got particularly optimized (priorities!), and I'm optimistic that there are low hanging fruits to find. |
@crubier I would be interested to experiment with putting together proof of concept pnpm-like linker when I have time, probably after making pnp + nm linker hybrid mode working in the same monorepo. Full-blown investment into pnpm-like linker on everyday basis while supporting nm linker as well, would be probably too much for me. |
It might be better to call it something like (there's a funny typo in the issue: node-nodules) |
@zkochan I don't think we have resources to recreate pnpm linker. I might just play with symlinks at some point in the future and explore what benefits we can gain from using them with |
Let's say we'd be fine having to install pnpm separately; would it then be possible to create a Yarn plugin that is a wrapper around the |
Hi folks. Very excited to try out this new linker. This plugin is missing from https://github.com/yarnpkg/berry/blob/master/plugins.yml . I'm assuming that is intentional but reporting just in case. When can we expect to see this new plugin released? |
It's a builtin plugin so nothing to import, it's currently in a canary release. yarn set version berry && yarn set version canary |
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: pnp
is quick to install, but has a large runtime impact as of today ( See Benchmark PnP runtime overhead #1817 or [Bug] Extremely slowyarn run xxxx
commands 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
nodeLinker: pnpm
option 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 )Describe the drawbacks of your solution
Describe alternatives you've considered
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.
The text was updated successfully, but these errors were encountered: