[package] name = "wash-lib" version = "0.31.1" categories = ["wasm"] description = "wasmCloud Shell (wash) libraries" keywords = ["webassembly", "wasmcloud", "wash", "cli"] readme = "README.md" authors.workspace = true edition.workspace = true license.workspace = true repository.workspace = true [badges] maintenance = { status = "actively-developed" } [features] default = ["start", "parser", "nats", "plugin"] start = ["semver"] parser = ["config", "semver"] cli = [ "clap", "term-table", "console", "dialoguer", "heck", "ignore", "indicatif", "path-absolutize", ] nats = ["dep:async-nats", "wadm-types"] docs = [] plugin = ["wasmtime", "wasmtime-wasi", "wasmtime-wasi-http"] [package.metadata.docs.rs] features = ["start", "parser", "nats", "docs"] [dependencies] anyhow = { workspace = true } async-compression = { workspace = true, features = ["tokio", "gzip"] } async-nats = { workspace = true, optional = true } bytes = { workspace = true, features = ["serde"] } cargo_metadata = { workspace = true } cargo_toml = { workspace = true } chrono = { workspace = true } clap = { workspace = true, features = [ "std", "derive", "env", ], optional = true } cloudevents-sdk = { workspace = true } command-group = { workspace = true, features = ["with-tokio"] } config = { workspace = true, features = ["toml"], optional = true } console = { workspace = true, optional = true } dialoguer = { workspace = true, optional = true } etcetera = { workspace = true } futures = { workspace = true } heck = { workspace = true, optional = true } humantime = { workspace = true } ignore = { workspace = true, optional = true } indicatif = { workspace = true, optional = true } nkeys = { workspace = true } normpath = { workspace = true } oci-client = { workspace = true, features = ["rustls-tls"] } oci-wasm = { workspace = true, features = ["rustls-tls"] } path-absolutize = { workspace = true, features = [ "once_cell_cache", ], optional = true } provider-archive = { workspace = true } regex = { workspace = true } reqwest = { workspace = true, features = ["json", "rustls-tls", "stream"] } rmp-serde = { workspace = true } semver = { workspace = true, features = ["serde"], optional = true } serde = { workspace = true, features = ["derive"] } serde-transcode = { workspace = true } serde_cbor = { workspace = true, features = ["std"] } serde_json = { workspace = true } serde_with = { workspace = true, features = ["macros"] } serde_yaml = { workspace = true } sha2 = { workspace = true } tempfile = { workspace = true } term-table = { workspace = true, optional = true } thiserror = { workspace = true } time = { workspace = true } tokio = { workspace = true, features = ["process", "fs", "io-std"] } tokio-stream = { workspace = true } tokio-tar = { workspace = true } tokio-util = { workspace = true } toml = { workspace = true, features = ["parse"] } tracing = { workspace = true, features = ["log"] } url = { workspace = true } wadm-client = { workspace = true } wadm-types = { workspace = true, optional = true } walkdir = { workspace = true } wascap = { workspace = true } wasi-preview1-component-adapter-provider = { workspace = true } wasm-encoder = { workspace = true } wasmcloud-control-interface = { workspace = true } wasm-pkg-client = { workspace = true } wasm-pkg-core = { workspace = true } wasmcloud-core = { workspace = true, features = [ "oci", "reqwest", "rustls-native-certs", ] } wasmparser = { workspace = true } wasmtime = { workspace = true, optional = true, features = [ "cranelift", "cache", "component-model", "gc", ] } wasmtime-wasi = { workspace = true, optional = true } wasmtime-wasi-http = { workspace = true, optional = true } wat = { workspace = true } weld-codegen = { workspace = true, features = ["wasmbus"] } wit-component = { workspace = true } wit-parser = { workspace = true } [build-dependencies] tokio = { workspace = true, features = [ "fs", "rt-multi-thread", "time", "macros", "net", ] } testcontainers = { workspace = true } [dev-dependencies] claims = { workspace = true } serial_test = { workspace = true } tempfile = { workspace = true } test-case = { workspace = true } tokio = { workspace = true } toml = { workspace = true } wasmcloud-test-util = { workspace = true, features = ["testcontainers"] } wasmparser = { workspace = true }