nodejs-sys 0.14.0

Native bindings to the nodejs' n-api
Documentation
[![Rust build](https://github.com/elmarx/nodejs-sys/workflows/Rust/badge.svg)](https://github.com/elmarx/nodejs-sys/actions?query=workflow%3ARust) [![crates.io badge](https://img.shields.io/crates/v/nodejs-sys.svg)](https://crates.io/crates/nodejs-sys) [![docs.rs badge](https://docs.rs/nodejs-sys/badge.svg)](https://docs.rs/nodejs-sys)

nodejs-sys
----------

Bindings for NodeJS' [N-API](https://nodejs.org/dist/latest-v14.x/docs/api/n-api.html).

Requirements
============

This crate needs `llvm` at build-time, since it generates bindings at build-time (by using [bindgen](https://docs.rs/bindgen/)).

For Debian/Ubuntu that's a simple `apt install llvm libclang-dev`.

Features
========

Different API versions may be selected via feature-flag. See the [N-API Version Matrix](https://nodejs.org/dist/latest-v14.x/docs/api/n-api.html#n_api_n_api_version_matrix) for details.

- `napi_v5` supported by all [actively maintained]https://nodejs.org/en/about/releases/ NodeJS releases
- `napi_v6` supported by all [actively maintained]https://nodejs.org/en/about/releases/ NodeJS releases
- `napi_v7` supported by all [actively maintained]https://nodejs.org/en/about/releases/ NodeJS releases
- `napi_v8` requires at least `15.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)

Updates
=======

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.  

Usage
=====

This crate is very low-level. See [neon](https://neon-bindings.com/), they provide [N-API Support](https://github.com/neon-bindings/neon/issues/444).

But of course you may also use this crate directly, [LogRocket](https://logrocket.com/) has a nice blog post: 
[Rust and Node.js: A match made in heaven](https://blog.logrocket.com/rust-and-node-js-a-match-made-in-heaven/).