Hacker News new | ask | show | jobs
by rrnewton 2485 days ago
Hmm, why is this a good thing compared to just using Nix / nix-pkgs to manage JS packages?
3 comments

Similarly in my experience apt/deb packaging should be considered for this. There's already node packages in Debian/Ubuntu, to look at examples, it's well documented, tried and tested, they can be signed, and it's straightforward to setup a repo which is completely static, so can be put in S3 or any static server, there's apt-transport-tor, for working over tor, there's apt-transport-s3 for working with private S3 buckets. OK there's some versioning quirks (I've used both launchpad and reprepro) such as tying it to a release version (buster, xenial, bionic, etc..) and having only one version of a package available per release in the case of reprepro, but in my experience it was easy to setup and maintain. Also the penetration of the format means you can consume it, in one form or another on Linux, WSL, ChromeOS, Docker, K8S, etc.
I tried doing this for golang with dep2nix and vgo2nix and it is quite hard, but I succeeded.

I tried with yarn2nix and quickly decided to just use regular nom install every time.

Can you share your experience?

nixpkgs top-level only accepts full applications, not libraries, but there is a documented procedure for adding applications to nixpkgs: https://nixos.org/nixpkgs/manual/#node.js-packages
Wait, is that common? I’ve not seen anyone doing that before. A cursory search shows a tool that takes a yarn.lock file and turns it into a Nix expression, but that’s all I can see.