This requires significant expertise in V8 and Node.js build systems.
The issue proposes making V8 a shared library to reduce build times and enable caching in functional package managers. This requires modifying the build system to link Node.js with `v8_monolith.a` and potentially creating a shared library. The task involves wrestling with gyp configs and understanding V8 internals, with no clear blockers but significant complexity.
In distros like NixOS and GuixSD, building NodeJS from scratch is a heavy computation. Building V8 seperately for NodeJS is not only computationally heavy, but it also makes caching the good parts of the library impossible for a simple failed test. It is painful having to wait for a day to have a package build, only for the tests to fail for the package maintainer to disable or patch them one by one per build.
With V8 as a shared library, it would be possible to not only cache the dependency in a functional package manager, but also use it with other packages that require them.
None, as I've read somewhere than v8 dependencies are patched, which would make it impossible to use vanilla v8 alongside.
Claim this issue to let others know you're working on it. You'll earn 10 points when you complete it!