-
Just wanted to share something I've been working on in case it's helpful to anyone here - https://github.com/madjam002/yarnpnp2nix
-
Stream
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
-
crane
A Nix library for building cargo projects. Never build twice thanks to incremental artifact caching.
I imagine/hope you've seen this, but over in Rust-land I do something similar using https://github.com/ipetkov/crane. I've been on the lookout for something precisely like this for a while. I don't know much about the newer versions of yarn but imagined such a thing was possible. I am looking forward to trying this out, especially if the above is eventually addressed.
-
I'm not 100% sure, but looking at the docs [here](https://nix-community.github.io/dream2nix/subsystems/node.html#granular-pure-default) and the implementation [here](https://github.com/nix-community/dream2nix/tree/main/src/subsystems/nodejs/builders/granular-nodejs) it seems as it builds dependencies separately and symlinks (see `install-deps.py` those into a `node_modules` tree. I don't know much about Yarn's PNP (was doing more backend/devex last few years), but it sounds vaguely similar in that each package should be built once as a separate derivation and then symlinked to a big `node_modules`-as-a-symlink-tree derivation?