Skip to main content

max / quasi

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