Skip to main content

max / quasi

2.3 KB · 75 lines History Blame Raw
1 [workspace]
2 resolver = "3"
3 members = [
4 "crates/quasi",
5 "crates/quasi-axum",
6 "crates/quasi-basics",
7 "crates/quasi-bench",
8 "crates/quasi-declare",
9 "crates/quasi-http",
10 "crates/quasi-router",
11 "crates/quasi-store",
12 "crates/quasi-tauri",
13 "crates/quasi-tui",
14 "crates/quasi-immediate",
15 "crates/quasi-notifs",
16 "crates/quasi-webview",
17 ]
18 # The scaffolder's template is real Rust and real manifests rather than liquid,
19 # so that it is readable, greppable and diffable. Excluded because those
20 # manifests name a crate that does not exist until `quasi new` renders them.
21 exclude = ["crates/quasi/template"]
22
23 [workspace.dependencies]
24
25 [workspace.package]
26 edition = "2024"
27 # 1.85 is Rust 2024's floor and is what this was. Raised to 1.88 on 2026-08-08
28 # because the patched `time` (0.3.47, RUSTSEC-2026-0009) needs it, and a
29 # declared floor that keeps a security fix out is buying nothing: nothing here
30 # is published, and the toolchain is `stable`.
31 rust-version = "1.88"
32 authors = ["Max Johnson <me@maxj.phd>"]
33 repository = "https://makenot.work/git/max/quasi"
34 license = "MIT"
35
36 [workspace.lints.rust]
37 unsafe_code = "forbid"
38
39 [workspace.lints.clippy]
40 pedantic = { level = "warn", priority = -1 }
41 # The house allow-list, tuned from a measured breakdown across
42 # server/multithreaded/pter (2026-07-22) and carried verbatim from the makeover
43 # crates. These are the high-churn / low-signal pedantic lints; everything else
44 # in `pedantic` stays a warning. Keep this block identical across repos.
45 module_name_repetitions = "allow"
46 # Doc lints. No docs-completeness push is underway.
47 missing_errors_doc = "allow"
48 missing_panics_doc = "allow"
49 doc_markdown = "allow"
50 # Numeric casts. Endemic and mostly intentional in size and byte math.
51 cast_possible_truncation = "allow"
52 cast_sign_loss = "allow"
53 cast_precision_loss = "allow"
54 cast_possible_wrap = "allow"
55 cast_lossless = "allow"
56 # Subjective structure and style nags. High churn, low signal.
57 must_use_candidate = "allow"
58 too_many_lines = "allow"
59 struct_excessive_bools = "allow"
60 similar_names = "allow"
61 items_after_statements = "allow"
62 single_match_else = "allow"
63 # Frequent false-positives in TUI and router-heavy code.
64 match_same_arms = "allow"
65 unnecessary_wraps = "allow"
66 type_complexity = "allow"
67
68 [profile.release]
69 lto = "thin"
70 codegen-units = 1
71 strip = "symbols"
72
73 [profile.dev]
74 opt-level = 1
75