@calibrate-ds/core 0.1.5 → 0.1.7
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/__tests__/compare-components.test.js +146 -0
- package/dist/__tests__/compare-components.test.js.map +1 -1
- package/dist/__tests__/compare-tokens.test.d.ts +2 -0
- package/dist/__tests__/compare-tokens.test.d.ts.map +1 -0
- package/dist/__tests__/compare-tokens.test.js +76 -0
- package/dist/__tests__/compare-tokens.test.js.map +1 -0
- package/dist/context/export-context.d.ts.map +1 -1
- package/dist/context/export-context.js +3 -0
- package/dist/context/export-context.js.map +1 -1
- package/dist/context/get-component-context.d.ts.map +1 -1
- package/dist/context/get-component-context.js +40 -4
- package/dist/context/get-component-context.js.map +1 -1
- package/dist/diff/compare-components.d.ts.map +1 -1
- package/dist/diff/compare-components.js +168 -19
- package/dist/diff/compare-components.js.map +1 -1
- package/dist/diff/compare-tokens.d.ts.map +1 -1
- package/dist/diff/compare-tokens.js +76 -21
- package/dist/diff/compare-tokens.js.map +1 -1
- package/dist/diff/format-diff-summary.d.ts.map +1 -1
- package/dist/diff/format-diff-summary.js +18 -2
- package/dist/diff/format-diff-summary.js.map +1 -1
- package/dist/docs/generate-component-stories.d.ts.map +1 -1
- package/dist/docs/generate-component-stories.js +21 -0
- package/dist/docs/generate-component-stories.js.map +1 -1
- package/dist/doctor/check-component.d.ts.map +1 -1
- package/dist/doctor/check-component.js +18 -0
- package/dist/doctor/check-component.js.map +1 -1
- package/dist/icons/enrich-bitmap-assets.d.ts +14 -0
- package/dist/icons/enrich-bitmap-assets.d.ts.map +1 -0
- package/dist/icons/enrich-bitmap-assets.js +100 -0
- package/dist/icons/enrich-bitmap-assets.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/normalizer/classify-group-intent.d.ts +32 -0
- package/dist/normalizer/classify-group-intent.d.ts.map +1 -0
- package/dist/normalizer/classify-group-intent.js +76 -0
- package/dist/normalizer/classify-group-intent.js.map +1 -0
- package/dist/normalizer/index.d.ts +2 -0
- package/dist/normalizer/index.d.ts.map +1 -1
- package/dist/normalizer/index.js +2 -0
- package/dist/normalizer/index.js.map +1 -1
- package/dist/normalizer/instance-resolver.d.ts.map +1 -1
- package/dist/normalizer/instance-resolver.js +17 -1
- package/dist/normalizer/instance-resolver.js.map +1 -1
- package/dist/normalizer/normalize-components.d.ts.map +1 -1
- package/dist/normalizer/normalize-components.js +23 -3
- package/dist/normalizer/normalize-components.js.map +1 -1
- package/dist/normalizer/sanitize-property-names.d.ts +27 -0
- package/dist/normalizer/sanitize-property-names.d.ts.map +1 -0
- package/dist/normalizer/sanitize-property-names.js +163 -0
- package/dist/normalizer/sanitize-property-names.js.map +1 -0
- package/dist/plan/implementation-plan.d.ts +4 -2
- package/dist/plan/implementation-plan.d.ts.map +1 -1
- package/dist/plan/implementation-plan.js +8 -6
- package/dist/plan/implementation-plan.js.map +1 -1
- package/dist/prompt/generate-component-prompt.d.ts.map +1 -1
- package/dist/prompt/generate-component-prompt.js +41 -11
- package/dist/prompt/generate-component-prompt.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize-components.js","sourceRoot":"","sources":["../../src/normalizer/normalize-components.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"normalize-components.js","sourceRoot":"","sources":["../../src/normalizer/normalize-components.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ComponentDefinition, ComponentProperty } from "@calibrate-ds/shared-types";
|
|
2
|
+
type LeakedRename = {
|
|
3
|
+
figmaName: string;
|
|
4
|
+
newName: string;
|
|
5
|
+
matchedAgainst: string;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Strict-mode rename: only fires when a text-type property's name normalizes
|
|
9
|
+
* to the same comparable form as the text content of one of its default
|
|
10
|
+
* value or a text node inside the component's layout tree. This catches
|
|
11
|
+
* the "Figma defaulted the property name to its placeholder text" leak
|
|
12
|
+
* without overriding designers who chose a sensible name.
|
|
13
|
+
*
|
|
14
|
+
* Returns the rename map so callers can patch propBinding / contentContract
|
|
15
|
+
* references in the layout tree consistently.
|
|
16
|
+
*/
|
|
17
|
+
export declare function applyLeakedPropertyRename(component: ComponentDefinition): LeakedRename[];
|
|
18
|
+
/**
|
|
19
|
+
* Reports text-type properties whose names look suspect — multi-word names
|
|
20
|
+
* outside the known clean vocabulary. Used by `ptb doctor` to surface
|
|
21
|
+
* borderline cases that the strict guard didn't rewrite. Never mutates.
|
|
22
|
+
* Takes the properties array directly so it can be called against either a
|
|
23
|
+
* raw ComponentDefinition or a derived ComponentContext.
|
|
24
|
+
*/
|
|
25
|
+
export declare function detectSuspectPropertyNames(properties: ComponentProperty[] | undefined): ComponentProperty[];
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=sanitize-property-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize-property-names.d.ts","sourceRoot":"","sources":["../../src/normalizer/sanitize-property-names.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAkB,MAAM,4BAA4B,CAAC;AAgCzG,KAAK,YAAY,GAAG;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,mBAAmB,GAAG,YAAY,EAAE,CAoDxF;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,SAAS,GAAG,iBAAiB,EAAE,CAyB3G"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalizes a name down to a comparison form: lowercase alphanumerics only.
|
|
3
|
+
* Used to decide whether a property name and a piece of text content are
|
|
4
|
+
* "the same thing" regardless of casing or punctuation:
|
|
5
|
+
* "Alexandra Davis" → "alexandradavis"
|
|
6
|
+
* "alexandraDavis" → "alexandradavis"
|
|
7
|
+
* "ALEXANDRA_DAVIS" → "alexandradavis"
|
|
8
|
+
*/
|
|
9
|
+
function comparable(s) {
|
|
10
|
+
if (!s)
|
|
11
|
+
return "";
|
|
12
|
+
return s.toLowerCase().replace(/[^a-z0-9]+/g, "");
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A small list of clean vocabulary tokens that are common, intentional
|
|
16
|
+
* developer-facing prop names. Names matching one of these as a substring are
|
|
17
|
+
* never flagged as suspect by the doctor warning. (The strict rename guard
|
|
18
|
+
* doesn't consult this list — it only looks for textContent matches.)
|
|
19
|
+
*/
|
|
20
|
+
const CLEAN_VOCABULARY = new Set([
|
|
21
|
+
"text", "title", "subtitle", "label", "value", "name", "role", "id",
|
|
22
|
+
"description", "summary", "body", "caption", "header", "footer",
|
|
23
|
+
"placeholder", "helper", "error", "hint", "content", "message",
|
|
24
|
+
"icon", "image", "avatar", "logo",
|
|
25
|
+
"time", "date", "timestamp", "duration",
|
|
26
|
+
"count", "amount", "price", "quantity", "rating",
|
|
27
|
+
"primary", "secondary", "tertiary",
|
|
28
|
+
"left", "right", "leading", "trailing", "top", "bottom",
|
|
29
|
+
]);
|
|
30
|
+
/**
|
|
31
|
+
* Strict-mode rename: only fires when a text-type property's name normalizes
|
|
32
|
+
* to the same comparable form as the text content of one of its default
|
|
33
|
+
* value or a text node inside the component's layout tree. This catches
|
|
34
|
+
* the "Figma defaulted the property name to its placeholder text" leak
|
|
35
|
+
* without overriding designers who chose a sensible name.
|
|
36
|
+
*
|
|
37
|
+
* Returns the rename map so callers can patch propBinding / contentContract
|
|
38
|
+
* references in the layout tree consistently.
|
|
39
|
+
*/
|
|
40
|
+
export function applyLeakedPropertyRename(component) {
|
|
41
|
+
if (!component.properties || component.properties.length === 0)
|
|
42
|
+
return [];
|
|
43
|
+
const textContents = collectTextSignals(component.layoutTree);
|
|
44
|
+
const renames = [];
|
|
45
|
+
let textCounter = 1;
|
|
46
|
+
for (const prop of component.properties) {
|
|
47
|
+
if (prop.type !== "text")
|
|
48
|
+
continue;
|
|
49
|
+
const propKey = comparable(prop.name);
|
|
50
|
+
if (!propKey)
|
|
51
|
+
continue;
|
|
52
|
+
// Skip rename if the property name is built from clean-vocab words —
|
|
53
|
+
// a designer who names a property `title` with default text "Title"
|
|
54
|
+
// is being explicit, not leaking, and `title` is the right developer
|
|
55
|
+
// identifier. Same logic the doctor warning uses to avoid false flags.
|
|
56
|
+
const propWords = splitWords(prop.name).map(w => w.toLowerCase());
|
|
57
|
+
if (propWords.some(w => CLEAN_VOCABULARY.has(w)))
|
|
58
|
+
continue;
|
|
59
|
+
// Compare against the property's own default value first — the most
|
|
60
|
+
// common leak path is a Figma property literally named after its
|
|
61
|
+
// default text.
|
|
62
|
+
const defaultMatch = typeof prop.defaultValue === "string"
|
|
63
|
+
? comparable(prop.defaultValue)
|
|
64
|
+
: "";
|
|
65
|
+
const layoutMatch = textContents.find(t => comparable(t) === propKey);
|
|
66
|
+
const matchedAgainst = defaultMatch && defaultMatch === propKey
|
|
67
|
+
? prop.defaultValue
|
|
68
|
+
: layoutMatch;
|
|
69
|
+
if (!matchedAgainst)
|
|
70
|
+
continue;
|
|
71
|
+
const newName = `text${textCounter}`;
|
|
72
|
+
textCounter += 1;
|
|
73
|
+
renames.push({
|
|
74
|
+
figmaName: prop.name,
|
|
75
|
+
newName,
|
|
76
|
+
matchedAgainst,
|
|
77
|
+
});
|
|
78
|
+
prop.figmaName = prop.name;
|
|
79
|
+
prop.name = newName;
|
|
80
|
+
}
|
|
81
|
+
if (renames.length > 0 && component.layoutTree) {
|
|
82
|
+
const renameMap = new Map(renames.map(r => [comparable(r.figmaName), r.newName]));
|
|
83
|
+
rewriteLayoutPropBindings(component.layoutTree, renameMap);
|
|
84
|
+
}
|
|
85
|
+
return renames;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Reports text-type properties whose names look suspect — multi-word names
|
|
89
|
+
* outside the known clean vocabulary. Used by `ptb doctor` to surface
|
|
90
|
+
* borderline cases that the strict guard didn't rewrite. Never mutates.
|
|
91
|
+
* Takes the properties array directly so it can be called against either a
|
|
92
|
+
* raw ComponentDefinition or a derived ComponentContext.
|
|
93
|
+
*/
|
|
94
|
+
export function detectSuspectPropertyNames(properties) {
|
|
95
|
+
if (!properties || properties.length === 0)
|
|
96
|
+
return [];
|
|
97
|
+
const suspects = [];
|
|
98
|
+
for (const prop of properties) {
|
|
99
|
+
if (prop.type !== "text")
|
|
100
|
+
continue;
|
|
101
|
+
if (prop.figmaName)
|
|
102
|
+
continue; // already renamed by the strict guard
|
|
103
|
+
const k = comparable(prop.name);
|
|
104
|
+
if (!k || k.length < 3)
|
|
105
|
+
continue;
|
|
106
|
+
// Built from any known-clean word? Then it's almost certainly intentional.
|
|
107
|
+
// We check word boundaries by splitting on camelCase / non-word breaks.
|
|
108
|
+
const words = splitWords(prop.name);
|
|
109
|
+
const usesCleanVocab = words.some(w => CLEAN_VOCABULARY.has(w.toLowerCase()));
|
|
110
|
+
if (usesCleanVocab)
|
|
111
|
+
continue;
|
|
112
|
+
// Multi-word names that don't intersect the clean vocab are the
|
|
113
|
+
// canonical leak shape. Single-word names (e.g. "Lender") are
|
|
114
|
+
// ambiguous and we leave them alone here.
|
|
115
|
+
if (words.length >= 2)
|
|
116
|
+
suspects.push(prop);
|
|
117
|
+
}
|
|
118
|
+
return suspects;
|
|
119
|
+
}
|
|
120
|
+
function collectTextSignals(tree) {
|
|
121
|
+
if (!tree)
|
|
122
|
+
return [];
|
|
123
|
+
const out = [];
|
|
124
|
+
const walk = (node) => {
|
|
125
|
+
if (node.role === "text" || node.type === "TEXT") {
|
|
126
|
+
if (typeof node.textContent === "string")
|
|
127
|
+
out.push(node.textContent);
|
|
128
|
+
if (typeof node.name === "string")
|
|
129
|
+
out.push(node.name);
|
|
130
|
+
}
|
|
131
|
+
for (const child of node.children ?? [])
|
|
132
|
+
walk(child);
|
|
133
|
+
};
|
|
134
|
+
walk(tree);
|
|
135
|
+
return out;
|
|
136
|
+
}
|
|
137
|
+
function rewriteLayoutPropBindings(tree, renameMap) {
|
|
138
|
+
const walk = (node) => {
|
|
139
|
+
const pb = node.propBinding;
|
|
140
|
+
if (pb && typeof pb.propName === "string") {
|
|
141
|
+
const replacement = renameMap.get(comparable(pb.propName));
|
|
142
|
+
if (replacement)
|
|
143
|
+
pb.propName = replacement;
|
|
144
|
+
}
|
|
145
|
+
const cc = node.contentContract;
|
|
146
|
+
if (cc && typeof cc.propName === "string") {
|
|
147
|
+
const replacement = renameMap.get(comparable(cc.propName));
|
|
148
|
+
if (replacement)
|
|
149
|
+
cc.propName = replacement;
|
|
150
|
+
}
|
|
151
|
+
for (const child of node.children ?? [])
|
|
152
|
+
walk(child);
|
|
153
|
+
};
|
|
154
|
+
walk(tree);
|
|
155
|
+
}
|
|
156
|
+
function splitWords(s) {
|
|
157
|
+
return s
|
|
158
|
+
.replace(/([a-z])([A-Z])/g, "$1 $2")
|
|
159
|
+
.replace(/[_\-]+/g, " ")
|
|
160
|
+
.split(/\s+/)
|
|
161
|
+
.filter(Boolean);
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=sanitize-property-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize-property-names.js","sourceRoot":"","sources":["../../src/normalizer/sanitize-property-names.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,10 @@ export type ComponentReadiness = {
|
|
|
6
6
|
exists: boolean;
|
|
7
7
|
};
|
|
8
8
|
/**
|
|
9
|
-
* Checks if a component's generated artifacts exist.
|
|
10
|
-
*
|
|
9
|
+
* Checks if a component's generated artifacts exist. The manifest is authoritative
|
|
10
|
+
* when the component is listed there. When the manifest is absent OR the component
|
|
11
|
+
* is not yet recorded (e.g. hand-crafted implementations, manifest not rebuilt after
|
|
12
|
+
* a manual ptb implement run), falls back to checking for a folder on disk.
|
|
11
13
|
*/
|
|
12
14
|
export declare function checkComponentReadiness(component: ComponentDefinition, config: PTBConfig, manifest?: PTBManifest): Promise<ComponentReadiness>;
|
|
13
15
|
export type ImplementationPlanEntry = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implementation-plan.d.ts","sourceRoot":"","sources":["../../src/plan/implementation-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEjH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"implementation-plan.d.ts","sourceRoot":"","sources":["../../src/plan/implementation-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEjH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,uBAAuB,CACzC,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,SAAS,EACjB,QAAQ,CAAC,EAAE,WAAW,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAgB7B;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,mBAAmB,EAAE,MAAM,EAAE,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,SAAS,EACjB,QAAQ,CAAC,EAAE,WAAW,GACvB,OAAO,CAAC,kBAAkB,CAAC,CA2C7B"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Checks if a component's generated artifacts exist.
|
|
3
|
-
*
|
|
2
|
+
* Checks if a component's generated artifacts exist. The manifest is authoritative
|
|
3
|
+
* when the component is listed there. When the manifest is absent OR the component
|
|
4
|
+
* is not yet recorded (e.g. hand-crafted implementations, manifest not rebuilt after
|
|
5
|
+
* a manual ptb implement run), falls back to checking for a folder on disk.
|
|
4
6
|
*/
|
|
5
7
|
export async function checkComponentReadiness(component, config, manifest) {
|
|
6
|
-
if (manifest) {
|
|
7
|
-
|
|
8
|
-
return { isReady: inManifest, folderExists: inManifest, hasManagedMarker: inManifest, exists: inManifest };
|
|
8
|
+
if (manifest && component.id in manifest.components) {
|
|
9
|
+
return { isReady: true, folderExists: true, hasManagedMarker: true, exists: true };
|
|
9
10
|
}
|
|
10
|
-
//
|
|
11
|
+
// Not in manifest (or no manifest) — check filesystem so manually-implemented
|
|
12
|
+
// components don't appear as "missing" in dependency contracts.
|
|
11
13
|
const { default: fs } = await import("node:fs/promises");
|
|
12
14
|
const { resolveComponentFolder } = await import("../filesystem/resolve-component-path.js");
|
|
13
15
|
const folder = resolveComponentFolder(component, config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implementation-plan.js","sourceRoot":"","sources":["../../src/plan/implementation-plan.ts"],"names":[],"mappings":"AASA
|
|
1
|
+
{"version":3,"file":"implementation-plan.js","sourceRoot":"","sources":["../../src/plan/implementation-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-component-prompt.d.ts","sourceRoot":"","sources":["../../src/prompt/generate-component-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAA8K,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"generate-component-prompt.d.ts","sourceRoot":"","sources":["../../src/prompt/generate-component-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAA8K,MAAM,4BAA4B,CAAC;AAokBvQ;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,gBAAgB,EACzB,SAAS,GAAE,MAAM,GAAG,IAAW,GAChC,sBAAsB,CA8kCxB"}
|
|
@@ -117,7 +117,11 @@ function buildCssSkeleton(context) {
|
|
|
117
117
|
}
|
|
118
118
|
// Walk full render tree: typography classes for text nodes, layout stubs for containers
|
|
119
119
|
const seen = new Set(["container"]); // never re-emit .container
|
|
120
|
-
|
|
120
|
+
// CSS identifiers cannot start with a digit — prefix with "n" when needed.
|
|
121
|
+
const toCls = (name) => {
|
|
122
|
+
const raw = name.toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9-_]/g, "");
|
|
123
|
+
return /^\d/.test(raw) ? `n${raw}` : raw;
|
|
124
|
+
};
|
|
121
125
|
const walkTree = (node) => {
|
|
122
126
|
if (!node)
|
|
123
127
|
return;
|
|
@@ -287,7 +291,8 @@ function buildCssSkeleton(context) {
|
|
|
287
291
|
const cssLines = diffChangesToCss(safeArray(cn.changes));
|
|
288
292
|
if (cssLines.length === 0)
|
|
289
293
|
continue;
|
|
290
|
-
const
|
|
294
|
+
const rawCls = cn.nodeName.toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9-_]/g, "");
|
|
295
|
+
const cls = /^\d/.test(rawCls) ? `n${rawCls}` : rawCls;
|
|
291
296
|
if (!cls)
|
|
292
297
|
continue;
|
|
293
298
|
lines.push("");
|
|
@@ -356,7 +361,8 @@ function buildCssSkeleton(context) {
|
|
|
356
361
|
&& n.nodePath !== "root" // skip the root node itself
|
|
357
362
|
);
|
|
358
363
|
for (const cn of layoutChangedNodes) {
|
|
359
|
-
const
|
|
364
|
+
const rawCls2 = cn.nodeName.toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9-_]/g, "");
|
|
365
|
+
const cls = /^\d/.test(rawCls2) ? `n${rawCls2}` : rawCls2;
|
|
360
366
|
if (!cls)
|
|
361
367
|
continue;
|
|
362
368
|
lines.push("");
|
|
@@ -555,7 +561,7 @@ function buildJsxScaffold(context, codeName, requiredImports) {
|
|
|
555
561
|
}
|
|
556
562
|
else {
|
|
557
563
|
// Fall back: top-level render tree children (capped at 6)
|
|
558
|
-
const toCls = (n) => n.toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9-_]/g, "");
|
|
564
|
+
const toCls = (n) => { const r = n.toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9-_]/g, ""); return /^\d/.test(r) ? `n${r}` : r; };
|
|
559
565
|
const topChildren = context.renderTree?.children ?? [];
|
|
560
566
|
for (const child of topChildren.slice(0, 6)) {
|
|
561
567
|
const isText = child.role === "text" || child.type === "TEXT";
|
|
@@ -594,10 +600,13 @@ function buildJsxScaffold(context, codeName, requiredImports) {
|
|
|
594
600
|
export function generateComponentPrompt(context, framework = null) {
|
|
595
601
|
const safeObject = (val) => val && typeof val === 'object' && !Array.isArray(val) ? val : {};
|
|
596
602
|
const safeArray = (val) => Array.isArray(val) ? val : [];
|
|
597
|
-
//
|
|
598
|
-
//
|
|
603
|
+
// Filter out unresolvable Figma object references that cannot be rendered as JSX:
|
|
604
|
+
// • {kind:"unknown"} — resolver gave up
|
|
605
|
+
// • {componentId:...} without componentName — raw node ID, no name to use
|
|
606
|
+
// • {guid:{sessionID,localID}} — Figma internal GUID, unresolvable at emit time
|
|
607
|
+
// Any remaining non-primitive value is also filtered so we never emit "[object Object]".
|
|
599
608
|
const isFigmaMeta = (v) => v !== null && typeof v === "object" && !Array.isArray(v) &&
|
|
600
|
-
(v.kind === "unknown" || (!v.componentName && "componentId" in v));
|
|
609
|
+
(v.kind === "unknown" || (!v.componentName && "componentId" in v) || "guid" in v);
|
|
601
610
|
// Filter unresolvable deps — raw Figma node IDs, missing components, and external
|
|
602
611
|
// components (device frames, Figma internals) the resolver couldn't map to our output.
|
|
603
612
|
const isUnresolvable = (dep) => {
|
|
@@ -654,9 +663,14 @@ export function generateComponentPrompt(context, framework = null) {
|
|
|
654
663
|
const seen = new Set();
|
|
655
664
|
for (const inst of matches) {
|
|
656
665
|
const sel = safeObject(inst.variantSelection);
|
|
657
|
-
|
|
666
|
+
// Keep only primitive (string/number/boolean) override values — any remaining
|
|
667
|
+
// object reference (GUID, componentId without name) becomes "[object Object]"
|
|
668
|
+
// in template strings which is invalid JSX.
|
|
669
|
+
const isPrimitive = (v) => typeof v === "string" || typeof v === "number" || typeof v === "boolean";
|
|
670
|
+
const overrides = Object.fromEntries(Object.entries(safeObject(inst.propertyOverrides))
|
|
671
|
+
.filter(([, v]) => !isFigmaMeta(v) && isPrimitive(v)));
|
|
658
672
|
const compName = inst.recipe?.invocationContract?.componentName ?? depPascal;
|
|
659
|
-
const selParts = Object.entries(sel).map(([k, v]) => `${k}="${v}"`);
|
|
673
|
+
const selParts = Object.entries(sel).filter(([, v]) => isPrimitive(v)).map(([k, v]) => `${k}="${v}"`);
|
|
660
674
|
const overrideParts = Object.entries(overrides).map(([k, v]) => `${k}="${v}"`);
|
|
661
675
|
const allParts = [...selParts, ...overrideParts];
|
|
662
676
|
const fingerprint = allParts.join(",");
|
|
@@ -755,7 +769,10 @@ export function generateComponentPrompt(context, framework = null) {
|
|
|
755
769
|
}
|
|
756
770
|
const addRequiredImport = (rawName, importName) => {
|
|
757
771
|
const normalized = isIconComponent(rawName) ? normalizeIconDisplayName(rawName) : rawName;
|
|
758
|
-
|
|
772
|
+
// Split on whitespace AND hyphen/underscore so "btn-web" doesn't emit
|
|
773
|
+
// the invalid JS identifier "Btn-web" (audit Gap #9). Matches the
|
|
774
|
+
// split pattern used by every other PascalCase derivation in this file.
|
|
775
|
+
const compName = importName ?? normalized.split(/[\s\-_]+/).map(p => p.charAt(0).toUpperCase() + p.slice(1)).join("");
|
|
759
776
|
if (seenImports.has(compName))
|
|
760
777
|
return;
|
|
761
778
|
seenImports.add(compName);
|
|
@@ -781,6 +798,19 @@ export function generateComponentPrompt(context, framework = null) {
|
|
|
781
798
|
}
|
|
782
799
|
}
|
|
783
800
|
}
|
|
801
|
+
// Supplement from dependencyInstances: catches components present in nested
|
|
802
|
+
// instance recipes but absent from dependencies[] (e.g. indirect deps, scanner
|
|
803
|
+
// omissions like StatusBatch appearing in a chatlist recipe but not surfaced to
|
|
804
|
+
// the parent's dependency list). addRequiredImport deduplicates via seenImports
|
|
805
|
+
// so no double-entries occur with what was already added above.
|
|
806
|
+
for (const inst of safeArray(context.dependencyInstances)) {
|
|
807
|
+
const ic = inst.recipe?.invocationContract;
|
|
808
|
+
if (!ic?.componentName)
|
|
809
|
+
continue;
|
|
810
|
+
if (/^unknown\b/i.test(ic.componentName) || /^\d+:\d+/.test(ic.componentName))
|
|
811
|
+
continue;
|
|
812
|
+
addRequiredImport(ic.componentName, ic.importName !== ic.componentName ? ic.importName : undefined);
|
|
813
|
+
}
|
|
784
814
|
if (requiredImportsList.length > 0) {
|
|
785
815
|
lines.push("");
|
|
786
816
|
lines.push("## Required Imports");
|
|
@@ -1040,7 +1070,7 @@ export function generateComponentPrompt(context, framework = null) {
|
|
|
1040
1070
|
return depLower.includes(prefix) || prefix.includes(depLower);
|
|
1041
1071
|
});
|
|
1042
1072
|
const depPascal = matchedDep
|
|
1043
|
-
? matchedDep.name.split(
|
|
1073
|
+
? matchedDep.name.split(/[\s\-_]+/).map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join("")
|
|
1044
1074
|
: "ChildComponent";
|
|
1045
1075
|
lines.push(`- \`${propName}\`${defNote} → \`{${propName} !== false && <${depPascal} />}\``);
|
|
1046
1076
|
}
|