neon 1.0.0

A safe abstraction layer for Node.js.
Documentation
[package]
name = "neon"
version = "1.0.0"
authors = ["Dave Herman <david.herman@gmail.com>"]
description = "A safe abstraction layer for Node.js."
readme = "../../README.md"
homepage = "https://www.neon-bindings.com"
repository = "https://github.com/neon-bindings/neon"
license = "MIT/Apache-2.0"
exclude = ["neon.jpg", "doc/**/*"]
edition = "2021"

[dev-dependencies]
semver = "1.0.20"
psd = "0.3.4"        # used for a doc example
anyhow = "1.0.75"    # used for a doc example
widestring = "1.0.2" # used for a doc example
linkify = "0.10.0"   # used for a doc example

[target.'cfg(not(target = "windows"))'.dev-dependencies]
# Avoid `clang` as a dependency on windows
nodejs-sys = "0.15.0"

[dependencies]
getrandom = { version = "0.2.11", optional = true }
libloading = "0.8.1"
semver = "1.0.20"
smallvec = "1.11.2"
once_cell = "1.18.0"
neon-macros = { version = "=1.0.0", path = "../neon-macros" }
aquamarine = { version = "0.3.2", optional = true }
easy-cast = { version = "0.5.2", optional = true }
doc-comment = { version = "0.3.3", optional = true }
send_wrapper = "0.6.0"

[dependencies.tokio]
version = "1.34.0"
default-features = false
features = ["sync"]
optional = true

[features]
default = ["napi-8"]

# Enable the creation of external binary buffers. This is disabled by default
# since these APIs fail at runtime in environments that enable the V8 memory
# cage (such as Electron: https://www.electronjs.org/blog/v8-memory-cage).
external-buffers = []

# Experimental Rust Futures API
# https://github.com/neon-bindings/rfcs/pull/46
futures = ["tokio"]

# Enable low-level system APIs. The `sys` API allows augmenting the Neon API
# from external crates.
sys = []

# Default N-API version. Prefer to select a minimum required version.
# DEPRECATED: This is an alias that should be removed
napi-runtime = ["napi-8"]

# Select the N-API version
# Feature flags to enable the experimental N-API runtime. For now, this feature
# is disabled by default.
# The Node N-API documentation specifies N-API and Node version requirements
# https://nodejs.org/api/n-api.html
napi-1 = []
napi-2 = ["napi-1"]
napi-3 = ["napi-2"]
napi-4 = ["napi-3"]
napi-5 = ["napi-4"]
napi-6 = ["napi-5"]
napi-7 = ["napi-6"]
napi-8 = ["napi-7", "getrandom"]
napi-latest = ["napi-8"]
napi-experimental = ["napi-8"]

# Enables the optional dependencies that are only used for generating the API docs.
doc-dependencies = ["doc-comment", "aquamarine", "easy-cast"]

[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "docsrs"]
features = [
    "external-buffers",
    "futures",
    "napi-experimental",
    "doc-dependencies",
    "sys",
]