Hello,
I've not come across any new issues in a long time with regards to the state of JS runtime environment in Guix, hence this mail.
From my observation:
- NodeJS is severely lagging behind at 18.9.0. The current version is 23.1.0, I've tried bumpin to 22.0.0, incrementing per patch version, but I had to give up, because of the failing test cases which continued even after disabling several test cases.
- NodeJS-bootstrap is also severely lagging behind at 10.24.1. It should be bumped to somewhere in between 14.21.3 or 16.20.2 - I don't know much about bootstraping, but my recent attempt to bump failed again, because of the test cases - in this case, failures from sequential tests.
- Some of the related packages (llhttp-bootstrap, llhttp) seem to be contaminated
- Internal source dependencies (that is, stuff inside `deps/` folder, as opposed to the inputs themselves) are painful to deal with, because they re-build every time on test-failure and take a lot of resource - some of them can be replaced with inputs, thankfully, but some of these dependencies (v8, simdutf, simdjson, uvwasi, etc) can contribute to increased build time when testing locally. Now, I was able to build some of them as a separate package variable, but the main culprit here (v8) still isn't a external source dependency - for this, I've also opened a issue at GitHub:
https://github.com/nodejs/node/issues/53509
- Deno's patch needs to be bumped, but the work is still pending, and I don't really know much about Rust or Cargo
- I've tried adding Bun, but gave up later because of build failures. Nixpkgs simply ELF-patches the binaries, which is probably unacceptable in Guix?
- Yarn, PNPM and Lerna are still not available for NodeJS
- There is a lack of JavaScript or NodeJS-specific maintainer team
Given how the JS development tool is to be in a poor state, I wanted to have a discussion about the actions that can be taken to improve this situation.
Regards,
Ashvith