-
Notifications
You must be signed in to change notification settings - Fork 22
/
Cargo.toml
186 lines (174 loc) · 7.64 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
[package]
description = "WebAssembly component-native RPC framework based on WIT"
name = "wrpc"
version = "0.15.0"
authors.workspace = true
categories.workspace = true
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
[workspace.package]
authors = ["Roman Volosatovs <[email protected]>"]
categories = ["wasm"]
edition = "2021"
homepage = "https://github.com/bytecodealliance/wrpc"
license = "Apache-2.0 WITH LLVM-exception"
repository = "https://github.com/bytecodealliance/wrpc"
[workspace]
members = [
"benches/reactor",
"crates/*",
"examples/rust/*",
"examples/web/rust",
]
[features]
default = ["bin", "nats", "net", "quic", "wasmtime", "web-transport"]
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"]
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"]
[[bin]]
name = "wit-bindgen-wrpc"
required-features = ["bin-bindgen"]
[[bin]]
name = "wrpc-wasmtime"
required-features = ["bin-wasmtime"]
[[bench]]
name = "bench"
harness = false
[profile.bench]
debug = true
[dependencies]
anyhow = { workspace = true, features = ["std"] }
async-nats = { workspace = true, optional = true }
clap = { workspace = true, features = [
"color",
"derive",
"error-context",
"help",
"std",
"suggestions",
"usage",
], optional = true }
tokio = { workspace = true, optional = true }
tracing = { workspace = true, features = ["attributes"] }
wit-bindgen-core = { workspace = true, optional = true }
wit-bindgen-wrpc = { workspace = true }
wit-bindgen-wrpc-go = { workspace = true, optional = true }
wit-bindgen-wrpc-rust = { workspace = true, optional = true }
wrpc-cli = { workspace = true, optional = true }
wrpc-runtime-wasmtime = { workspace = true, optional = true }
wrpc-transport = { workspace = true }
wrpc-transport-nats = { workspace = true, features = [
"async-nats-0_38",
], optional = true }
wrpc-transport-quic = { workspace = true, optional = true }
wrpc-transport-web = { workspace = true, optional = true }
wrpc-wasmtime-cli = { workspace = true, optional = true }
[dev-dependencies]
anyhow = { workspace = true }
bytes = { workspace = true }
criterion = { workspace = true, features = [
"async_tokio",
"cargo_bench_support",
"html_reports",
"plotters",
"rayon",
] }
futures = { workspace = true }
tempfile = { workspace = true }
test-log = { workspace = true, features = ["color", "log", "trace"] }
tokio = { workspace = true, features = ["process", "rt-multi-thread"] }
wasmtime = { workspace = true }
wasmtime-wasi = { workspace = true }
wasmtime-cli-flags = { workspace = true, features = [
"async",
"cache",
"component-model",
"coredump",
"cranelift",
"gc",
"memory-protection-keys",
"parallel-compilation",
"pooling-allocator",
"threads",
] }
wrpc-test = { workspace = true, features = ["nats", "quic", "web-transport"] }
wrpc-transport = { workspace = true, features = ["net"] }
[workspace.dependencies]
anyhow = { version = "1", default-features = false }
async-nats = { version = "0.38", default-features = false }
axum = { version = "0.7", default-features = false }
bitflags = { version = "2", default-features = false }
bytes = { version = "1", default-features = false }
clap = { version = "4", default-features = false }
criterion = { version = "0.5", default-features = false }
futures = { version = "0.3", default-features = false }
heck = { version = "0.5", default-features = false }
humantime = { version = "2.1", default-features = false }
nuid = { version = "0.5", default-features = false }
pin-project-lite = { version = "0.2", default-features = false }
prettyplease = { version = "0.2.25", default-features = false }
proc-macro2 = { version = "1", default-features = false }
quinn = { version = "0.11", default-features = false }
quote = { version = "1", default-features = false }
rcgen = { version = "0.13", default-features = false }
redis = { version = "0.27", default-features = false }
reqwest = { version = "0.11", default-features = false }
rustls = { version = "0.23", default-features = false }
send-future = { version = "0.1", default-features = false }
serde = { version = "1", default-features = false }
serde_json = { version = "1", default-features = false }
syn = { version = "2", default-features = false, features = ["printing"] }
tempfile = { version = "3", default-features = false }
test-helpers = { default-features = false, path = "./crates/test-helpers" }
test-log = { version = "0.2", default-features = false }
tokio = { version = "1", default-features = false }
tokio-stream = { version = "0.1", default-features = false }
tokio-util = { version = "0.7", default-features = false }
tower = { version = "0.5", default-features = false }
tower-http = { version = "0.6", default-features = false }
tracing = { version = "0.1", default-features = false }
tracing-subscriber = { version = "0.3", default-features = false }
url = { version = "2" }
uuid = { version = "1", default-features = false }
wasi = { version = "0.13", default-features = false }
wasi-preview1-component-adapter-provider = { version = "27", default-features = false }
wasm-tokio = { version = "0.6", default-features = false }
wasmparser = { version = "0.221", default-features = false }
wasmtime = { version = "27", default-features = false }
wasmtime-cli-flags = { version = "27", default-features = false }
wasmtime-wasi = { version = "27", default-features = false }
wasmtime-wasi-http = { version = "27", default-features = false }
wit-bindgen = { version = "0.36", default-features = false }
wit-bindgen-core = { version = "0.36", default-features = false }
wit-bindgen-wrpc = { version = "0.9", default-features = false, path = "./crates/wit-bindgen" }
wit-bindgen-wrpc-go = { version = "0.11", default-features = false, path = "./crates/wit-bindgen-go" }
wit-bindgen-wrpc-rust = { version = "0.9", default-features = false, path = "./crates/wit-bindgen-rust" }
wit-bindgen-wrpc-rust-macro = { version = "0.9", default-features = false, path = "./crates/wit-bindgen-rust-macro" }
wit-component = { version = "0.221", default-features = false }
wit-parser = { version = "0.220", default-features = false }
wrpc-cli = { version = "0.5", path = "./crates/cli", default-features = false }
wrpc-introspect = { version = "0.6", default-features = false, path = "./crates/introspect" }
wrpc-runtime-wasmtime = { version = "0.26", path = "./crates/runtime-wasmtime", default-features = false }
wrpc-test = { path = "./crates/test", default-features = false }
wrpc-transport = { version = "0.28.3", path = "./crates/transport", default-features = false }
wrpc-transport-nats = { version = "0.28", path = "./crates/transport-nats", default-features = false }
wrpc-transport-quic = { version = "0.4", path = "./crates/transport-quic", default-features = false }
wrpc-transport-web = { version = "0.1", path = "./crates/transport-web", default-features = false }
wrpc-wasi-keyvalue = { version = "0.1.1", path = "./crates/wasi-keyvalue", default-features = false }
wrpc-wasi-keyvalue-mem = { version = "0.1", path = "./crates/wasi-keyvalue-mem", default-features = false }
wrpc-wasi-keyvalue-redis = { version = "0.1", path = "./crates/wasi-keyvalue-redis", default-features = false }
wrpc-wasmtime-cli = { version = "0.4", path = "./crates/wasmtime-cli", default-features = false }
wtransport = { version = "0.4", default-features = false }