@buoy-design/scanners 0.2.0 → 0.2.26
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/LICENSE +21 -0
- package/dist/design-systems/index.d.ts +6 -0
- package/dist/design-systems/index.d.ts.map +1 -0
- package/dist/design-systems/index.js +6 -0
- package/dist/design-systems/index.js.map +1 -0
- package/dist/design-systems/library-detector.d.ts +53 -0
- package/dist/design-systems/library-detector.d.ts.map +1 -0
- package/dist/design-systems/library-detector.js +183 -0
- package/dist/design-systems/library-detector.js.map +1 -0
- package/dist/extractors/css-in-js.d.ts +20 -0
- package/dist/extractors/css-in-js.d.ts.map +1 -0
- package/dist/extractors/css-in-js.js +284 -0
- package/dist/extractors/css-in-js.js.map +1 -0
- package/dist/extractors/html-style.d.ts +1 -1
- package/dist/extractors/html-style.d.ts.map +1 -1
- package/dist/extractors/index.d.ts +1 -0
- package/dist/extractors/index.d.ts.map +1 -1
- package/dist/extractors/index.js +1 -0
- package/dist/extractors/index.js.map +1 -1
- package/dist/figma/client.d.ts +4 -0
- package/dist/figma/client.d.ts.map +1 -1
- package/dist/figma/client.js.map +1 -1
- package/dist/figma/component-scanner.d.ts +67 -1
- package/dist/figma/component-scanner.d.ts.map +1 -1
- package/dist/figma/component-scanner.js +162 -1
- package/dist/figma/component-scanner.js.map +1 -1
- package/dist/figma/index.d.ts +1 -1
- package/dist/figma/index.d.ts.map +1 -1
- package/dist/figma/index.js.map +1 -1
- package/dist/git/angular-scanner.d.ts +78 -1
- package/dist/git/angular-scanner.d.ts.map +1 -1
- package/dist/git/angular-scanner.js +249 -6
- package/dist/git/angular-scanner.js.map +1 -1
- package/dist/git/index.d.ts +4 -3
- package/dist/git/index.d.ts.map +1 -1
- package/dist/git/index.js +1 -0
- package/dist/git/index.js.map +1 -1
- package/dist/git/nextjs-scanner.d.ts +190 -0
- package/dist/git/nextjs-scanner.d.ts.map +1 -0
- package/dist/git/nextjs-scanner.js +979 -0
- package/dist/git/nextjs-scanner.js.map +1 -0
- package/dist/git/react-scanner.d.ts +74 -1
- package/dist/git/react-scanner.d.ts.map +1 -1
- package/dist/git/react-scanner.js +223 -9
- package/dist/git/react-scanner.js.map +1 -1
- package/dist/git/token-scanner.d.ts.map +1 -1
- package/dist/git/token-scanner.js +32 -2
- package/dist/git/token-scanner.js.map +1 -1
- package/dist/git/vue-scanner.d.ts +43 -1
- package/dist/git/vue-scanner.d.ts.map +1 -1
- package/dist/git/vue-scanner.js +130 -4
- package/dist/git/vue-scanner.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/signals/extractors/arbitrary-value.d.ts +7 -0
- package/dist/signals/extractors/arbitrary-value.d.ts.map +1 -0
- package/dist/signals/extractors/arbitrary-value.js +57 -0
- package/dist/signals/extractors/arbitrary-value.js.map +1 -0
- package/dist/signals/extractors/breakpoint.d.ts +6 -0
- package/dist/signals/extractors/breakpoint.d.ts.map +1 -0
- package/dist/signals/extractors/breakpoint.js +41 -0
- package/dist/signals/extractors/breakpoint.js.map +1 -0
- package/dist/signals/extractors/index.d.ts +7 -0
- package/dist/signals/extractors/index.d.ts.map +1 -1
- package/dist/signals/extractors/index.js +7 -0
- package/dist/signals/extractors/index.js.map +1 -1
- package/dist/signals/extractors/inline-style.d.ts +6 -0
- package/dist/signals/extractors/inline-style.d.ts.map +1 -0
- package/dist/signals/extractors/inline-style.js +60 -0
- package/dist/signals/extractors/inline-style.js.map +1 -0
- package/dist/signals/extractors/radius.d.ts +3 -0
- package/dist/signals/extractors/radius.d.ts.map +1 -0
- package/dist/signals/extractors/radius.js +32 -0
- package/dist/signals/extractors/radius.js.map +1 -0
- package/dist/signals/extractors/shadow.d.ts +3 -0
- package/dist/signals/extractors/shadow.d.ts.map +1 -0
- package/dist/signals/extractors/shadow.js +41 -0
- package/dist/signals/extractors/shadow.js.map +1 -0
- package/dist/signals/extractors/sizing.d.ts +6 -0
- package/dist/signals/extractors/sizing.d.ts.map +1 -0
- package/dist/signals/extractors/sizing.js +60 -0
- package/dist/signals/extractors/sizing.js.map +1 -0
- package/dist/signals/extractors/z-index.d.ts +3 -0
- package/dist/signals/extractors/z-index.d.ts.map +1 -0
- package/dist/signals/extractors/z-index.js +30 -0
- package/dist/signals/extractors/z-index.js.map +1 -0
- package/dist/signals/scanner-integration.d.ts.map +1 -1
- package/dist/signals/scanner-integration.js +35 -0
- package/dist/signals/scanner-integration.js.map +1 -1
- package/dist/signals/types.d.ts +4 -4
- package/dist/signals/types.d.ts.map +1 -1
- package/dist/signals/types.js +4 -0
- package/dist/signals/types.js.map +1 -1
- package/dist/storybook/extractor.d.ts +106 -1
- package/dist/storybook/extractor.d.ts.map +1 -1
- package/dist/storybook/extractor.js +325 -5
- package/dist/storybook/extractor.js.map +1 -1
- package/dist/storybook/index.d.ts +1 -1
- package/dist/storybook/index.d.ts.map +1 -1
- package/dist/storybook/index.js.map +1 -1
- package/dist/tailwind/index.d.ts +1 -1
- package/dist/tailwind/index.d.ts.map +1 -1
- package/dist/tailwind/index.js.map +1 -1
- package/dist/tailwind/scanner.d.ts +32 -0
- package/dist/tailwind/scanner.d.ts.map +1 -1
- package/dist/tailwind/scanner.js +105 -0
- package/dist/tailwind/scanner.js.map +1 -1
- package/package.json +12 -12
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { createSignalId } from '../types.js';
|
|
2
|
+
const CSS_SIZING_PATTERN = /\b(width|height|min-width|min-height|max-width|max-height)\s*:\s*(\d+\.?\d*)(px|rem|em|vw|vh|vmin|vmax|ch)\b/g;
|
|
3
|
+
const JSX_SIZING_PATTERN = /\b(width|height|minWidth|minHeight|maxWidth|maxHeight)\s*:\s*['"](\d+\.?\d*)(px|rem|em|vw|vh|vmin|vmax|ch)['"]/g;
|
|
4
|
+
function getFileType(path) {
|
|
5
|
+
if (path.endsWith('.tsx'))
|
|
6
|
+
return 'tsx';
|
|
7
|
+
if (path.endsWith('.jsx'))
|
|
8
|
+
return 'jsx';
|
|
9
|
+
if (path.endsWith('.scss'))
|
|
10
|
+
return 'scss';
|
|
11
|
+
if (path.endsWith('.less'))
|
|
12
|
+
return 'less';
|
|
13
|
+
if (path.endsWith('.css'))
|
|
14
|
+
return 'css';
|
|
15
|
+
return 'ts';
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* File-level extractor: scans raw file content for hardcoded sizing dimensions
|
|
19
|
+
*/
|
|
20
|
+
export function extractSizingSignals(content, path) {
|
|
21
|
+
const signals = [];
|
|
22
|
+
const lines = content.split('\n');
|
|
23
|
+
const fileType = getFileType(path);
|
|
24
|
+
const isJSX = fileType === 'tsx' || fileType === 'jsx';
|
|
25
|
+
for (let i = 0; i < lines.length; i++) {
|
|
26
|
+
const line = lines[i];
|
|
27
|
+
if (line.includes('var(--') || line.includes('theme.') || line.includes('tokens.') || line.includes('$'))
|
|
28
|
+
continue;
|
|
29
|
+
const patterns = isJSX ? [CSS_SIZING_PATTERN, JSX_SIZING_PATTERN] : [CSS_SIZING_PATTERN];
|
|
30
|
+
for (const pattern of patterns) {
|
|
31
|
+
pattern.lastIndex = 0;
|
|
32
|
+
let match;
|
|
33
|
+
while ((match = pattern.exec(line)) !== null) {
|
|
34
|
+
const property = match[1];
|
|
35
|
+
const numStr = match[2];
|
|
36
|
+
const unit = match[3];
|
|
37
|
+
const value = `${numStr}${unit}`;
|
|
38
|
+
signals.push({
|
|
39
|
+
id: createSignalId('sizing-value', path, i + 1, `${property}:${value}`),
|
|
40
|
+
type: 'sizing-value',
|
|
41
|
+
value,
|
|
42
|
+
location: { path, line: i + 1 },
|
|
43
|
+
context: {
|
|
44
|
+
fileType,
|
|
45
|
+
framework: isJSX ? 'react' : 'css',
|
|
46
|
+
scope: 'inline',
|
|
47
|
+
isTokenized: false,
|
|
48
|
+
},
|
|
49
|
+
metadata: {
|
|
50
|
+
property,
|
|
51
|
+
numericValue: parseFloat(numStr),
|
|
52
|
+
unit,
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return signals;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=sizing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sizing.js","sourceRoot":"","sources":["../../../src/signals/extractors/sizing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"z-index.d.ts","sourceRoot":"","sources":["../../../src/signals/extractors/z-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgB5D,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,SAAS,EAAE,CAkBb"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createSignalId } from '../types.js';
|
|
2
|
+
const SKIP_VALUES = new Set(['auto', 'inherit', 'initial', 'unset', '0', '1']);
|
|
3
|
+
const COMMON_SCALE = new Set([10, 20, 30, 40, 50, 100, 200, 500, 1000]);
|
|
4
|
+
function isTokenReference(value) {
|
|
5
|
+
return (value.includes('var(--') ||
|
|
6
|
+
value.includes('theme.') ||
|
|
7
|
+
value.includes('tokens.') ||
|
|
8
|
+
value.includes('$'));
|
|
9
|
+
}
|
|
10
|
+
export function extractZIndexSignals(value, path, line, context) {
|
|
11
|
+
if (isTokenReference(value))
|
|
12
|
+
return [];
|
|
13
|
+
if (SKIP_VALUES.has(value))
|
|
14
|
+
return [];
|
|
15
|
+
const numericValue = parseInt(value, 10);
|
|
16
|
+
if (isNaN(numericValue))
|
|
17
|
+
return [];
|
|
18
|
+
return [{
|
|
19
|
+
id: createSignalId('z-index', path, line, value),
|
|
20
|
+
type: 'z-index',
|
|
21
|
+
value,
|
|
22
|
+
location: { path, line },
|
|
23
|
+
context,
|
|
24
|
+
metadata: {
|
|
25
|
+
numericValue,
|
|
26
|
+
isMagicNumber: !COMMON_SCALE.has(Math.abs(numericValue)),
|
|
27
|
+
},
|
|
28
|
+
}];
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=z-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"z-index.js","sourceRoot":"","sources":["../../../src/signals/extractors/z-index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE/E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAExE,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,CACL,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,OAAsB;IAEtB,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,YAAY,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,OAAO,CAAC;YACN,EAAE,EAAE,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;YAChD,IAAI,EAAE,SAAS;YACf,KAAK;YACL,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACxB,OAAO;YACP,QAAQ,EAAE;gBACR,YAAY;gBACZ,aAAa,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACzD;SACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-integration.d.ts","sourceRoot":"","sources":["../../src/signals/scanner-integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,KAAK,SAAS,EAGf,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"scanner-integration.d.ts","sourceRoot":"","sources":["../../src/signals/scanner-integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,KAAK,SAAS,EAGf,MAAM,YAAY,CAAC;AAyEpB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtE;;OAEG;IACH,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI,CAAC;IAER;;OAEG;IACH,qBAAqB,CACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI,CAAC;IAER;;OAEG;IACH,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI,CAAC;IAER;;OAEG;IACH,iBAAiB,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI,CAAC;IAER;;OAEG;IACH,mBAAmB,CACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI,CAAC;IAER;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE,CAAC;IAE1B;;OAEG;IACH,QAAQ,IAAI,cAAc,CAAC;IAE3B;;OAEG;IACH,UAAU,IAAI,aAAa,CAAC;CAC7B;AAqBD;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,GACf,sBAAsB,CA2LxB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,WAAW,EAAE,cAAc,CAAC;CAC7B"}
|
|
@@ -3,6 +3,9 @@ import { createSignalId, } from './types.js';
|
|
|
3
3
|
import { extractColorSignals } from './extractors/color.js';
|
|
4
4
|
import { extractSpacingSignals } from './extractors/spacing.js';
|
|
5
5
|
import { extractFontSizeSignals, extractFontFamilySignals, extractFontWeightSignals, } from './extractors/typography.js';
|
|
6
|
+
import { extractRadiusSignals } from './extractors/radius.js';
|
|
7
|
+
import { extractShadowSignals } from './extractors/shadow.js';
|
|
8
|
+
import { extractZIndexSignals } from './extractors/z-index.js';
|
|
6
9
|
/**
|
|
7
10
|
* Properties that indicate specific value types
|
|
8
11
|
*/
|
|
@@ -49,6 +52,17 @@ const SPACING_PROPERTIES = new Set([
|
|
|
49
52
|
'inset',
|
|
50
53
|
'size',
|
|
51
54
|
]);
|
|
55
|
+
const RADIUS_PROPERTIES = new Set([
|
|
56
|
+
'borderRadius',
|
|
57
|
+
'borderTopLeftRadius',
|
|
58
|
+
'borderTopRightRadius',
|
|
59
|
+
'borderBottomLeftRadius',
|
|
60
|
+
'borderBottomRightRadius',
|
|
61
|
+
]);
|
|
62
|
+
const SHADOW_PROPERTIES = new Set([
|
|
63
|
+
'boxShadow',
|
|
64
|
+
'textShadow',
|
|
65
|
+
]);
|
|
52
66
|
/**
|
|
53
67
|
* Determine file type from path
|
|
54
68
|
*/
|
|
@@ -129,6 +143,27 @@ export function createScannerSignalCollector(framework, filePath) {
|
|
|
129
143
|
});
|
|
130
144
|
signals.forEach(s => emitter.emit(s));
|
|
131
145
|
}
|
|
146
|
+
else if (RADIUS_PROPERTIES.has(property)) {
|
|
147
|
+
const signals = extractRadiusSignals(value, filePath, line, property, {
|
|
148
|
+
...baseContext,
|
|
149
|
+
scope: 'inline',
|
|
150
|
+
});
|
|
151
|
+
signals.forEach(s => emitter.emit(s));
|
|
152
|
+
}
|
|
153
|
+
else if (SHADOW_PROPERTIES.has(property)) {
|
|
154
|
+
const signals = extractShadowSignals(value, filePath, line, property, {
|
|
155
|
+
...baseContext,
|
|
156
|
+
scope: 'inline',
|
|
157
|
+
});
|
|
158
|
+
signals.forEach(s => emitter.emit(s));
|
|
159
|
+
}
|
|
160
|
+
else if (property === 'zIndex' || property === 'z-index') {
|
|
161
|
+
const signals = extractZIndexSignals(value, filePath, line, {
|
|
162
|
+
...baseContext,
|
|
163
|
+
scope: 'inline',
|
|
164
|
+
});
|
|
165
|
+
signals.forEach(s => emitter.emit(s));
|
|
166
|
+
}
|
|
132
167
|
else {
|
|
133
168
|
// Try to detect value type from format
|
|
134
169
|
const colorSignals = extractColorSignals(value, filePath, line, property, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-integration.js","sourceRoot":"","sources":["../../src/signals/scanner-integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAsB,MAAM,cAAc,CAAC;AACvE,OAAO,EAML,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"scanner-integration.js","sourceRoot":"","sources":["../../src/signals/scanner-integration.ts"],"names":[],"mappings":"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"}
|
package/dist/signals/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
/**
|
|
3
3
|
* Signal types representing atomic facts extracted from code
|
|
4
4
|
*/
|
|
5
|
-
export declare const SignalTypeSchema: z.ZodEnum<["color-value", "spacing-value", "font-size", "font-family", "font-weight", "radius-value", "shadow-value", "breakpoint", "token-definition", "token-usage", "component-def", "component-usage", "prop-pattern", "class-pattern"]>;
|
|
5
|
+
export declare const SignalTypeSchema: z.ZodEnum<["color-value", "spacing-value", "font-size", "font-family", "font-weight", "radius-value", "shadow-value", "breakpoint", "z-index", "sizing-value", "inline-style", "arbitrary-value", "token-definition", "token-usage", "component-def", "component-usage", "prop-pattern", "class-pattern"]>;
|
|
6
6
|
export type SignalType = z.infer<typeof SignalTypeSchema>;
|
|
7
7
|
/**
|
|
8
8
|
* Source location for a signal
|
|
@@ -64,7 +64,7 @@ export type SignalContext = z.infer<typeof SignalContextSchema>;
|
|
|
64
64
|
*/
|
|
65
65
|
export declare const RawSignalSchema: z.ZodObject<{
|
|
66
66
|
id: z.ZodString;
|
|
67
|
-
type: z.ZodEnum<["color-value", "spacing-value", "font-size", "font-family", "font-weight", "radius-value", "shadow-value", "breakpoint", "token-definition", "token-usage", "component-def", "component-usage", "prop-pattern", "class-pattern"]>;
|
|
67
|
+
type: z.ZodEnum<["color-value", "spacing-value", "font-size", "font-family", "font-weight", "radius-value", "shadow-value", "breakpoint", "z-index", "sizing-value", "inline-style", "arbitrary-value", "token-definition", "token-usage", "component-def", "component-usage", "prop-pattern", "class-pattern"]>;
|
|
68
68
|
value: z.ZodUnknown;
|
|
69
69
|
location: z.ZodObject<{
|
|
70
70
|
path: z.ZodString;
|
|
@@ -100,7 +100,7 @@ export declare const RawSignalSchema: z.ZodObject<{
|
|
|
100
100
|
}>;
|
|
101
101
|
metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
102
102
|
}, "strip", z.ZodTypeAny, {
|
|
103
|
-
type: "color-value" | "spacing-value" | "font-size" | "font-family" | "font-weight" | "radius-value" | "shadow-value" | "breakpoint" | "token-definition" | "token-usage" | "component-def" | "component-usage" | "prop-pattern" | "class-pattern";
|
|
103
|
+
type: "color-value" | "spacing-value" | "font-size" | "font-family" | "font-weight" | "radius-value" | "shadow-value" | "breakpoint" | "z-index" | "sizing-value" | "inline-style" | "arbitrary-value" | "token-definition" | "token-usage" | "component-def" | "component-usage" | "prop-pattern" | "class-pattern";
|
|
104
104
|
id: string;
|
|
105
105
|
location: {
|
|
106
106
|
path: string;
|
|
@@ -117,7 +117,7 @@ export declare const RawSignalSchema: z.ZodObject<{
|
|
|
117
117
|
metadata: Record<string, unknown>;
|
|
118
118
|
value?: unknown;
|
|
119
119
|
}, {
|
|
120
|
-
type: "color-value" | "spacing-value" | "font-size" | "font-family" | "font-weight" | "radius-value" | "shadow-value" | "breakpoint" | "token-definition" | "token-usage" | "component-def" | "component-usage" | "prop-pattern" | "class-pattern";
|
|
120
|
+
type: "color-value" | "spacing-value" | "font-size" | "font-family" | "font-weight" | "radius-value" | "shadow-value" | "breakpoint" | "z-index" | "sizing-value" | "inline-style" | "arbitrary-value" | "token-definition" | "token-usage" | "component-def" | "component-usage" | "prop-pattern" | "class-pattern";
|
|
121
121
|
id: string;
|
|
122
122
|
location: {
|
|
123
123
|
path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/signals/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/signals/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,gBAAgB,4SAuB3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,cAAc,qHAczB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,eAAe,+FAQf,CAAC;AAEd,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,WAAW,8CAItB,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,MAAM,CAKR"}
|
package/dist/signals/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/signals/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IACrC,sBAAsB;IACtB,aAAa;IACb,eAAe;IACf,WAAW;IACX,aAAa;IACb,aAAa;IACb,cAAc;IACd,cAAc;IACd,YAAY;IACZ,gBAAgB;IAChB,kBAAkB;IAClB,aAAa;IACb,oBAAoB;IACpB,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,cAAc;IACd,eAAe;CAChB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC;IACnC,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,UAAU;CACX,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,OAAO;IACP,KAAK;IACL,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,KAAK;CACN,CAAC,CAAC,QAAQ,EAAE,CAAC;AAId;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC;IAChC,QAAQ;IACR,WAAW;IACX,QAAQ;CACT,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,cAAc;IACxB,SAAS,EAAE,eAAe;IAC1B,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;CACzB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAClB,QAAQ,EAAE,oBAAoB;IAC9B,OAAO,EAAE,mBAAmB;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CAChC,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAgB,EAChB,IAAY,EACZ,IAAY,EACZ,KAAc;IAEd,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ;QACzC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACpB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/B,OAAO,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;AAChD,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/signals/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IACrC,sBAAsB;IACtB,aAAa;IACb,eAAe;IACf,WAAW;IACX,aAAa;IACb,aAAa;IACb,cAAc;IACd,cAAc;IACd,YAAY;IACZ,SAAS;IACT,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,aAAa;IACb,oBAAoB;IACpB,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,cAAc;IACd,eAAe;CAChB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC;IACnC,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,UAAU;CACX,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,OAAO;IACP,KAAK;IACL,QAAQ;IACR,SAAS;IACT,UAAU;IACV,SAAS;IACT,KAAK;CACN,CAAC,CAAC,QAAQ,EAAE,CAAC;AAId;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC;IAChC,QAAQ;IACR,WAAW;IACX,QAAQ;CACT,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,cAAc;IACxB,SAAS,EAAE,eAAe;IAC1B,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;CACzB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAClB,QAAQ,EAAE,oBAAoB;IAC9B,OAAO,EAAE,mBAAmB;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CAChC,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAgB,EAChB,IAAY,EACZ,IAAY,EACZ,KAAc;IAEd,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ;QACzC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACpB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/B,OAAO,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;AAChD,CAAC"}
|
|
@@ -13,22 +13,103 @@ export interface StoryFileScannerConfig extends ScannerConfig {
|
|
|
13
13
|
include?: string[];
|
|
14
14
|
/** Patterns to exclude */
|
|
15
15
|
exclude?: string[];
|
|
16
|
+
/** Whether to scan MDX files (default: true) */
|
|
17
|
+
scanMdx?: boolean;
|
|
18
|
+
/** Whether to validate story args against prop types (default: false) */
|
|
19
|
+
validateArgs?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* MDX story information
|
|
23
|
+
*/
|
|
24
|
+
export interface MdxStoryInfo {
|
|
25
|
+
/** File path */
|
|
26
|
+
file: string;
|
|
27
|
+
/** Title extracted from Meta */
|
|
28
|
+
title?: string;
|
|
29
|
+
/** Component referenced in Meta */
|
|
30
|
+
component?: string;
|
|
31
|
+
/** Story names found in the MDX */
|
|
32
|
+
stories: string[];
|
|
33
|
+
/** Whether it uses Canvas blocks */
|
|
34
|
+
hasCanvas: boolean;
|
|
35
|
+
/** Whether it uses Story blocks */
|
|
36
|
+
hasStoryBlocks: boolean;
|
|
37
|
+
/** Whether it has prose documentation */
|
|
38
|
+
hasDocumentation: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Args validation issue found in a story
|
|
42
|
+
*/
|
|
43
|
+
export interface ArgsValidationIssue {
|
|
44
|
+
/** Story name where the issue was found */
|
|
45
|
+
storyName: string;
|
|
46
|
+
/** Property name with the issue */
|
|
47
|
+
propName: string;
|
|
48
|
+
/** Type of validation issue */
|
|
49
|
+
issueType: 'type-mismatch' | 'missing-required' | 'unknown-prop' | 'invalid-option';
|
|
50
|
+
/** Description of the issue */
|
|
51
|
+
message: string;
|
|
52
|
+
/** Expected type (for type mismatches) */
|
|
53
|
+
expectedType?: string;
|
|
54
|
+
/** Actual type found */
|
|
55
|
+
actualType?: string;
|
|
56
|
+
/** Value that caused the issue */
|
|
57
|
+
actualValue?: unknown;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Validation result for a story file
|
|
61
|
+
*/
|
|
62
|
+
export interface StoryArgsValidation {
|
|
63
|
+
/** File path of the story */
|
|
64
|
+
file: string;
|
|
65
|
+
/** Component name */
|
|
66
|
+
componentName: string;
|
|
67
|
+
/** Issues found */
|
|
68
|
+
issues: ArgsValidationIssue[];
|
|
69
|
+
/** Total args validated */
|
|
70
|
+
argsValidated: number;
|
|
71
|
+
/** Whether all args are valid */
|
|
72
|
+
isValid: boolean;
|
|
16
73
|
}
|
|
17
74
|
/**
|
|
18
75
|
* Scans .stories.{ts,tsx,js,jsx} files to extract component metadata.
|
|
19
76
|
* This scanner parses Component Story Format (CSF) files directly from source code.
|
|
20
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* Extended scan result with MDX info
|
|
80
|
+
*/
|
|
81
|
+
export interface StoryFileScanResult extends ScanResult<Component> {
|
|
82
|
+
/** MDX story files found */
|
|
83
|
+
mdxStories: MdxStoryInfo[];
|
|
84
|
+
/** Components with stories */
|
|
85
|
+
documentedComponents: string[];
|
|
86
|
+
/** Total story count */
|
|
87
|
+
storyCount: number;
|
|
88
|
+
/** Args validation results (when validateArgs is enabled) */
|
|
89
|
+
argsValidation?: StoryArgsValidation[];
|
|
90
|
+
}
|
|
21
91
|
export declare class StoryFileScanner extends Scanner<Component, StoryFileScannerConfig> {
|
|
22
92
|
/** Default file patterns for story files */
|
|
23
93
|
private static readonly DEFAULT_PATTERNS;
|
|
94
|
+
/** MDX file patterns */
|
|
95
|
+
private static readonly MDX_PATTERNS;
|
|
24
96
|
constructor(config: StoryFileScannerConfig);
|
|
25
|
-
|
|
97
|
+
private parsedMetas;
|
|
98
|
+
scan(): Promise<StoryFileScanResult>;
|
|
26
99
|
getSourceType(): string;
|
|
27
100
|
/**
|
|
28
101
|
* Get story patterns from .storybook/main.ts config file
|
|
29
102
|
*/
|
|
30
103
|
getStoryPatternsFromConfig(): Promise<string[]>;
|
|
31
104
|
private extractStoriesPatterns;
|
|
105
|
+
/**
|
|
106
|
+
* Scan MDX story files
|
|
107
|
+
*/
|
|
108
|
+
private scanMdxFiles;
|
|
109
|
+
/**
|
|
110
|
+
* Parse an MDX file for story information
|
|
111
|
+
*/
|
|
112
|
+
private parseMdxFile;
|
|
32
113
|
private parseStoryFile;
|
|
33
114
|
private extractMeta;
|
|
34
115
|
/**
|
|
@@ -85,6 +166,30 @@ export declare class StoryFileScanner extends Scanner<Component, StoryFileScanne
|
|
|
85
166
|
private extractComponentName;
|
|
86
167
|
private getComponentNameFromTitle;
|
|
87
168
|
private createStoryId;
|
|
169
|
+
/**
|
|
170
|
+
* Validate all story args against their argTypes
|
|
171
|
+
*/
|
|
172
|
+
private validateAllStoryArgs;
|
|
173
|
+
/**
|
|
174
|
+
* Validate args for a single story file
|
|
175
|
+
*/
|
|
176
|
+
private validateStoryArgs;
|
|
177
|
+
/**
|
|
178
|
+
* Get the expected type string from an argType
|
|
179
|
+
*/
|
|
180
|
+
private getExpectedType;
|
|
181
|
+
/**
|
|
182
|
+
* Map Storybook control types to basic types
|
|
183
|
+
*/
|
|
184
|
+
private controlToType;
|
|
185
|
+
/**
|
|
186
|
+
* Get the actual type of a value
|
|
187
|
+
*/
|
|
188
|
+
private getActualType;
|
|
189
|
+
/**
|
|
190
|
+
* Check if a value is compatible with an expected type
|
|
191
|
+
*/
|
|
192
|
+
private isTypeCompatible;
|
|
88
193
|
}
|
|
89
194
|
/**
|
|
90
195
|
* Scans Storybook static builds (index.json/stories.json) or running servers.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/storybook/extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AAC9F,OAAO,KAAK,EAAE,SAAS,EAAmC,MAAM,mBAAmB,CAAC;AAOpF,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAiBD,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/storybook/extractor.ts"],"names":[],"mappings":"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"}
|