@rookcom/monarch-conformance 0.0.0-stage → 0.3.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 +21 -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 +155 -0
  32. package/dist/rules.d.ts.map +1 -0
  33. package/dist/rules.js +685 -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":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * A validator for the JSON Schema subset the registry uses: type, required,
3
+ * properties, additionalProperties: false, pattern, enum, minLength, minItems,
4
+ * uniqueItems, items and format: date. Keeps registry/product.schema.json the
5
+ * single source of truth without adding a runtime dependency.
6
+ */
7
+ export interface Schema {
8
+ type?: 'object' | 'array' | 'string' | 'number' | 'integer' | 'boolean';
9
+ required?: string[];
10
+ properties?: Record<string, Schema>;
11
+ additionalProperties?: boolean;
12
+ pattern?: string;
13
+ enum?: unknown[];
14
+ minLength?: number;
15
+ minItems?: number;
16
+ uniqueItems?: boolean;
17
+ items?: Schema;
18
+ format?: string;
19
+ }
20
+ /** Fails loudly if the schema uses a keyword this validator would silently ignore. */
21
+ export declare function assertSupported(schema: unknown, path?: string): void;
22
+ export declare function validate(value: unknown, schema: Schema, path?: string): string[];
23
+ export declare function isDate(s: string): boolean;
24
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACxE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAoBD,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,SAAM,GAAG,IAAI,CASjE;AASD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM,EAAE,CAwC5E;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAIzC"}
package/dist/schema.js ADDED
@@ -0,0 +1,91 @@
1
+ const SUPPORTED = new Set([
2
+ '$schema',
3
+ '$id',
4
+ 'title',
5
+ 'description',
6
+ 'type',
7
+ 'required',
8
+ 'properties',
9
+ 'additionalProperties',
10
+ 'pattern',
11
+ 'enum',
12
+ 'minLength',
13
+ 'minItems',
14
+ 'uniqueItems',
15
+ 'items',
16
+ 'format',
17
+ ]);
18
+ /** Fails loudly if the schema uses a keyword this validator would silently ignore. */
19
+ export function assertSupported(schema, path = '#') {
20
+ if (!schema || typeof schema !== 'object')
21
+ return;
22
+ for (const [k, v] of Object.entries(schema)) {
23
+ if (!SUPPORTED.has(k))
24
+ throw new Error(`Unsupported schema keyword ${path}/${k}`);
25
+ if (k === 'properties')
26
+ for (const [p, s] of Object.entries(v))
27
+ assertSupported(s, `${path}/properties/${p}`);
28
+ if (k === 'items')
29
+ assertSupported(v, `${path}/items`);
30
+ }
31
+ }
32
+ function typeOf(v) {
33
+ if (Array.isArray(v))
34
+ return 'array';
35
+ if (v === null)
36
+ return 'null';
37
+ if (typeof v === 'number')
38
+ return Number.isInteger(v) ? 'integer' : 'number';
39
+ return typeof v;
40
+ }
41
+ export function validate(value, schema, path = '') {
42
+ const errors = [];
43
+ const at = path || '(root)';
44
+ if (schema.enum && !schema.enum.some((e) => e === value)) {
45
+ errors.push(`${at}: must be one of ${schema.enum.map((e) => JSON.stringify(e)).join(', ')}`);
46
+ return errors;
47
+ }
48
+ if (schema.type) {
49
+ const t = typeOf(value);
50
+ const ok = t === schema.type || (schema.type === 'number' && t === 'integer');
51
+ if (!ok)
52
+ return [`${at}: expected ${schema.type}, got ${t}`];
53
+ }
54
+ if (typeof value === 'string') {
55
+ if (schema.minLength !== undefined && value.length < schema.minLength)
56
+ errors.push(`${at}: shorter than ${schema.minLength}`);
57
+ if (schema.pattern && !new RegExp(schema.pattern).test(value))
58
+ errors.push(`${at}: does not match ${schema.pattern}`);
59
+ if (schema.format === 'date' && !isDate(value))
60
+ errors.push(`${at}: not a valid YYYY-MM-DD date`);
61
+ }
62
+ if (Array.isArray(value)) {
63
+ if (schema.minItems !== undefined && value.length < schema.minItems)
64
+ errors.push(`${at}: needs at least ${schema.minItems} item(s)`);
65
+ if (schema.uniqueItems && new Set(value.map((v) => JSON.stringify(v))).size !== value.length)
66
+ errors.push(`${at}: items must be unique`);
67
+ if (schema.items)
68
+ value.forEach((v, i) => errors.push(...validate(v, schema.items, `${path}[${i}]`)));
69
+ }
70
+ if (value && typeof value === 'object' && !Array.isArray(value)) {
71
+ const obj = value;
72
+ for (const r of schema.required ?? [])
73
+ if (!(r in obj))
74
+ errors.push(`${path ? path + '.' : ''}${r}: required`);
75
+ for (const [k, v] of Object.entries(obj)) {
76
+ const sub = schema.properties?.[k];
77
+ if (sub)
78
+ errors.push(...validate(v, sub, path ? `${path}.${k}` : k));
79
+ else if (schema.additionalProperties === false)
80
+ errors.push(`${path ? path + '.' : ''}${k}: unknown property`);
81
+ }
82
+ }
83
+ return errors;
84
+ }
85
+ export function isDate(s) {
86
+ if (!/^\d{4}-\d{2}-\d{2}$/.test(s))
87
+ return false;
88
+ const d = new Date(`${s}T00:00:00Z`);
89
+ return !Number.isNaN(d.getTime()) && d.toISOString().slice(0, 10) === s;
90
+ }
91
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * A small semver implementation: enough for npm-style ranges used in Rook
3
+ * package.json files (^, ~, >=, >, <=, <, =, x-ranges, hyphen ranges, ||).
4
+ */
5
+ export interface Version {
6
+ readonly major: number;
7
+ readonly minor: number;
8
+ readonly patch: number;
9
+ readonly prerelease: readonly string[];
10
+ }
11
+ type Op = '>=' | '>' | '<=' | '<' | '=';
12
+ interface Comparator {
13
+ readonly op: Op;
14
+ readonly v: Version;
15
+ }
16
+ export declare function parseVersion(input: string): Version | null;
17
+ export declare function compare(a: Version, b: Version): number;
18
+ export interface Range {
19
+ readonly sets: readonly (readonly Comparator[])[];
20
+ }
21
+ export declare function parseRange(range: string): Range | null;
22
+ export declare function satisfies(version: string | Version, range: string): boolean;
23
+ /** Lowest version a range admits (what `npm install` could resolve at worst). */
24
+ export declare function minVersion(range: string): Version | null;
25
+ export declare function format(ver: Version): string;
26
+ export {};
27
+ //# sourceMappingURL=semver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semver.d.ts","sourceRoot":"","sources":["../src/semver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,KAAK,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;AACxC,UAAU,UAAU;IAClB,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;IAChB,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;CACrB;AAKD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAS1D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAuBtD;AAgHD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,UAAU,EAAE,CAAC,EAAE,CAAC;CACnD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAQtD;AAkBD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAgB3E;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAoBxD;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE3C"}
package/dist/semver.js ADDED
@@ -0,0 +1,235 @@
1
+ /**
2
+ * A small semver implementation: enough for npm-style ranges used in Rook
3
+ * package.json files (^, ~, >=, >, <=, <, =, x-ranges, hyphen ranges, ||).
4
+ */
5
+ const FULL = /^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/;
6
+ const PARTIAL = /^v?(\d+|[xX*])(?:\.(\d+|[xX*]))?(?:\.(\d+|[xX*]))?(?:-([0-9A-Za-z.-]+))?$/;
7
+ export function parseVersion(input) {
8
+ const m = FULL.exec(input.trim());
9
+ if (!m)
10
+ return null;
11
+ return {
12
+ major: Number(m[1]),
13
+ minor: Number(m[2]),
14
+ patch: Number(m[3]),
15
+ prerelease: m[4] ? m[4].split('.') : [],
16
+ };
17
+ }
18
+ export function compare(a, b) {
19
+ for (const k of ['major', 'minor', 'patch']) {
20
+ if (a[k] !== b[k])
21
+ return a[k] < b[k] ? -1 : 1;
22
+ }
23
+ const pa = a.prerelease;
24
+ const pb = b.prerelease;
25
+ if (pa.length === 0 && pb.length === 0)
26
+ return 0;
27
+ if (pa.length === 0)
28
+ return 1;
29
+ if (pb.length === 0)
30
+ return -1;
31
+ for (let i = 0; i < Math.max(pa.length, pb.length); i++) {
32
+ const x = pa[i];
33
+ const y = pb[i];
34
+ if (x === undefined)
35
+ return -1;
36
+ if (y === undefined)
37
+ return 1;
38
+ if (x === y)
39
+ continue;
40
+ const nx = /^\d+$/.test(x);
41
+ const ny = /^\d+$/.test(y);
42
+ if (nx && ny)
43
+ return Number(x) < Number(y) ? -1 : 1;
44
+ if (nx)
45
+ return -1;
46
+ if (ny)
47
+ return 1;
48
+ return x < y ? -1 : 1;
49
+ }
50
+ return 0;
51
+ }
52
+ const v = (major, minor = 0, patch = 0, prerelease = []) => ({
53
+ major,
54
+ minor,
55
+ patch,
56
+ prerelease,
57
+ });
58
+ function parsePartial(s) {
59
+ const m = PARTIAL.exec(s.trim());
60
+ if (!m)
61
+ return null;
62
+ const n = (x) => (x === undefined || /^[xX*]$/.test(x) ? null : Number(x));
63
+ const major = n(m[1]);
64
+ const minor = major === null ? null : n(m[2]);
65
+ const patch = minor === null ? null : n(m[3]);
66
+ return { major, minor, patch, pre: m[4] ? m[4].split('.') : [] };
67
+ }
68
+ /** Expands one space-separated comparator set into primitive comparators. */
69
+ function expand(token) {
70
+ const m = /^(\^|~>?|>=|<=|>|<|=)?\s*(.*)$/.exec(token);
71
+ if (!m)
72
+ return null;
73
+ const op = m[1] ?? '';
74
+ const p = parsePartial(m[2] ?? '');
75
+ if (!p)
76
+ return null;
77
+ const { major, minor, patch, pre } = p;
78
+ if (major === null) {
79
+ return op === '<' || op === '>' ? [{ op: '<', v: v(0, 0, 0, ['0']) }] : [];
80
+ }
81
+ const lower = v(major, minor ?? 0, patch ?? 0, pre);
82
+ switch (op) {
83
+ case '^': {
84
+ let upper;
85
+ if (major > 0 || minor === null)
86
+ upper = v(major + 1);
87
+ else if (minor > 0 || patch === null)
88
+ upper = v(0, minor + 1);
89
+ else
90
+ upper = v(0, 0, patch + 1);
91
+ return [
92
+ { op: '>=', v: lower },
93
+ { op: '<', v: upper },
94
+ ];
95
+ }
96
+ case '~':
97
+ case '~>': {
98
+ const upper = minor === null ? v(major + 1) : v(major, minor + 1);
99
+ return [
100
+ { op: '>=', v: lower },
101
+ { op: '<', v: upper },
102
+ ];
103
+ }
104
+ case '>=':
105
+ return [{ op: '>=', v: lower }];
106
+ case '<':
107
+ return [{ op: '<', v: lower }];
108
+ case '>':
109
+ if (minor === null)
110
+ return [{ op: '>=', v: v(major + 1) }];
111
+ if (patch === null)
112
+ return [{ op: '>=', v: v(major, minor + 1) }];
113
+ return [{ op: '>', v: lower }];
114
+ case '<=':
115
+ if (minor === null)
116
+ return [{ op: '<', v: v(major + 1) }];
117
+ if (patch === null)
118
+ return [{ op: '<', v: v(major, minor + 1) }];
119
+ return [{ op: '<=', v: lower }];
120
+ default: {
121
+ if (minor === null)
122
+ return [
123
+ { op: '>=', v: lower },
124
+ { op: '<', v: v(major + 1) },
125
+ ];
126
+ if (patch === null)
127
+ return [
128
+ { op: '>=', v: lower },
129
+ { op: '<', v: v(major, minor + 1) },
130
+ ];
131
+ return [{ op: '=', v: lower }];
132
+ }
133
+ }
134
+ }
135
+ function parseSet(set) {
136
+ const trimmed = set.trim();
137
+ const hyphen = /^(\S+)\s+-\s+(\S+)$/.exec(trimmed);
138
+ if (hyphen) {
139
+ const lo = expand(`>=${hyphen[1]}`);
140
+ const hiP = parsePartial(hyphen[2] ?? '');
141
+ if (!lo || !hiP || hiP.major === null)
142
+ return null;
143
+ const hi = hiP.patch !== null
144
+ ? expand(`<=${hyphen[2]}`)
145
+ : expand(`<${hiP.minor === null ? hiP.major + 1 : `${hiP.major}.${hiP.minor + 1}`}`);
146
+ return hi ? [...lo, ...hi] : null;
147
+ }
148
+ // Normalise ">= 1.2" into ">=1.2".
149
+ const tokens = trimmed
150
+ .replace(/(>=|<=|>|<|=|\^|~)\s+/g, '$1')
151
+ .split(/\s+/)
152
+ .filter(Boolean);
153
+ const out = [];
154
+ for (const t of tokens) {
155
+ const c = expand(t);
156
+ if (!c)
157
+ return null;
158
+ out.push(...c);
159
+ }
160
+ return out;
161
+ }
162
+ export function parseRange(range) {
163
+ const sets = [];
164
+ for (const part of range.split('||')) {
165
+ const set = parseSet(part);
166
+ if (!set)
167
+ return null;
168
+ sets.push(set);
169
+ }
170
+ return { sets };
171
+ }
172
+ function test(c, ver) {
173
+ const r = compare(ver, c.v);
174
+ switch (c.op) {
175
+ case '>=':
176
+ return r >= 0;
177
+ case '>':
178
+ return r > 0;
179
+ case '<=':
180
+ return r <= 0;
181
+ case '<':
182
+ return r < 0;
183
+ case '=':
184
+ return r === 0;
185
+ }
186
+ }
187
+ export function satisfies(version, range) {
188
+ const ver = typeof version === 'string' ? parseVersion(version) : version;
189
+ const r = parseRange(range);
190
+ if (!ver || !r)
191
+ return false;
192
+ return r.sets.some((set) => {
193
+ if (!set.every((c) => test(c, ver)))
194
+ return false;
195
+ // A prerelease only matches a set that names the same major.minor.patch with a prerelease.
196
+ if (ver.prerelease.length === 0)
197
+ return true;
198
+ return set.some((c) => c.v.prerelease.length > 0 &&
199
+ c.v.major === ver.major &&
200
+ c.v.minor === ver.minor &&
201
+ c.v.patch === ver.patch);
202
+ });
203
+ }
204
+ /** Lowest version a range admits (what `npm install` could resolve at worst). */
205
+ export function minVersion(range) {
206
+ const r = parseRange(range);
207
+ if (!r)
208
+ return null;
209
+ let best = null;
210
+ for (const set of r.sets) {
211
+ let lo = v(0, 0, 0);
212
+ for (const c of set) {
213
+ if (c.op === '>=' || c.op === '=') {
214
+ if (compare(c.v, lo) > 0)
215
+ lo = c.v;
216
+ }
217
+ else if (c.op === '>') {
218
+ const next = c.v.prerelease.length
219
+ ? v(c.v.major, c.v.minor, c.v.patch)
220
+ : v(c.v.major, c.v.minor, c.v.patch + 1);
221
+ if (compare(next, lo) > 0)
222
+ lo = next;
223
+ }
224
+ }
225
+ if (!set.every((c) => test(c, lo)))
226
+ continue;
227
+ if (!best || compare(lo, best) < 0)
228
+ best = lo;
229
+ }
230
+ return best;
231
+ }
232
+ export function format(ver) {
233
+ return `${ver.major}.${ver.minor}.${ver.patch}${ver.prerelease.length ? '-' + ver.prerelease.join('.') : ''}`;
234
+ }
235
+ //# sourceMappingURL=semver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semver.js","sourceRoot":"","sources":["../src/semver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ export type Severity = 'error' | 'warn' | 'info';
2
+ export type RuleSetting = Severity | 'off';
3
+ export interface Finding {
4
+ readonly rule: string;
5
+ readonly severity: Severity;
6
+ /** Path relative to the scan root, forward slashes. */
7
+ readonly file: string;
8
+ readonly line: number;
9
+ readonly column: number;
10
+ readonly message: string;
11
+ readonly snippet: string;
12
+ /** Set when an existing baseline covers this finding. */
13
+ baselined?: boolean;
14
+ }
15
+ export interface RuleMeta {
16
+ readonly id: string;
17
+ readonly severity: Severity;
18
+ readonly summary: string;
19
+ readonly help: string;
20
+ }
21
+ export interface ProductException {
22
+ readonly rule: string;
23
+ readonly paths: readonly string[];
24
+ readonly owner: string;
25
+ readonly reason: string;
26
+ readonly expires: string;
27
+ readonly approvedBy?: string;
28
+ }
29
+ export interface MonarchConfig {
30
+ readonly product?: string;
31
+ readonly include?: readonly string[];
32
+ readonly exclude?: readonly string[];
33
+ readonly rules?: Readonly<Record<string, RuleSetting>>;
34
+ }
35
+ export interface Deprecation {
36
+ readonly name: string;
37
+ readonly package: string;
38
+ readonly since: string;
39
+ readonly replacement?: string;
40
+ readonly message?: string;
41
+ }
42
+ export interface CompatibilityPackage {
43
+ readonly current: string;
44
+ readonly supported: string;
45
+ readonly deprecated?: readonly {
46
+ readonly range: string;
47
+ readonly message: string;
48
+ }[];
49
+ }
50
+ export interface Compatibility {
51
+ readonly packages: Readonly<Record<string, CompatibilityPackage>>;
52
+ readonly peers: Readonly<Record<string, string>>;
53
+ }
54
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE3C,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,uDAAuD;IACvD,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,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvF;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export declare const VERSION: string;
2
+ export declare const TOOL_NAME: string;
3
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,OAAO,EAAE,MAAoB,CAAC;AAC3C,eAAO,MAAM,SAAS,EAAE,MAAiB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { readFileSync } from 'node:fs';
2
+ /**
3
+ * Read from the package's own package.json at runtime, so the version in
4
+ * reports and SARIF can never drift from the published version. Works from
5
+ * both src/ (tests) and dist/ (published), which sit one level below it.
6
+ */
7
+ const pkg = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
8
+ export const VERSION = pkg.version;
9
+ export const TOOL_NAME = pkg.name;
10
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;GAIG;AACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAGvF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC;AAC3C,MAAM,CAAC,MAAM,SAAS,GAAW,GAAG,CAAC,IAAI,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,50 @@
1
1
  {
2
2
  "name": "@rookcom/monarch-conformance",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.3.0",
4
+ "description": "Rook Monarch conformance engine: static design-system checks, registry validation and adoption verification. No runtime dependencies.",
5
+ "license": "UNLICENSED",
6
+ "type": "module",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/RookHQ/monarch.git",
10
+ "directory": "packages/conformance"
11
+ },
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
15
+ "engines": {
16
+ "node": ">=20.11"
17
+ },
18
+ "bin": {
19
+ "monarch": "./dist/cli.js"
20
+ },
21
+ "files": [
22
+ "dist",
23
+ "README.md",
24
+ "CHANGELOG.md"
25
+ ],
26
+ "exports": {
27
+ ".": {
28
+ "types": "./dist/index.d.ts",
29
+ "default": "./dist/index.js"
30
+ },
31
+ "./package.json": "./package.json"
32
+ },
33
+ "scripts": {
34
+ "build": "rm -rf dist && tsc -p tsconfig.build.json && chmod +x dist/cli.js",
35
+ "typecheck": "tsc -p tsconfig.json --noEmit"
36
+ },
37
+ "homepage": "https://github.com/RookHQ/monarch/tree/main/packages/conformance#readme",
38
+ "bugs": {
39
+ "url": "https://github.com/RookHQ/monarch/issues"
40
+ },
41
+ "keywords": [
42
+ "rook",
43
+ "monarch",
44
+ "design-system",
45
+ "lint",
46
+ "design-system-governance",
47
+ "sarif"
48
+ ],
49
+ "author": "Rook (https://rookhq.com)"
50
+ }