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.95"
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-runtime = { path = "bobbin/crates/runtime" }
38bobbin-search = { path = "bobbin/crates/search" }
39bobbin-sim = { path = "bobbin/crates/bobbin-sim" }
40bobbin-xrpc = { path = "bobbin/crates/xrpc" }
41
42jacquard-common = "0.12.0-beta.2"
43jacquard-derive = "0.12.0-beta.2"
44jacquard-lexicon = { version = "0.12.0-beta.2", default-features = false }
45
46anyhow = "1"
47miette = "7"
48walkdir = "2"
49
50tokio = { version = "1.52", features = ["macros", "rt-multi-thread", "time", "signal", "io-util", "sync"] }
51tokio-util = "0.7"
52tokio-stream = "0.1"
53tokio-tungstenite = { version = "0.29", features = ["rustls-tls-webpki-roots"] }
54futures = "0.3"
55either = "1"
56
57serde = { version = "1", features = ["derive"] }
58serde_json = { version = "1", features = ["raw_value"] }
59serde_ipld_dagcbor = "0.6"
60
61chrono = { version = "0.4", features = ["serde"] }
62cid = "0.11"
63url = { version = "2", features = ["serde"] }
64bytes = "1"
65
66scc = "3"
67roaring = "0.11"
68lasso = { version = "0.7", features = ["multi-threaded"] }
69quick_cache = "0.6"
70getrandom = "0.3"
71ahash = { version = "0.8", default-features = false, features = ["std"] }
72
73reqwest = { version = "0.12", default-features = false, features = ["rustls-tls-webpki-roots", "http2", "json", "gzip", "stream"] }
74axum = "0.8"
75tower = { version = "0.5", features = ["util"] }
76tower-http = { version = "0.6", features = ["trace"] }
77http = "1"
78
79wiremock = "0.6"
80
81tantivy = "0.26"
82
83tracing = "0.1"
84tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "json"] }
85
86thiserror = "2"
87
88confique = { version = "0.4", default-features = false, features = ["toml"] }
89clap = { version = "4", features = ["derive", "env"] }
90toml = { version = "0.9", default-features = false, features = ["parse"] }
91
92[profile.release]
93lto = "fat"
94strip = true
95codegen-units = 1
96panic = "abort"
97
98[profile.bench]
99debug = 1
100strip = false
101
102[profile.profiling]
103inherits = "release"
104debug = 1
105strip = false
106lto = "thin"