[package]
edition = "2021"
name = "wrpc"
version = "0.17.0"
authors = ["Roman Volosatovs <rvolosatovs@riseup.net>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "WebAssembly component-native RPC framework based on WIT"
homepage = "https://github.com/bytecodealliance/wrpc"
readme = "README.md"
categories = ["wasm"]
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wrpc"
[features]
bin = [
"bin-bindgen",
"bin-wasmtime",
]
bin-bindgen = [
"dep:clap",
"dep:wit-bindgen-core",
"dep:wit-bindgen-wrpc-go",
"wit-bindgen-wrpc-go/clap",
"wit-bindgen-wrpc-rust/clap",
]
bin-wasmtime = [
"dep:tokio",
"dep:wrpc-wasmtime-cli",
"tokio/rt-multi-thread",
]
default = [
"bin",
"nats",
"net",
"quic",
"wasmtime",
"web-transport",
]
nats = [
"dep:async-nats",
"dep:wrpc-transport-nats",
"wrpc-cli/nats",
]
net = ["wrpc-transport/net"]
quic = ["dep:wrpc-transport-quic"]
wasmtime = ["dep:wrpc-runtime-wasmtime"]
web-transport = ["dep:wrpc-transport-web"]
[lib]
name = "wrpc"
path = "src/lib.rs"
[[bin]]
name = "wit-bindgen-wrpc"
path = "src/bin/wit-bindgen-wrpc.rs"
required-features = ["bin-bindgen"]
[[bin]]
name = "wrpc-wasmtime"
path = "src/bin/wrpc-wasmtime.rs"
required-features = ["bin-wasmtime"]
[[test]]
name = "go"
path = "tests/go.rs"
[[test]]
name = "rust"
path = "tests/rust.rs"
[[bench]]
name = "bench"
path = "benches/bench.rs"
harness = false
[dependencies.anyhow]
version = "1"
features = ["std"]
default-features = false
[dependencies.async-nats]
version = "0.49"
optional = true
default-features = false
[dependencies.clap]
version = "4"
features = [
"color",
"derive",
"error-context",
"help",
"std",
"suggestions",
"usage",
]
optional = true
default-features = false
[dependencies.tokio]
version = "1"
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
features = ["attributes"]
default-features = false
[dependencies.wit-bindgen-core]
version = "0.36"
optional = true
default-features = false
[dependencies.wit-bindgen-wrpc]
version = "0.11"
default-features = false
[dependencies.wit-bindgen-wrpc-go]
version = "0.13"
optional = true
default-features = false
[dependencies.wit-bindgen-wrpc-rust]
version = "0.11"
optional = true
default-features = false
[dependencies.wrpc-cli]
version = "0.8"
optional = true
default-features = false
[dependencies.wrpc-runtime-wasmtime]
version = "0.31"
optional = true
default-features = false
[dependencies.wrpc-transport]
version = "0.29"
default-features = false
[dependencies.wrpc-transport-nats]
version = "0.31"
optional = true
default-features = false
[dependencies.wrpc-transport-quic]
version = "0.6"
optional = true
default-features = false
[dependencies.wrpc-transport-web]
version = "0.3"
optional = true
default-features = false
[dependencies.wrpc-wasmtime-cli]
version = "0.9"
optional = true
default-features = false
[dev-dependencies.anyhow]
version = "1"
default-features = false
[dev-dependencies.bytes]
version = "1"
default-features = false
[dev-dependencies.criterion]
version = "0.8"
features = [
"async_tokio",
"cargo_bench_support",
"html_reports",
"plotters",
"rayon",
]
default-features = false
[dev-dependencies.futures]
version = "0.3"
default-features = false
[dev-dependencies.tempfile]
version = "3"
default-features = false
[dev-dependencies.test-log]
version = "0.2"
features = [
"color",
"log",
"trace",
]
default-features = false
[dev-dependencies.tokio]
version = "1"
features = [
"process",
"rt-multi-thread",
]
default-features = false
[dev-dependencies.tokio-util]
version = "0.7"
default-features = false
[dev-dependencies.wasmtime]
version = "45"
default-features = false
[dev-dependencies.wasmtime-cli-flags]
version = "45"
features = [
"async",
"cache",
"component-model",
"coredump",
"cranelift",
"gc",
"memory-protection-keys",
"parallel-compilation",
"pooling-allocator",
"threads",
]
default-features = false
[dev-dependencies.wasmtime-wasi]
version = "45"
default-features = false
[dev-dependencies.wrpc-transport]
version = "0.29"
features = ["net"]
default-features = false
[profile.bench]
debug = 2