wasmer-wasix 0.2.0

WASI and WASIX implementation library for Wasmer WebAssembly runtime
[package]
name = "wasmer-wasix"
version = "0.2.0"
description = "WASI and WASIX implementation library for Wasmer WebAssembly runtime"
categories = ["wasm", "os"]
keywords = ["wasm", "webassembly", "wasi", "sandbox", "ABI"]
authors = ["Wasmer Engineering Team <engineering@wasmer.io>"]
repository = "https://github.com/wasmerio/wasmer"
license = "MIT"
readme = "README.md"
edition = "2018"

[dependencies]
cfg-if = "1.0"
thiserror = "1"
tracing = { version = "0.1" }
getrandom = "0.2"
wasmer-wasix-types = { path = "../wasi-types", version = "0.2.0" }
wasmer-types = { path = "../types", version = "=3.2.0-beta.2", default-features = false }
wasmer = { path = "../api", version = "=3.2.0-beta.2", default-features = false, features = ["wat", "js-serializable-module"] }
virtual-fs = { path = "../vfs", version = "0.1.1", default-features = false, features = ["webc-fs"] }
virtual-net = { path = "../vnet", version = "0.1.0", default-features = false }
wasmer-emscripten = { path = "../emscripten", version = "=3.2.0-beta.2", optional = true }
typetag = { version = "0.1", optional = true }
serde = { version = "1.0", default-features = false, features = ["derive"] }
bincode = { version = "1.3" }
chrono = { version = "^0.4", default-features = false, features = [ "wasmbind", "std", "clock" ], optional = true }
derivative = { version = "^2" }
bytes = "1"
webc = { version = "=5.0.0-rc.5", default-features = false }
serde_cbor = { version = "0.11.2", optional = true }
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 = { version = "1", features = ["sync", "macros", "time", "rt"], default_features = false }
futures = { version = "0.3" }
# used by feature='os'
async-trait = { version = "^0.1" }
urlencoding = { version = "^2" }
serde_derive = { version = "^1" }
serde_json = { version = "^1" }
serde_yaml = { version = "^0.8" }
shellexpand = { version = "^2" }
weezl = { version = "^0.1" }
hex = { version = "^0.4" }
term_size = { version = "0.3" }
linked_hash_set = { version = "0.1" }
# used by feature='host-termios'
termios = { version = "0.3", optional = true }
http = "0.2.8"
wai-bindgen-wasmer = { path = "../wai-bindgen-wasmer", version = "0.2.4", features = ["tracing"] }
heapless = "0.7.16"
once_cell = "1.17.0"
pin-project = "1.0.12"
# Used by the WCGI runner
hyper = { version = "0.14", features = ["server", "stream"], optional = true }
wcgi = { version = "0.1.2", optional = true }
wcgi-host = { version = "0.1.2", optional = true }
tower-http = { version = "0.4.0", features = ["trace", "util", "catch-panic", "cors"], optional = true }
tower = { version = "0.4.13", features = ["make", "util"], optional = true }

[target.'cfg(not(target_arch = "riscv64"))'.dependencies.reqwest]
version = "0.11"
default-features = false
features = ["rustls-tls", "json"]
optional = true

[target.'cfg(target_arch = "riscv64")'.dependencies.reqwest]
version = "0.11"
default-features = false
features = ["native-tls", "json"]
optional = true

[target.'cfg(unix)'.dependencies]
libc = { version = "^0.2", default-features = false }
termios = { version = "0.3" }

[target.'cfg(windows)'.dependencies]
winapi = "0.3"

[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = "0.2.74"

[dev-dependencies]
wasmer = { path = "../api", version = "=3.2.0-beta.2", default-features = false, features = ["wat", "js-serializable-module"] }
tokio = { version = "1", features = [ "sync", "macros", "rt" ], default_features = false }
tempfile = "3.4.0"

[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.2" }
wasmer = { path = "../api", version = "=3.2.0-beta.2", default-features = false, features = ["wat", "js-serializable-module", "cranelift"] }

[features]
default = ["sys-default"]

time = ["tokio/time"]

webc_runner = ["serde_cbor"]
webc_runner_rt_wasi = []
webc_runner_rt_wcgi = ["hyper", "wcgi", "wcgi-host", "tower", "tower-http"]
webc_runner_rt_emscripten = ["wasmer-emscripten"]

sys = ["webc/mmap", "time"]
sys-default = ["sys", "logging", "host-fs", "sys-poll", "sys-thread", "host-vnet", "host-threads", "host-reqwest" ]
sys-poll = []
sys-thread = ["tokio/rt", "tokio/time", "tokio/rt-multi-thread"]

# Deprecated. Kept it for compatibility
compiler = []

js = ["virtual-fs/no-time", "getrandom/js", "chrono"]
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"]

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",
]