[package] name = "wasmer-wasix" version = "0.31.0" description = "WASI and WASIX implementation library for Wasmer WebAssembly runtime" categories = ["wasm", "os"] keywords = ["wasm", "webassembly", "wasi", "sandbox", "ABI"] readme = "README.md" authors.workspace = true edition.workspace = true homepage.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true [dependencies] wasmer-package.workspace = true wasmer-wasix-types = { path = "../wasi-types", version = "0.31.0", features = [ "enable-serde", ] } wasmer-types = { path = "../types", version = "=5.0.1", default-features = false } wasmer = { path = "../api", version = "=5.0.1", default-features = false, features = [ "wat", "js-serializable-module", ] } virtual-mio = { path = "../virtual-io", version = "0.5.0", default-features = false } virtual-fs = { path = "../virtual-fs", version = "0.19.0", default-features = false, features = [ "webc-fs", ] } virtual-net = { path = "../virtual-net", version = "0.11.0", default-features = false, features = [ "rkyv", ] } wasmer-journal = { path = "../journal", version = "0.13.0", default-features = false } wasmer-config = { version = "0.10.0", path = "../config" } http.workspace = true dashmap.workspace = true base64.workspace = true webc.workspace = true serde_yaml.workspace = true rkyv.workspace = true shared-buffer.workspace = true hyper = { workspace = true, features = ["server"], optional = true } xxhash-rust = { version = "0.8.8", features = ["xxh64"] } rusty_pool = { version = "0.7.0", optional = true } cfg-if = "1.0" thiserror = "1" tracing = { version = "0.1.37" } getrandom = "0.2" typetag = { version = "0.1", optional = true } serde = { version = "1.0", default-features = false, features = ["derive"] } bincode = { version = "1.3" } chrono = { version = "^0.4.38", default-features = false, features = [ "wasmbind", "std", "clock", ], optional = true } derivative = { version = "^2" } bytes = "1" anyhow = { version = "1.0.66" } lazy_static = "1.4" sha2 = { version = "0.10" } waker-fn = { version = "1.1" } cooked-waker = "^5" rand = "0.8" tokio = { workspace = true, features = [ "sync", "macros", "time", "rt", ], default-features = false } tokio-stream = { version = "0.1", features = ["sync"] } futures = { version = "0.3" } # used by feature='os' async-trait = { version = "^0.1" } urlencoding = { version = "^2" } serde_derive = { version = "^1" } serde_json = { version = "^1" } weezl = { version = "^0.1" } hex = { version = "^0.4" } linked_hash_set = { version = "0.1" } heapless = "0.7.16" once_cell = "1.17.0" pin-project = "1.0.12" semver = "1.0.17" tempfile = "3.6.0" num_enum = "0.5.7" # Used by the WCGI runner wcgi = { version = "0.2.0", optional = true } wcgi-host = { version = "0.2.0", optional = true } tower-http = { version = "0.5.0", features = [ "trace", "util", "catch-panic", "cors", ], optional = true } tower = { version = "0.4.13", features = ["make", "util"], optional = true } url = "2.3.1" bytecheck = "0.6.8" blake3 = "1.0" petgraph = "0.6.3" lz4_flex = { version = "0.11" } rayon = { version = "1.7.0", optional = true } wasm-bindgen = { version = "0.2.87", optional = true } js-sys = { version = "0.3.64", optional = true } wasm-bindgen-futures = { version = "0.4.37", optional = true } web-sys = { version = "0.3.64", features = [ "Request", "RequestInit", "Window", "WorkerGlobalScope", "RequestMode", "Response", "Headers", ], optional = true } ahash = "0.8.11" hyper-util = { version = "0.1.5", features = [ "server", "server-graceful", "tokio", "service", "client", ], optional = true } http-body-util = { version = "0.1.1", optional = true } toml = "0.8" pin-utils = "0.1.0" [target.'cfg(not(any(target_arch = "riscv64", target_arch = "loongarch64")))'.dependencies.reqwest] workspace = true default-features = false features = ["rustls-tls", "json", "stream", "socks", "blocking"] optional = true [target.'cfg(any(target_arch = "riscv64", target_arch = "loongarch64"))'.dependencies.reqwest] workspace = true default-features = false features = ["native-tls", "json", "stream", "socks", "blocking"] optional = true [target.'cfg(unix)'.dependencies] libc.workspace = true [target.'cfg(all(unix, not(target_os="ios")))'.dependencies] termios = { version = "0.3" } [target.'cfg(windows)'.dependencies] windows-sys = { version = "0.59", features = [ "Win32_System_SystemInformation", ] } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] terminal_size = { version = "0.3.0" } [dev-dependencies] wasmer = { path = "../api", version = "=5.0.1", default-features = false, features = [ "wat", "js-serializable-module", ] } tokio = { workspace = true, features = [ "sync", "macros", "rt", ], default-features = false } pretty_assertions.workspace = true tracing-test = "0.2.4" wasm-bindgen-test = "0.3.0" env_logger = { version = "0.11.5", default-features = false} log = "0.4.22" [target.'cfg(target_arch = "wasm32")'.dev-dependencies] wasm-bindgen-test = "0.3.0" tracing-wasm = "0.2" [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] tracing-subscriber = { version = "^0.3" } wasmer = { path = "../api", version = "=5.0.1", default-features = false, features = [ "wat", "js-serializable-module", "cranelift", ] } [features] default = ["sys-default"] time = ["tokio/time"] ctrlc = ["tokio/signal"] webc_runner_rt_wcgi = [ "hyper", "hyper-util", "http-body-util", "wcgi", "wcgi-host", "tower", "tower-http", ] webc_runner_rt_dcgi = ["webc_runner_rt_wcgi", "journal"] webc_runner_rt_dproxy = [ "hyper", "hyper-util", "http-body-util", "tower", "tower-http", "journal", ] sys = ["webc/mmap", "time", "virtual-mio/sys"] sys-default = [ "sys", "logging", "host-fs", "journal", "sys-poll", "sys-thread", "host-vnet", "host-threads", "host-reqwest", "ctrlc", ] sys-poll = [] extra-logging = [] sys-thread = ["tokio/rt", "tokio/time", "tokio/rt-multi-thread", "rusty_pool"] journal = ["tokio/fs", "wasmer-journal/log-file"] # Deprecated. Kept it for compatibility compiler = [] js = [ "virtual-fs/no-time", "getrandom/js", "chrono", "js-sys", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", ] js-default = ["js"] test-js = ["js", "wasmer/wat"] host-vnet = ["virtual-net/host-net"] host-threads = [] host-reqwest = ["reqwest"] host-fs = ["virtual-fs/host-fs"] remote-vnet = ["virtual-net/remote"] logging = ["tracing/log"] disable-all-logging = ["tracing/release_max_level_off", "tracing/max_level_off"] enable-serde = [ "typetag", "virtual-fs/enable-serde", "wasmer-wasix-types/enable-serde", ] [package.metadata.docs.rs] features = [ "wasmer/sys", "webc_runner_rt_wcgi", "webc_runner_rt_dcgi", "webc_runner_rt_dproxy", "sys-default", ] rustc-args = ["--cfg", "docsrs"]