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