What is the problem this feature will solve?
Node.js is prolific throughout the server-side world with many projects wanting to repackage the Node.js runtime and the associated standard library/resolution logic/Node.js-isms to offer it to customers such that they can reuse their existing tooling/dependencies.
Notable examples of this:
- Rspack
- Esbuild
- Parcel
- Supabase
- AWS Lambda
- etc
Currently, Node.js cannot be embedded in languages that only support native libraries with a C FFI (Rust, Dotnet, Go, etc).
This leads project maintainers to look for alternative embeddable runtimes that have incomplete Nodejs support, notably Deno (which is a great project in its own right, but lacks certain features that would necessitate consumers rewriting project code).
What is the feature you are proposing to solve the problem?
- Expose Node.js embedding capabilities via a C FFI
- Offer a static library to allow including Node.js within the embedding binary
What alternatives have you considered?
- Embedding Deno
- Removing the "Deno" parts of Deno and maintaining a light version with a focus on supporting the Node.js standard library
- Maintaining a fork of Nodejs with a C FFI
What is the problem this feature will solve?
Node.js is prolific throughout the server-side world with many projects wanting to repackage the Node.js runtime and the associated standard library/resolution logic/Node.js-isms to offer it to customers such that they can reuse their existing tooling/dependencies.
Notable examples of this:
Currently, Node.js cannot be embedded in languages that only support native libraries with a C FFI (Rust, Dotnet, Go, etc).
This leads project maintainers to look for alternative embeddable runtimes that have incomplete Nodejs support, notably Deno (which is a great project in its own right, but lacks certain features that would necessitate consumers rewriting project code).
What is the feature you are proposing to solve the problem?
What alternatives have you considered?