125 releases (68 stable)

3.0.0-alpha.29 Mar 16, 2025
3.0.0-alpha.25 Jan 12, 2025
3.0.0-alpha.22 Dec 18, 2024
3.0.0-alpha.20 Nov 30, 2024
0.1.0 Nov 30, 2017

#104 in Procedural macros

Download history 87160/week @ 2025-01-08 83659/week @ 2025-01-15 93389/week @ 2025-01-22 95874/week @ 2025-01-29 102158/week @ 2025-02-05 81498/week @ 2025-02-12 100413/week @ 2025-02-19 99135/week @ 2025-02-26 103210/week @ 2025-03-05 122353/week @ 2025-03-12 114359/week @ 2025-03-19 109820/week @ 2025-03-26 124960/week @ 2025-04-02 150725/week @ 2025-04-09 147472/week @ 2025-04-16 133979/week @ 2025-04-23

576,161 downloads per month
Used in 70 crates (54 directly)

MIT license

220KB
6.5K SLoC

napi-derive

chat

Checkout more examples in examples folder

#[macro_use]
extern crate napi_derive;
use napi::bindgen_prelude::*;

#[napi]
fn fibonacci(n: u32) -> u32 {
  match n {
    1 | 2 => 1,
    _ => fibonacci_native(n - 1) + fibonacci_native(n - 2),
  }
}

#[napi]
fn get_cwd<T: Fn(String) -> Result<()>>(callback: T) {
  callback(env::current_dir().unwrap().to_string_lossy().to_string()).unwrap();
}

Dependencies

~0.6–1MB
~20K SLoC