Introdução

NAPI-RS é um framework para construir addons pré-compilados para Node.js em Rust.

Rustifique o Node.js em poucas linhas!

lib.rs
use napi_derive::napi;
 
#[napi]
fn fibonacci(n: u32) -> u32 {
  match n {
    1 | 2 => 1,
    _ => fibonacci(n - 1) + fibonacci(n - 2),
  }
}

Compatível tanto com CommonJS quanto com esm, além do arquivo .d.ts ser gerado automaticamente:

main.mjs
import { fibonacci } from './index.js'
 
// output: 5
console.log(fibonacci(5))
main.cjs
const { fibonacci } = require('./index')
 
// output: 5
console.log(fibonacci(5))

Recursos

🚀 Traga desempenho nativo para o Node.js

👷‍♂️ Segurança de memória, garantida pelo compilador do Rust

⚡️ Transferência interativa de dados sem cópia entre Rust e Node.js via Buffer e TypedArray

⚙️ Paralelismo em poucas linhas

Patrocinadores

Platinum Sponsors Tailwind Gold Sponsors Nx Workleap ChainSafe Sliver Sponsors Parcel Backers

Ecossistema

AFFiNEPrisma.ioswcParcelnext.jspola.rsPolarslogseqLogseqFormat.JSastgrepperfseePerfseenpmmirrorDatabendrspackRspackHugging FacedittoTurborepo logoLoroRollup

Matriz de suporte

Node.js

Node10Node12Node14Node16Node18Node20

Plataformas suportadas

✅ Significa testado oficialmente no repositório napi-rs.
- Significa nenhuma release oficial do Node.js.

i686x64aarch64arm
Windows-
macOS-
Linux-
Linux musl--
FreeBSD---
Android--

Projetos relacionados