libdeno 0.1.1

Embed the Deno runtime in Rust with direct npm: specifier support
Documentation
[package]
name = "libdeno"
version = "0.1.1"
edition = "2021"
description = "Embed the Deno runtime in Rust with direct npm: specifier support"
license = "MIT"
readme = "README.md"
documentation = "https://docs.rs/libdeno"
repository = "https://github.com/agentsyaml/libdeno"
keywords = ["deno", "runtime", "embed", "npm", "javascript"]
categories = ["api-bindings", "development-tools"]
authors = ["Zhenxing Sun <zhenxing.sun@irootech.com>"]

[[example]]
name = "demo"
path = "examples/demo.rs"

[dependencies]
deno_runtime = { version = "0.265.0", features = ["transpile"] }
deno_resolver = { version = "0.88.0", features = ["graph", "deno_ast"] }
node_resolver = "0.95.0"
# deno_runtime is backend-agnostic; the embedder must enable the v8 backend.
deno_core = { version = "0.410.0", features = ["v8", "reactor-tokio", "v8_use_custom_libcxx"] }
deno_graph = "=0.110.1"
deno_cache_dir = "0.49.0"
deno_config = "0.107.0"
deno_npm_installer = "0.52.0"
deno_npm_cache = "0.76.0"
deno_npm = "0.69.0"
deno_npmrc = "0.18.0"
base64 = "0.21"
serde = { version = "1", features = ["derive"] }
deno_media_type = { version = "0.4.0", features = ["module_specifier"] }
# Must match deno_core/deno_runtime's pin so JsErrorBox is a single type.
deno_error = "=0.7.1"
sys_traits = "0.1.28"
deno_semver = "0.10.0"
async-trait = "0.1"
anyhow = "1"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls-native-roots", "gzip", "brotli", "stream", "http2"] }
http = "1"
bytes = "1"
url = "2"
tokio = { version = "1", features = ["full"] }
deno_fs = "0.167.0"
deno_features = "0.54.0"
thiserror = "1"

[build-dependencies]
# The snapshot pipeline needs the runtime and the v8 backend linked into the
# build script. deno_runtime is backend-agnostic — the embedder must enable
# deno_core's `v8` feature (same as the normal dependency), otherwise deno_v8
# compiles without its v8 backend in the build-dependency universe. Both are
# optional and feature-gated: docs.rs builds with `no-default-features`, so the
# build script has no dependencies and links nothing (the v8 crate emits no
# static lib under DOCS_RS=1, which would fail the build-script link).
deno_runtime = { version = "0.265.0", features = ["snapshot"], optional = true }
deno_core = { version = "0.410.0", features = ["v8", "reactor-tokio", "v8_use_custom_libcxx"], optional = true }

[features]
default = ["snapshot"]
# Compiles the V8 runtime snapshot (and residual lazy sources) in build.rs.
# Disable only for documentation builds (see [package.metadata.docs.rs]);
# without it the crate compiles with an empty snapshot and is not runnable.
snapshot = ["dep:deno_runtime", "dep:deno_core"]

# docs.rs cannot build the snapshot pipeline: it requires linking the Deno
# runtime (V8) into the build script, and docs.rs builds offline — the v8
# crate skips emitting its static library when DOCS_RS is set, so the build
# script link fails. docs.rs only rustdoc's the lib (never links/runs it), so
# an empty snapshot + empty residual tables are sufficient. With
# no-default-features the `snapshot` feature is off and build.rs emits
# placeholders instead.
[package.metadata.docs.rs]
no-default-features = true

[profile.release]
debug = false