[package]
edition = "2024"
rust-version = "1.90.0"
name = "wasi-common"
version = "41.0.2"
authors = ["The Wasmtime Project Developers"]
build = false
include = [
"src/**/*",
"tests/**/*",
"witx",
"README.md",
"LICENSE",
"build.rs",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "WASI implementation in Rust"
readme = "README.md"
keywords = [
"webassembly",
"wasm",
]
categories = ["wasm"]
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wasmtime"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
[features]
default = [
"trace_log",
"wasmtime",
"sync",
]
exit = [
"wasmtime",
"dep:libc",
]
sync = [
"dep:cap-fs-ext",
"dep:cap-time-ext",
"dep:fs-set-times",
"dep:system-interface",
"dep:io-lifetimes",
]
tokio = [
"sync",
"wasmtime/async",
"wiggle/wasmtime_async",
"dep:tokio",
]
trace_log = [
"wiggle/tracing_log",
"tracing/log",
]
wasmtime = [
"dep:wasmtime",
"wiggle/wasmtime",
]
wiggle_metadata = ["wiggle/wiggle_metadata"]
[lib]
name = "wasi_common"
path = "src/lib.rs"
[[test]]
name = "all"
path = "tests/all/main.rs"
[dependencies.anyhow]
version = "1.0.100"
features = ["std"]
default-features = false
[dependencies.async-trait]
version = "0.1.89"
[dependencies.bitflags]
version = "2.9.4"
[dependencies.cap-fs-ext]
version = "3.4.5"
optional = true
[dependencies.cap-rand]
version = "3.4.5"
features = ["small_rng"]
[dependencies.cap-std]
version = "3.4.5"
[dependencies.cap-time-ext]
version = "3.4.5"
optional = true
[dependencies.fs-set-times]
version = "0.20.3"
optional = true
[dependencies.io-lifetimes]
version = "2.0.3"
optional = true
default-features = false
[dependencies.libc]
version = "0.2.177"
optional = true
default-features = true
[dependencies.log]
version = "0.4.28"
default-features = false
[dependencies.system-interface]
version = "0.27.3"
features = [
"cap_std_impls",
"cap_std_impls",
]
optional = true
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokio]
version = "1.48.0"
features = [
"rt",
"time",
"rt",
"fs",
"time",
"io-util",
"net",
"io-std",
"rt-multi-thread",
]
optional = true
[dependencies.tracing]
version = "0.1.41"
[dependencies.wasmtime]
version = "41.0.2"
features = ["runtime"]
optional = true
default-features = false
[dependencies.wiggle]
version = "=41.0.2"
default-features = false
[dev-dependencies.tempfile]
version = "3.23.0"
[dev-dependencies.test-log]
version = "0.2.18"
features = ["trace"]
default-features = false
[dev-dependencies.tokio]
version = "1.48.0"
features = [
"rt",
"time",
"macros",
"rt-multi-thread",
]
[dev-dependencies.tracing-subscriber]
version = "0.3.20"
features = [
"fmt",
"env-filter",
"ansi",
"tracing-log",
]
default-features = false
[dev-dependencies.wasmtime]
version = "41.0.2"
features = [
"cranelift",
"async",
"runtime",
]
default-features = false
[target."cfg(unix)".dependencies.rustix]
version = "1.0.8"
features = [
"fs",
"event",
]
[target."cfg(windows)".dependencies.io-extras]
version = "0.18.4"
[target."cfg(windows)".dependencies.rustix]
version = "1.0.8"
features = ["net"]
[target."cfg(windows)".dependencies.windows-sys]
version = "0.61.2"
features = [
"Win32_Foundation",
"Win32_Networking_WinSock",
]
[lints.clippy]
allow_attributes_without_reason = "warn"
clone_on_copy = "warn"
extra_unused_type_parameters = "warn"
from_over_into = "warn"
manual_strip = "warn"
map_clone = "warn"
multiple_bound_locations = "warn"
redundant_field_names = "warn"
uninlined_format_args = "warn"
unnecessary_cast = "warn"
unnecessary_fallible_conversions = "warn"
unnecessary_mut_passed = "warn"
unnecessary_to_owned = "warn"
useless_conversion = "warn"
[lints.clippy.all]
level = "allow"
priority = -1
[lints.rust]
trivial_numeric_casts = "warn"
unstable_features = "warn"
unused-lifetimes = "warn"
unused-macro-rules = "warn"
unused_extern_crates = "warn"
unused_import_braces = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(pulley_tail_calls)",
"cfg(pulley_assume_llvm_makes_tail_calls)",
"cfg(pulley_disable_interp_simd)",
]