vibe-design-system 2.5.1 → 2.5.2
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/package.json +1 -1
- package/vds-core-template/scan.mjs +11 -2
package/package.json
CHANGED
|
@@ -620,7 +620,7 @@ function extractComponentSuggestions() {
|
|
|
620
620
|
if (count < 2) continue;
|
|
621
621
|
const suggestedName = suggestNameFromContent(innerText) || suggestNameFromPattern(pattern);
|
|
622
622
|
suggestions.push({
|
|
623
|
-
suggestedName: suggestedName.replace(/\s+/g, ""),
|
|
623
|
+
suggestedName: sanitizeComponentName(suggestedName.replace(/\s+/g, "")),
|
|
624
624
|
tagName: tagName || "div",
|
|
625
625
|
pattern,
|
|
626
626
|
fullJsx,
|
|
@@ -635,6 +635,15 @@ function extractComponentSuggestions() {
|
|
|
635
635
|
|
|
636
636
|
const VDS_GENERATED_DIR = path.join(COMPONENTS_DIR, "vds-generated");
|
|
637
637
|
|
|
638
|
+
/** Ensure component name is valid JS: no leading digits/special chars, PascalCase. */
|
|
639
|
+
function sanitizeComponentName(name) {
|
|
640
|
+
if (!name || typeof name !== "string") return "Extracted";
|
|
641
|
+
let s = name.replace(/\s+/g, "").replace(/^[0-9\W_]+/, "");
|
|
642
|
+
if (!s) return "Extracted";
|
|
643
|
+
s = s.charAt(0).toUpperCase() + s.slice(1);
|
|
644
|
+
return s;
|
|
645
|
+
}
|
|
646
|
+
|
|
638
647
|
function toKebab(str) {
|
|
639
648
|
return str.replace(/([A-Z])/g, "-$1").toLowerCase().replace(/^-/, "");
|
|
640
649
|
}
|
|
@@ -659,7 +668,7 @@ function writeVdsGeneratedComponents(suggestions) {
|
|
|
659
668
|
const entries = [];
|
|
660
669
|
for (let i = 0; i < suggestions.length; i++) {
|
|
661
670
|
const s = suggestions[i];
|
|
662
|
-
let baseName = (s.suggestedName || "Extracted")
|
|
671
|
+
let baseName = sanitizeComponentName(s.suggestedName || "Extracted");
|
|
663
672
|
let fileName = baseName + ".tsx";
|
|
664
673
|
if (usedNames.has(fileName)) fileName = baseName + String(i + 1) + ".tsx";
|
|
665
674
|
usedNames.add(fileName);
|