({ args })
| 40 | }, |
| 41 | }, |
| 42 | async run({ args }) { |
| 43 | const beforeContent = await readInput(args.before); |
| 44 | const afterContent = await readInput(args.after); |
| 45 | |
| 46 | const beforeReport = lint(beforeContent); |
| 47 | const afterReport = lint(afterContent); |
| 48 | |
| 49 | const diff = { |
| 50 | tokens: { |
| 51 | colors: diffMaps(beforeReport.designSystem.colors, afterReport.designSystem.colors), |
| 52 | typography: diffMaps(beforeReport.designSystem.typography, afterReport.designSystem.typography), |
| 53 | rounded: diffMaps(beforeReport.designSystem.rounded, afterReport.designSystem.rounded), |
| 54 | spacing: diffMaps(beforeReport.designSystem.spacing, afterReport.designSystem.spacing), |
| 55 | components: diffMaps( |
| 56 | serializeComponents(beforeReport.designSystem.components), |
| 57 | serializeComponents(afterReport.designSystem.components), |
| 58 | ), |
| 59 | }, |
| 60 | findings: { |
| 61 | before: beforeReport.summary, |
| 62 | after: afterReport.summary, |
| 63 | delta: { |
| 64 | errors: afterReport.summary.errors - beforeReport.summary.errors, |
| 65 | warnings: afterReport.summary.warnings - beforeReport.summary.warnings, |
| 66 | }, |
| 67 | }, |
| 68 | regression: afterReport.summary.errors > beforeReport.summary.errors |
| 69 | || afterReport.summary.warnings > beforeReport.summary.warnings, |
| 70 | }; |
| 71 | |
| 72 | console.log(formatOutput(diff, args)); |
| 73 | process.exitCode = diff.regression ? 1 : 0; |
| 74 | }, |
| 75 | }); |
| 76 | |
| 77 | function serializeComponents(components: Map<string, ComponentDef>): Map<string, Record<string, unknown>> { |
nothing calls this directly
no test coverage detected