@motion-proto/live-tokens 0.78.0 → 0.80.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/live-tokens-check-compliance/SKILL.md +49 -38
- package/.claude/skills/live-tokens-create-component/SKILL.md +23 -28
- package/.claude/skills/live-tokens-create-component/references/contract-tests.md +61 -0
- package/.claude/skills/live-tokens-create-component/references/sketch-mode.md +2 -2
- package/.claude/skills/live-tokens-create-component/references/token-naming.md +6 -15
- package/.claude/skills/live-tokens-create-page/SKILL.md +6 -4
- package/.claude/skills/live-tokens-create-theme/references/design-directions.md +1 -1
- package/.claude/skills/live-tokens-pick-component/SKILL.md +3 -3
- package/.claude/skills/live-tokens-set-colors/references/color-anchors.md +1 -1
- package/.claude/skills/live-tokens-set-geometry/SKILL.md +1 -1
- package/.claude/skills/live-tokens-set-geometry/references/geometry-anchors.md +1 -1
- package/CHANGELOG.md +271 -0
- package/README.md +10 -16
- package/bin/check-component.mjs +154 -551
- package/bin/check-page.mjs +57 -541
- package/bin/cli.mjs +93 -16
- package/bin/contractRunner.mjs +37 -91
- package/bin/lib/buildChecks.mjs +32 -0
- package/bin/lib/catalogue.mjs +161 -34
- package/bin/lib/componentSource.mjs +152 -0
- package/bin/lib/cssValues.mjs +9 -0
- package/bin/lib/dataDir.mjs +126 -0
- package/bin/lib/findings.mjs +103 -12
- package/bin/lib/fixers.mjs +64 -0
- package/bin/lib/geometry.mjs +92 -0
- package/bin/lib/pageSource.mjs +230 -0
- package/bin/lib/report.mjs +57 -59
- package/bin/lib/tokenVocabulary.mjs +104 -34
- package/bin/migrate-build-script.mjs +66 -0
- package/bin/migrate.mjs +5 -0
- package/bin/rules/componentStructure.mjs +344 -0
- package/bin/rules/componentUse.mjs +313 -0
- package/bin/rules/importsAndRoutes.mjs +136 -0
- package/bin/rules/testRuns.mjs +122 -0
- package/bin/rules/tokens.mjs +426 -0
- package/bin/setup-claude.mjs +1 -2
- package/dist-plugin/{chunk-PDNL4NC5.js → chunk-D4WRIKEZ.js} +7 -2
- package/dist-plugin/{chunk-SWXRVZKT.js → chunk-REBHE3ZM.js} +414 -1
- package/dist-plugin/index.cjs +470 -19
- package/dist-plugin/index.d.cts +1 -0
- package/dist-plugin/index.d.ts +1 -0
- package/dist-plugin/index.js +87 -55
- package/dist-plugin/migrateData/index.cjs +422 -4
- package/dist-plugin/migrateData/index.js +2 -2
- package/dist-plugin/setColors/index.cjs +414 -1
- package/dist-plugin/setColors/index.d.cts +1 -1
- package/dist-plugin/setColors/index.d.ts +1 -1
- package/dist-plugin/setColors/index.js +1 -1
- package/dist-plugin/setGeometry/index.cjs +423 -13
- package/dist-plugin/setGeometry/index.d.cts +3 -3
- package/dist-plugin/setGeometry/index.d.ts +3 -3
- package/dist-plugin/setGeometry/index.js +10 -13
- package/dist-plugin/setType/index.d.cts +1 -1
- package/dist-plugin/setType/index.d.ts +1 -1
- package/dist-plugin/{themeTypes-BxRtuN5V.d.cts → themeTypes-B8_Idrp4.d.cts} +2 -2
- package/dist-plugin/{themeTypes-BxRtuN5V.d.ts → themeTypes-B8_Idrp4.d.ts} +2 -2
- package/package.json +2 -2
- package/src/editor/component-editor/CalloutEditor.svelte +2 -2
- package/src/editor/component-editor/CollapsibleSectionEditor.svelte +14 -15
- package/src/editor/component-editor/CornerBadgeEditor.svelte +14 -14
- package/src/editor/component-editor/DialogEditor.svelte +5 -5
- package/src/editor/component-editor/InlineEditActionsEditor.svelte +2 -2
- package/src/editor/component-editor/RadioButtonEditor.svelte +21 -21
- package/src/editor/component-editor/SectionDividerEditor.svelte +7 -7
- package/src/editor/component-editor/SegmentedControlEditor.svelte +5 -5
- package/src/editor/component-editor/SideNavigationEditor.svelte +25 -25
- package/src/editor/component-editor/TabBarEditor.svelte +6 -6
- package/src/editor/component-editor/TableEditor.svelte +6 -6
- package/src/editor/component-editor/ToggleEditor.svelte +2 -2
- package/src/editor/component-editor/index.ts +3 -0
- package/src/editor/component-editor/registry.ts +57 -1
- package/src/editor/component-editor/scaffolding/TokenLayout.svelte +14 -14
- package/src/editor/component-editor/scaffolding/VariantGroup.svelte +3 -0
- package/src/editor/component-editor/scaffolding/types.ts +15 -0
- package/src/editor/core/components/adjustAliases.ts +4 -4
- package/src/editor/core/components/aliasKinds.ts +20 -19
- package/src/editor/core/sketch/sketchLayer.ts +3 -3
- package/src/editor/core/themes/migrateComponentConfig.ts +14 -6
- package/src/editor/core/themes/migrations/2026-09-13-badge-brand.ts +42 -0
- package/src/editor/core/themes/migrations/2026-09-13-collapsiblesection-open.ts +33 -0
- package/src/editor/core/themes/migrations/2026-09-13-cornerbadge-prefix.ts +70 -0
- package/src/editor/core/themes/migrations/2026-09-13-hairline.ts +92 -0
- package/src/editor/core/themes/migrations/2026-09-13-indicator.ts +54 -0
- package/src/editor/core/themes/migrations/2026-09-13-sectiondivider-surface.ts +36 -0
- package/src/editor/core/themes/migrations/2026-09-13-selected-state.ts +124 -0
- package/src/editor/core/themes/migrations/2026-09-13-toggle-label.ts +31 -0
- package/src/editor/core/themes/migrations/index.ts +16 -0
- package/src/editor/core/themes/themeService.ts +3 -3
- package/src/editor/core/themes/themeTypes.ts +13 -15
- package/src/editor/docs/Docs.svelte +1 -1
- package/src/editor/docs/content/light-and-dark.md +3 -3
- package/src/editor/docs/content.generated.ts +1 -1
- package/src/editor/index.ts +1 -0
- package/src/editor/overlay/LiveEditorOverlay.svelte +15 -0
- package/src/editor/skill-atlas/SkillAtlas.svelte +4 -4
- package/src/editor/skill-atlas/TreeNodeCard.svelte +4 -4
- package/src/editor/skill-atlas/skillSources.generated.ts +11 -14
- package/src/editor/skill-atlas/skillTrees.ts +1 -3
- package/src/editor/skill-atlas/trees/check-compliance.ts +37 -149
- package/src/editor/skill-atlas/trees/create-component.ts +62 -64
- package/src/editor/skill-atlas/trees/create-page.ts +38 -17
- package/src/editor/skill-atlas/trees/pick-component.ts +3 -3
- package/src/editor/skill-atlas/trees/set-geometry.ts +1 -1
- package/src/editor/ui/UIPaletteSelector.svelte +11 -15
- package/src/editor/ui/variantScales.ts +8 -8
- package/src/live-tokens/data/themes/autumn.json +188 -188
- package/src/live-tokens/data/themes/halloween.json +188 -188
- package/src/live-tokens/data/themes/midnight-study.json +245 -245
- package/src/live-tokens/data/themes/ocean.json +188 -188
- package/src/live-tokens/data/themes/royal-velvet.json +188 -188
- package/src/live-tokens/data/themes/sketchy.json +188 -188
- package/src/live-tokens/data/themes/spring-meadow.json +188 -188
- package/src/live-tokens/data/themes/sunset.json +188 -188
- package/src/system/components/Badge.svelte +27 -23
- package/src/system/components/Button.svelte +13 -7
- package/src/system/components/Callout.svelte +16 -11
- package/src/system/components/Card.svelte +22 -15
- package/src/system/components/CodeSnippet.svelte +10 -6
- package/src/system/components/CollapsibleSection.svelte +81 -76
- package/src/system/components/CornerBadge.svelte +78 -72
- package/src/system/components/Dialog.svelte +21 -18
- package/src/system/components/IconButton.svelte +13 -9
- package/src/system/components/Image.svelte +14 -8
- package/src/system/components/ImageLightbox.svelte +10 -6
- package/src/system/components/InlineEditActions.svelte +17 -14
- package/src/system/components/Input.svelte +13 -7
- package/src/system/components/MenuSelect.svelte +13 -7
- package/src/system/components/Notification.svelte +17 -11
- package/src/system/components/Panel.svelte +13 -6
- package/src/system/components/ProgressBar.svelte +10 -5
- package/src/system/components/RadioButton.svelte +33 -30
- package/src/system/components/SectionDivider.svelte +28 -21
- package/src/system/components/SegmentedControl.svelte +27 -23
- package/src/system/components/SideNavigation.svelte +175 -171
- package/src/system/components/Slider.svelte +11 -7
- package/src/system/components/TabBar.svelte +53 -49
- package/src/system/components/Table.svelte +20 -15
- package/src/system/components/Toggle.svelte +14 -10
- package/src/system/components/Tooltip.svelte +10 -6
- package/src/system/styles/CONVENTIONS.md +3 -4
- package/src/testing-js/chunk-3UKGXCDL.js +48 -0
- package/src/testing-js/chunk-3UKGXCDL.js.map +1 -0
- package/src/testing-js/{chunk-FAFOAWYL.js → chunk-Q3YIAAG3.js} +17 -3
- package/src/testing-js/chunk-Q3YIAAG3.js.map +1 -0
- package/src/testing-js/{chunk-GNIUPIU2.js → chunk-U7OJE5DU.js} +18 -18
- package/src/testing-js/chunk-U7OJE5DU.js.map +1 -0
- package/src/testing-js/{chunk-4JQX6WWL.js → chunk-ZMZQZ33J.js} +474 -166
- package/src/testing-js/chunk-ZMZQZ33J.js.map +1 -0
- package/src/testing-js/component-behavior.contract.js +155 -0
- package/src/testing-js/component-behavior.contract.js.map +1 -0
- package/src/testing-js/component-editor.contract.js +6 -4
- package/src/testing-js/component-editor.contract.js.map +1 -1
- package/src/testing-js/component-render.contract.js +14 -10
- package/src/testing-js/component-render.contract.js.map +1 -1
- package/src/testing-js/index.d.ts +44 -4
- package/src/testing-js/index.js +13 -7
- package/src/testing-js/index.js.map +1 -1
- package/src/testing-js/page-compliance.contract.js +48 -10
- package/src/testing-js/page-compliance.contract.js.map +1 -1
- package/src/testing-js/registry.contract.js +5 -3
- package/src/testing-js/registry.contract.js.map +1 -1
- package/src/testing-js/{vitest-C-wNWcoA.d.ts → vitest-BMLIbDs2.d.ts} +8 -2
- package/src/testing-js/vitest.d.ts +1 -1
- package/src/testing-js/vitest.js +2 -1
- package/template/package.json +1 -2
- package/template/vite.config.ts +3 -2
- package/.claude/skills/live-tokens-create-component/SKILL copy.md +0 -196
- package/.claude/skills/live-tokens-fix-findings/SKILL.md +0 -105
- package/src/editor/skill-atlas/trees/fix-findings.ts +0 -504
- package/src/testing-js/chunk-4JQX6WWL.js.map +0 -1
- package/src/testing-js/chunk-FAFOAWYL.js.map +0 -1
- package/src/testing-js/chunk-GNIUPIU2.js.map +0 -1
|
@@ -1,504 +0,0 @@
|
|
|
1
|
-
import type { SkillTree } from '../types';
|
|
2
|
-
|
|
3
|
-
export const fixFindings: SkillTree = {
|
|
4
|
-
"id": "live-tokens-fix-findings",
|
|
5
|
-
"digest": "sha256:e400a3de85a17e3c",
|
|
6
|
-
"title": "fix-findings",
|
|
7
|
-
"tagline": "Repair Deviations from the Design System",
|
|
8
|
-
"nodes": [
|
|
9
|
-
{
|
|
10
|
-
"id": "ff-trig",
|
|
11
|
-
"row": 0,
|
|
12
|
-
"kind": "trigger",
|
|
13
|
-
"title": "Fix design-system findings",
|
|
14
|
-
"desc": "Repairs every finding the two checkers report, mapping each literal to the token for its role or scale, until both exit 0.",
|
|
15
|
-
"lines": [3, 3],
|
|
16
|
-
"anchor": "description: Fix every finding of check-page and check-compo"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"id": "ff-migrate",
|
|
20
|
-
"row": 1,
|
|
21
|
-
"kind": "step",
|
|
22
|
-
"title": "Run the token migration",
|
|
23
|
-
"desc": "Bring tokens.css up to the installed package first. A stale file shows as unknown tokens.",
|
|
24
|
-
"lines": [14, 14],
|
|
25
|
-
"anchor": "Run `npx live-tokens migrate --check` to see the plan, then "
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"id": "ff-run",
|
|
29
|
-
"row": 2,
|
|
30
|
-
"kind": "cli",
|
|
31
|
-
"title": "Run both checkers",
|
|
32
|
-
"desc": "Each finding names a rule, a file, and a line.",
|
|
33
|
-
"lines": [15, 19],
|
|
34
|
-
"anchor": "Run both checkers with `--json`. Each finding carries a `rul",
|
|
35
|
-
"anchorEnd": "```"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"id": "ff-clean",
|
|
39
|
-
"row": 3,
|
|
40
|
-
"kind": "ok",
|
|
41
|
-
"title": "Default checks pass",
|
|
42
|
-
"desc": "Both checkers exit 0.",
|
|
43
|
-
"lines": [24, 24],
|
|
44
|
-
"anchor": "When the errors are clear, run both checkers with `--strict`"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"id": "ff-group",
|
|
48
|
-
"row": 5,
|
|
49
|
-
"kind": "step",
|
|
50
|
-
"title": "Group findings by rule",
|
|
51
|
-
"desc": "Findings of one rule share one fix.",
|
|
52
|
-
"lines": [20, 20],
|
|
53
|
-
"anchor": "Group the findings by rule."
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"id": "ff-order",
|
|
57
|
-
"row": 6,
|
|
58
|
-
"kind": "chipset",
|
|
59
|
-
"title": "Repair order",
|
|
60
|
-
"desc": "Errors first, largest group first. Warnings only when the repair scope includes them.",
|
|
61
|
-
"lines": [21, 21],
|
|
62
|
-
"anchor": "Take the largest error group first, then the remaining error"
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
"id": "ff-recipe",
|
|
66
|
-
"row": 7,
|
|
67
|
-
"kind": "decide",
|
|
68
|
-
"title": "Rule family",
|
|
69
|
-
"desc": "Each rule belongs to one section, and that section gives the fix.",
|
|
70
|
-
"lines": [22, 22],
|
|
71
|
-
"anchor": "Fix every finding in the group with its section: Color by ro",
|
|
72
|
-
"chips": [
|
|
73
|
-
{
|
|
74
|
-
"label": "Color by role",
|
|
75
|
-
"lines": [41, 41],
|
|
76
|
-
"anchor": "## Color by role"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"label": "Geometry by scale",
|
|
80
|
-
"lines": [57, 57],
|
|
81
|
-
"anchor": "## Geometry by scale"
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"label": "The remaining rules",
|
|
85
|
-
"lines": [71, 71],
|
|
86
|
-
"anchor": "## The remaining rules"
|
|
87
|
-
}
|
|
88
|
-
]
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
"id": "ff-color",
|
|
92
|
-
"row": 8,
|
|
93
|
-
"kind": "chipset",
|
|
94
|
-
"title": "Color by role",
|
|
95
|
-
"desc": "A color literal becomes the token for the role it plays.",
|
|
96
|
-
"lines": [41, 55],
|
|
97
|
-
"anchor": "## Color by role",
|
|
98
|
-
"anchorEnd": "| A gradient | `--gradient-*` | Or compose one from surface ",
|
|
99
|
-
"chips": [
|
|
100
|
-
{
|
|
101
|
-
"label": "Text on a surface",
|
|
102
|
-
"lines": [47, 47],
|
|
103
|
-
"anchor": "| Text on a surface | `--text-primary` through `--text-disab"
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
"label": "Light text on a dark chip",
|
|
107
|
-
"lines": [48, 48],
|
|
108
|
-
"anchor": "| Light text on a dark chip | `--text-inverted` | No AA guar"
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
"label": "A surface fill",
|
|
112
|
-
"lines": [49, 49],
|
|
113
|
-
"anchor": "| A surface fill | `--surface-<family>-<level>` | The role n"
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"label": "A stroke",
|
|
117
|
-
"lines": [50, 50],
|
|
118
|
-
"anchor": "| A stroke | `--border-<family>-<level>` | Levels run `faint"
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
"label": "A translucent layer that dims what is behind it",
|
|
122
|
-
"lines": [51, 51],
|
|
123
|
-
"anchor": "| A translucent layer that dims what is behind it | `--scrim"
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
"label": "A translucent wash on a surface",
|
|
127
|
-
"lines": [52, 52],
|
|
128
|
-
"anchor": "| A translucent wash on a surface | `--tint-low`, `--tint`, "
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
"label": "Any other translucent color",
|
|
132
|
-
"lines": [53, 53],
|
|
133
|
-
"anchor": "| Any other translucent color | The role's token at an opaci"
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
"label": "Fully transparent",
|
|
137
|
-
"lines": [54, 54],
|
|
138
|
-
"anchor": "| Fully transparent | `--color-transparent` | |"
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
"label": "A gradient",
|
|
142
|
-
"lines": [55, 55],
|
|
143
|
-
"anchor": "| A gradient | `--gradient-*` | Or compose one from surface "
|
|
144
|
-
}
|
|
145
|
-
]
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
"id": "ff-geometry",
|
|
149
|
-
"row": 8,
|
|
150
|
-
"kind": "chipset",
|
|
151
|
-
"title": "Geometry by scale",
|
|
152
|
-
"desc": "A dimension literal moves to the nearest step of its scale. A layout size stays.",
|
|
153
|
-
"lines": [57, 69],
|
|
154
|
-
"anchor": "## Geometry by scale",
|
|
155
|
-
"anchorEnd": "| A `blur()` | `--blur-*` | No rule reports it. Fix it while"
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
"id": "ff-remaining",
|
|
159
|
-
"row": 8,
|
|
160
|
-
"kind": "chipset",
|
|
161
|
-
"title": "The remaining rules",
|
|
162
|
-
"desc": "Every other rule has its fix in the table.",
|
|
163
|
-
"lines": [71, 97],
|
|
164
|
-
"anchor": "## The remaining rules",
|
|
165
|
-
"anchorEnd": "| `fix: runtime` | Wire the component as the recipe in **liv",
|
|
166
|
-
"chips": [
|
|
167
|
-
{
|
|
168
|
-
"label": "unknown-token",
|
|
169
|
-
"lines": [75, 75],
|
|
170
|
-
"anchor": "| `unknown-token` | Search `tokens.css` for the stem. When a"
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
"label": "raw-text-axis",
|
|
174
|
-
"lines": [76, 76],
|
|
175
|
-
"anchor": "| `raw-text-axis` | Set every axis from one text style, `-fo"
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
"label": "unknown-component",
|
|
179
|
-
"lines": [77, 77],
|
|
180
|
-
"anchor": "| `unknown-component` | Read **live-tokens-pick-component** "
|
|
181
|
-
},
|
|
182
|
-
{
|
|
183
|
-
"label": "unknown-prop",
|
|
184
|
-
"lines": [78, 78],
|
|
185
|
-
"anchor": "| `unknown-prop` | `npx live-tokens components <id>` prints "
|
|
186
|
-
},
|
|
187
|
-
{
|
|
188
|
-
"label": "unknown-prop-value",
|
|
189
|
-
"lines": [79, 79],
|
|
190
|
-
"anchor": "| `unknown-prop-value` | Use a value from the union the mess"
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
"label": "control-size",
|
|
194
|
-
"lines": [80, 80],
|
|
195
|
-
"anchor": "| `control-size` | Delete the `size` prop. The shipped defau"
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
"label": "multiple-primary",
|
|
199
|
-
"lines": [81, 81],
|
|
200
|
-
"anchor": "| `multiple-primary` | Keep the action that completes the ma"
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
"label": "danger-without-dialog",
|
|
204
|
-
"lines": [82, 82],
|
|
205
|
-
"anchor": "| `danger-without-dialog` | Open a `Dialog` from the danger "
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
"label": "native-control",
|
|
209
|
-
"lines": [83, 83],
|
|
210
|
-
"anchor": "| `native-control` | Replace the native element with the shi"
|
|
211
|
-
},
|
|
212
|
-
{
|
|
213
|
-
"label": "property-override",
|
|
214
|
-
"lines": [84, 84],
|
|
215
|
-
"anchor": "| `property-override` | Delete the declaration from the page"
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
"label": "page-component-paint",
|
|
219
|
-
"lines": [85, 85],
|
|
220
|
-
"anchor": "| `page-component-paint` | The finding names the page file a"
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
"label": "page-text-style",
|
|
224
|
-
"lines": [86, 86],
|
|
225
|
-
"anchor": "| `page-text-style` | The finding names the page file and th"
|
|
226
|
-
},
|
|
227
|
-
{
|
|
228
|
-
"label": "page-contrast",
|
|
229
|
-
"lines": [87, 87],
|
|
230
|
-
"anchor": "| `page-contrast` | The finding names the page file and the "
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
"label": "page-grid",
|
|
234
|
-
"lines": [88, 88],
|
|
235
|
-
"anchor": "| `page-grid` | The finding names the page file and the line"
|
|
236
|
-
},
|
|
237
|
-
{
|
|
238
|
-
"label": "page-overflow",
|
|
239
|
-
"lines": [89, 89],
|
|
240
|
-
"anchor": "| `page-overflow` | The finding names the page file and the "
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
"label": "hardcoded-columns",
|
|
244
|
-
"lines": [90, 90],
|
|
245
|
-
"anchor": "| `hardcoded-columns` | `repeat(var(--columns-count), 1fr)` "
|
|
246
|
-
},
|
|
247
|
-
{
|
|
248
|
-
"label": "site-css-in-main",
|
|
249
|
-
"lines": [91, 91],
|
|
250
|
-
"anchor": "| `site-css-in-main` | Delete the import from `main.ts`. Add"
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
"label": "missing-source",
|
|
254
|
-
"lines": [92, 92],
|
|
255
|
-
"anchor": "| `missing-source` | Add `source: 'src/...'` to the route en"
|
|
256
|
-
},
|
|
257
|
-
{
|
|
258
|
-
"label": "reserved-route",
|
|
259
|
-
"lines": [93, 93],
|
|
260
|
-
"anchor": "| `reserved-route` | Move the route out of `/live-tokens/*`."
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
"label": "deep-import",
|
|
264
|
-
"lines": [94, 94],
|
|
265
|
-
"anchor": "| `deep-import` | Import from `@motion-proto/live-tokens`, `"
|
|
266
|
-
},
|
|
267
|
-
{
|
|
268
|
-
"label": "Component name rules",
|
|
269
|
-
"lines": [95, 95],
|
|
270
|
-
"anchor": "| `fix: property-name` | Rename the token to the name a ship"
|
|
271
|
-
},
|
|
272
|
-
{
|
|
273
|
-
"label": "Component token rules",
|
|
274
|
-
"lines": [96, 96],
|
|
275
|
-
"anchor": "| `fix: property-token` | Make the `:global(:root)` default "
|
|
276
|
-
},
|
|
277
|
-
{
|
|
278
|
-
"label": "Component editor rules",
|
|
279
|
-
"lines": [99, 99],
|
|
280
|
-
"anchor": "| `fix: editor` | The editor names a token the runtime never"
|
|
281
|
-
},
|
|
282
|
-
{
|
|
283
|
-
"label": "Component wiring rules",
|
|
284
|
-
"lines": [97, 97],
|
|
285
|
-
"anchor": "| `fix: runtime` | Wire the component as the recipe in **liv"
|
|
286
|
-
}
|
|
287
|
-
]
|
|
288
|
-
},
|
|
289
|
-
{
|
|
290
|
-
"id": "ff-rerun",
|
|
291
|
-
"row": 11,
|
|
292
|
-
"kind": "cli",
|
|
293
|
-
"title": "Rerun both checkers",
|
|
294
|
-
"desc": "Run both checkers again to see what remains.",
|
|
295
|
-
"lines": [23, 23],
|
|
296
|
-
"anchor": "Run both checkers again. When repairable findings remain in "
|
|
297
|
-
},
|
|
298
|
-
{
|
|
299
|
-
"id": "ff-repeat",
|
|
300
|
-
"row": 12,
|
|
301
|
-
"kind": "gate",
|
|
302
|
-
"title": "Regroup the remaining findings",
|
|
303
|
-
"desc": "Findings a token can fix go back through grouping.",
|
|
304
|
-
"lines": [23, 23],
|
|
305
|
-
"anchor": "Run both checkers again. When repairable findings remain in "
|
|
306
|
-
},
|
|
307
|
-
{
|
|
308
|
-
"id": "ff-unresolved",
|
|
309
|
-
"row": 12,
|
|
310
|
-
"kind": "step",
|
|
311
|
-
"title": "Record the unresolved findings",
|
|
312
|
-
"desc": "A finding no token fits stays, and the reply says why.",
|
|
313
|
-
"lines": [37, 37],
|
|
314
|
-
"anchor": "Add no token to `tokens.css`. Map a literal with no matching"
|
|
315
|
-
},
|
|
316
|
-
{
|
|
317
|
-
"id": "ff-strict",
|
|
318
|
-
"row": 14,
|
|
319
|
-
"kind": "cli",
|
|
320
|
-
"title": "Run strict checks",
|
|
321
|
-
"desc": "Strict mode counts every warning as an error.",
|
|
322
|
-
"lines": [24, 24],
|
|
323
|
-
"anchor": "When the errors are clear, run both checkers with `--strict`"
|
|
324
|
-
},
|
|
325
|
-
{
|
|
326
|
-
"id": "ff-warnings",
|
|
327
|
-
"row": 15,
|
|
328
|
-
"kind": "decide",
|
|
329
|
-
"title": "Warning scope",
|
|
330
|
-
"desc": "Warnings are cleared when the request includes them. Otherwise the user chooses.",
|
|
331
|
-
"lines": [24, 25],
|
|
332
|
-
"anchor": "When the errors are clear, run both checkers with `--strict`",
|
|
333
|
-
"anchorEnd": "When the repair scope includes warnings, return to step 3 wi",
|
|
334
|
-
"chips": [
|
|
335
|
-
{
|
|
336
|
-
"label": "repair scope includes warnings",
|
|
337
|
-
"lines": [25, 25],
|
|
338
|
-
"anchor": "When the repair scope includes warnings, return to step 3 wi"
|
|
339
|
-
},
|
|
340
|
-
{
|
|
341
|
-
"label": "user defers warnings",
|
|
342
|
-
"lines": [25, 25],
|
|
343
|
-
"anchor": "When the repair scope includes warnings, return to step 3 wi"
|
|
344
|
-
}
|
|
345
|
-
]
|
|
346
|
-
},
|
|
347
|
-
{
|
|
348
|
-
"id": "ff-warning-loop",
|
|
349
|
-
"row": 16,
|
|
350
|
-
"kind": "gate",
|
|
351
|
-
"title": "Include warnings in the repair scope",
|
|
352
|
-
"desc": "The warnings go back through grouping, with --strict on every run.",
|
|
353
|
-
"lines": [25, 25],
|
|
354
|
-
"anchor": "When the repair scope includes warnings, return to step 3 wi"
|
|
355
|
-
},
|
|
356
|
-
{
|
|
357
|
-
"id": "ff-build",
|
|
358
|
-
"row": 17,
|
|
359
|
-
"kind": "step",
|
|
360
|
-
"title": "Gate the existing build",
|
|
361
|
-
"desc": "The build runs check:design first, so findings fail the build from now on.",
|
|
362
|
-
"lines": [33, 33],
|
|
363
|
-
"anchor": "When `package.json` has no `check:design` script, add `\"chec"
|
|
364
|
-
},
|
|
365
|
-
{
|
|
366
|
-
"id": "ff-reply",
|
|
367
|
-
"row": 18,
|
|
368
|
-
"kind": "chipset",
|
|
369
|
-
"title": "Reply with the repair results",
|
|
370
|
-
"desc": "Report the changes by rule, the findings left with their reasons, and both exit codes.",
|
|
371
|
-
"lines": [26, 29],
|
|
372
|
-
"anchor": "Reply with:",
|
|
373
|
-
"anchorEnd": "both checker commands with their exit codes"
|
|
374
|
-
},
|
|
375
|
-
{
|
|
376
|
-
"id": "ff-done",
|
|
377
|
-
"row": 19,
|
|
378
|
-
"kind": "done",
|
|
379
|
-
"title": "Repair results complete",
|
|
380
|
-
"desc": "Both checkers pass, or every finding left has a reason.",
|
|
381
|
-
"lines": [26, 29],
|
|
382
|
-
"anchor": "Reply with:",
|
|
383
|
-
"anchorEnd": "both checker commands with their exit codes"
|
|
384
|
-
}
|
|
385
|
-
],
|
|
386
|
-
"edges": [
|
|
387
|
-
{
|
|
388
|
-
"to": "ff-migrate",
|
|
389
|
-
"from": "ff-trig"
|
|
390
|
-
},
|
|
391
|
-
{
|
|
392
|
-
"to": "ff-run",
|
|
393
|
-
"from": "ff-migrate"
|
|
394
|
-
},
|
|
395
|
-
{
|
|
396
|
-
"to": "ff-group",
|
|
397
|
-
"from": "ff-run",
|
|
398
|
-
"label": "findings"
|
|
399
|
-
},
|
|
400
|
-
{
|
|
401
|
-
"to": "ff-clean",
|
|
402
|
-
"from": "ff-run",
|
|
403
|
-
"label": "exit 0"
|
|
404
|
-
},
|
|
405
|
-
{
|
|
406
|
-
"to": "ff-strict",
|
|
407
|
-
"from": "ff-clean"
|
|
408
|
-
},
|
|
409
|
-
{
|
|
410
|
-
"to": "ff-order",
|
|
411
|
-
"from": "ff-group"
|
|
412
|
-
},
|
|
413
|
-
{
|
|
414
|
-
"to": "ff-color",
|
|
415
|
-
"from": "ff-recipe",
|
|
416
|
-
"label": "Color by role"
|
|
417
|
-
},
|
|
418
|
-
{
|
|
419
|
-
"to": "ff-rerun",
|
|
420
|
-
"from": "ff-color"
|
|
421
|
-
},
|
|
422
|
-
{
|
|
423
|
-
"to": "ff-geometry",
|
|
424
|
-
"from": "ff-recipe",
|
|
425
|
-
"label": "Geometry by scale"
|
|
426
|
-
},
|
|
427
|
-
{
|
|
428
|
-
"to": "ff-rerun",
|
|
429
|
-
"from": "ff-geometry"
|
|
430
|
-
},
|
|
431
|
-
{
|
|
432
|
-
"to": "ff-remaining",
|
|
433
|
-
"from": "ff-recipe",
|
|
434
|
-
"label": "The remaining rules"
|
|
435
|
-
},
|
|
436
|
-
{
|
|
437
|
-
"to": "ff-rerun",
|
|
438
|
-
"from": "ff-remaining"
|
|
439
|
-
},
|
|
440
|
-
{
|
|
441
|
-
"to": "ff-repeat",
|
|
442
|
-
"from": "ff-rerun",
|
|
443
|
-
"label": "repairable findings"
|
|
444
|
-
},
|
|
445
|
-
{
|
|
446
|
-
"to": "ff-group",
|
|
447
|
-
"from": "ff-repeat",
|
|
448
|
-
"label": "return to step 3",
|
|
449
|
-
"back": true
|
|
450
|
-
},
|
|
451
|
-
{
|
|
452
|
-
"to": "ff-unresolved",
|
|
453
|
-
"from": "ff-rerun",
|
|
454
|
-
"label": "no token fits"
|
|
455
|
-
},
|
|
456
|
-
{
|
|
457
|
-
"to": "ff-reply",
|
|
458
|
-
"from": "ff-unresolved"
|
|
459
|
-
},
|
|
460
|
-
{
|
|
461
|
-
"to": "ff-strict",
|
|
462
|
-
"from": "ff-rerun",
|
|
463
|
-
"label": "errors clear"
|
|
464
|
-
},
|
|
465
|
-
{
|
|
466
|
-
"to": "ff-warnings",
|
|
467
|
-
"from": "ff-strict",
|
|
468
|
-
"label": "warnings"
|
|
469
|
-
},
|
|
470
|
-
{
|
|
471
|
-
"to": "ff-build",
|
|
472
|
-
"from": "ff-strict",
|
|
473
|
-
"label": "strict checks pass"
|
|
474
|
-
},
|
|
475
|
-
{
|
|
476
|
-
"to": "ff-warning-loop",
|
|
477
|
-
"from": "ff-warnings",
|
|
478
|
-
"label": "repair scope includes warnings"
|
|
479
|
-
},
|
|
480
|
-
{
|
|
481
|
-
"to": "ff-build",
|
|
482
|
-
"from": "ff-warnings",
|
|
483
|
-
"label": "user defers warnings"
|
|
484
|
-
},
|
|
485
|
-
{
|
|
486
|
-
"to": "ff-group",
|
|
487
|
-
"from": "ff-warning-loop",
|
|
488
|
-
"label": "use --strict",
|
|
489
|
-
"back": true
|
|
490
|
-
},
|
|
491
|
-
{
|
|
492
|
-
"to": "ff-reply",
|
|
493
|
-
"from": "ff-build"
|
|
494
|
-
},
|
|
495
|
-
{
|
|
496
|
-
"to": "ff-done",
|
|
497
|
-
"from": "ff-reply"
|
|
498
|
-
},
|
|
499
|
-
{
|
|
500
|
-
"to": "ff-recipe",
|
|
501
|
-
"from": "ff-order"
|
|
502
|
-
}
|
|
503
|
-
]
|
|
504
|
-
};
|