@rookcom/monarch-conformance 0.0.0-stage → 0.2.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +4 -2
  3. package/dist/check.d.ts +81 -0
  4. package/dist/check.d.ts.map +1 -0
  5. package/dist/check.js +350 -0
  6. package/dist/check.js.map +1 -0
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +175 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/glob.d.ts +3 -0
  12. package/dist/glob.d.ts.map +1 -0
  13. package/dist/glob.js +70 -0
  14. package/dist/glob.js.map +1 -0
  15. package/dist/index.d.ts +9 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +8 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/monarch-components.d.ts +122 -0
  20. package/dist/monarch-components.d.ts.map +1 -0
  21. package/dist/monarch-components.js +47 -0
  22. package/dist/monarch-components.js.map +1 -0
  23. package/dist/registry.d.ts +77 -0
  24. package/dist/registry.d.ts.map +1 -0
  25. package/dist/registry.js +259 -0
  26. package/dist/registry.js.map +1 -0
  27. package/dist/report.d.ts +8 -0
  28. package/dist/report.d.ts.map +1 -0
  29. package/dist/report.js +122 -0
  30. package/dist/report.js.map +1 -0
  31. package/dist/rules.d.ts +149 -0
  32. package/dist/rules.d.ts.map +1 -0
  33. package/dist/rules.js +639 -0
  34. package/dist/rules.js.map +1 -0
  35. package/dist/schema.d.ts +24 -0
  36. package/dist/schema.d.ts.map +1 -0
  37. package/dist/schema.js +91 -0
  38. package/dist/schema.js.map +1 -0
  39. package/dist/semver.d.ts +27 -0
  40. package/dist/semver.d.ts.map +1 -0
  41. package/dist/semver.js +235 -0
  42. package/dist/semver.js.map +1 -0
  43. package/dist/types.d.ts +54 -0
  44. package/dist/types.d.ts.map +1 -0
  45. package/dist/types.js +2 -0
  46. package/dist/types.js.map +1 -0
  47. package/dist/version.d.ts +3 -0
  48. package/dist/version.d.ts.map +1 -0
  49. package/dist/version.js +10 -0
  50. package/dist/version.js.map +1 -0
  51. package/package.json +48 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { CheckResult } from './check.js';
2
+ export declare function toJson(result: CheckResult): string;
3
+ export declare function toText(result: CheckResult, opts?: {
4
+ maxPerRule?: number;
5
+ }): string;
6
+ /** SARIF 2.1.0 for GitHub code scanning (upload-sarif). */
7
+ export declare function toSarif(result: CheckResult): string;
8
+ //# sourceMappingURL=report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAM9C,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAElD;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAuDtF;AAQD,2DAA2D;AAC3D,wBAAgB,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAyDnD"}
package/dist/report.js ADDED
@@ -0,0 +1,122 @@
1
+ import { RULES } from './rules.js';
2
+ const ORDER = ['error', 'warn', 'info'];
3
+ export function toJson(result) {
4
+ return JSON.stringify(result, null, 2) + '\n';
5
+ }
6
+ export function toText(result, opts = {}) {
7
+ const max = opts.maxPerRule ?? 5;
8
+ const out = [];
9
+ const c = result.counts;
10
+ out.push(`Monarch conformance ${result.tool.version}${result.product ? ` · ${result.product}` : ''}`, `${result.root}${result.git.commit ? ` @ ${result.git.commit.slice(0, 12)}${result.git.dirty ? ' (dirty)' : ''}` : ''}`, `${result.filesScanned} files, ${result.linesScanned.toLocaleString('en-US')} lines scanned`, '');
11
+ const rules = Object.keys(c.byRule).sort((a, b) => {
12
+ const sa = result.findings.find((f) => f.rule === a)?.severity ?? 'info';
13
+ const sb = result.findings.find((f) => f.rule === b)?.severity ?? 'info';
14
+ return ORDER.indexOf(sa) - ORDER.indexOf(sb) || (c.byRule[b] ?? 0) - (c.byRule[a] ?? 0);
15
+ });
16
+ for (const rule of rules) {
17
+ const list = result.findings.filter((f) => f.rule === rule);
18
+ const fresh = list.filter((f) => !f.baselined).length;
19
+ const sev = list[0]?.severity ?? 'info';
20
+ const meta = RULES[rule];
21
+ out.push(`${sev.toUpperCase().padEnd(5)} ${rule} ${list.length}${result.baseline ? ` (${fresh} new)` : ''} ${result.densityPer1kLines[rule] ?? 0}/1k lines`);
22
+ if (meta)
23
+ out.push(` ${meta.summary}. ${meta.help}`);
24
+ const show = (result.baseline ? list.filter((f) => !f.baselined) : list).slice(0, max);
25
+ for (const f of show)
26
+ out.push(` ${f.file}:${f.line}:${f.column} ${f.message}`);
27
+ const rest = (result.baseline ? fresh : list.length) - show.length;
28
+ if (rest > 0)
29
+ out.push(` … ${rest} more`);
30
+ out.push('');
31
+ }
32
+ if (result.exceptions.length) {
33
+ out.push('Exceptions');
34
+ for (const e of result.exceptions) {
35
+ out.push(` ${e.status.padEnd(7)} ${e.rule} on ${e.paths.join(', ')} · owner ${e.owner} · expires ${e.expires} · ${e.suppressed} suppressed`);
36
+ }
37
+ out.push('');
38
+ }
39
+ out.push(`Totals: ${c.bySeverity.error} errors, ${c.bySeverity.warn} warnings, ${c.bySeverity.info} info` +
40
+ (result.baseline ? ` · new vs baseline: ${c.new.error} errors, ${c.new.warn} warnings` : ''));
41
+ if (result.suppressed.inline || result.suppressed.exceptions) {
42
+ out.push(`Suppressed: ${result.suppressed.inline} inline, ${result.suppressed.exceptions} by registry exceptions`);
43
+ }
44
+ if (result.baseline?.improved) {
45
+ out.push(`${result.baseline.improved} file/rule groups are below baseline; run --write-baseline to lock in the improvement.`);
46
+ }
47
+ out.push(result.exitCode === 0 ? 'Result: pass' : 'Result: fail (new error-severity findings)');
48
+ return out.join('\n') + '\n';
49
+ }
50
+ const LEVEL = {
51
+ error: 'error',
52
+ warn: 'warning',
53
+ info: 'note',
54
+ };
55
+ /** SARIF 2.1.0 for GitHub code scanning (upload-sarif). */
56
+ export function toSarif(result) {
57
+ const usedRules = [...new Set(result.findings.map((f) => f.rule))].sort();
58
+ const sarif = {
59
+ $schema: 'https://json.schemastore.org/sarif-2.1.0.json',
60
+ version: '2.1.0',
61
+ runs: [
62
+ {
63
+ tool: {
64
+ driver: {
65
+ name: 'monarch',
66
+ fullName: result.tool.name,
67
+ version: result.tool.version,
68
+ semanticVersion: result.tool.version,
69
+ informationUri: 'https://github.com/RookHQ/monarch/blob/main/docs/guides/conformance.md',
70
+ rules: usedRules.map((id) => {
71
+ const meta = RULES[id];
72
+ return {
73
+ id,
74
+ name: id.replace(/[/-](\w)/g, (_m, ch) => ch.toUpperCase()),
75
+ shortDescription: { text: meta?.summary ?? id },
76
+ fullDescription: { text: meta?.help ?? id },
77
+ help: { text: meta?.help ?? id },
78
+ defaultConfiguration: {
79
+ level: LEVEL[meta?.severity ?? 'warn'],
80
+ },
81
+ };
82
+ }),
83
+ },
84
+ },
85
+ ...(result.git.commit
86
+ ? {
87
+ versionControlProvenance: [
88
+ { repositoryUri: result.root, revisionId: result.git.commit },
89
+ ],
90
+ }
91
+ : {}),
92
+ results: result.findings.map((f) => ({
93
+ ruleId: f.rule,
94
+ ruleIndex: usedRules.indexOf(f.rule),
95
+ level: LEVEL[f.severity],
96
+ message: { text: f.message },
97
+ baselineState: result.baseline ? (f.baselined ? 'unchanged' : 'new') : undefined,
98
+ locations: [
99
+ {
100
+ physicalLocation: {
101
+ artifactLocation: { uri: f.file },
102
+ region: { startLine: f.line, startColumn: f.column, snippet: { text: f.snippet } },
103
+ },
104
+ },
105
+ ],
106
+ partialFingerprints: { 'monarch/v1': fingerprint(`${f.rule}|${f.file}|${f.snippet}`) },
107
+ })),
108
+ },
109
+ ],
110
+ };
111
+ return JSON.stringify(sarif, null, 2) + '\n';
112
+ }
113
+ /** FNV-1a: stable across line moves, so code scanning doesn't reopen alerts. */
114
+ function fingerprint(s) {
115
+ let h = 0x811c9dc5;
116
+ for (let i = 0; i < s.length; i++) {
117
+ h ^= s.charCodeAt(i);
118
+ h = Math.imul(h, 0x01000193) >>> 0;
119
+ }
120
+ return h.toString(16).padStart(8, '0');
121
+ }
122
+ //# sourceMappingURL=report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAe,MAAM,YAAY,CAAC;AAGhD,MAAM,KAAK,GAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpD,MAAM,UAAU,MAAM,CAAC,MAAmB;IACxC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,MAAmB,EAAE,OAAgC,EAAE;IAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IACjC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,GAAG,CAAC,IAAI,CACN,uBAAuB,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAC3F,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACvH,GAAG,MAAM,CAAC,YAAY,WAAW,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAC5F,EAAE,CACH,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAChD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC;QACzE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC;QACzE,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,CAAC,CAAC;QACnC,GAAG,CAAC,IAAI,CACN,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CACrJ,CAAC;QACF,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACvF,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACtF,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACnE,IAAI,IAAI,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,CACN,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,UAAU,aAAa,CACpI,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IACD,GAAG,CAAC,IAAI,CACN,WAAW,CAAC,CAAC,UAAU,CAAC,KAAK,YAAY,CAAC,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,CAAC,UAAU,CAAC,IAAI,OAAO;QAC9F,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAC/F,CAAC;IACF,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CACN,eAAe,MAAM,CAAC,UAAU,CAAC,MAAM,YAAY,MAAM,CAAC,UAAU,CAAC,UAAU,yBAAyB,CACzG,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC9B,GAAG,CAAC,IAAI,CACN,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,wFAAwF,CACpH,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,4CAA4C,CAAC,CAAC;IAChG,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC/B,CAAC;AAED,MAAM,KAAK,GAAmD;IAC5D,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,2DAA2D;AAC3D,MAAM,UAAU,OAAO,CAAC,MAAmB;IACzC,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1E,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,+CAA+C;QACxD,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACJ;gBACE,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;wBAC1B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;wBAC5B,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;wBACpC,cAAc,EACZ,wEAAwE;wBAC1E,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;4BAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,EAAY,CAAC,CAAC;4BACjC,OAAO;gCACL,EAAE;gCACF,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;gCACnE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE;gCAC/C,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE;gCAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE;gCAChC,oBAAoB,EAAE;oCACpB,KAAK,EAAE,KAAK,CAAE,IAAI,EAAE,QAAiC,IAAI,MAAM,CAAC;iCACjE;6BACF,CAAC;wBACJ,CAAC,CAAC;qBACH;iBACF;gBACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM;oBACnB,CAAC,CAAC;wBACE,wBAAwB,EAAE;4BACxB,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE;yBAC9D;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnC,MAAM,EAAE,CAAC,CAAC,IAAI;oBACd,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;oBACpC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACxB,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;oBAC5B,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;oBAChF,SAAS,EAAE;wBACT;4BACE,gBAAgB,EAAE;gCAChB,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE;gCACjC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;6BACnF;yBACF;qBACF;oBACD,mBAAmB,EAAE,EAAE,YAAY,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;iBACvF,CAAC,CAAC;aACJ;SACF;KACF,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAC/C,CAAC;AAED,gFAAgF;AAChF,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Conformance rules. Each scanner is a pure function over one file's text, so
3
+ * rules are easy to test with fixtures and cheap to run across 20+ repos.
4
+ *
5
+ * Scanning is lexical (regular expressions plus a small JSX tag reader), not a
6
+ * full parse. Rules are written to prefer missing a case over inventing one.
7
+ */
8
+ import type { Deprecation, Severity } from './types.js';
9
+ export declare const RULES: {
10
+ readonly 'color/no-raw-palette': {
11
+ readonly id: "color/no-raw-palette";
12
+ readonly severity: "error";
13
+ readonly summary: "Raw Tailwind palette colour or arbitrary colour class";
14
+ readonly help: "Use a semantic colour (bg-mn-surface, text-mn-fg-muted, bg-mn-danger-subtle, or the legacy bg-primary / text-muted-foreground). Palette classes ignore theme, contrast mode and product accent.";
15
+ };
16
+ readonly 'color/no-hard-coded-color': {
17
+ readonly id: "color/no-hard-coded-color";
18
+ readonly severity: "error";
19
+ readonly summary: "Hard-coded colour literal (hex, rgb(), hsl())";
20
+ readonly help: "Reference a token: var(--mn-color-…) in CSS, or a semantic class. For charts use var(--mn-color-data-1…5).";
21
+ };
22
+ readonly 'typography/no-arbitrary-type': {
23
+ readonly id: "typography/no-arbitrary-type";
24
+ readonly severity: "warn";
25
+ readonly summary: "Arbitrary font size, weight, family, line height or letter spacing";
26
+ readonly help: "Use the Monarch type scale (text-2xs…text-5xl, font-medium, leading-snug, tracking-tight) and var(--mn-font-sans|mono).";
27
+ };
28
+ readonly 'spacing/off-grid': {
29
+ readonly id: "spacing/off-grid";
30
+ readonly severity: "warn";
31
+ readonly summary: "Spacing value off the 4px grid";
32
+ readonly help: "Use the spacing scale (p-1 = 4px, p-1.5 = 6px, p-2 = 8px …). Arbitrary values must be multiples of 2px or a var(--mn-space-…).";
33
+ };
34
+ readonly 'tokens/local-token-definitions': {
35
+ readonly id: "tokens/local-token-definitions";
36
+ readonly severity: "error";
37
+ readonly summary: "Design tokens defined locally instead of imported from Monarch";
38
+ readonly help: "Import @rookcom/monarch-tokens/css (plus /css/compat during migration) and set data-mn-product on <html>. Delete the local copy.";
39
+ };
40
+ readonly 'components/duplicated-primitive': {
41
+ readonly id: "components/duplicated-primitive";
42
+ readonly severity: "warn";
43
+ readonly summary: "Local copy of a component Monarch provides";
44
+ readonly help: "Import the component from @rookcom/monarch-react and delete the local file once call sites are migrated.";
45
+ };
46
+ readonly 'a11y/img-alt': {
47
+ readonly id: "a11y/img-alt";
48
+ readonly severity: "error";
49
+ readonly summary: "<img> without alt";
50
+ readonly help: "Add alt text, or alt=\"\" for decorative images (WCAG 1.1.1).";
51
+ };
52
+ readonly 'a11y/click-without-key': {
53
+ readonly id: "a11y/click-without-key";
54
+ readonly severity: "error";
55
+ readonly summary: "Click handler on a non-interactive element without role and keyboard handler";
56
+ readonly help: "Use <button> (preferred), or add role and onKeyDown plus tabIndex={0} (WCAG 2.1.1).";
57
+ };
58
+ readonly 'a11y/positive-tabindex': {
59
+ readonly id: "a11y/positive-tabindex";
60
+ readonly severity: "error";
61
+ readonly summary: "Positive tabIndex";
62
+ readonly help: "Use tabIndex={0} or -1. Positive values break the natural focus order (WCAG 2.4.3).";
63
+ };
64
+ readonly 'a11y/outline-none-without-ring': {
65
+ readonly id: "a11y/outline-none-without-ring";
66
+ readonly severity: "error";
67
+ readonly summary: "Focus outline removed without a visible replacement";
68
+ readonly help: "Pair outline-none with focus-visible:ring-2 focus-visible:ring-ring (or a Monarch component). WCAG 2.4.7 needs a visible focus indicator.";
69
+ };
70
+ readonly 'overrides/monarch-internals': {
71
+ readonly id: "overrides/monarch-internals";
72
+ readonly severity: "error";
73
+ readonly summary: "Overrides Monarch internals (.mn-* selectors or --mn-* variables)";
74
+ readonly help: "Monarch classes and variables are not a public styling API. Use component props, or request a variant or an exception through governance.";
75
+ };
76
+ readonly 'deps/monarch-version': {
77
+ readonly id: "deps/monarch-version";
78
+ readonly severity: "error";
79
+ readonly summary: "Monarch package version status";
80
+ readonly help: "Upgrade to a supported version listed in registry/compatibility.json. See the migration guide for each release.";
81
+ };
82
+ readonly 'api/deprecated': {
83
+ readonly id: "api/deprecated";
84
+ readonly severity: "warn";
85
+ readonly summary: "Deprecated Monarch API";
86
+ readonly help: "Move to the replacement named in the message before the removal version.";
87
+ };
88
+ readonly 'legacy/bridge-variable': {
89
+ readonly id: "legacy/bridge-variable";
90
+ readonly severity: "info";
91
+ readonly summary: "Legacy shadcn variable used directly (var(--primary) …)";
92
+ readonly help: "Tracked for migration. Prefer var(--mn-color-…) so the legacy bridge can eventually be removed.";
93
+ };
94
+ readonly 'governance/suppression-without-reason': {
95
+ readonly id: "governance/suppression-without-reason";
96
+ readonly severity: "warn";
97
+ readonly summary: "Suppression comment without a reason";
98
+ readonly help: "Write `monarch-ignore-next-line <rule> -- <reason>`. Suppressions without a reason are ignored.";
99
+ };
100
+ readonly 'governance/expired-exception': {
101
+ readonly id: "governance/expired-exception";
102
+ readonly severity: "error";
103
+ readonly summary: "Registry exception has expired";
104
+ readonly help: "Fix the findings it covered, or renew it in the product registry entry with a new expiry and approver.";
105
+ };
106
+ };
107
+ export type RuleId = keyof typeof RULES;
108
+ export declare const RULE_IDS: RuleId[];
109
+ export interface RawFinding {
110
+ readonly rule: RuleId;
111
+ readonly line: number;
112
+ readonly column: number;
113
+ readonly message: string;
114
+ /** Overrides the rule's default severity for this finding. */
115
+ readonly severity?: Severity;
116
+ }
117
+ export interface FileContext {
118
+ /** Path relative to scan root. */
119
+ readonly file: string;
120
+ readonly ext: string;
121
+ readonly text: string;
122
+ readonly lines: readonly string[];
123
+ readonly deprecations: readonly Deprecation[];
124
+ }
125
+ /** Legacy variables from the shadcn-era token copies. */
126
+ export declare const LEGACY_TOKEN_NAMES: Set<string>;
127
+ export declare function isLegacyToken(name: string): boolean;
128
+ export declare function kebab(stem: string): string;
129
+ interface Tag {
130
+ readonly name: string;
131
+ readonly start: number;
132
+ readonly text: string;
133
+ }
134
+ /** Reads opening JSX tags, balancing braces so arrow functions don't end a tag. */
135
+ export declare function readTags(text: string, names: RegExp): Tag[];
136
+ /** Runs every file-level rule. Package-level rules live in check.ts. */
137
+ export declare function scanFile(ctx: FileContext): RawFinding[];
138
+ export interface Suppression {
139
+ /** Line the suppression applies to (1-based). */
140
+ readonly target: number;
141
+ readonly rules: readonly string[];
142
+ readonly reason: string | null;
143
+ readonly line: number;
144
+ readonly column: number;
145
+ }
146
+ export declare function readSuppressions(lines: readonly string[]): Suppression[];
147
+ export declare function ruleMatches(pattern: string, rule: string): boolean;
148
+ export {};
149
+ //# sourceMappingURL=rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,WAAW,EAAY,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGlE,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiG2B,CAAC;AAE9C,MAAM,MAAM,MAAM,GAAG,MAAM,OAAO,KAAK,CAAC;AACxC,eAAO,MAAM,QAAQ,EAAyB,MAAM,EAAE,CAAC;AAEvD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;CAC/C;AAsBD,yDAAyD;AACzD,eAAO,MAAM,kBAAkB,aA2B7B,CAAC;AAEH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAuSD,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK1C;AAqBD,UAAU,GAAG;IACX,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,mFAAmF;AACnF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,CA2B3D;AA+GD,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,UAAU,EAAE,CAWvD;AAID,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAQD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,EAAE,CAmBxE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAIlE"}