@buoy-design/core 0.3.38 → 0.4.1

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 (40) hide show
  1. package/dist/designmd/adapter.d.ts +7 -0
  2. package/dist/designmd/adapter.d.ts.map +1 -0
  3. package/dist/designmd/adapter.js +162 -0
  4. package/dist/designmd/adapter.js.map +1 -0
  5. package/dist/designmd/index.d.ts +4 -0
  6. package/dist/designmd/index.d.ts.map +1 -0
  7. package/dist/designmd/index.js +4 -0
  8. package/dist/designmd/index.js.map +1 -0
  9. package/dist/designmd/to-tokens.d.ts +13 -0
  10. package/dist/designmd/to-tokens.d.ts.map +1 -0
  11. package/dist/designmd/to-tokens.js +54 -0
  12. package/dist/designmd/to-tokens.js.map +1 -0
  13. package/dist/designmd/types.d.ts +35 -0
  14. package/dist/designmd/types.d.ts.map +1 -0
  15. package/dist/designmd/types.js +6 -0
  16. package/dist/designmd/types.js.map +1 -0
  17. package/dist/index.d.ts +1 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +2 -0
  20. package/dist/index.js.map +1 -1
  21. package/package.json +2 -1
  22. package/dist/analysis/audit.d.sync-conflict-20260306-131742-6PCZ3ZU.ts +0 -141
  23. package/dist/analysis/audit.d.ts.sync-conflict-20260313-164724-6PCZ3ZU.map +0 -1
  24. package/dist/analysis/audit.js.sync-conflict-20260309-150631-6PCZ3ZU.map +0 -1
  25. package/dist/analysis/audit.sync-conflict-20260305-235746-6PCZ3ZU.js +0 -498
  26. package/dist/analysis/audit.sync-conflict-20260306-131031-6PCZ3ZU.d.ts +0 -141
  27. package/dist/analysis/audit.sync-conflict-20260306-131031-6PCZ3ZU.d.ts.map +0 -1
  28. package/dist/analysis/audit.sync-conflict-20260306-131031-6PCZ3ZU.js +0 -498
  29. package/dist/analysis/audit.sync-conflict-20260306-131031-6PCZ3ZU.js.map +0 -1
  30. package/dist/analysis/audit.test.sync-conflict-20260313-170321-6PCZ3ZU.d.ts +0 -2
  31. package/dist/analysis/audit.test.sync-conflict-20260313-170321-6PCZ3ZU.d.ts.map +0 -1
  32. package/dist/analysis/audit.test.sync-conflict-20260313-170321-6PCZ3ZU.js +0 -896
  33. package/dist/analysis/audit.test.sync-conflict-20260313-170321-6PCZ3ZU.js.map +0 -1
  34. package/dist/analysis/semantic-diff.d.ts.sync-conflict-20260305-144725-6PCZ3ZU.map +0 -1
  35. package/dist/analysis/semantic-diff.js.sync-conflict-20260307-172619-6PCZ3ZU.map +0 -1
  36. package/dist/analysis/semantic-diff.test.sync-conflict-20260313-111438-6PCZ3ZU.d.ts +0 -2
  37. package/dist/analysis/semantic-diff.test.sync-conflict-20260313-111438-6PCZ3ZU.d.ts.map +0 -1
  38. package/dist/analysis/semantic-diff.test.sync-conflict-20260313-111438-6PCZ3ZU.js +0 -766
  39. package/dist/analysis/semantic-diff.test.sync-conflict-20260313-111438-6PCZ3ZU.js.map +0 -1
  40. package/dist/graph/collectors/usages.sync-conflict-20260313-145408-6PCZ3ZU.js +0 -248
@@ -0,0 +1,7 @@
1
+ import type { DesignMdResult } from "./types.js";
2
+ /**
3
+ * Parse and lint a DESIGN.md source string. Never throws — failures surface
4
+ * as findings with severity "error".
5
+ */
6
+ export declare function parseDesignMd(source: string): DesignMdResult;
7
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/designmd/adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EAMf,MAAM,YAAY,CAAC;AAqIpB;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAkB5D"}
@@ -0,0 +1,162 @@
1
+ import { lint } from "@google/design.md/linter";
2
+ function mapToRecord(m) {
3
+ if (m instanceof Map)
4
+ return Object.fromEntries(m);
5
+ if (m && typeof m === "object")
6
+ return m;
7
+ return undefined;
8
+ }
9
+ function dimensionToString(v) {
10
+ if (typeof v === "string")
11
+ return v;
12
+ if (v && typeof v === "object") {
13
+ const o = v;
14
+ if (typeof o.value === "number" && typeof o.unit === "string") {
15
+ return `${o.value}${o.unit}`;
16
+ }
17
+ }
18
+ return undefined;
19
+ }
20
+ function colorsRecord(m) {
21
+ const rec = mapToRecord(m);
22
+ if (!rec)
23
+ return undefined;
24
+ const out = {};
25
+ for (const [k, v] of Object.entries(rec)) {
26
+ if (v && typeof v === "object" && typeof v.hex === "string") {
27
+ out[k] = v.hex;
28
+ }
29
+ else if (typeof v === "string") {
30
+ out[k] = v;
31
+ }
32
+ }
33
+ return out;
34
+ }
35
+ function dimensionsRecord(m) {
36
+ const rec = mapToRecord(m);
37
+ if (!rec)
38
+ return undefined;
39
+ const out = {};
40
+ for (const [k, v] of Object.entries(rec)) {
41
+ const s = dimensionToString(v);
42
+ if (s !== undefined)
43
+ out[k] = s;
44
+ }
45
+ return out;
46
+ }
47
+ function typographyRecord(m) {
48
+ const rec = mapToRecord(m);
49
+ if (!rec)
50
+ return undefined;
51
+ const out = {};
52
+ for (const [k, v] of Object.entries(rec)) {
53
+ if (v && typeof v === "object")
54
+ out[k] = v;
55
+ }
56
+ return out;
57
+ }
58
+ function componentsRecord(m) {
59
+ const rec = mapToRecord(m);
60
+ if (!rec)
61
+ return undefined;
62
+ const out = {};
63
+ for (const [k, v] of Object.entries(rec)) {
64
+ const props = v?.properties;
65
+ const propRec = mapToRecord(props);
66
+ if (!propRec)
67
+ continue;
68
+ const inner = {};
69
+ for (const [pk, pv] of Object.entries(propRec)) {
70
+ if (typeof pv === "string")
71
+ inner[pk] = pv;
72
+ else {
73
+ const s = dimensionToString(pv);
74
+ if (s !== undefined)
75
+ inner[pk] = s;
76
+ else if (pv && typeof pv === "object" && typeof pv.hex === "string") {
77
+ inner[pk] = pv.hex;
78
+ }
79
+ }
80
+ }
81
+ out[k] = inner;
82
+ }
83
+ return out;
84
+ }
85
+ function normalizeDesignSystem(raw) {
86
+ const r = (raw ?? {});
87
+ const sys = {};
88
+ if (typeof r.version === "string")
89
+ sys.version = r.version;
90
+ if (typeof r.name === "string")
91
+ sys.name = r.name;
92
+ if (typeof r.description === "string")
93
+ sys.description = r.description;
94
+ const colors = colorsRecord(r.colors);
95
+ if (colors)
96
+ sys.colors = colors;
97
+ const typography = typographyRecord(r.typography);
98
+ if (typography)
99
+ sys.typography = typography;
100
+ const rounded = dimensionsRecord(r.rounded);
101
+ if (rounded)
102
+ sys.rounded = rounded;
103
+ const spacing = dimensionsRecord(r.spacing);
104
+ if (spacing)
105
+ sys.spacing = spacing;
106
+ const components = componentsRecord(r.components);
107
+ if (components)
108
+ sys.components = components;
109
+ return sys;
110
+ }
111
+ function normalizeFindings(raw) {
112
+ if (!Array.isArray(raw))
113
+ return [];
114
+ return raw.map((f) => {
115
+ const o = (f ?? {});
116
+ const sev = o.severity;
117
+ const severity = sev === "error" || sev === "warning" || sev === "info" ? sev : "info";
118
+ return {
119
+ rule: typeof o.rule === "string" ? o.rule : "",
120
+ severity,
121
+ path: typeof o.path === "string" ? o.path : "",
122
+ message: typeof o.message === "string" ? o.message : "",
123
+ };
124
+ });
125
+ }
126
+ function normalizeSummary(raw) {
127
+ const o = (raw ?? {});
128
+ const errors = typeof o.errors === "number" ? o.errors : 0;
129
+ const warnings = typeof o.warnings === "number" ? o.warnings : 0;
130
+ // Upstream uses `infos`; we expose `info`.
131
+ const infoVal = typeof o.info === "number"
132
+ ? o.info
133
+ : typeof o.infos === "number"
134
+ ? o.infos
135
+ : 0;
136
+ return { errors, warnings, info: infoVal };
137
+ }
138
+ /**
139
+ * Parse and lint a DESIGN.md source string. Never throws — failures surface
140
+ * as findings with severity "error".
141
+ */
142
+ export function parseDesignMd(source) {
143
+ try {
144
+ const report = lint(source);
145
+ return {
146
+ designSystem: normalizeDesignSystem(report.designSystem),
147
+ findings: normalizeFindings(report.findings),
148
+ summary: normalizeSummary(report.summary),
149
+ };
150
+ }
151
+ catch (err) {
152
+ const message = err instanceof Error ? err.message : String(err);
153
+ return {
154
+ designSystem: {},
155
+ findings: [
156
+ { rule: "parse-error", severity: "error", path: "", message },
157
+ ],
158
+ summary: { errors: 1, warnings: 0, info: 0 },
159
+ };
160
+ }
161
+ }
162
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/designmd/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./types.js";
2
+ export { parseDesignMd } from "./adapter.js";
3
+ export { designMdToTokens } from "./to-tokens.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/designmd/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./types.js";
2
+ export { parseDesignMd } from "./adapter.js";
3
+ export { designMdToTokens } from "./to-tokens.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/designmd/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { DesignMdSystem } from "./types.js";
2
+ import type { DesignToken } from "../models/token.js";
3
+ /**
4
+ * Project a DESIGN.md design system to Buoy's DesignToken[] shape.
5
+ *
6
+ * v1 supports: colors, spacing, rounded.
7
+ * Skipped: typography (complex shape), components (deferred).
8
+ *
9
+ * Note: rounded values are mapped to category "other" with `value: { type: "raw" }`
10
+ * because there is no `radius`/`rounded` category in the existing token schema.
11
+ */
12
+ export declare function designMdToTokens(ds: DesignMdSystem): DesignToken[];
13
+ //# sourceMappingURL=to-tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-tokens.d.ts","sourceRoot":"","sources":["../../src/designmd/to-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA4BtD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,cAAc,GAAG,WAAW,EAAE,CA2BlE"}
@@ -0,0 +1,54 @@
1
+ const DIMENSION_RE = /^(-?\d*\.?\d+)(px|rem|em)$/;
2
+ function parseDimension(input) {
3
+ const m = DIMENSION_RE.exec(input.trim());
4
+ if (!m)
5
+ return null;
6
+ return { value: parseFloat(m[1]), unit: m[2] };
7
+ }
8
+ function makeBaseToken(name, category) {
9
+ return {
10
+ id: `designmd:${category}:${name}`,
11
+ name,
12
+ category,
13
+ source: { type: "css", path: "DESIGN.md" },
14
+ aliases: [],
15
+ usedBy: [],
16
+ metadata: {},
17
+ scannedAt: new Date(),
18
+ };
19
+ }
20
+ /**
21
+ * Project a DESIGN.md design system to Buoy's DesignToken[] shape.
22
+ *
23
+ * v1 supports: colors, spacing, rounded.
24
+ * Skipped: typography (complex shape), components (deferred).
25
+ *
26
+ * Note: rounded values are mapped to category "other" with `value: { type: "raw" }`
27
+ * because there is no `radius`/`rounded` category in the existing token schema.
28
+ */
29
+ export function designMdToTokens(ds) {
30
+ const out = [];
31
+ for (const [name, hex] of Object.entries(ds.colors ?? {})) {
32
+ out.push({
33
+ ...makeBaseToken(name, "color"),
34
+ value: { type: "color", hex: String(hex) },
35
+ });
36
+ }
37
+ for (const [name, raw] of Object.entries(ds.spacing ?? {})) {
38
+ const dim = parseDimension(String(raw));
39
+ if (!dim)
40
+ continue;
41
+ out.push({
42
+ ...makeBaseToken(name, "spacing"),
43
+ value: { type: "spacing", value: dim.value, unit: dim.unit },
44
+ });
45
+ }
46
+ for (const [name, raw] of Object.entries(ds.rounded ?? {})) {
47
+ out.push({
48
+ ...makeBaseToken(name, "other"),
49
+ value: { type: "raw", value: String(raw) },
50
+ });
51
+ }
52
+ return out;
53
+ }
54
+ //# sourceMappingURL=to-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-tokens.js","sourceRoot":"","sources":["../../src/designmd/to-tokens.ts"],"names":[],"mappings":"AAGA,MAAM,YAAY,GAAG,4BAA4B,CAAC;AAElD,SAAS,cAAc,CACrB,KAAa;IAEb,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAwB,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CACpB,IAAY,EACZ,QAAiC;IAEjC,OAAO;QACL,EAAE,EAAE,YAAY,QAAQ,IAAI,IAAI,EAAE;QAClC,IAAI;QACJ,QAAQ;QACR,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE;QAC1C,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAkB;IACjD,MAAM,GAAG,GAAkB,EAAE,CAAC;IAE9B,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,IAAI,CAAC;YACP,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;YAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,GAAG,CAAC,IAAI,CAAC;YACP,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;YACjC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC;YACP,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;YAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Buoy-facing types that mirror @google/design.md/linter shapes.
3
+ * Re-exported here so consumers don't import upstream directly.
4
+ */
5
+ export interface DesignMdToken {
6
+ [key: string]: unknown;
7
+ }
8
+ export interface DesignMdSystem {
9
+ version?: string;
10
+ name?: string;
11
+ description?: string;
12
+ colors?: Record<string, string>;
13
+ typography?: Record<string, DesignMdToken>;
14
+ rounded?: Record<string, string>;
15
+ spacing?: Record<string, string>;
16
+ components?: Record<string, Record<string, string>>;
17
+ }
18
+ export type DesignMdSeverity = "error" | "warning" | "info";
19
+ export interface DesignMdFinding {
20
+ rule: string;
21
+ severity: DesignMdSeverity;
22
+ path: string;
23
+ message: string;
24
+ }
25
+ export interface DesignMdSummary {
26
+ errors: number;
27
+ warnings: number;
28
+ info: number;
29
+ }
30
+ export interface DesignMdResult {
31
+ designSystem: DesignMdSystem;
32
+ findings: DesignMdFinding[];
33
+ summary: DesignMdSummary;
34
+ }
35
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/designmd/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,cAAc,CAAC;IAC7B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,OAAO,EAAE,eAAe,CAAC;CAC1B"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Buoy-facing types that mirror @google/design.md/linter shapes.
3
+ * Re-exported here so consumers don't import upstream directly.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/designmd/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export * from './extraction/index.js';
4
4
  export * from './tokenization/index.js';
5
5
  export * from './plugins/index.js';
6
6
  export * from './tokens/index.js';
7
+ export * from './designmd/index.js';
7
8
  export * from './graph/index.js';
8
9
  export * from './fix/index.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAGlC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAGlC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -10,6 +10,8 @@ export * from './tokenization/index.js';
10
10
  export * from './plugins/index.js';
11
11
  // Re-export token parsing
12
12
  export * from './tokens/index.js';
13
+ // Re-export DESIGN.md adapter
14
+ export * from './designmd/index.js';
13
15
  // Re-export graph
14
16
  export * from './graph/index.js';
15
17
  // Re-export fix
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,cAAc,mBAAmB,CAAC;AAElC,qBAAqB;AACrB,cAAc,qBAAqB,CAAC;AAEpC,uBAAuB;AACvB,cAAc,uBAAuB,CAAC;AAEtC,yBAAyB;AACzB,cAAc,yBAAyB,CAAC;AAExC,oBAAoB;AACpB,cAAc,oBAAoB,CAAC;AAEnC,0BAA0B;AAC1B,cAAc,mBAAmB,CAAC;AAElC,kBAAkB;AAClB,cAAc,kBAAkB,CAAC;AAEjC,gBAAgB;AAChB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,cAAc,mBAAmB,CAAC;AAElC,qBAAqB;AACrB,cAAc,qBAAqB,CAAC;AAEpC,uBAAuB;AACvB,cAAc,uBAAuB,CAAC;AAEtC,yBAAyB;AACzB,cAAc,yBAAyB,CAAC;AAExC,oBAAoB;AACpB,cAAc,oBAAoB,CAAC;AAEnC,0BAA0B;AAC1B,cAAc,mBAAmB,CAAC;AAElC,8BAA8B;AAC9B,cAAc,qBAAqB,CAAC;AAEpC,kBAAkB;AAClB,cAAc,kBAAkB,CAAC;AAEjC,gBAAgB;AAChB,cAAc,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buoy-design/core",
3
- "version": "0.3.38",
3
+ "version": "0.4.1",
4
4
  "description": "Core domain models and analysis for Buoy design drift detection",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -45,6 +45,7 @@
45
45
  }
46
46
  },
47
47
  "dependencies": {
48
+ "@google/design.md": "0.1.1",
48
49
  "glob": "^11.0.0",
49
50
  "graphology": "^0.26.0",
50
51
  "graphology-types": "^0.24.8",
@@ -1,141 +0,0 @@
1
- export interface AuditValue {
2
- category: 'color' | 'spacing' | 'typography' | 'radius';
3
- value: string;
4
- file: string;
5
- line: number;
6
- }
7
- export interface CategoryStats {
8
- uniqueCount: number;
9
- totalUsages: number;
10
- mostCommon: Array<{
11
- value: string;
12
- count: number;
13
- }>;
14
- }
15
- export interface FileIssue {
16
- file: string;
17
- issueCount: number;
18
- }
19
- export interface CloseMatch {
20
- value: string;
21
- closeTo: string;
22
- distance: number;
23
- }
24
- export interface AuditReport {
25
- categories: Record<string, CategoryStats>;
26
- worstFiles: FileIssue[];
27
- totals: {
28
- uniqueValues: number;
29
- totalUsages: number;
30
- filesAffected: number;
31
- };
32
- closeMatches: CloseMatch[];
33
- score: number;
34
- }
35
- /**
36
- * Metrics gathered from drift analysis for health scoring.
37
- * All counts come from drift signals and scan results.
38
- */
39
- export interface HealthMetrics {
40
- /** Total components found in codebase */
41
- componentCount: number;
42
- /** Total design tokens defined */
43
- tokenCount: number;
44
- /** Number of hardcoded-value drift signals */
45
- hardcodedValueCount: number;
46
- /** Number of unused-token drift signals */
47
- unusedTokenCount: number;
48
- /** Number of naming-inconsistency drift signals */
49
- namingInconsistencyCount: number;
50
- /** Number of critical-severity drift signals */
51
- criticalCount: number;
52
- /** Whether a utility CSS framework (Tailwind) is detected */
53
- hasUtilityFramework: boolean;
54
- /** Whether a design system library (MUI, Chakra, shadcn, etc.) is detected */
55
- hasDesignSystemLibrary: boolean;
56
- /** Total drift signals of ALL types (hardcoded-value, naming-inconsistency, repeated-pattern, etc.) */
57
- totalDriftCount?: number;
58
- /** Number of unused-component drift signals (dead code) */
59
- unusedComponentCount?: number;
60
- /** Number of repeated-pattern drift signals (extract to shared component) */
61
- repeatedPatternCount?: number;
62
- /** Number of orphaned-component drift signals (dead code) */
63
- orphanedComponentCount?: number;
64
- /** Number of semantic-mismatch drift signals (naming/structure inconsistencies) */
65
- semanticMismatchCount?: number;
66
- /** Number of deprecated-pattern drift signals (technical debt) */
67
- deprecatedPatternCount?: number;
68
- /** Number of files with >2 hardcoded values (severe maintenance burden) */
69
- highDensityFileCount?: number;
70
- /** Number of drift signals from vendored/template components (e.g., shadcn/ui) */
71
- vendoredDriftCount?: number;
72
- /** Most common hardcoded color (for suggestions) */
73
- topHardcodedColor?: {
74
- value: string;
75
- count: number;
76
- };
77
- /** File with the most drift issues */
78
- worstFile?: {
79
- path: string;
80
- issueCount: number;
81
- };
82
- /** Total unique spacing values found */
83
- uniqueSpacingValues?: number;
84
- /** Names of detected frameworks/libraries (for framework-aware suggestions) */
85
- detectedFrameworkNames?: string[];
86
- }
87
- export interface HealthPillar {
88
- name: string;
89
- score: number;
90
- maxScore: number;
91
- description: string;
92
- }
93
- export interface HealthScoreResult {
94
- /** Overall score 0-100, or null if no UI surface detected */
95
- score: number | null;
96
- /** Tier label */
97
- tier: 'Great' | 'Good' | 'OK' | 'Bad' | 'Terrible' | 'N/A';
98
- /** Individual pillar scores */
99
- pillars: {
100
- valueDiscipline: HealthPillar;
101
- tokenHealth: HealthPillar;
102
- consistency: HealthPillar;
103
- criticalIssues: HealthPillar;
104
- };
105
- /** Actionable improvement suggestions */
106
- suggestions: string[];
107
- /** Raw metrics used for scoring */
108
- metrics: HealthMetrics;
109
- }
110
- /**
111
- * Generate an audit report from extracted values
112
- */
113
- export declare function generateAuditReport(values: AuditValue[]): AuditReport;
114
- /**
115
- * Find values that are close to design tokens (likely typos)
116
- */
117
- export declare function findCloseMatches(foundValues: string[], designTokens: string[], category: 'color' | 'spacing' | 'typography' | 'radius'): CloseMatch[];
118
- /**
119
- * @deprecated Use calculateHealthScorePillar() with proper HealthMetrics instead.
120
- * This legacy function approximates componentCount from filesAffected which
121
- * is inaccurate. Kept for backward compatibility with external callers.
122
- */
123
- export declare function calculateHealthScore(report: AuditReport): number;
124
- /**
125
- * 4-Pillar Health Score System
126
- *
127
- * Measures design system health across four dimensions:
128
- * - Value Discipline (0-60): Hardcoded values per component (density)
129
- * - Token Health (0-20): Token system existence and adoption
130
- * - Consistency (0-10): Naming convention adherence
131
- * - Critical Issues (0-10): Accessibility and critical failures
132
- *
133
- * Tiers: 80-100 Great, 60-79 Good, 40-59 OK, 20-39 Bad, 0-19 Terrible
134
- *
135
- * Note: A perfect 100 requires maxing all 4 pillars simultaneously.
136
- * In practice, the highest-scoring real-world apps reach ~95.
137
- * A score of 95 represents near-perfect design system health.
138
- */
139
- export declare function calculateHealthScorePillar(metrics: HealthMetrics): HealthScoreResult;
140
- export declare function getHealthTier(score: number): 'Great' | 'Good' | 'OK' | 'Bad' | 'Terrible';
141
- //# sourceMappingURL=audit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/analysis/audit.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/analysis/audit.ts"],"names":[],"mappings":"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"}