[package] authors = ["Nathan Sobo ", "Yinan Long "] description = "N-API bindings" edition = "2021" keywords = ["NodeJS", "Node", "FFI", "NAPI", "n-api"] license = "MIT" name = "napi" readme = "README.md" repository = "https://github.com/napi-rs/napi-rs" rust-version = "1.65" version = "2.15.4" [lib] doctest = false [package.metadata.docs.rs] all-features = true [package.metadata.workspaces] independent = true [features] async = ["tokio_rt"] chrono_date = ["chrono", "napi5"] compat-mode = [] default = ["napi3", "compat-mode"] # for most Node.js users deferred_trace = ["napi4"] error_anyhow = ["anyhow"] experimental = ["napi-sys/experimental"] full = ["latin1", "napi9", "async", "serde-json", "experimental", "chrono_date"] object_indexmap = ["indexmap"] latin1 = ["encoding_rs"] napi1 = [] napi2 = ["napi1", "napi-sys/napi2"] napi3 = ["napi2", "napi-sys/napi3"] napi4 = ["napi3", "napi-sys/napi4"] napi5 = ["napi4", "napi-sys/napi5"] napi6 = ["napi5", "napi-sys/napi6"] napi7 = ["napi6", "napi-sys/napi7"] napi8 = ["napi7", "napi-sys/napi8"] napi9 = ["napi8", "napi-sys/napi9"] noop = [] serde-json = ["serde", "serde_json"] serde-json-ordered = ["serde-json", "serde_json/preserve_order"] tokio_fs = ["tokio/fs"] tokio_full = ["tokio/full"] tokio_io_std = ["tokio/io-std"] tokio_io_util = ["tokio/io-util"] tokio_macros = ["tokio/macros"] tokio_net = ["tokio/net"] tokio_process = ["tokio/process"] tokio_rt = ["tokio", "napi4"] tokio_signal = ["tokio/signal"] tokio_stats = ["tokio/stats"] tokio_sync = ["tokio/sync"] tokio_test_util = ["tokio/test-util"] tokio_time = ["tokio/time"] [dependencies] bitflags = "2" ctor = "0.2" once_cell = "1.19" [dependencies.anyhow] optional = true version = "1" [dependencies.napi-sys] path = "../sys" version = "2.3.0" [dependencies.encoding_rs] optional = true version = "0.8" [dependencies.chrono] optional = true version = "0.4" [target.'cfg(target_family = "wasm")'.dependencies] napi-derive = { path = "../macro", version = "2.10.1", default-features = false } tokio = { version = "1", optional = true, features = ["rt", "sync"] } [target.'cfg(not(target_family = "wasm"))'.dependencies] tokio = { version = "1", optional = true, features = [ "rt", "rt-multi-thread", "sync", ] } [dependencies.serde] optional = true version = "1" [dependencies.serde_json] optional = true version = "1" [dependencies.indexmap] optional = true version = "2"