Bindings for NodeJS' N-API.
This crate needs llvm
at build-time, since it generates bindings at build-time (by using bindgen).
For Debian/Ubuntu that's a simple apt install llvm libclang-dev
.
Different API versions may be selected via feature-flag. See the N-API Version Matrix for details.
napi_v5
supported by all actively maintained NodeJS releasesnapi_v6
supported by all actively maintained NodeJS releasesnapi_v7
supported by all actively maintained NodeJS releasesnapi_v8
requires at least15.12.0
, this is the default (if no flag is given)- the experimental N-API features may be enabled via feature flag
experimental
(off by default)
Not all NodeJS Versions change the N-API, so nodejs-sys
gets an update only if the relevant headers have been changed between node versions.
See the (autogenerated) changelog for links to detailed upstream commits.
This crate is very low-level. See neon, they provide N-API Support.
But of course you may also use this crate directly, LogRocket has a nice blog post: Rust and Node.js: A match made in heaven.