Hi,
there is a rather long discussion about how to implement a third-party package management using yarn.lock version 2 files.
There are several pro and contra arguments, which I try to summarize here:
Contra:
- If upstream changes its implementation it could potentially break FOD [1]
- It relies on
supportedArchitectures
[Settings (.yarnrc.yml) | Yarn] which, if changed, could cause breakage of FODs [2]
Pro:
- We implement a coherent system around
yarn
, which currently only supports yarn version 1 files - No conversion of yarn version 1 to version 2 files is needed (which also happens to be buggy and hard to doā¦See e.g. my workaround for pgadmin)
- No need to commit an edited
yarn.lock
file to nixpkgs, as it can directly work with the newer versions
A POC PR has been made which has several comments which I hopefully summarized correctly above.
Obviously I am biased, as Iāve written the PR, towards an implementation. I would ask anyone with some experience in the yarn ecosystem and especially everyone already involved, to chime in. Discussion stalled last December and I would hate to see the effort wasted here.
I answered the contra arguments above on GitHub to the corresponding comments and would love some additional feedback.
Many, many thanks to everyone who allocated some freetime to review the PR until now:
@emily @doronbehar @winter @szlend @the-sun-will-rise @Sandro