neon 0.8.0

A safe abstraction layer for Node.js.
Documentation
[package]
name = "neon"
version = "0.8.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"]
build = "build.rs"

[build-dependencies]
neon-build = { version = "=0.8.0", path = "crates/neon-build" }

[dev-dependencies]
lazy_static = "1.4.0"
rustversion = "0.1.4"
semver = "0.9"

[dependencies]
cslice = "0.2"
semver = "0.9.0"
smallvec = "1.4.2"
neon-runtime = { version = "=0.8.0", path = "crates/neon-runtime" }
neon-macros = { version = "=0.8.0", path = "crates/neon-macros", optional = true }

[features]
default = ["legacy-runtime"]

# Enable static tests. These can be fragile because of variations in Rust compiler
# error message formatting from version to version, so they're disabled by default.
enable-static-tests = []

# Enable the EventHandler API of RFC 25.
event-handler-api = []

# Enable the default panic hook. Useful for debugging neon itself.
default-panic-hook = []

# Feature flag to enable the legacy V8/NAN runtime. For now, this feature is
# enabled by default.
legacy-runtime = ["neon-runtime/neon-sys", "neon-build/neon-sys"]

# Default N-API version. Prefer to select a minimum required version.
napi-runtime = ["napi-6"]

# 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 = ["proc-macros", "neon-macros/napi", "neon-runtime/napi"]
napi-2 = ["napi-1", "neon-runtime/napi-2"]
napi-3 = ["napi-2", "neon-runtime/napi-3"]
napi-4 = ["napi-3", "neon-runtime/napi-4"]
napi-5 = ["napi-4", "neon-runtime/napi-5"]
napi-6 = ["napi-5", "neon-runtime/napi-6"]
napi-latest = ["napi-6"]
napi-experimental = ["napi-6", "neon-runtime/napi-experimental"]

# Feature flag to disable external dependencies on docs build
docs-only = ["neon-runtime/docs-only"]

# Feature flag to enable the try_catch API of RFC 29.
try-catch-api = []

# Feature flag to enable the `EventQueue` API of RFC 33.
# https://github.com/neon-bindings/rfcs/pull/32
event-queue-api = []

# Feature flag to include procedural macros
proc-macros = ["neon-macros"]

[package.metadata.docs.rs]
features = ["docs-only", "event-handler-api", "proc-macros", "try-catch-api"]

[workspace]
members = [
    "crates/neon-build",
    "crates/neon-macros",
    "crates/neon-runtime",
    "crates/neon-sys",
    "test/static",
    "test/electron",
    "test/dynamic/native",
    "test/napi"
]