Skip to main content

max / makeover-build

3.1 KB · 69 lines History Blame Raw
1 [package]
2 name = "makeover-build"
3 version = "0.25.0"
4 edition = "2024"
5 description = "Build-script support for the make-family design system: materialise makeover's themes and makeover-webview's stylesheet into a Tauri app's frontend, once, instead of copying the same twenty lines into every consumer's build.rs."
6 license = "MIT"
7 repository = "https://makenot.work/git/max/makeover-build"
8
9 [dependencies]
10 # 2.5 and not 2.4, because makeover-webview 0.22 emits `--elevation-overlay`
11 # referring to `var(--elevation)`, and 2.5 is the release that derives that
12 # token. The two crates cannot state the coupling themselves: makeover-webview
13 # has no dependency on makeover, deliberately, so this is the only manifest that
14 # sees both halves. A consumer resolving 2.4 here would generate a stylesheet
15 # naming a token nothing defines, and a custom property whose value fails to
16 # substitute takes the whole declaration with it rather than degrading.
17 makeover = "2.5"
18 # The exact patch, not the minor: the same discipline 0.13.1 was released for.
19 # An earlier patch in a minor can pin an older makeover-touch, which drags a
20 # second makeover-geometry into the graph alongside the one below and fails to
21 # compile on `Density` being nominally distinct. The exact patch is what keeps
22 # the geometry axis single.
23 #
24 # The pin tracks the renderer half rather than only this crate's needs. This
25 # crate emits the stylesheet; a screen renderer emits the markup that stylesheet
26 # matches, and a graph holding both at different versions is an app whose CSS
27 # and HTML were generated by two crates that never agreed. That is what the
28 # renderer's `links` key makes a resolver error rather than a silent mismatch,
29 # and it means a bump here is a bump for every consumer at once.
30 #
31 # 0.32.0 names the one inline control, a link. quasi's containment model turns
32 # a cell into a run of leaves, so "this text is a link" became a member the run
33 # holds rather than a field on one container, and the renderer needed a name for
34 # it that was not invented locally.
35 makeover-webview = "0.32.0"
36 makeover-geometry = "0.7"
37
38 [lints.rust]
39 unused = "warn"
40 unreachable_pub = "warn"
41
42 [lints.clippy]
43 pedantic = { level = "warn", priority = -1 }
44 # Allow-list tuned from a measured breakdown across server/multithreaded/pter
45 # (2026-07-22). These are the high-churn / low-signal pedantic lints; everything
46 # else in `pedantic` stays a warning. Keep this block identical across repos.
47 module_name_repetitions = "allow"
48 # Doc lints. No docs-completeness push is underway.
49 missing_errors_doc = "allow"
50 missing_panics_doc = "allow"
51 doc_markdown = "allow"
52 # Numeric casts. Endemic and mostly intentional in size and byte math.
53 cast_possible_truncation = "allow"
54 cast_sign_loss = "allow"
55 cast_precision_loss = "allow"
56 cast_possible_wrap = "allow"
57 cast_lossless = "allow"
58 # Subjective structure and style nags. High churn, low signal.
59 must_use_candidate = "allow"
60 too_many_lines = "allow"
61 struct_excessive_bools = "allow"
62 similar_names = "allow"
63 items_after_statements = "allow"
64 single_match_else = "allow"
65 # Frequent false-positives in TUI and router-heavy code.
66 match_same_arms = "allow"
67 unnecessary_wraps = "allow"
68 type_complexity = "allow"
69