[package]
edition = "2024"
rust-version = "1.90.0"
name = "wasmtime-cli"
version = "41.0.0"
authors = ["The Wasmtime Project Developers"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "wasmtime"
description = "Command-line interface for Wasmtime"
documentation = "https://bytecodealliance.github.io/wasmtime/cli.html"
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.binstall]
pkg-url = "{repo}/releases/download/v{version}/wasmtime-v{version}-{target-arch}-{target-family}{archive-suffix}"
bin-dir = "wasmtime-v{version}-{target-arch}-{target-family}/{bin}{binary-ext}"
pkg-fmt = "txz"
[package.metadata.binstall.overrides.x86_64-apple-darwin]
pkg-url = "{repo}/releases/download/v{version}/wasmtime-v{version}-{target-arch}-macos{archive-suffix}"
bin-dir = "wasmtime-v{version}-{target-arch}-macos/{bin}{binary-ext}"
[package.metadata.binstall.overrides.aarch64-apple-darwin]
pkg-url = "{repo}/releases/download/v{version}/wasmtime-v{version}-{target-arch}-macos{archive-suffix}"
bin-dir = "wasmtime-v{version}-{target-arch}-macos/{bin}{binary-ext}"
[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-fmt = "zip"
[package.metadata.binstall.overrides.x86_64-pc-windows-gnu]
pkg-fmt = "zip"
[package.metadata.binstall.overrides.x86_64-unknown-linux-musl]
pkg-url = "{repo}/releases/download/v{version}/wasmtime-v{version}-{target-arch}-musl{archive-suffix}"
bin-dir = "wasmtime-v{version}-{target-arch}-musl/{bin}{binary-ext}"
[features]
addr2line = ["wasmtime/addr2line"]
all-arch = ["wasmtime/all-arch"]
cache = [
"dep:wasmtime-cache",
"wasmtime-cli-flags/cache",
]
compile = ["cranelift"]
completion = ["dep:clap_complete"]
component-model = [
"wasmtime/component-model",
"wasmtime-wast?/component-model",
"wasmtime-cli-flags/component-model",
"wasmtime-wizer?/component-model",
]
component-model-async = [
"wasmtime-cli-flags/component-model-async",
"component-model",
"wasmtime-wasi?/p3",
"wasmtime-wasi-http?/p3",
"dep:futures",
]
config = ["cache"]
coredump = ["wasmtime-cli-flags/coredump"]
cranelift = [
"wasmtime-cli-flags/cranelift",
"dep:wasmtime-cranelift",
]
debug = [
"wasmtime-cli-flags/debug",
"wasmtime/debug",
]
debug-builtins = ["wasmtime/debug-builtins"]
default = [
"run",
"compile",
"explore",
"serve",
"wast",
"config",
"completion",
"objdump",
"wizer",
"wasi-nn",
"wasi-threads",
"wasi-http",
"wasi-config",
"wasi-keyvalue",
"wasi-tls",
"wat",
"parallel-compilation",
"pooling-allocator",
"cache",
"logging",
"demangle",
"cranelift",
"profiling",
"coredump",
"addr2line",
"debug-builtins",
"component-model",
"component-model-async",
"threads",
"gc",
"gc-drc",
"gc-null",
"stack-switching",
"winch",
"pulley",
"debug",
"clap/default",
"clap/wrap_help",
]
demangle = ["wasmtime/demangle"]
disable-logging = [
"log/max_level_off",
"tracing/max_level_off",
]
explore = [
"dep:wasmtime-explorer",
"dep:tempfile",
]
gc = [
"wasmtime-cli-flags/gc",
"wasmtime/gc",
]
gc-drc = [
"gc",
"wasmtime/gc-drc",
"wasmtime-cli-flags/gc-drc",
]
gc-null = [
"gc",
"wasmtime/gc-null",
"wasmtime-cli-flags/gc-null",
]
logging = ["wasmtime-cli-flags/logging"]
memory-protection-keys = ["wasmtime-cli-flags/memory-protection-keys"]
objdump = [
"dep:object",
"dep:cranelift-codegen",
"dep:capstone",
"dep:termcolor",
"dep:gimli",
"pulley-interpreter/disas",
]
parallel-compilation = ["wasmtime-cli-flags/parallel-compilation"]
pooling-allocator = [
"wasmtime/pooling-allocator",
"wasmtime-cli-flags/pooling-allocator",
]
profile-pulley = ["wasmtime/profile-pulley"]
profiling = [
"wasmtime/profiling",
"wasmtime/call-hook",
]
pulley = ["wasmtime-cli-flags/pulley"]
run = [
"dep:wasmtime-wasi",
"wasmtime/runtime",
"wasmtime/wave",
"dep:listenfd",
"dep:wasi-common",
"dep:tokio",
"wasmtime-cli-flags/async",
]
serve = [
"wasi-http",
"wasmtime-wasi-http/component-model-async",
"component-model",
"dep:http-body-util",
"dep:http",
"wasmtime-cli-flags/async",
]
stack-switching = [
"wasmtime/stack-switching",
"wasmtime-cli-flags/stack-switching",
]
threads = ["wasmtime-cli-flags/threads"]
trace-log = ["wasmtime/trace-log"]
wasi-config = ["dep:wasmtime-wasi-config"]
wasi-http = [
"component-model",
"dep:wasmtime-wasi-http",
"dep:tokio",
"dep:hyper",
"wasmtime-wasi-http/default-send-request",
]
wasi-keyvalue = ["dep:wasmtime-wasi-keyvalue"]
wasi-nn = ["dep:wasmtime-wasi-nn"]
wasi-threads = [
"dep:wasmtime-wasi-threads",
"threads",
]
wasi-tls = ["dep:wasmtime-wasi-tls"]
wast = ["dep:wasmtime-wast"]
wat = [
"dep:wat",
"wasmtime/wat",
]
winch = ["wasmtime/winch"]
wizer = [
"wasmtime-wizer",
"dep:wasmtime-wasi",
"dep:wasi-common",
"dep:tokio",
"wasmtime/wave",
]
wmemcheck = ["wasmtime/wmemcheck"]
[lib]
name = "wasmtime_cli"
path = "src/lib.rs"
doctest = false
[[bin]]
name = "wasmtime"
path = "src/bin/wasmtime.rs"
doc = false
[[example]]
name = "anyref"
path = "examples/anyref.rs"
[[example]]
name = "component"
path = "examples/component/main.rs"
[[example]]
name = "coredump"
path = "examples/coredump.rs"
[[example]]
name = "epochs"
path = "examples/epochs.rs"
[[example]]
name = "externref"
path = "examples/externref.rs"
[[example]]
name = "fast_compilation"
path = "examples/fast_compilation.rs"
[[example]]
name = "fast_execution"
path = "examples/fast_execution.rs"
[[example]]
name = "fast_instantiation"
path = "examples/fast_instantiation.rs"
[[example]]
name = "fib-debug"
path = "examples/fib-debug/main.rs"
[[example]]
name = "fuel"
path = "examples/fuel.rs"
[[example]]
name = "gcd"
path = "examples/gcd.rs"
[[example]]
name = "hello"
path = "examples/hello.rs"
[[example]]
name = "interrupt"
path = "examples/interrupt.rs"
[[example]]
name = "linking"
path = "examples/linking.rs"
[[example]]
name = "memory"
path = "examples/memory.rs"
[[example]]
name = "mpk"
path = "examples/mpk.rs"
[[example]]
name = "mpk-available"
path = "examples/mpk-available.rs"
[[example]]
name = "multi"
path = "examples/multi.rs"
[[example]]
name = "multimemory"
path = "examples/multimemory.rs"
[[example]]
name = "pre_compile"
path = "examples/pre_compile.rs"
[[example]]
name = "resource-component"
path = "examples/resource-component/main.rs"
[[example]]
name = "run_pre_compiled"
path = "examples/run_pre_compiled.rs"
[[example]]
name = "serialize"
path = "examples/serialize.rs"
[[example]]
name = "threads"
path = "examples/threads.rs"
[[example]]
name = "tokio"
path = "examples/tokio/main.rs"
required-features = ["wasi-common/tokio"]
[[example]]
name = "wasip1"
path = "examples/wasip1/main.rs"
[[example]]
name = "wasip1-async"
path = "examples/wasip1-async/main.rs"
[[example]]
name = "wasip2"
path = "examples/wasip2/main.rs"
[[example]]
name = "wasip2-async"
path = "examples/wasip2-async/main.rs"
[[test]]
name = "all"
path = "tests/all/main.rs"
[[test]]
name = "disable_host_trap_handlers"
path = "tests/disable_host_trap_handlers.rs"
[[test]]
name = "disas"
path = "tests/disas.rs"
harness = false
[[test]]
name = "pcc_memory"
path = "tests/pcc_memory.rs"
[[test]]
name = "rlimited-memory"
path = "tests/rlimited-memory.rs"
[[test]]
name = "wasi"
path = "tests/wasi.rs"
harness = false
[[test]]
name = "wast"
path = "tests/wast.rs"
harness = false
[[bench]]
name = "call"
path = "benches/call.rs"
harness = false
[[bench]]
name = "compile"
path = "benches/compile.rs"
harness = false
[[bench]]
name = "instantiation"
path = "benches/instantiation.rs"
harness = false
[[bench]]
name = "thread_eager_init"
path = "benches/thread_eager_init.rs"
harness = false
[[bench]]
name = "trap"
path = "benches/trap.rs"
harness = false
[[bench]]
name = "wasi"
path = "benches/wasi.rs"
harness = false
[dependencies.anyhow]
version = "1.0.100"
features = ["std"]
default-features = false
[dependencies.async-trait]
version = "0.1.89"
[dependencies.bytes]
version = "1.10.1"
default-features = false
[dependencies.capstone]
version = "0.13.0"
optional = true
[dependencies.cfg-if]
version = "1.0"
[dependencies.clap]
version = "4.5.48"
features = [
"std",
"derive",
]
default-features = false
[dependencies.clap_complete]
version = "4.5.58"
optional = true
[dependencies.cranelift-codegen]
version = "0.128.0"
features = [
"std",
"unwind",
"disas",
]
optional = true
default-features = false
[dependencies.futures]
version = "0.3.31"
optional = true
default-features = false
[dependencies.gimli]
version = "0.32.3"
features = ["read"]
optional = true
default-features = false
[dependencies.http]
version = "1.3.1"
optional = true
[dependencies.http-body-util]
version = "0.1.3"
optional = true
[dependencies.hyper]
version = "1.7.0"
optional = true
[dependencies.listenfd]
version = "1.0.0"
optional = true
[dependencies.log]
version = "0.4.28"
default-features = false
[dependencies.object]
version = "0.37.3"
features = [
"read_core",
"elf",
]
optional = true
default-features = false
[dependencies.pulley-interpreter]
version = "=41.0.0"
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["alloc"]
default-features = false
[dependencies.serde_derive]
version = "1.0.228"
[dependencies.serde_json]
version = "1.0.80"
[dependencies.smallvec]
version = "1.15.1"
features = ["union"]
[dependencies.target-lexicon]
version = "0.13.0"
[dependencies.tempfile]
version = "3.23.0"
optional = true
[dependencies.termcolor]
version = "1.4.1"
optional = true
[dependencies.tokio]
version = "1.48.0"
features = [
"rt",
"time",
"signal",
"macros",
]
optional = true
[dependencies.tracing]
version = "0.1.41"
[dependencies.wasi-common]
version = "=41.0.0"
features = [
"exit",
"tokio",
]
optional = true
default-features = true
[dependencies.wasmparser]
version = "0.243.0"
features = ["simd"]
default-features = false
[dependencies.wasmtime]
version = "41.0.0"
features = ["std"]
default-features = false
[dependencies.wasmtime-cache]
version = "=41.0.0"
optional = true
package = "wasmtime-internal-cache"
[dependencies.wasmtime-cli-flags]
version = "=41.0.0"
[dependencies.wasmtime-cranelift]
version = "=41.0.0"
optional = true
package = "wasmtime-internal-cranelift"
[dependencies.wasmtime-environ]
version = "=41.0.0"
[dependencies.wasmtime-explorer]
version = "=41.0.0"
optional = true
package = "wasmtime-internal-explorer"
[dependencies.wasmtime-unwinder]
version = "=41.0.0"
package = "wasmtime-internal-unwinder"
[dependencies.wasmtime-wasi]
version = "41.0.0"
optional = true
default-features = true
[dependencies.wasmtime-wasi-config]
version = "41.0.0"
optional = true
[dependencies.wasmtime-wasi-http]
version = "41.0.0"
optional = true
default-features = false
[dependencies.wasmtime-wasi-keyvalue]
version = "41.0.0"
optional = true
[dependencies.wasmtime-wasi-nn]
version = "41.0.0"
optional = true
[dependencies.wasmtime-wasi-threads]
version = "41.0.0"
optional = true
[dependencies.wasmtime-wasi-tls]
version = "41.0.0"
optional = true
[dependencies.wasmtime-wast]
version = "=41.0.0"
optional = true
[dependencies.wasmtime-wizer]
version = "41.0.0"
features = [
"clap",
"wasmtime",
]
optional = true
[dependencies.wat]
version = "1.243.0"
optional = true
[dev-dependencies.async-trait]
version = "0.1.89"
[dev-dependencies.bstr]
version = "1.6.0"
[dev-dependencies.bytesize]
version = "2.0.1"
[dev-dependencies.capstone]
version = "0.13.0"
[dev-dependencies.cranelift-codegen]
version = "0.128.0"
features = [
"std",
"unwind",
"disas",
"trace-log",
"timing",
]
default-features = false
[dev-dependencies.cranelift-native]
version = "0.128.0"
[dev-dependencies.cranelift-reader]
version = "0.128.0"
[dev-dependencies.criterion]
version = "0.7.0"
features = [
"html_reports",
"rayon",
]
default-features = false
[dev-dependencies.env_logger]
version = "0.11.5"
[dev-dependencies.filecheck]
version = "0.5.0"
[dev-dependencies.futures]
version = "0.3.31"
default-features = false
[dev-dependencies.libc]
version = "0.2.177"
default-features = true
[dev-dependencies.libtest-mimic]
version = "0.8.1"
[dev-dependencies.log]
version = "0.4.28"
default-features = false
[dev-dependencies.memchr]
version = "2.4"
[dev-dependencies.num_cpus]
version = "1.17.0"
[dev-dependencies.object]
version = "0.37.3"
features = [
"read_core",
"elf",
"std",
]
default-features = false
[dev-dependencies.pulley-interpreter]
version = "=41.0.0"
features = ["disas"]
[dev-dependencies.rayon]
version = "1.5.0"
[dev-dependencies.serde]
version = "1.0.228"
features = ["alloc"]
default-features = false
[dev-dependencies.serde_json]
version = "1.0.80"
[dev-dependencies.similar]
version = "2.7.0"
[dev-dependencies.tempfile]
version = "3.23.0"
[dev-dependencies.tokio]
version = "1.48.0"
features = [
"rt",
"time",
"rt",
"time",
"macros",
"rt-multi-thread",
]
[dev-dependencies.toml]
version = "0.9.8"
[dev-dependencies.walkdir]
version = "2.5.0"
[dev-dependencies.wasm-encoder]
version = "0.243.0"
[dev-dependencies.wasmtime]
version = "41.0.0"
features = [
"default",
"winch",
"pulley",
"all-arch",
"call-hook",
"memory-protection-keys",
"component-model-async",
]
default-features = false
[dev-dependencies.wasmtime-component-util]
version = "=41.0.0"
package = "wasmtime-internal-component-util"
[dev-dependencies.wasmtime-wast]
version = "=41.0.0"
features = ["component-model"]
[dev-dependencies.wast]
version = "243.0.0"
[dev-dependencies.wat]
version = "1.243.0"
[dev-dependencies.wit-component]
version = "0.243.0"
[build-dependencies.anyhow]
version = "1.0.100"
features = ["std"]
default-features = false
[target."cfg(unix)".dependencies.rustix]
version = "1.0.8"
features = [
"mm",
"process",
]
[target."cfg(unix)".dev-dependencies.rustix]
version = "1.0.8"
features = ["param"]
[target."cfg(windows)".dev-dependencies.windows-sys]
version = "0.61.2"
features = ["Win32_System_Memory"]
[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)",
]
[profile.dev.package.wasi-preview1-component-adapter]
opt-level = "s"
debug-assertions = false
overflow-checks = false
incremental = false
[profile.dev.package.wit-bindgen]
opt-level = "s"
debug-assertions = false
overflow-checks = false
incremental = false
[profile.fastest-runtime]
lto = true
codegen-units = 1
inherits = "release"
[profile.profiling]
debug = "line-tables-only"
inherits = "bench"
[profile.release.package.wasi-preview1-component-adapter]
opt-level = "s"
strip = "debuginfo"
[profile.release.build-override]
opt-level = 0