[package]
name = "wasmer"
description = "High-performance WebAssembly runtime"
categories = ["wasm"]
keywords = ["wasm", "webassembly", "runtime", "vm"]
readme = "README.md"
authors.workspace = true
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true
[dependencies]
indexmap = { workspace = true }
cfg-if = "1.0"
thiserror = "1.0"
more-asserts = "0.2"
bytes = "1"
tracing = { version = "0.1" }
wat = { version = "1.216.0", optional = true }
rustc-demangle = "0.1"
shared-buffer = { workspace = true }
wasmi_c_api = { version = "0.40.0", package = "wasmi_c_api_impl", optional = true, features = [
"prefix-symbols",
] }
loupe = { workspace = true, optional = true, features = [
"indexmap",
"enable-indexmap",
] }
paste = "1.0.15"
derive_more = { version = "1.0.0", features = ["from", "debug"] }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
wasmer-vm = { path = "../vm", version = "=6.0.0-alpha.1" }
wasmer-compiler = { path = "../compiler", version = "=6.0.0-alpha.1" }
wasmer-derive = { path = "../derive", version = "=6.0.0-alpha.1" }
wasmer-types = { path = "../types", version = "=6.0.0-alpha.1" }
target-lexicon = { version = "0.12.2", default-features = false }
wasmer-compiler-singlepass = { path = "../compiler-singlepass", version = "=6.0.0-alpha.1", optional = true }
wasmer-compiler-cranelift = { path = "../compiler-cranelift", version = "=6.0.0-alpha.1", optional = true }
wasmer-compiler-llvm = { path = "../compiler-llvm", version = "=6.0.0-alpha.1", optional = true }
wasm-bindgen = { version = "0.2.74", optional = true }
js-sys = { version = "0.3.51", optional = true }
rusty_jsc = { version = "0.1.0", optional = true }
wasmparser = { workspace = true, default-features = false, optional = true }
[target.'cfg(all(not(target_arch = "wasm32"), target_os = "windows"))'.dependencies]
windows-sys = "0.59"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
wat = "1.0"
tempfile = "3.6.0"
anyhow = "1.0"
macro-wasmer-universal-test = { version = "6.0.0-alpha.1", path = "./macro-wasmer-universal-test" }
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasmer-types = { path = "../types", version = "=6.0.0-alpha.1", default-features = false, features = [
"std",
] }
wasm-bindgen = "0.2.74"
js-sys = "0.3.51"
wasmer-derive = { path = "../derive", version = "=6.0.0-alpha.1" }
wasmparser = { workspace = true, default-features = false, optional = true }
hashbrown = { version = "0.11", optional = true }
serde-wasm-bindgen = { version = "0.4.5" }
serde = { version = "1.0", features = ["derive"] }
target-lexicon = { workspace = true }
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wat = "1.0"
anyhow = "1.0"
wasm-bindgen-test = "0.3.0"
macro-wasmer-universal-test = { version = "6.0.0-alpha.1", path = "./macro-wasmer-universal-test" }
[package.metadata.wasm-pack.profile.release]
wasm-opt = false
[badges]
maintenance = { status = "actively-developed" }
[features]
default = ["sys-default"]
std = []
core = ["hashbrown"]
artifact-size = [
"dep:loupe",
"wasmer-vm/artifact-size",
"wasmer-compiler/artifact-size",
]
sys = ["wasmer-compiler/translator", "wasmer-compiler/compiler", "std"]
sys-default = ["sys", "wat", "cranelift"]
compiler = ["sys"]
singlepass = ["compiler", "wasmer-compiler-singlepass"]
cranelift = ["compiler", "wasmer-compiler-cranelift"]
llvm = ["compiler", "wasmer-compiler-llvm"]
engine = ["sys"]
wamr-default = ["wamr", "wat"]
wamr = ["wasm-c-api", "std", "dep:which", "dep:zip"]
wasmi = ["wasm-c-api", "std", "dep:wasmi_c_api"]
wasmi-default = ["wasmi", "wat"]
v8 = ["wasm-c-api", "std", "dep:which", "dep:xz"]
v8-default = ["v8", "wat"]
wasm-c-api = ["wasm-types-polyfill"]
jit = ["engine"]
js = ["wasm-bindgen", "js-sys"]
js-default = ["js", "std", "wasm-types-polyfill"]
wasm-types-polyfill = ["wasmparser"]
jsc = ["rusty_jsc", "wasm-types-polyfill", "wasmparser"]
jsc-default = ["jsc"]
js-serializable-module = []
enable-serde = [
"wasmer-vm/enable-serde",
"wasmer-compiler/enable-serde",
"wasmer-types/enable-serde",
]
wasmer-artifact-load = ["wasmer-compiler/wasmer-artifact-load"]
wasmer-artifact-create = ["wasmer-compiler/wasmer-artifact-create"]
static-artifact-load = ["wasmer-compiler/static-artifact-load"]
static-artifact-create = ["wasmer-compiler/static-artifact-create"]
[build-dependencies]
cmake = "0.1.50"
tar = "0.4.42"
ureq = "2.10.1"
which = { version = "7.0.0", optional = true }
xz = { version = "0.1.0", optional = true }
zip = { version = "2.2.0", optional = true }
[target.'cfg(target_env = "musl")'.build-dependencies]
bindgen = { version = "0.70.1", default-features = false, features = [
"static",
"logging",
"prettyplease",
] }
[target.'cfg(not(target_env = "musl"))'.build-dependencies]
bindgen = { version = "0.70.1" }
[package.metadata.docs.rs]
features = [
"compiler",
"core",
"cranelift",
"engine",
"jit",
"singlepass",
"static-artifact-create",
"static-artifact-load",
"sys",
"sys-default",
"wasmer-artifact-create",
"wasmer-artifact-load",
]
rustc-args = ["--cfg", "docsrs"]