@tpitre/story-ui 4.6.1 → 4.6.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.
@@ -1 +1 @@
1
- {"version":3,"file":"generateStory.d.ts","sourceRoot":"","sources":["../../../mcp-server/routes/generateStory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAmd5C,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,2DA8lBxE"}
1
+ {"version":3,"file":"generateStory.d.ts","sourceRoot":"","sources":["../../../mcp-server/routes/generateStory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAyd5C,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,2DA8lBxE"}
@@ -312,29 +312,34 @@ async function preValidateImports(code, config, discovery) {
312
312
  }
313
313
  // Extract icon imports (keep existing icon validation)
314
314
  if (config.iconImports?.package) {
315
- const allowedIcons = new Set(config.iconImports?.commonIcons || []);
316
315
  const iconImports = extractImportsFromCode(code, config.iconImports.package);
317
- for (const iconName of iconImports) {
318
- if (isBlacklistedIcon(iconName, allowedIcons)) {
319
- const correction = ICON_CORRECTIONS[iconName];
320
- if (correction) {
321
- errors.push(`Invalid icon: "${iconName}" does not exist. Did you mean "${correction}"?`);
322
- }
323
- else {
324
- errors.push(`Invalid icon: "${iconName}" is not in the list of available icons.`);
325
- }
326
- }
327
- else if (!allowedIcons.has(iconName)) {
328
- // Try to find a similar icon
329
- const similarIcon = findSimilarIcon(iconName, allowedIcons);
330
- if (similarIcon) {
331
- errors.push(`Invalid icon: "${iconName}" does not exist. Did you mean "${similarIcon}"?`);
316
+ // If allowAllIcons is true, skip per-icon validation (trust the icon package)
317
+ // This is used when we auto-detect a known icon package but don't have a full manifest
318
+ if (!config.iconImports.allowAllIcons) {
319
+ const allowedIcons = new Set(config.iconImports?.commonIcons || []);
320
+ for (const iconName of iconImports) {
321
+ if (isBlacklistedIcon(iconName, allowedIcons)) {
322
+ const correction = ICON_CORRECTIONS[iconName];
323
+ if (correction) {
324
+ errors.push(`Invalid icon: "${iconName}" does not exist. Did you mean "${correction}"?`);
325
+ }
326
+ else {
327
+ errors.push(`Invalid icon: "${iconName}" is not in the list of available icons.`);
328
+ }
332
329
  }
333
- else {
334
- errors.push(`Invalid icon: "${iconName}" is not in the list of available icons.`);
330
+ else if (!allowedIcons.has(iconName)) {
331
+ // Try to find a similar icon
332
+ const similarIcon = findSimilarIcon(iconName, allowedIcons);
333
+ if (similarIcon) {
334
+ errors.push(`Invalid icon: "${iconName}" does not exist. Did you mean "${similarIcon}"?`);
335
+ }
336
+ else {
337
+ errors.push(`Invalid icon: "${iconName}" is not in the list of available icons.`);
338
+ }
335
339
  }
336
340
  }
337
341
  }
342
+ // When allowAllIcons is true, we trust that the LLM will use valid icons from the package
338
343
  }
339
344
  return {
340
345
  isValid: errors.length === 0,
@@ -1160,19 +1160,24 @@ async function preValidateImports(code, config, discovery) {
1160
1160
  }
1161
1161
  }
1162
1162
  if (config.iconImports?.package) {
1163
- const allowedIcons = new Set(config.iconImports?.commonIcons || []);
1164
1163
  const iconImports = extractImportsFromCode(code, config.iconImports.package);
1165
- for (const iconName of iconImports) {
1166
- if (isBlacklistedIcon(iconName, allowedIcons)) {
1167
- const correction = ICON_CORRECTIONS[iconName];
1168
- if (correction) {
1169
- errors.push(`Invalid icon: "${iconName}" does not exist. Did you mean "${correction}"?`);
1170
- }
1171
- else {
1172
- errors.push(`Invalid icon: "${iconName}" is not available.`);
1164
+ // If allowAllIcons is true, skip per-icon validation (trust the icon package)
1165
+ // This is used when we auto-detect a known icon package but don't have a full manifest
1166
+ if (!config.iconImports.allowAllIcons) {
1167
+ const allowedIcons = new Set(config.iconImports?.commonIcons || []);
1168
+ for (const iconName of iconImports) {
1169
+ if (isBlacklistedIcon(iconName, allowedIcons)) {
1170
+ const correction = ICON_CORRECTIONS[iconName];
1171
+ if (correction) {
1172
+ errors.push(`Invalid icon: "${iconName}" does not exist. Did you mean "${correction}"?`);
1173
+ }
1174
+ else {
1175
+ errors.push(`Invalid icon: "${iconName}" is not available.`);
1176
+ }
1173
1177
  }
1174
1178
  }
1175
1179
  }
1180
+ // When allowAllIcons is true, we trust that the LLM will use valid icons from the package
1176
1181
  }
1177
1182
  return { isValid: errors.length === 0, errors };
1178
1183
  }
@@ -1,4 +1,4 @@
1
- import { StoryUIConfig } from '../story-ui.config.js';
1
+ import { StoryUIConfig, IconImportsConfig } from '../story-ui.config.js';
2
2
  /**
3
3
  * Loads Story UI configuration from the user's project
4
4
  * Looks for story-ui.config.js in the current working directory
@@ -30,4 +30,9 @@ export declare function detectStorybookFramework(dependencies: Record<string, st
30
30
  * Auto-detects design system configuration by analyzing the project structure
31
31
  */
32
32
  export declare function autoDetectDesignSystem(): Partial<StoryUIConfig> | null;
33
+ /**
34
+ * Detects installed icon package from package.json dependencies
35
+ * Returns configuration for the first detected icon package
36
+ */
37
+ export declare function detectInstalledIconPackage(projectPath?: string): IconImportsConfig | null;
33
38
  //# sourceMappingURL=configLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configLoader.d.ts","sourceRoot":"","sources":["../../story-generator/configLoader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAuC,MAAM,uBAAuB,CAAC;AAU3F;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,aAAa,CAmH9C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAsD5F;AA0DD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,GAAE,MAAsB,GAAG;IAC3E,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAkGA;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAWrF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAqEtE"}
1
+ {"version":3,"file":"configLoader.d.ts","sourceRoot":"","sources":["../../story-generator/configLoader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAuC,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAuF9G;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,aAAa,CA4H9C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAsD5F;AA0DD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,GAAE,MAAsB,GAAG;IAC3E,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAkGA;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAWrF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAqEtE;AAgPD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAkCzF"}
@@ -2,6 +2,71 @@ import fs from 'fs';
2
2
  import path from 'path';
3
3
  import { createRequire } from 'module';
4
4
  import { DEFAULT_CONFIG, createStoryUIConfig } from '../story-ui.config.js';
5
+ const KNOWN_ICON_PACKAGES = [
6
+ {
7
+ name: '@tabler/icons-react',
8
+ importPath: '@tabler/icons-react',
9
+ commonIcons: [
10
+ 'IconHome', 'IconSettings', 'IconUser', 'IconSearch', 'IconMenu2',
11
+ 'IconBell', 'IconMail', 'IconCalendar', 'IconClock', 'IconStar',
12
+ 'IconHeart', 'IconPlus', 'IconMinus', 'IconX', 'IconCheck',
13
+ 'IconChevronRight', 'IconChevronLeft', 'IconChevronDown', 'IconChevronUp',
14
+ 'IconArrowRight', 'IconArrowLeft', 'IconArrowUp', 'IconArrowDown',
15
+ 'IconEdit', 'IconTrash', 'IconDownload', 'IconUpload', 'IconShare',
16
+ 'IconFilter', 'IconSort', 'IconRefresh', 'IconEye', 'IconEyeOff',
17
+ 'IconLock', 'IconUnlock', 'IconCopy', 'IconClipboard', 'IconFolder',
18
+ 'IconFile', 'IconImage', 'IconVideo', 'IconMusic', 'IconLink',
19
+ 'IconExternalLink', 'IconDots', 'IconDotsVertical', 'IconGripVertical',
20
+ 'IconTrendingUp', 'IconTrendingDown', 'IconActivity', 'IconPieChart',
21
+ 'IconDatabase', 'IconServer', 'IconCode', 'IconTerminal',
22
+ ],
23
+ },
24
+ {
25
+ name: 'lucide-react',
26
+ importPath: 'lucide-react',
27
+ commonIcons: [
28
+ 'Home', 'Settings', 'User', 'Search', 'Menu',
29
+ 'Bell', 'Mail', 'Calendar', 'Clock', 'Star',
30
+ 'Heart', 'Plus', 'Minus', 'X', 'Check',
31
+ 'ChevronRight', 'ChevronLeft', 'ChevronDown', 'ChevronUp',
32
+ 'ArrowRight', 'ArrowLeft', 'ArrowUp', 'ArrowDown',
33
+ 'Edit', 'Trash', 'Download', 'Upload', 'Share',
34
+ 'Filter', 'RefreshCw', 'Eye', 'EyeOff',
35
+ 'Lock', 'Unlock', 'Copy', 'Clipboard', 'Folder',
36
+ ],
37
+ },
38
+ {
39
+ name: '@heroicons/react',
40
+ importPath: '@heroicons/react/24/outline',
41
+ commonIcons: [
42
+ 'HomeIcon', 'Cog6ToothIcon', 'UserIcon', 'MagnifyingGlassIcon', 'Bars3Icon',
43
+ 'BellIcon', 'EnvelopeIcon', 'CalendarIcon', 'ClockIcon', 'StarIcon',
44
+ 'HeartIcon', 'PlusIcon', 'MinusIcon', 'XMarkIcon', 'CheckIcon',
45
+ 'ChevronRightIcon', 'ChevronLeftIcon', 'ChevronDownIcon', 'ChevronUpIcon',
46
+ 'ArrowRightIcon', 'ArrowLeftIcon', 'ArrowUpIcon', 'ArrowDownIcon',
47
+ ],
48
+ },
49
+ {
50
+ name: 'react-icons',
51
+ importPath: 'react-icons/fa',
52
+ commonIcons: [
53
+ 'FaHome', 'FaCog', 'FaUser', 'FaSearch', 'FaBars',
54
+ 'FaBell', 'FaEnvelope', 'FaCalendar', 'FaClock', 'FaStar',
55
+ 'FaHeart', 'FaPlus', 'FaMinus', 'FaTimes', 'FaCheck',
56
+ 'FaChevronRight', 'FaChevronLeft', 'FaChevronDown', 'FaChevronUp',
57
+ ],
58
+ },
59
+ {
60
+ name: '@phosphor-icons/react',
61
+ importPath: '@phosphor-icons/react',
62
+ commonIcons: [
63
+ 'House', 'Gear', 'User', 'MagnifyingGlass', 'List',
64
+ 'Bell', 'Envelope', 'Calendar', 'Clock', 'Star',
65
+ 'Heart', 'Plus', 'Minus', 'X', 'Check',
66
+ 'CaretRight', 'CaretLeft', 'CaretDown', 'CaretUp',
67
+ ],
68
+ },
69
+ ];
5
70
  // Create require function for ESM compatibility
6
71
  const require = createRequire(import.meta.url);
7
72
  // Config cache to prevent excessive loading
@@ -87,6 +152,14 @@ export function loadUserConfig() {
87
152
  }
88
153
  }
89
154
  }
155
+ // Auto-detect icon package if not already configured
156
+ // This is critical for allowing icon imports in generated stories
157
+ if (!config.iconImports) {
158
+ const detectedIconPackage = detectInstalledIconPackage();
159
+ if (detectedIconPackage) {
160
+ config.iconImports = detectedIconPackage;
161
+ }
162
+ }
90
163
  // Cache the loaded config
91
164
  cachedConfig = config;
92
165
  configLoadTime = now;
@@ -601,3 +674,39 @@ function detectLayoutPatterns(layoutPatterns, componentPrefix) {
601
674
  }
602
675
  return rules;
603
676
  }
677
+ /**
678
+ * Detects installed icon package from package.json dependencies
679
+ * Returns configuration for the first detected icon package
680
+ */
681
+ export function detectInstalledIconPackage(projectPath) {
682
+ const cwd = projectPath || process.cwd();
683
+ const packageJsonPath = path.join(cwd, 'package.json');
684
+ if (!fs.existsSync(packageJsonPath)) {
685
+ return null;
686
+ }
687
+ try {
688
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
689
+ const allDeps = {
690
+ ...packageJson.dependencies,
691
+ ...packageJson.devDependencies,
692
+ };
693
+ // Check for known icon packages
694
+ for (const iconPackage of KNOWN_ICON_PACKAGES) {
695
+ if (allDeps[iconPackage.name]) {
696
+ console.log(`🎨 Detected icon package: ${iconPackage.name}`);
697
+ return {
698
+ package: iconPackage.name,
699
+ importPath: iconPackage.importPath,
700
+ commonIcons: iconPackage.commonIcons,
701
+ // Allow all icons from this package - don't require explicit validation
702
+ // This is crucial: icon libraries have thousands of icons, we can't list them all
703
+ allowAllIcons: true,
704
+ };
705
+ }
706
+ }
707
+ }
708
+ catch (error) {
709
+ console.warn('Failed to detect icon package:', error);
710
+ }
711
+ return null;
712
+ }
@@ -23,6 +23,16 @@ export interface AdditionalImport {
23
23
  path: string;
24
24
  components: string[];
25
25
  }
26
+ export interface IconImportsConfig {
27
+ /** Package name for icon imports (e.g., '@tabler/icons-react', 'lucide-react') */
28
+ package: string;
29
+ /** Import path pattern (e.g., '@tabler/icons-react' or 'lucide-react') */
30
+ importPath: string;
31
+ /** Common icons that are known to exist (for validation fallback) */
32
+ commonIcons?: string[];
33
+ /** Whether to allow any icon from this package (skip individual validation) */
34
+ allowAllIcons?: boolean;
35
+ }
26
36
  export interface DesignSystemGuidelines {
27
37
  name: string;
28
38
  preferredComponents?: {
@@ -72,6 +82,8 @@ export interface StoryUIConfig {
72
82
  considerationsPath?: string;
73
83
  storybookFramework?: string;
74
84
  designSystemGuidelines?: DesignSystemGuidelines;
85
+ /** Icon imports configuration (auto-detected from package.json or manually configured) */
86
+ iconImports?: IconImportsConfig;
75
87
  }
76
88
  export declare const DEFAULT_CONFIG: StoryUIConfig;
77
89
  export declare const GENERIC_CONFIG_TEMPLATE: Partial<StoryUIConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"story-ui.config.d.ts","sourceRoot":"","sources":["../story-ui.config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"story-ui.config.d.ts","sourceRoot":"","sources":["../story-ui.config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tpitre/story-ui",
3
- "version": "4.6.1",
3
+ "version": "4.6.2",
4
4
  "description": "AI-powered Storybook story generator with dynamic component discovery",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",