libnode: Added C FFI compatible function to act as an entrypoint for embedded consumers #57846
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Hi all,
I have been working on embedding Nodejs in my Rust application to act as a plugin runtime however, while
libnode
exposes a C++ API, it does not work with consumers that only have access to C FFI calls (like Rust).Changes
node_start()
function innode.cc
to proxynode::Start()
Examples
I created a repo that patches nodejs to add this function, generate static binaries (under GitHub releases) and offers a Rust crate that provides bindings. So far, all I need is this one function added to
node.cc
.Usage:
CC: #52289