logicstamp-context 0.8.6 → 0.8.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.
Files changed (270) hide show
  1. package/dist/cli/commands/clean.d.ts.map +1 -1
  2. package/dist/cli/commands/clean.js +8 -3
  3. package/dist/cli/commands/clean.js.map +1 -1
  4. package/dist/cli/commands/compare/cleanup.d.ts.map +1 -1
  5. package/dist/cli/commands/compare/cleanup.js.map +1 -1
  6. package/dist/cli/commands/compare/core.d.ts.map +1 -1
  7. package/dist/cli/commands/compare/core.js +47 -19
  8. package/dist/cli/commands/compare/core.js.map +1 -1
  9. package/dist/cli/commands/compare/display.d.ts.map +1 -1
  10. package/dist/cli/commands/compare/display.js +31 -18
  11. package/dist/cli/commands/compare/display.js.map +1 -1
  12. package/dist/cli/commands/compare/multiFile.d.ts.map +1 -1
  13. package/dist/cli/commands/compare/multiFile.js +8 -8
  14. package/dist/cli/commands/compare/multiFile.js.map +1 -1
  15. package/dist/cli/commands/compare/singleFile.d.ts.map +1 -1
  16. package/dist/cli/commands/compare/singleFile.js +19 -13
  17. package/dist/cli/commands/compare/singleFile.js.map +1 -1
  18. package/dist/cli/commands/compare/types.d.ts.map +1 -1
  19. package/dist/cli/commands/compare/utils.d.ts.map +1 -1
  20. package/dist/cli/commands/compare/utils.js +2 -2
  21. package/dist/cli/commands/compare/utils.js.map +1 -1
  22. package/dist/cli/commands/context/bundleFormatter.d.ts.map +1 -1
  23. package/dist/cli/commands/context/bundleFormatter.js +8 -4
  24. package/dist/cli/commands/context/bundleFormatter.js.map +1 -1
  25. package/dist/cli/commands/context/configManager.d.ts.map +1 -1
  26. package/dist/cli/commands/context/configManager.js +2 -2
  27. package/dist/cli/commands/context/configManager.js.map +1 -1
  28. package/dist/cli/commands/context/contractBuilder.d.ts.map +1 -1
  29. package/dist/cli/commands/context/contractBuilder.js +3 -1
  30. package/dist/cli/commands/context/contractBuilder.js.map +1 -1
  31. package/dist/cli/commands/context/fileWriter.d.ts.map +1 -1
  32. package/dist/cli/commands/context/fileWriter.js +13 -6
  33. package/dist/cli/commands/context/fileWriter.js.map +1 -1
  34. package/dist/cli/commands/context/statsCalculator.d.ts.map +1 -1
  35. package/dist/cli/commands/context/statsCalculator.js +17 -6
  36. package/dist/cli/commands/context/statsCalculator.js.map +1 -1
  37. package/dist/cli/commands/context/tokenEstimator.d.ts.map +1 -1
  38. package/dist/cli/commands/context/tokenEstimator.js +48 -24
  39. package/dist/cli/commands/context/tokenEstimator.js.map +1 -1
  40. package/dist/cli/commands/context/watchMode/incrementalWatch.d.ts.map +1 -1
  41. package/dist/cli/commands/context/watchMode/incrementalWatch.js +15 -13
  42. package/dist/cli/commands/context/watchMode/incrementalWatch.js.map +1 -1
  43. package/dist/cli/commands/context/watchMode/watchDiff.d.ts.map +1 -1
  44. package/dist/cli/commands/context/watchMode/watchDiff.js +58 -35
  45. package/dist/cli/commands/context/watchMode/watchDiff.js.map +1 -1
  46. package/dist/cli/commands/context/watchMode/watchMode.d.ts.map +1 -1
  47. package/dist/cli/commands/context/watchMode/watchMode.js +76 -42
  48. package/dist/cli/commands/context/watchMode/watchMode.js.map +1 -1
  49. package/dist/cli/commands/context.d.ts.map +1 -1
  50. package/dist/cli/commands/context.js +32 -11
  51. package/dist/cli/commands/context.js.map +1 -1
  52. package/dist/cli/commands/ignore.d.ts.map +1 -1
  53. package/dist/cli/commands/ignore.js +5 -5
  54. package/dist/cli/commands/ignore.js.map +1 -1
  55. package/dist/cli/commands/init.d.ts.map +1 -1
  56. package/dist/cli/commands/init.js +8 -4
  57. package/dist/cli/commands/init.js.map +1 -1
  58. package/dist/cli/commands/security.d.ts.map +1 -1
  59. package/dist/cli/commands/security.js +19 -10
  60. package/dist/cli/commands/security.js.map +1 -1
  61. package/dist/cli/commands/validate.d.ts.map +1 -1
  62. package/dist/cli/commands/validate.js +12 -7
  63. package/dist/cli/commands/validate.js.map +1 -1
  64. package/dist/cli/handlers/cleanHandler.d.ts.map +1 -1
  65. package/dist/cli/handlers/cleanHandler.js.map +1 -1
  66. package/dist/cli/handlers/compareHandler.d.ts.map +1 -1
  67. package/dist/cli/handlers/compareHandler.js +76 -25
  68. package/dist/cli/handlers/compareHandler.js.map +1 -1
  69. package/dist/cli/handlers/contextHandler.d.ts.map +1 -1
  70. package/dist/cli/handlers/contextHandler.js +1 -1
  71. package/dist/cli/handlers/contextHandler.js.map +1 -1
  72. package/dist/cli/handlers/ignoreHandler.d.ts.map +1 -1
  73. package/dist/cli/handlers/ignoreHandler.js.map +1 -1
  74. package/dist/cli/handlers/securityHandler.d.ts.map +1 -1
  75. package/dist/cli/handlers/securityHandler.js +1 -1
  76. package/dist/cli/handlers/securityHandler.js.map +1 -1
  77. package/dist/cli/handlers/styleHandler.d.ts.map +1 -1
  78. package/dist/cli/handlers/styleHandler.js.map +1 -1
  79. package/dist/cli/index.js +1 -1
  80. package/dist/cli/index.js.map +1 -1
  81. package/dist/cli/parser/argumentParser.d.ts.map +1 -1
  82. package/dist/cli/parser/argumentParser.js +2 -4
  83. package/dist/cli/parser/argumentParser.js.map +1 -1
  84. package/dist/cli/stamp.js +4 -2
  85. package/dist/cli/stamp.js.map +1 -1
  86. package/dist/core/astParser/detectors.d.ts +1 -1
  87. package/dist/core/astParser/detectors.d.ts.map +1 -1
  88. package/dist/core/astParser/detectors.js +48 -32
  89. package/dist/core/astParser/detectors.js.map +1 -1
  90. package/dist/core/astParser.d.ts.map +1 -1
  91. package/dist/core/astParser.js +10 -7
  92. package/dist/core/astParser.js.map +1 -1
  93. package/dist/core/contractBuilder.d.ts.map +1 -1
  94. package/dist/core/contractBuilder.js +10 -6
  95. package/dist/core/contractBuilder.js.map +1 -1
  96. package/dist/core/manifest.d.ts.map +1 -1
  97. package/dist/core/manifest.js +12 -5
  98. package/dist/core/manifest.js.map +1 -1
  99. package/dist/core/pack/builder.d.ts.map +1 -1
  100. package/dist/core/pack/builder.js +4 -2
  101. package/dist/core/pack/builder.js.map +1 -1
  102. package/dist/core/pack/collector.d.ts.map +1 -1
  103. package/dist/core/pack/collector.js +4 -2
  104. package/dist/core/pack/collector.js.map +1 -1
  105. package/dist/core/pack/loader.d.ts.map +1 -1
  106. package/dist/core/pack/loader.js +12 -6
  107. package/dist/core/pack/loader.js.map +1 -1
  108. package/dist/core/pack/packageInfo.d.ts.map +1 -1
  109. package/dist/core/pack/packageInfo.js.map +1 -1
  110. package/dist/core/pack/resolver.d.ts.map +1 -1
  111. package/dist/core/pack/resolver.js +8 -3
  112. package/dist/core/pack/resolver.js.map +1 -1
  113. package/dist/core/pack.d.ts.map +1 -1
  114. package/dist/core/pack.js +8 -5
  115. package/dist/core/pack.js.map +1 -1
  116. package/dist/core/signature.d.ts.map +1 -1
  117. package/dist/core/signature.js +35 -13
  118. package/dist/core/signature.js.map +1 -1
  119. package/dist/core/violations.d.ts.map +1 -1
  120. package/dist/core/violations.js +41 -20
  121. package/dist/core/violations.js.map +1 -1
  122. package/dist/extractors/express/expressExtractor.d.ts +1 -1
  123. package/dist/extractors/express/expressExtractor.d.ts.map +1 -1
  124. package/dist/extractors/express/expressExtractor.js +5 -4
  125. package/dist/extractors/express/expressExtractor.js.map +1 -1
  126. package/dist/extractors/express/index.d.ts +1 -1
  127. package/dist/extractors/express/index.d.ts.map +1 -1
  128. package/dist/extractors/express/index.js +1 -1
  129. package/dist/extractors/express/index.js.map +1 -1
  130. package/dist/extractors/nest/nestjsExtractor.d.ts +1 -1
  131. package/dist/extractors/nest/nestjsExtractor.d.ts.map +1 -1
  132. package/dist/extractors/nest/nestjsExtractor.js +5 -3
  133. package/dist/extractors/nest/nestjsExtractor.js.map +1 -1
  134. package/dist/extractors/react/componentExtractor.d.ts +1 -1
  135. package/dist/extractors/react/componentExtractor.d.ts.map +1 -1
  136. package/dist/extractors/react/componentExtractor.js +9 -3
  137. package/dist/extractors/react/componentExtractor.js.map +1 -1
  138. package/dist/extractors/react/eventExtractor.d.ts +1 -1
  139. package/dist/extractors/react/eventExtractor.d.ts.map +1 -1
  140. package/dist/extractors/react/eventExtractor.js +11 -6
  141. package/dist/extractors/react/eventExtractor.js.map +1 -1
  142. package/dist/extractors/react/hookParameterExtractor.d.ts +1 -1
  143. package/dist/extractors/react/hookParameterExtractor.d.ts.map +1 -1
  144. package/dist/extractors/react/hookParameterExtractor.js +13 -9
  145. package/dist/extractors/react/hookParameterExtractor.js.map +1 -1
  146. package/dist/extractors/react/index.d.ts +1 -1
  147. package/dist/extractors/react/index.d.ts.map +1 -1
  148. package/dist/extractors/react/index.js +1 -1
  149. package/dist/extractors/react/index.js.map +1 -1
  150. package/dist/extractors/react/propExtractor.d.ts +1 -1
  151. package/dist/extractors/react/propExtractor.d.ts.map +1 -1
  152. package/dist/extractors/react/propExtractor.js +17 -8
  153. package/dist/extractors/react/propExtractor.js.map +1 -1
  154. package/dist/extractors/react/stateExtractor.d.ts +1 -1
  155. package/dist/extractors/react/stateExtractor.d.ts.map +1 -1
  156. package/dist/extractors/react/stateExtractor.js +7 -3
  157. package/dist/extractors/react/stateExtractor.js.map +1 -1
  158. package/dist/extractors/shared/backendExtractor.d.ts +1 -1
  159. package/dist/extractors/shared/backendExtractor.d.ts.map +1 -1
  160. package/dist/extractors/shared/backendExtractor.js +7 -5
  161. package/dist/extractors/shared/backendExtractor.js.map +1 -1
  162. package/dist/extractors/shared/index.d.ts +1 -1
  163. package/dist/extractors/shared/index.d.ts.map +1 -1
  164. package/dist/extractors/shared/index.js +1 -1
  165. package/dist/extractors/shared/index.js.map +1 -1
  166. package/dist/extractors/shared/propTypeNormalizer.d.ts.map +1 -1
  167. package/dist/extractors/shared/propTypeNormalizer.js +4 -4
  168. package/dist/extractors/shared/propTypeNormalizer.js.map +1 -1
  169. package/dist/extractors/styling/antd.d.ts +1 -1
  170. package/dist/extractors/styling/antd.d.ts.map +1 -1
  171. package/dist/extractors/styling/antd.js +119 -45
  172. package/dist/extractors/styling/antd.js.map +1 -1
  173. package/dist/extractors/styling/chakra.d.ts +1 -1
  174. package/dist/extractors/styling/chakra.d.ts.map +1 -1
  175. package/dist/extractors/styling/chakra.js +144 -37
  176. package/dist/extractors/styling/chakra.js.map +1 -1
  177. package/dist/extractors/styling/index.d.ts +1 -1
  178. package/dist/extractors/styling/index.d.ts.map +1 -1
  179. package/dist/extractors/styling/index.js +1 -1
  180. package/dist/extractors/styling/index.js.map +1 -1
  181. package/dist/extractors/styling/layout.d.ts +1 -1
  182. package/dist/extractors/styling/layout.d.ts.map +1 -1
  183. package/dist/extractors/styling/layout.js +27 -19
  184. package/dist/extractors/styling/layout.js.map +1 -1
  185. package/dist/extractors/styling/material.d.ts +1 -1
  186. package/dist/extractors/styling/material.d.ts.map +1 -1
  187. package/dist/extractors/styling/material.js +129 -38
  188. package/dist/extractors/styling/material.js.map +1 -1
  189. package/dist/extractors/styling/motion.d.ts +1 -1
  190. package/dist/extractors/styling/motion.d.ts.map +1 -1
  191. package/dist/extractors/styling/motion.js +47 -19
  192. package/dist/extractors/styling/motion.js.map +1 -1
  193. package/dist/extractors/styling/radix.d.ts +1 -1
  194. package/dist/extractors/styling/radix.d.ts.map +1 -1
  195. package/dist/extractors/styling/radix.js +163 -23
  196. package/dist/extractors/styling/radix.js.map +1 -1
  197. package/dist/extractors/styling/scss.d.ts +1 -1
  198. package/dist/extractors/styling/scss.d.ts.map +1 -1
  199. package/dist/extractors/styling/scss.js +141 -23
  200. package/dist/extractors/styling/scss.js.map +1 -1
  201. package/dist/extractors/styling/shadcn.d.ts +1 -1
  202. package/dist/extractors/styling/shadcn.d.ts.map +1 -1
  203. package/dist/extractors/styling/shadcn.js +173 -58
  204. package/dist/extractors/styling/shadcn.js.map +1 -1
  205. package/dist/extractors/styling/styleExtractor.d.ts +1 -1
  206. package/dist/extractors/styling/styleExtractor.d.ts.map +1 -1
  207. package/dist/extractors/styling/styleExtractor.js +78 -38
  208. package/dist/extractors/styling/styleExtractor.js.map +1 -1
  209. package/dist/extractors/styling/styled.d.ts +1 -1
  210. package/dist/extractors/styling/styled.d.ts.map +1 -1
  211. package/dist/extractors/styling/styled.js +9 -5
  212. package/dist/extractors/styling/styled.js.map +1 -1
  213. package/dist/extractors/styling/styledJsx.d.ts +1 -1
  214. package/dist/extractors/styling/styledJsx.d.ts.map +1 -1
  215. package/dist/extractors/styling/styledJsx.js +8 -6
  216. package/dist/extractors/styling/styledJsx.js.map +1 -1
  217. package/dist/extractors/styling/tailwind.d.ts +1 -1
  218. package/dist/extractors/styling/tailwind.d.ts.map +1 -1
  219. package/dist/extractors/styling/tailwind.js +22 -17
  220. package/dist/extractors/styling/tailwind.js.map +1 -1
  221. package/dist/extractors/vue/componentExtractor.d.ts +1 -1
  222. package/dist/extractors/vue/componentExtractor.d.ts.map +1 -1
  223. package/dist/extractors/vue/componentExtractor.js +97 -35
  224. package/dist/extractors/vue/componentExtractor.js.map +1 -1
  225. package/dist/index.d.ts +8 -8
  226. package/dist/index.d.ts.map +1 -1
  227. package/dist/index.js +3 -3
  228. package/dist/index.js.map +1 -1
  229. package/dist/types/UIFContract.d.ts.map +1 -1
  230. package/dist/types/UIFContract.js.map +1 -1
  231. package/dist/utils/cleanup.js +2 -2
  232. package/dist/utils/cleanup.js.map +1 -1
  233. package/dist/utils/codeSanitizer.d.ts.map +1 -1
  234. package/dist/utils/codeSanitizer.js +13 -7
  235. package/dist/utils/codeSanitizer.js.map +1 -1
  236. package/dist/utils/config.d.ts.map +1 -1
  237. package/dist/utils/config.js +4 -4
  238. package/dist/utils/config.js.map +1 -1
  239. package/dist/utils/debug.d.ts.map +1 -1
  240. package/dist/utils/debug.js.map +1 -1
  241. package/dist/utils/fileLock.d.ts.map +1 -1
  242. package/dist/utils/fileLock.js +3 -3
  243. package/dist/utils/fileLock.js.map +1 -1
  244. package/dist/utils/fsx.d.ts.map +1 -1
  245. package/dist/utils/fsx.js +4 -4
  246. package/dist/utils/fsx.js.map +1 -1
  247. package/dist/utils/git.d.ts.map +1 -1
  248. package/dist/utils/git.js +11 -7
  249. package/dist/utils/git.js.map +1 -1
  250. package/dist/utils/gitignore.d.ts.map +1 -1
  251. package/dist/utils/gitignore.js +11 -9
  252. package/dist/utils/gitignore.js.map +1 -1
  253. package/dist/utils/hash.d.ts.map +1 -1
  254. package/dist/utils/hash.js +18 -6
  255. package/dist/utils/hash.js.map +1 -1
  256. package/dist/utils/llmContext.d.ts.map +1 -1
  257. package/dist/utils/llmContext.js +1 -4
  258. package/dist/utils/llmContext.js.map +1 -1
  259. package/dist/utils/schemaValidator.d.ts.map +1 -1
  260. package/dist/utils/schemaValidator.js +9 -2
  261. package/dist/utils/schemaValidator.js.map +1 -1
  262. package/dist/utils/secretDetector.d.ts.map +1 -1
  263. package/dist/utils/secretDetector.js +13 -9
  264. package/dist/utils/secretDetector.js.map +1 -1
  265. package/dist/utils/stampignore.d.ts.map +1 -1
  266. package/dist/utils/stampignore.js +4 -4
  267. package/dist/utils/stampignore.js.map +1 -1
  268. package/dist/utils/tokens.d.ts.map +1 -1
  269. package/dist/utils/tokens.js.map +1 -1
  270. package/package.json +5 -1
@@ -36,28 +36,142 @@ export async function parseStyleFile(filePath, importPath) {
36
36
  let hasMixins = false;
37
37
  // Valid HTML element names for type selectors
38
38
  const validElements = new Set([
39
- 'div', 'span', 'p', 'a', 'button', 'input', 'form', 'label',
40
- 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'li', 'dl',
41
- 'dt', 'dd', 'table', 'thead', 'tbody', 'tfoot', 'tr', 'td',
42
- 'th', 'img', 'svg', 'path', 'circle', 'rect', 'line', 'polyline',
43
- 'polygon', 'g', 'defs', 'use', 'symbol', 'mask', 'clipPath',
44
- 'section', 'article', 'aside', 'nav', 'header', 'footer', 'main',
45
- 'figure', 'figcaption', 'time', 'mark', 'code', 'pre', 'blockquote',
46
- 'hr', 'br', 'strong', 'em', 'b', 'i', 'u', 's', 'small', 'sub', 'sup',
47
- 'select', 'option', 'textarea', 'fieldset', 'legend', 'datalist',
48
- 'output', 'progress', 'meter', 'details', 'summary', 'dialog',
49
- 'menu', 'menuitem', 'canvas', 'audio', 'video', 'source', 'track',
50
- 'embed', 'object', 'param', 'iframe', 'picture',
51
- 'template', 'slot', 'script', 'noscript', 'style', 'link', 'meta',
52
- 'title', 'head', 'body', 'html',
39
+ 'div',
40
+ 'span',
41
+ 'p',
42
+ 'a',
43
+ 'button',
44
+ 'input',
45
+ 'form',
46
+ 'label',
47
+ 'h1',
48
+ 'h2',
49
+ 'h3',
50
+ 'h4',
51
+ 'h5',
52
+ 'h6',
53
+ 'ul',
54
+ 'ol',
55
+ 'li',
56
+ 'dl',
57
+ 'dt',
58
+ 'dd',
59
+ 'table',
60
+ 'thead',
61
+ 'tbody',
62
+ 'tfoot',
63
+ 'tr',
64
+ 'td',
65
+ 'th',
66
+ 'img',
67
+ 'svg',
68
+ 'path',
69
+ 'circle',
70
+ 'rect',
71
+ 'line',
72
+ 'polyline',
73
+ 'polygon',
74
+ 'g',
75
+ 'defs',
76
+ 'use',
77
+ 'symbol',
78
+ 'mask',
79
+ 'clipPath',
80
+ 'section',
81
+ 'article',
82
+ 'aside',
83
+ 'nav',
84
+ 'header',
85
+ 'footer',
86
+ 'main',
87
+ 'figure',
88
+ 'figcaption',
89
+ 'time',
90
+ 'mark',
91
+ 'code',
92
+ 'pre',
93
+ 'blockquote',
94
+ 'hr',
95
+ 'br',
96
+ 'strong',
97
+ 'em',
98
+ 'b',
99
+ 'i',
100
+ 'u',
101
+ 's',
102
+ 'small',
103
+ 'sub',
104
+ 'sup',
105
+ 'select',
106
+ 'option',
107
+ 'textarea',
108
+ 'fieldset',
109
+ 'legend',
110
+ 'datalist',
111
+ 'output',
112
+ 'progress',
113
+ 'meter',
114
+ 'details',
115
+ 'summary',
116
+ 'dialog',
117
+ 'menu',
118
+ 'menuitem',
119
+ 'canvas',
120
+ 'audio',
121
+ 'video',
122
+ 'source',
123
+ 'track',
124
+ 'embed',
125
+ 'object',
126
+ 'param',
127
+ 'iframe',
128
+ 'picture',
129
+ 'template',
130
+ 'slot',
131
+ 'script',
132
+ 'noscript',
133
+ 'style',
134
+ 'link',
135
+ 'meta',
136
+ 'title',
137
+ 'head',
138
+ 'body',
139
+ 'html',
53
140
  ]);
54
141
  // File extensions to filter out (might appear in URLs)
55
142
  const fileExtensions = new Set([
56
- '.css', '.scss', '.sass', '.less', '.styl',
57
- '.jpg', '.jpeg', '.png', '.gif', '.svg', '.webp', '.ico',
58
- '.woff', '.woff2', '.ttf', '.otf', '.eot',
59
- '.js', '.jsx', '.ts', '.tsx', '.json', '.xml', '.html', '.htm',
60
- '.pdf', '.zip', '.mp4', '.mp3', '.wav', '.mov', '.avi'
143
+ '.css',
144
+ '.scss',
145
+ '.sass',
146
+ '.less',
147
+ '.styl',
148
+ '.jpg',
149
+ '.jpeg',
150
+ '.png',
151
+ '.gif',
152
+ '.svg',
153
+ '.webp',
154
+ '.ico',
155
+ '.woff',
156
+ '.woff2',
157
+ '.ttf',
158
+ '.otf',
159
+ '.eot',
160
+ '.js',
161
+ '.jsx',
162
+ '.ts',
163
+ '.tsx',
164
+ '.json',
165
+ '.xml',
166
+ '.html',
167
+ '.htm',
168
+ '.pdf',
169
+ '.zip',
170
+ '.mp4',
171
+ '.mp3',
172
+ '.wav',
173
+ '.mov',
174
+ '.avi',
61
175
  ]);
62
176
  // Walk the AST to extract selectors and properties
63
177
  // Note: walk() recursively traverses the entire tree, so it automatically
@@ -76,7 +190,8 @@ export async function parseStyleFile(filePath, importPath) {
76
190
  if (name && typeof name === 'string') {
77
191
  // Skip file extensions
78
192
  const selector = `.${name}`;
79
- if (!fileExtensions.has(selector.toLowerCase()) && !/^\.\d+$/.test(selector)) {
193
+ if (!fileExtensions.has(selector.toLowerCase()) &&
194
+ !/^\.\d+$/.test(selector)) {
80
195
  selectors.add(selector);
81
196
  }
82
197
  }
@@ -93,7 +208,9 @@ export async function parseStyleFile(filePath, importPath) {
93
208
  else if (selectorNode.type === 'TypeSelector') {
94
209
  const typeSel = selectorNode;
95
210
  const name = typeSel.name;
96
- if (name && typeof name === 'string' && validElements.has(name.toLowerCase())) {
211
+ if (name &&
212
+ typeof name === 'string' &&
213
+ validElements.has(name.toLowerCase())) {
97
214
  selectors.add(name.toLowerCase());
98
215
  }
99
216
  }
@@ -163,9 +280,10 @@ export async function extractScssMetadata(source, filePath) {
163
280
  try {
164
281
  const result = {};
165
282
  // Check for SCSS module imports and parse them
166
- const scssModuleImport = source.getImportDeclarations().find(imp => {
283
+ const scssModuleImport = source.getImportDeclarations().find((imp) => {
167
284
  const moduleSpecifier = imp.getModuleSpecifierValue();
168
- return moduleSpecifier.endsWith('.module.scss') || moduleSpecifier.endsWith('.scss');
285
+ return (moduleSpecifier.endsWith('.module.scss') ||
286
+ moduleSpecifier.endsWith('.scss'));
169
287
  });
170
288
  if (scssModuleImport) {
171
289
  const moduleSpecifier = scssModuleImport.getModuleSpecifierValue();
@@ -1 +1 @@
1
- {"version":3,"file":"scss.js","sourceRoot":"","sources":["../../../src/extractors/styling/scss.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scss.js","sourceRoot":"","sources":["../../../src/extractors/styling/scss.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * ShadCN/UI extractor - Extracts ShadCN/UI component library usage
3
3
  * ShadCN/UI is a collection of re-usable components built with Radix UI and Tailwind CSS
4
4
  */
5
- import { SourceFile } from 'ts-morph';
5
+ import { type SourceFile } from 'ts-morph';
6
6
  /**
7
7
  * Extract ShadCN/UI usage from a source file
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"shadcn.d.ts","sourceRoot":"","sources":["../../../src/extractors/styling/shadcn.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,UAAU,EAQX,MAAM,UAAU,CAAC;AAyFlB;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG;IACnD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE;QACR,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,gBAAgB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;KAC9C,CAAC;CACH,CA0QA"}
1
+ {"version":3,"file":"shadcn.d.ts","sourceRoot":"","sources":["../../../src/extractors/styling/shadcn.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,UAAU,EAQhB,MAAM,UAAU,CAAC;AAsMlB;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG;IACnD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE;QACR,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,gBAAgB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;KAC9C,CAAC;CACH,CAmTA"}
@@ -9,59 +9,168 @@ import { debugError } from '../../utils/debug.js';
9
9
  * These are typically imported from @/components/ui/*
10
10
  */
11
11
  const SHADCN_COMPONENTS = [
12
- 'Accordion', 'AccordionContent', 'AccordionItem', 'AccordionTrigger',
13
- 'Alert', 'AlertDescription', 'AlertTitle',
14
- 'AlertDialog', 'AlertDialogAction', 'AlertDialogCancel', 'AlertDialogContent', 'AlertDialogDescription',
15
- 'AlertDialogFooter', 'AlertDialogHeader', 'AlertDialogTitle', 'AlertDialogTrigger',
12
+ 'Accordion',
13
+ 'AccordionContent',
14
+ 'AccordionItem',
15
+ 'AccordionTrigger',
16
+ 'Alert',
17
+ 'AlertDescription',
18
+ 'AlertTitle',
19
+ 'AlertDialog',
20
+ 'AlertDialogAction',
21
+ 'AlertDialogCancel',
22
+ 'AlertDialogContent',
23
+ 'AlertDialogDescription',
24
+ 'AlertDialogFooter',
25
+ 'AlertDialogHeader',
26
+ 'AlertDialogTitle',
27
+ 'AlertDialogTrigger',
16
28
  'AspectRatio',
17
- 'Avatar', 'AvatarFallback', 'AvatarImage',
29
+ 'Avatar',
30
+ 'AvatarFallback',
31
+ 'AvatarImage',
18
32
  'Badge',
19
33
  'Button',
20
34
  'Calendar',
21
- 'Card', 'CardContent', 'CardDescription', 'CardFooter', 'CardHeader', 'CardTitle',
35
+ 'Card',
36
+ 'CardContent',
37
+ 'CardDescription',
38
+ 'CardFooter',
39
+ 'CardHeader',
40
+ 'CardTitle',
22
41
  'Checkbox',
23
- 'Collapsible', 'CollapsibleContent', 'CollapsibleTrigger',
24
- 'Command', 'CommandDialog', 'CommandEmpty', 'CommandGroup', 'CommandInput', 'CommandItem',
25
- 'CommandList', 'CommandSeparator', 'CommandShortcut',
26
- 'ContextMenu', 'ContextMenuCheckboxItem', 'ContextMenuContent', 'ContextMenuItem',
27
- 'ContextMenuLabel', 'ContextMenuRadioGroup', 'ContextMenuRadioItem', 'ContextMenuSeparator',
28
- 'ContextMenuShortcut', 'ContextMenuSub', 'ContextMenuSubContent', 'ContextMenuSubTrigger',
42
+ 'Collapsible',
43
+ 'CollapsibleContent',
44
+ 'CollapsibleTrigger',
45
+ 'Command',
46
+ 'CommandDialog',
47
+ 'CommandEmpty',
48
+ 'CommandGroup',
49
+ 'CommandInput',
50
+ 'CommandItem',
51
+ 'CommandList',
52
+ 'CommandSeparator',
53
+ 'CommandShortcut',
54
+ 'ContextMenu',
55
+ 'ContextMenuCheckboxItem',
56
+ 'ContextMenuContent',
57
+ 'ContextMenuItem',
58
+ 'ContextMenuLabel',
59
+ 'ContextMenuRadioGroup',
60
+ 'ContextMenuRadioItem',
61
+ 'ContextMenuSeparator',
62
+ 'ContextMenuShortcut',
63
+ 'ContextMenuSub',
64
+ 'ContextMenuSubContent',
65
+ 'ContextMenuSubTrigger',
29
66
  'ContextMenuTrigger',
30
- 'Dialog', 'DialogContent', 'DialogDescription', 'DialogFooter', 'DialogHeader', 'DialogTitle',
67
+ 'Dialog',
68
+ 'DialogContent',
69
+ 'DialogDescription',
70
+ 'DialogFooter',
71
+ 'DialogHeader',
72
+ 'DialogTitle',
31
73
  'DialogTrigger',
32
- 'DropdownMenu', 'DropdownMenuCheckboxItem', 'DropdownMenuContent', 'DropdownMenuItem',
33
- 'DropdownMenuLabel', 'DropdownMenuRadioGroup', 'DropdownMenuRadioItem', 'DropdownMenuSeparator',
34
- 'DropdownMenuShortcut', 'DropdownMenuSub', 'DropdownMenuSubContent', 'DropdownMenuSubTrigger',
74
+ 'DropdownMenu',
75
+ 'DropdownMenuCheckboxItem',
76
+ 'DropdownMenuContent',
77
+ 'DropdownMenuItem',
78
+ 'DropdownMenuLabel',
79
+ 'DropdownMenuRadioGroup',
80
+ 'DropdownMenuRadioItem',
81
+ 'DropdownMenuSeparator',
82
+ 'DropdownMenuShortcut',
83
+ 'DropdownMenuSub',
84
+ 'DropdownMenuSubContent',
85
+ 'DropdownMenuSubTrigger',
35
86
  'DropdownMenuTrigger',
36
- 'Form', 'FormControl', 'FormDescription', 'FormField', 'FormItem', 'FormLabel', 'FormMessage',
37
- 'HoverCard', 'HoverCardContent', 'HoverCardTrigger',
87
+ 'Form',
88
+ 'FormControl',
89
+ 'FormDescription',
90
+ 'FormField',
91
+ 'FormItem',
92
+ 'FormLabel',
93
+ 'FormMessage',
94
+ 'HoverCard',
95
+ 'HoverCardContent',
96
+ 'HoverCardTrigger',
38
97
  'Input',
39
98
  'Label',
40
- 'Menubar', 'MenubarCheckboxItem', 'MenubarContent', 'MenubarItem', 'MenubarLabel',
41
- 'MenubarMenu', 'MenubarRadioGroup', 'MenubarRadioItem', 'MenubarSeparator', 'MenubarShortcut',
42
- 'MenubarSub', 'MenubarSubContent', 'MenubarSubTrigger', 'MenubarTrigger',
43
- 'NavigationMenu', 'NavigationMenuContent', 'NavigationMenuItem', 'NavigationMenuLink',
44
- 'NavigationMenuList', 'NavigationMenuTrigger',
45
- 'Popover', 'PopoverContent', 'PopoverTrigger',
99
+ 'Menubar',
100
+ 'MenubarCheckboxItem',
101
+ 'MenubarContent',
102
+ 'MenubarItem',
103
+ 'MenubarLabel',
104
+ 'MenubarMenu',
105
+ 'MenubarRadioGroup',
106
+ 'MenubarRadioItem',
107
+ 'MenubarSeparator',
108
+ 'MenubarShortcut',
109
+ 'MenubarSub',
110
+ 'MenubarSubContent',
111
+ 'MenubarSubTrigger',
112
+ 'MenubarTrigger',
113
+ 'NavigationMenu',
114
+ 'NavigationMenuContent',
115
+ 'NavigationMenuItem',
116
+ 'NavigationMenuLink',
117
+ 'NavigationMenuList',
118
+ 'NavigationMenuTrigger',
119
+ 'Popover',
120
+ 'PopoverContent',
121
+ 'PopoverTrigger',
46
122
  'Progress',
47
- 'RadioGroup', 'RadioGroupItem',
48
- 'ScrollArea', 'ScrollBar',
49
- 'Select', 'SelectContent', 'SelectGroup', 'SelectItem', 'SelectLabel', 'SelectSeparator',
50
- 'SelectTrigger', 'SelectValue',
123
+ 'RadioGroup',
124
+ 'RadioGroupItem',
125
+ 'ScrollArea',
126
+ 'ScrollBar',
127
+ 'Select',
128
+ 'SelectContent',
129
+ 'SelectGroup',
130
+ 'SelectItem',
131
+ 'SelectLabel',
132
+ 'SelectSeparator',
133
+ 'SelectTrigger',
134
+ 'SelectValue',
51
135
  'Separator',
52
- 'Sheet', 'SheetContent', 'SheetDescription', 'SheetFooter', 'SheetHeader', 'SheetTitle',
136
+ 'Sheet',
137
+ 'SheetContent',
138
+ 'SheetDescription',
139
+ 'SheetFooter',
140
+ 'SheetHeader',
141
+ 'SheetTitle',
53
142
  'SheetTrigger',
54
143
  'Skeleton',
55
144
  'Slider',
56
145
  'Switch',
57
- 'Table', 'TableBody', 'TableCaption', 'TableCell', 'TableFooter', 'TableHead', 'TableHeader',
146
+ 'Table',
147
+ 'TableBody',
148
+ 'TableCaption',
149
+ 'TableCell',
150
+ 'TableFooter',
151
+ 'TableHead',
152
+ 'TableHeader',
58
153
  'TableRow',
59
- 'Tabs', 'TabsContent', 'TabsList', 'TabsTrigger',
154
+ 'Tabs',
155
+ 'TabsContent',
156
+ 'TabsList',
157
+ 'TabsTrigger',
60
158
  'Textarea',
61
- 'Toast', 'ToastAction', 'ToastClose', 'ToastDescription', 'ToastProvider', 'ToastTitle',
62
- 'ToastViewport', 'Toaster',
63
- 'Toggle', 'ToggleGroup', 'ToggleGroupItem',
64
- 'Tooltip', 'TooltipContent', 'TooltipProvider', 'TooltipTrigger',
159
+ 'Toast',
160
+ 'ToastAction',
161
+ 'ToastClose',
162
+ 'ToastDescription',
163
+ 'ToastProvider',
164
+ 'ToastTitle',
165
+ 'ToastViewport',
166
+ 'Toaster',
167
+ 'Toggle',
168
+ 'ToggleGroup',
169
+ 'ToggleGroupItem',
170
+ 'Tooltip',
171
+ 'TooltipContent',
172
+ 'TooltipProvider',
173
+ 'TooltipTrigger',
65
174
  ];
66
175
  /**
67
176
  * Common ShadCN/UI variant prop values
@@ -112,15 +221,15 @@ export function extractShadcnUI(source) {
112
221
  features: {},
113
222
  };
114
223
  }
115
- importDeclarations.forEach(imp => {
224
+ importDeclarations.forEach((imp) => {
116
225
  const moduleSpecifier = imp.getModuleSpecifierValue();
117
226
  // Check if it's a ShadCN/UI import path
118
- const isShadcnImport = SHADCN_IMPORT_PATTERNS.some(pattern => pattern.test(moduleSpecifier));
227
+ const isShadcnImport = SHADCN_IMPORT_PATTERNS.some((pattern) => pattern.test(moduleSpecifier));
119
228
  if (isShadcnImport) {
120
229
  hasShadcnImport = true;
121
230
  // Extract component names from imports (including aliases)
122
231
  const namedImports = imp.getNamedImports();
123
- namedImports.forEach(namedImport => {
232
+ namedImports.forEach((namedImport) => {
124
233
  const importName = namedImport.getName(); // Original/canonical name
125
234
  const aliasNode = namedImport.getAliasNode();
126
235
  const localName = aliasNode?.getText() ?? importName; // Local alias or original
@@ -166,9 +275,7 @@ export function extractShadcnUI(source) {
166
275
  : element;
167
276
  const rawTag = openingElement.getTagNameNode().getText();
168
277
  // Handle namespace tags like <Dialog.Root> or <Dialog.Trigger>
169
- const baseTag = rawTag.includes('.')
170
- ? rawTag.split('.')[0]
171
- : rawTag;
278
+ const baseTag = rawTag.includes('.') ? rawTag.split('.')[0] : rawTag;
172
279
  // Map local alias to canonical component name
173
280
  const componentName = localToShadcn.get(baseTag) ?? baseTag;
174
281
  if (SHADCN_COMPONENTS.includes(componentName)) {
@@ -184,7 +291,8 @@ export function extractShadcnUI(source) {
184
291
  // Extract variant prop
185
292
  if (attrName === 'variant') {
186
293
  const initializer = jsxAttr.getInitializer();
187
- if (initializer && initializer.getKind() === SyntaxKind.StringLiteral) {
294
+ if (initializer &&
295
+ initializer.getKind() === SyntaxKind.StringLiteral) {
188
296
  const variantValue = initializer.getLiteralText();
189
297
  // Determine component type
190
298
  let componentType = 'other';
@@ -202,7 +310,9 @@ export function extractShadcnUI(source) {
202
310
  // For Card, don't filter strictly (custom variants are common)
203
311
  // For other components, only record known variants
204
312
  const allowed = SHADCN_VARIANTS[componentType];
205
- if (componentType === 'card' || !allowed || allowed.includes(variantValue)) {
313
+ if (componentType === 'card' ||
314
+ !allowed ||
315
+ allowed.includes(variantValue)) {
206
316
  variants.get(componentType).add(variantValue);
207
317
  }
208
318
  }
@@ -210,7 +320,8 @@ export function extractShadcnUI(source) {
210
320
  // Extract size prop
211
321
  if (attrName === 'size') {
212
322
  const initializer = jsxAttr.getInitializer();
213
- if (initializer && initializer.getKind() === SyntaxKind.StringLiteral) {
323
+ if (initializer &&
324
+ initializer.getKind() === SyntaxKind.StringLiteral) {
214
325
  const sizeValue = initializer.getLiteralText();
215
326
  if (SHADCN_SIZES.includes(sizeValue)) {
216
327
  sizes.add(sizeValue);
@@ -226,34 +337,38 @@ export function extractShadcnUI(source) {
226
337
  try {
227
338
  const callExpressions = source.getDescendantsOfKind(SyntaxKind.CallExpression);
228
339
  usesForm =
229
- callExpressions.some(callExpr => {
340
+ callExpressions.some((callExpr) => {
230
341
  const expr = callExpr.getExpression();
231
- return expr.getKind() === SyntaxKind.Identifier &&
232
- ['useForm', 'FormProvider', 'Controller'].includes(expr.getText());
342
+ return (expr.getKind() === SyntaxKind.Identifier &&
343
+ ['useForm', 'FormProvider', 'Controller'].includes(expr.getText()));
233
344
  }) ||
234
345
  componentCounts.has('Form') ||
235
346
  componentCounts.has('FormField');
236
347
  }
237
348
  catch {
238
349
  // If AST traversal fails, check only component counts
239
- usesForm = componentCounts.has('Form') || componentCounts.has('FormField');
350
+ usesForm =
351
+ componentCounts.has('Form') || componentCounts.has('FormField');
240
352
  }
241
353
  // Check for theme usage (next-themes or similar) using AST
242
354
  let usesTheme = false;
243
355
  try {
244
356
  const callExpressions = source.getDescendantsOfKind(SyntaxKind.CallExpression);
245
357
  usesTheme =
246
- callExpressions.some(callExpr => {
358
+ callExpressions.some((callExpr) => {
247
359
  const expr = callExpr.getExpression();
248
- return expr.getKind() === SyntaxKind.Identifier && expr.getText() === 'useTheme';
360
+ return (expr.getKind() === SyntaxKind.Identifier &&
361
+ expr.getText() === 'useTheme');
249
362
  }) ||
250
- importDeclarations.some(imp => {
363
+ importDeclarations.some((imp) => {
251
364
  const moduleSpecifier = imp.getModuleSpecifierValue();
252
- return (imp.getNamedImports().some(n => n.getName() === 'ThemeProvider') ||
365
+ return (imp
366
+ .getNamedImports()
367
+ .some((n) => n.getName() === 'ThemeProvider') ||
253
368
  /theme-provider/i.test(moduleSpecifier));
254
369
  }) ||
255
370
  // Check for theme- classes in Tailwind (would need to check className attributes)
256
- source.getDescendantsOfKind(SyntaxKind.JsxAttribute).some(attr => {
371
+ source.getDescendantsOfKind(SyntaxKind.JsxAttribute).some((attr) => {
257
372
  const jsxAttr = attr;
258
373
  const attrName = jsxAttr.getNameNode().getText();
259
374
  if (attrName === 'className' || attrName === 'class') {
@@ -268,20 +383,20 @@ export function extractShadcnUI(source) {
268
383
  }
269
384
  catch {
270
385
  // If AST traversal fails, check only imports
271
- usesTheme = importDeclarations.some(imp => {
386
+ usesTheme = importDeclarations.some((imp) => {
272
387
  const moduleSpecifier = imp.getModuleSpecifierValue();
273
- return (imp.getNamedImports().some(n => n.getName() === 'ThemeProvider') ||
388
+ return (imp.getNamedImports().some((n) => n.getName() === 'ThemeProvider') ||
274
389
  /theme-provider/i.test(moduleSpecifier));
275
390
  });
276
391
  }
277
392
  // Check for icon usage (lucide-react is common with ShadCN) using AST
278
393
  let usesIcons = false;
279
394
  try {
280
- usesIcons = importDeclarations.some(imp => {
395
+ usesIcons = importDeclarations.some((imp) => {
281
396
  const moduleSpecifier = imp.getModuleSpecifierValue();
282
- return moduleSpecifier === 'lucide-react' ||
397
+ return (moduleSpecifier === 'lucide-react' ||
283
398
  moduleSpecifier === '@radix-ui/react-icons' ||
284
- moduleSpecifier.startsWith('react-icons');
399
+ moduleSpecifier.startsWith('react-icons'));
285
400
  });
286
401
  }
287
402
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"shadcn.js","sourceRoot":"","sources":["../../../src/extractors/styling/shadcn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shadcn.js","sourceRoot":"","sources":["../../../src/extractors/styling/shadcn.ts"],"names":[],"mappings":"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"}