forked from specta-rs/rspc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
71 lines (57 loc) · 2.49 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
[package]
name = "rspc"
description = "A blazing fast and easy to use tRPC server for Rust."
version = "1.0.0-rc.5"
authors = ["Oscar Beaumont <[email protected]>"]
edition = "2021"
license = "MIT"
include = ["/src", "/LICENCE", "/README.md"]
repository = "https://github.com/oscartbeaumont/rspc"
documentation = "https://docs.rs/rspc/latest/rspc"
keywords = ["async", "specta", "rust-to-ts", "typescript", "typesafe"]
categories = ["web-programming", "asynchronous"]
# /bin/sh RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --all-features
[package.metadata."docs.rs"]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[[test]]
name = "tests"
path = "tests/tauri/tauri_test.rs"
harness = false
[[bench]]
name = "benchmarks"
harness = false
[features]
default = ["typescript"]
typescript = ["rspc-core/typescript", "specta/typescript"]
tracing = ["rspc-core/tracing", "dep:tracing"]
unstable = ["rspc-core/unstable"] # APIs where one line of code can blow up your whole app
[dependencies]
rspc-core = { path = "./crates/core" }
specta = { workspace = true }
serde = { workspace = true }
thiserror = { workspace = true }
futures = { version = "0.3.28", default-features = false, features = ["std", "async-await"] } # TODO: Drop for `futures_core` if possible
pin-project-lite = "0.2.13"
# Optional
serde_json = { version = "1", default-features = false }
tracing = { version = "0.1.37", default-features = false, optional = true }
# Even though this `cfg` can never be enabled, it still forces cargo to keep `rspc-core` in lockstep with `rspc`.
[target.'cfg(any())'.dependencies]
rspc-core = { version = "=1.0.0-rc.5", path = "./crates/core" }
[dev-dependencies]
# Tests
async-stream = "0.3.5"
tokio = { version = "1.32.0", features = ["macros", "rt-multi-thread"] }
tauri = { version = "1.4.1", features = ["api-all"] }
# Benchmark
criterion = { version = "0.5", features = ["async_tokio", "html_reports"] }
pprof = { version = "0.13.0", features = ["flamegraph", "criterion", "protobuf-codec", "frame-pointer"] }
[workspace]
members = ["./crates/*", "./examples", "./examples/axum", "./examples/vercel", "./examples/tauri/src-tauri"]
[workspace.dependencies]
specta = { version = "=2.0.0-rc.1", default-features = false, features = ["serde", "serde_json"] }
serde = { version = "1", default-features = false, features = ["derive"] }
thiserror = { version = "1.0.49", default-features = false }
[patch.crates-io]
specta = { git = "https://github.com/oscartbeaumont/specta", rev = "5948d80f2551780eda2c7bf38450fc796c74cfbf" }