@buoy-design/core 0.1.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 (57) hide show
  1. package/dist/analysis/index.d.ts +2 -0
  2. package/dist/analysis/index.d.ts.map +1 -0
  3. package/dist/analysis/index.js +2 -0
  4. package/dist/analysis/index.js.map +1 -0
  5. package/dist/analysis/semantic-diff.d.ts +100 -0
  6. package/dist/analysis/semantic-diff.d.ts.map +1 -0
  7. package/dist/analysis/semantic-diff.js +716 -0
  8. package/dist/analysis/semantic-diff.js.map +1 -0
  9. package/dist/analysis/semantic-diff.test.d.ts +2 -0
  10. package/dist/analysis/semantic-diff.test.d.ts.map +1 -0
  11. package/dist/analysis/semantic-diff.test.js +188 -0
  12. package/dist/analysis/semantic-diff.test.js.map +1 -0
  13. package/dist/index.d.ts +4 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +7 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/models/component.d.ts +638 -0
  18. package/dist/models/component.d.ts.map +1 -0
  19. package/dist/models/component.js +116 -0
  20. package/dist/models/component.js.map +1 -0
  21. package/dist/models/component.test.d.ts +2 -0
  22. package/dist/models/component.test.d.ts.map +1 -0
  23. package/dist/models/component.test.js +55 -0
  24. package/dist/models/component.test.js.map +1 -0
  25. package/dist/models/drift.d.ts +692 -0
  26. package/dist/models/drift.d.ts.map +1 -0
  27. package/dist/models/drift.js +152 -0
  28. package/dist/models/drift.js.map +1 -0
  29. package/dist/models/drift.test.d.ts +2 -0
  30. package/dist/models/drift.test.d.ts.map +1 -0
  31. package/dist/models/drift.test.js +38 -0
  32. package/dist/models/drift.test.js.map +1 -0
  33. package/dist/models/index.d.ts +9 -0
  34. package/dist/models/index.d.ts.map +1 -0
  35. package/dist/models/index.js +9 -0
  36. package/dist/models/index.js.map +1 -0
  37. package/dist/models/intent.d.ts +226 -0
  38. package/dist/models/intent.d.ts.map +1 -0
  39. package/dist/models/intent.js +84 -0
  40. package/dist/models/intent.js.map +1 -0
  41. package/dist/models/token.d.ts +740 -0
  42. package/dist/models/token.d.ts.map +1 -0
  43. package/dist/models/token.js +164 -0
  44. package/dist/models/token.js.map +1 -0
  45. package/dist/models/token.test.d.ts +2 -0
  46. package/dist/models/token.test.d.ts.map +1 -0
  47. package/dist/models/token.test.js +168 -0
  48. package/dist/models/token.test.js.map +1 -0
  49. package/dist/plugins/index.d.ts +2 -0
  50. package/dist/plugins/index.d.ts.map +1 -0
  51. package/dist/plugins/index.js +2 -0
  52. package/dist/plugins/index.js.map +1 -0
  53. package/dist/plugins/types.d.ts +60 -0
  54. package/dist/plugins/types.d.ts.map +1 -0
  55. package/dist/plugins/types.js +2 -0
  56. package/dist/plugins/types.js.map +1 -0
  57. package/package.json +49 -0
@@ -0,0 +1,2 @@
1
+ export { SemanticDiffEngine, type ComponentMatch, type ComponentDifference, type SemanticDiffResult, type TokenDiffResult, type DiffOptions, type AnalysisOptions, } from './semantic-diff.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analysis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { SemanticDiffEngine, } from './semantic-diff.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analysis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAOnB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,100 @@
1
+ import type { Component, DesignToken, DriftSignal, Severity } from '../models/index.js';
2
+ export interface ComponentMatch {
3
+ source: Component;
4
+ target: Component;
5
+ confidence: number;
6
+ matchType: 'exact' | 'similar' | 'partial';
7
+ differences: ComponentDifference[];
8
+ }
9
+ export interface ComponentDifference {
10
+ field: string;
11
+ sourceValue: unknown;
12
+ targetValue: unknown;
13
+ severity: Severity;
14
+ }
15
+ export interface SemanticDiffResult {
16
+ matches: ComponentMatch[];
17
+ orphanedSource: Component[];
18
+ orphanedTarget: Component[];
19
+ drifts: DriftSignal[];
20
+ }
21
+ export interface TokenDiffResult {
22
+ matches: {
23
+ source: DesignToken;
24
+ target: DesignToken;
25
+ }[];
26
+ orphanedSource: DesignToken[];
27
+ orphanedTarget: DesignToken[];
28
+ drifts: DriftSignal[];
29
+ }
30
+ export interface DiffOptions {
31
+ minMatchConfidence?: number;
32
+ }
33
+ export interface AnalysisOptions {
34
+ checkDeprecated?: boolean;
35
+ checkNaming?: boolean;
36
+ checkDocumentation?: boolean;
37
+ checkAccessibility?: boolean;
38
+ deprecatedPatterns?: string[];
39
+ namingConventions?: {
40
+ components?: RegExp;
41
+ tokens?: RegExp;
42
+ };
43
+ }
44
+ export interface FrameworkInfo {
45
+ name: string;
46
+ version: string;
47
+ }
48
+ export declare class SemanticDiffEngine {
49
+ /**
50
+ * Check for framework sprawl - multiple UI frameworks in one codebase
51
+ */
52
+ checkFrameworkSprawl(frameworks: FrameworkInfo[]): DriftSignal | null;
53
+ /**
54
+ * Compare components from different sources (e.g., React vs Figma)
55
+ */
56
+ compareComponents(sourceComponents: Component[], targetComponents: Component[], options?: DiffOptions): SemanticDiffResult;
57
+ /**
58
+ * Compare tokens between sources
59
+ */
60
+ compareTokens(sourceTokens: DesignToken[], targetTokens: DesignToken[]): TokenDiffResult;
61
+ /**
62
+ * Analyze a single set of components for internal drift
63
+ */
64
+ analyzeComponents(components: Component[], options?: AnalysisOptions): {
65
+ drifts: DriftSignal[];
66
+ };
67
+ /**
68
+ * Detect the dominant naming patterns in the codebase
69
+ */
70
+ private detectNamingPatterns;
71
+ private identifyNamingPattern;
72
+ private checkNamingConsistency;
73
+ /**
74
+ * Build a map of prop names to their types across all components
75
+ */
76
+ private buildPropTypeMap;
77
+ private checkPropTypeConsistency;
78
+ /**
79
+ * Build a map of semantic prop purposes to their naming patterns
80
+ */
81
+ private buildPropNamingMap;
82
+ private checkPropNamingConsistency;
83
+ private findDominantPropPattern;
84
+ /**
85
+ * Detect potential duplicate components based on similar names
86
+ */
87
+ private detectPotentialDuplicates;
88
+ private createMatch;
89
+ private findBestMatch;
90
+ private calculateSimilarity;
91
+ private stringSimilarity;
92
+ private levenshteinDistance;
93
+ private findDifferences;
94
+ private generateComponentDrifts;
95
+ private componentToDriftSource;
96
+ private tokenToDriftSource;
97
+ private getHighestSeverity;
98
+ private checkAccessibility;
99
+ }
100
+ //# sourceMappingURL=semantic-diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-diff.d.ts","sourceRoot":"","sources":["../../src/analysis/semantic-diff.ts"],"names":[],"mappings":"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"}