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