[package] name = "javy" version = "3.1.0" authors.workspace = true edition.workspace = true license.workspace = true description = "Configurable JavaScript runtime for WebAssembly" homepage = "https://github.com/bytecodealliance/javy/tree/main/crates/javy" repository = "https://github.com/bytecodealliance/javy/tree/main/crates/javy" categories = ["wasm"] [dependencies] anyhow = { workspace = true } rquickjs = { version = "=0.6.1", features = ["array-buffer", "bindgen"] } rquickjs-core = "=0.6.1" rquickjs-sys = "=0.6.1" serde = { workspace = true, default-features = true, features = ["derive"] } serde_json = { workspace = true, optional = true } serde-transcode = { version = "1.1", optional = true } rmp-serde = { version = "^1.3", optional = true } # TODO: cargo doesn't seem to pickup the fact that quickcheck is only used for # tests. quickcheck = "1" bitflags = "2.6.0" fastrand = "2.1.1" simd-json = { version = "0.14.2", optional = true, default-features = false, features = [ "big-int-as-float", "serde_impl", ] } [dev-dependencies] javy-test-macros = { path = "../test-macros/" } [features] export_alloc_fns = [] messagepack = ["rmp-serde", "serde-transcode"] # According to our benchmarks and experiments, the fastest and most efficient # JSON implementation comes from: # * Using SIMD JSON for parsing # * Using serde_json for stringifying # This implementation is behind a feature flag, because of the code size # implications of enabling by default (due to the extra dependencies) and also # because the native implementation is probably fine for most use-cases. json = ["serde_json", "serde-transcode", "simd-json"]