Skip to main content

max / quasi

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