@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.
- package/dist/analysis/index.d.ts +2 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/analysis/index.js +2 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/analysis/semantic-diff.d.ts +100 -0
- package/dist/analysis/semantic-diff.d.ts.map +1 -0
- package/dist/analysis/semantic-diff.js +716 -0
- package/dist/analysis/semantic-diff.js.map +1 -0
- package/dist/analysis/semantic-diff.test.d.ts +2 -0
- package/dist/analysis/semantic-diff.test.d.ts.map +1 -0
- package/dist/analysis/semantic-diff.test.js +188 -0
- package/dist/analysis/semantic-diff.test.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/models/component.d.ts +638 -0
- package/dist/models/component.d.ts.map +1 -0
- package/dist/models/component.js +116 -0
- package/dist/models/component.js.map +1 -0
- package/dist/models/component.test.d.ts +2 -0
- package/dist/models/component.test.d.ts.map +1 -0
- package/dist/models/component.test.js +55 -0
- package/dist/models/component.test.js.map +1 -0
- package/dist/models/drift.d.ts +692 -0
- package/dist/models/drift.d.ts.map +1 -0
- package/dist/models/drift.js +152 -0
- package/dist/models/drift.js.map +1 -0
- package/dist/models/drift.test.d.ts +2 -0
- package/dist/models/drift.test.d.ts.map +1 -0
- package/dist/models/drift.test.js +38 -0
- package/dist/models/drift.test.js.map +1 -0
- package/dist/models/index.d.ts +9 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +9 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/intent.d.ts +226 -0
- package/dist/models/intent.d.ts.map +1 -0
- package/dist/models/intent.js +84 -0
- package/dist/models/intent.js.map +1 -0
- package/dist/models/token.d.ts +740 -0
- package/dist/models/token.d.ts.map +1 -0
- package/dist/models/token.js +164 -0
- package/dist/models/token.js.map +1 -0
- package/dist/models/token.test.d.ts +2 -0
- package/dist/models/token.test.d.ts.map +1 -0
- package/dist/models/token.test.js +168 -0
- package/dist/models/token.test.js.map +1 -0
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +2 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/types.d.ts +60 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +2 -0
- package/dist/plugins/types.js.map +1 -0
- package/package.json +49 -0
|
@@ -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 @@
|
|
|
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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"}
|