Monorepo for Tangled
tangled.org
1[workspace]
2resolver = "2"
3members = ["bobbin/crates/*", "shuttle"]
4exclude = ["sites"]
5
6[workspace.package]
7version = "0.0.1"
8edition = "2024"
9rust-version = "1.96"
10license = "MIT"
11authors = [
12 "Lewis <lewis@tangled.org>",
13 "Seongmin Lee <git@boltless.me>",
14 "oppiliappan <me@oppi.li>",
15 "Anirudh Oppiliappan <anirudh@tangled.org>",
16 "eti <eti@eti.tf>",
17 "dawn <dawn@tangled.org>",
18]
19
20[workspace.lints.rust]
21unsafe_code = "forbid"
22unused_must_use = "deny"
23
24[workspace.lints.clippy]
25dbg_macro = "warn"
26todo = "warn"
27print_stdout = "deny"
28print_stderr = "warn"
29
30[workspace.dependencies]
31bobbin-types = { path = "bobbin/crates/types" }
32bobbin-edge-index = { path = "bobbin/crates/edge-index" }
33bobbin-ingest = { path = "bobbin/crates/ingest" }
34bobbin-resolver = { path = "bobbin/crates/resolver" }
35bobbin-slingshot-client = { path = "bobbin/crates/slingshot-client" }
36bobbin-record-lru = { path = "bobbin/crates/record-lru" }
37bobbin-knot-proxy = { path = "bobbin/crates/knot-proxy" }
38bobbin-knot-ingest = { path = "bobbin/crates/knot-ingest" }
39bobbin-runtime = { path = "bobbin/crates/runtime" }
40bobbin-search = { path = "bobbin/crates/search" }
41bobbin-sim = { path = "bobbin/crates/bobbin-sim" }
42bobbin-xrpc = { path = "bobbin/crates/xrpc" }
43
44jacquard-common = "0.12.0-beta.2"
45jacquard-derive = "0.12.0-beta.2"
46jacquard-lexicon = { version = "0.12.0-beta.2", default-features = false }
47
48anyhow = "1"
49miette = "7"
50walkdir = "2"
51
52tokio = { version = "1.52", features = ["macros", "rt-multi-thread", "time", "signal", "io-util", "sync"] }
53tokio-util = "0.7"
54tokio-stream = "0.1"
55tokio-tungstenite = { version = "0.29", features = ["rustls-tls-webpki-roots"] }
56futures = "0.3"
57either = "1"
58
59serde = { version = "1", features = ["derive"] }
60serde_json = { version = "1", features = ["raw_value"] }
61serde_ipld_dagcbor = "0.6"
62
63chrono = { version = "0.4", features = ["serde"] }
64cid = "0.11"
65url = { version = "2", features = ["serde"] }
66bytes = "1"
67
68scc = "3"
69roaring = "0.11"
70lasso = { version = "0.7", features = ["multi-threaded"] }
71quick_cache = "0.6"
72getrandom = "0.3"
73ahash = { version = "0.8", default-features = false, features = ["std"] }
74
75reqwest = { version = "0.12", default-features = false, features = ["rustls-tls-webpki-roots", "http2", "json", "gzip", "stream"] }
76axum = "0.8"
77tower = { version = "0.5", features = ["util"] }
78tower-http = { version = "0.6", features = ["trace"] }
79http = "1"
80
81wiremock = "0.6"
82
83tantivy = "0.26"
84
85tracing = "0.1"
86tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "json"] }
87
88thiserror = "2"
89
90confique = { version = "0.4", default-features = false, features = ["toml"] }
91clap = { version = "4", features = ["derive", "env"] }
92toml = { version = "0.9", default-features = false, features = ["parse"] }
93
94[profile.release]
95lto = "fat"
96strip = true
97codegen-units = 1
98panic = "abort"
99
100[profile.bench]
101debug = 1
102strip = false
103
104[profile.profiling]
105inherits = "release"
106debug = 1
107strip = false
108lto = "thin"