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

#496 in Procedural macros

Download history 72733/week @ 2024-12-02 66427/week @ 2024-12-09 64161/week @ 2024-12-16 43236/week @ 2024-12-23 42643/week @ 2024-12-30 84646/week @ 2025-01-06 88922/week @ 2025-01-13 90020/week @ 2025-01-20 95693/week @ 2025-01-27 99801/week @ 2025-02-03 86899/week @ 2025-02-10 91800/week @ 2025-02-17 101223/week @ 2025-02-24 102950/week @ 2025-03-03 104185/week @ 2025-03-10 111669/week @ 2025-03-17

427,472 downloads per month
Used in 66 crates (50 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–1.1MB
~21K SLoC