@hanzogui/static 8.3.1 → 8.3.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.
Files changed (377) hide show
  1. package/dist/cjs/check-dep-versions.js +438 -0
  2. package/dist/cjs/check-dep-versions.js.map +1 -0
  3. package/dist/cjs/checkDeps.js +343 -0
  4. package/dist/cjs/checkDeps.js.map +1 -0
  5. package/dist/cjs/constants.js +13 -0
  6. package/dist/cjs/constants.js.map +1 -0
  7. package/dist/cjs/exports.js +27 -0
  8. package/dist/cjs/exports.js.map +1 -0
  9. package/dist/cjs/extractor/accessSafe.js +17 -0
  10. package/dist/cjs/extractor/accessSafe.js.map +1 -0
  11. package/dist/cjs/extractor/babelParse.js +27 -0
  12. package/dist/cjs/extractor/babelParse.js.map +1 -0
  13. package/dist/cjs/extractor/buildClassName.js +65 -0
  14. package/dist/cjs/extractor/buildClassName.js.map +1 -0
  15. package/dist/cjs/extractor/bundle.js +257 -0
  16. package/dist/cjs/extractor/bundle.js.map +1 -0
  17. package/dist/cjs/extractor/bundleConfig.js +794 -0
  18. package/dist/cjs/extractor/bundleConfig.js.map +1 -0
  19. package/dist/cjs/extractor/concatClassName.js +101 -0
  20. package/dist/cjs/extractor/concatClassName.js.map +1 -0
  21. package/dist/cjs/extractor/createEvaluator.js +56 -0
  22. package/dist/cjs/extractor/createEvaluator.js.map +1 -0
  23. package/dist/cjs/extractor/createExtractor.js +2285 -0
  24. package/dist/cjs/extractor/createExtractor.js.map +1 -0
  25. package/dist/cjs/extractor/createLogger.js +34 -0
  26. package/dist/cjs/extractor/createLogger.js.map +1 -0
  27. package/dist/cjs/extractor/detectModuleFormat.js +41 -0
  28. package/dist/cjs/extractor/detectModuleFormat.js.map +1 -0
  29. package/dist/cjs/extractor/ensureImportingConcat.js +23 -0
  30. package/dist/cjs/extractor/ensureImportingConcat.js.map +1 -0
  31. package/dist/cjs/extractor/errors.js +7 -0
  32. package/dist/cjs/extractor/errors.js.map +1 -0
  33. package/dist/cjs/extractor/esbuildAliasPlugin.js +43 -0
  34. package/dist/cjs/extractor/esbuildAliasPlugin.js.map +1 -0
  35. package/dist/cjs/extractor/esbuildTsconfigPaths.js +68 -0
  36. package/dist/cjs/extractor/esbuildTsconfigPaths.js.map +1 -0
  37. package/dist/cjs/extractor/evaluateAstNode.js +107 -0
  38. package/dist/cjs/extractor/evaluateAstNode.js.map +1 -0
  39. package/dist/cjs/extractor/extractHelpers.js +183 -0
  40. package/dist/cjs/extractor/extractHelpers.js.map +1 -0
  41. package/dist/cjs/extractor/extractMediaStyle.js +143 -0
  42. package/dist/cjs/extractor/extractMediaStyle.js.map +1 -0
  43. package/dist/cjs/extractor/extractToClassNames.js +541 -0
  44. package/dist/cjs/extractor/extractToClassNames.js.map +1 -0
  45. package/dist/cjs/extractor/extractToNative.js +404 -0
  46. package/dist/cjs/extractor/extractToNative.js.map +1 -0
  47. package/dist/cjs/extractor/extractablePath.js +89 -0
  48. package/dist/cjs/extractor/extractablePath.js.map +1 -0
  49. package/dist/cjs/extractor/findTopmostFunction.js +17 -0
  50. package/dist/cjs/extractor/findTopmostFunction.js.map +1 -0
  51. package/dist/cjs/extractor/generatedUid.js +35 -0
  52. package/dist/cjs/extractor/generatedUid.js.map +1 -0
  53. package/dist/cjs/extractor/getGuiConfigPathFromOptionsConfig.js +21 -0
  54. package/dist/cjs/extractor/getGuiConfigPathFromOptionsConfig.js.map +1 -0
  55. package/dist/cjs/extractor/getPrefixLogs.js +9 -0
  56. package/dist/cjs/extractor/getPrefixLogs.js.map +1 -0
  57. package/dist/cjs/extractor/getPropValueFromAttributes.js +75 -0
  58. package/dist/cjs/extractor/getPropValueFromAttributes.js.map +1 -0
  59. package/dist/cjs/extractor/getSourceModule.js +81 -0
  60. package/dist/cjs/extractor/getSourceModule.js.map +1 -0
  61. package/dist/cjs/extractor/getStaticBindingsForScope.js +212 -0
  62. package/dist/cjs/extractor/getStaticBindingsForScope.js.map +1 -0
  63. package/dist/cjs/extractor/hasTopLevelAwait.js +29 -0
  64. package/dist/cjs/extractor/hasTopLevelAwait.js.map +1 -0
  65. package/dist/cjs/extractor/hoistClassNames.js +47 -0
  66. package/dist/cjs/extractor/hoistClassNames.js.map +1 -0
  67. package/dist/cjs/extractor/literalToAst.js +83 -0
  68. package/dist/cjs/extractor/literalToAst.js.map +1 -0
  69. package/dist/cjs/extractor/loadFile.js +24 -0
  70. package/dist/cjs/extractor/loadFile.js.map +1 -0
  71. package/dist/cjs/extractor/loadGui.js +414 -0
  72. package/dist/cjs/extractor/loadGui.js.map +1 -0
  73. package/dist/cjs/extractor/logLines.js +20 -0
  74. package/dist/cjs/extractor/logLines.js.map +1 -0
  75. package/dist/cjs/extractor/normalizeTernaries.js +60 -0
  76. package/dist/cjs/extractor/normalizeTernaries.js.map +1 -0
  77. package/dist/cjs/extractor/propsToFontFamilyCache.js +20 -0
  78. package/dist/cjs/extractor/propsToFontFamilyCache.js.map +1 -0
  79. package/dist/cjs/extractor/regenerateConfig.js +151 -0
  80. package/dist/cjs/extractor/regenerateConfig.js.map +1 -0
  81. package/dist/cjs/extractor/removeUnusedHooks.js +84 -0
  82. package/dist/cjs/extractor/removeUnusedHooks.js.map +1 -0
  83. package/dist/cjs/extractor/timer.js +30 -0
  84. package/dist/cjs/extractor/timer.js.map +1 -0
  85. package/dist/cjs/extractor/validHTMLAttributes.js +56 -0
  86. package/dist/cjs/extractor/validHTMLAttributes.js.map +1 -0
  87. package/dist/cjs/extractor/watchGuiConfig.js +56 -0
  88. package/dist/cjs/extractor/watchGuiConfig.js.map +1 -0
  89. package/dist/cjs/getPragmaOptions.js +52 -0
  90. package/dist/cjs/getPragmaOptions.js.map +1 -0
  91. package/dist/cjs/helpers/memoize.js +24 -0
  92. package/dist/cjs/helpers/memoize.js.map +1 -0
  93. package/dist/cjs/helpers/nativeEntry.js +87 -0
  94. package/dist/cjs/helpers/nativeEntry.js.map +1 -0
  95. package/dist/cjs/helpers/requireGuiCore.js +25 -0
  96. package/dist/cjs/helpers/requireGuiCore.js.map +1 -0
  97. package/dist/cjs/here.js +8 -0
  98. package/dist/cjs/here.js.map +1 -0
  99. package/dist/cjs/index.js +8 -0
  100. package/dist/cjs/index.js.map +1 -0
  101. package/dist/cjs/package.json +1 -0
  102. package/dist/cjs/registerRequire.js +263 -0
  103. package/dist/cjs/registerRequire.js.map +1 -0
  104. package/dist/cjs/server.js +41 -0
  105. package/dist/cjs/server.js.map +1 -0
  106. package/dist/cjs/setup.js +2 -0
  107. package/dist/cjs/setup.js.map +1 -0
  108. package/dist/cjs/types.js +3 -0
  109. package/dist/cjs/types.js.map +1 -0
  110. package/dist/cjs/worker.js +95 -0
  111. package/dist/cjs/worker.js.map +1 -0
  112. package/dist/esm/check-dep-versions.js +433 -0
  113. package/dist/esm/check-dep-versions.js.map +1 -0
  114. package/dist/esm/checkDeps.js +339 -0
  115. package/dist/esm/checkDeps.js.map +1 -0
  116. package/dist/esm/constants.js +9 -0
  117. package/dist/esm/constants.js.map +1 -0
  118. package/dist/esm/exports.js +18 -0
  119. package/dist/esm/exports.js.map +1 -0
  120. package/dist/esm/extractor/accessSafe.js +13 -0
  121. package/dist/esm/extractor/accessSafe.js.map +1 -0
  122. package/dist/esm/extractor/babelParse.js +22 -0
  123. package/dist/esm/extractor/babelParse.js.map +1 -0
  124. package/dist/esm/extractor/buildClassName.js +59 -0
  125. package/dist/esm/extractor/buildClassName.js.map +1 -0
  126. package/dist/esm/extractor/bundle.js +252 -0
  127. package/dist/esm/extractor/bundle.js.map +1 -0
  128. package/dist/esm/extractor/bundleConfig.js +781 -0
  129. package/dist/esm/extractor/bundleConfig.js.map +1 -0
  130. package/dist/esm/extractor/concatClassName.js +98 -0
  131. package/dist/esm/extractor/concatClassName.js.map +1 -0
  132. package/dist/esm/extractor/createEvaluator.js +51 -0
  133. package/dist/esm/extractor/createEvaluator.js.map +1 -0
  134. package/dist/esm/extractor/createExtractor.js +2281 -0
  135. package/dist/esm/extractor/createExtractor.js.map +1 -0
  136. package/dist/esm/extractor/createLogger.js +31 -0
  137. package/dist/esm/extractor/createLogger.js.map +1 -0
  138. package/dist/esm/extractor/detectModuleFormat.js +37 -0
  139. package/dist/esm/extractor/detectModuleFormat.js.map +1 -0
  140. package/dist/esm/extractor/ensureImportingConcat.js +19 -0
  141. package/dist/esm/extractor/ensureImportingConcat.js.map +1 -0
  142. package/dist/esm/extractor/errors.js +3 -0
  143. package/dist/esm/extractor/errors.js.map +1 -0
  144. package/dist/esm/extractor/esbuildAliasPlugin.js +39 -0
  145. package/dist/esm/extractor/esbuildAliasPlugin.js.map +1 -0
  146. package/dist/esm/extractor/esbuildTsconfigPaths.js +63 -0
  147. package/dist/esm/extractor/esbuildTsconfigPaths.js.map +1 -0
  148. package/dist/esm/extractor/evaluateAstNode.js +103 -0
  149. package/dist/esm/extractor/evaluateAstNode.js.map +1 -0
  150. package/dist/esm/extractor/extractHelpers.js +166 -0
  151. package/dist/esm/extractor/extractHelpers.js.map +1 -0
  152. package/dist/esm/extractor/extractMediaStyle.js +138 -0
  153. package/dist/esm/extractor/extractMediaStyle.js.map +1 -0
  154. package/dist/esm/extractor/extractToClassNames.js +537 -0
  155. package/dist/esm/extractor/extractToClassNames.js.map +1 -0
  156. package/dist/esm/extractor/extractToNative.js +398 -0
  157. package/dist/esm/extractor/extractToNative.js.map +1 -0
  158. package/dist/esm/extractor/extractablePath.js +84 -0
  159. package/dist/esm/extractor/extractablePath.js.map +1 -0
  160. package/dist/esm/extractor/findTopmostFunction.js +14 -0
  161. package/dist/esm/extractor/findTopmostFunction.js.map +1 -0
  162. package/dist/esm/extractor/generatedUid.js +31 -0
  163. package/dist/esm/extractor/generatedUid.js.map +1 -0
  164. package/dist/esm/extractor/getGuiConfigPathFromOptionsConfig.js +18 -0
  165. package/dist/esm/extractor/getGuiConfigPathFromOptionsConfig.js.map +1 -0
  166. package/dist/esm/extractor/getPrefixLogs.js +6 -0
  167. package/dist/esm/extractor/getPrefixLogs.js.map +1 -0
  168. package/dist/esm/extractor/getPropValueFromAttributes.js +71 -0
  169. package/dist/esm/extractor/getPropValueFromAttributes.js.map +1 -0
  170. package/dist/esm/extractor/getSourceModule.js +77 -0
  171. package/dist/esm/extractor/getSourceModule.js.map +1 -0
  172. package/dist/esm/extractor/getStaticBindingsForScope.js +207 -0
  173. package/dist/esm/extractor/getStaticBindingsForScope.js.map +1 -0
  174. package/dist/esm/extractor/hasTopLevelAwait.js +25 -0
  175. package/dist/esm/extractor/hasTopLevelAwait.js.map +1 -0
  176. package/dist/esm/extractor/hoistClassNames.js +43 -0
  177. package/dist/esm/extractor/hoistClassNames.js.map +1 -0
  178. package/dist/esm/extractor/literalToAst.js +78 -0
  179. package/dist/esm/extractor/literalToAst.js.map +1 -0
  180. package/dist/esm/extractor/loadFile.js +22 -0
  181. package/dist/esm/extractor/loadFile.js.map +1 -0
  182. package/dist/esm/extractor/loadGui.js +402 -0
  183. package/dist/esm/extractor/loadGui.js.map +1 -0
  184. package/dist/esm/extractor/logLines.js +16 -0
  185. package/dist/esm/extractor/logLines.js.map +1 -0
  186. package/dist/esm/extractor/normalizeTernaries.js +56 -0
  187. package/dist/esm/extractor/normalizeTernaries.js.map +1 -0
  188. package/dist/esm/extractor/propsToFontFamilyCache.js +15 -0
  189. package/dist/esm/extractor/propsToFontFamilyCache.js.map +1 -0
  190. package/dist/esm/extractor/regenerateConfig.js +145 -0
  191. package/dist/esm/extractor/regenerateConfig.js.map +1 -0
  192. package/dist/esm/extractor/removeUnusedHooks.js +80 -0
  193. package/dist/esm/extractor/removeUnusedHooks.js.map +1 -0
  194. package/dist/esm/extractor/timer.js +26 -0
  195. package/dist/esm/extractor/timer.js.map +1 -0
  196. package/dist/esm/extractor/validHTMLAttributes.js +53 -0
  197. package/dist/esm/extractor/validHTMLAttributes.js.map +1 -0
  198. package/dist/esm/extractor/watchGuiConfig.js +53 -0
  199. package/dist/esm/extractor/watchGuiConfig.js.map +1 -0
  200. package/dist/esm/getPragmaOptions.js +49 -0
  201. package/dist/esm/getPragmaOptions.js.map +1 -0
  202. package/dist/esm/helpers/memoize.js +21 -0
  203. package/dist/esm/helpers/memoize.js.map +1 -0
  204. package/dist/esm/helpers/nativeEntry.js +82 -0
  205. package/dist/esm/helpers/nativeEntry.js.map +1 -0
  206. package/dist/esm/helpers/requireGuiCore.js +22 -0
  207. package/dist/esm/helpers/requireGuiCore.js.map +1 -0
  208. package/dist/esm/here.js +7 -0
  209. package/dist/esm/here.js.map +1 -0
  210. package/dist/esm/index.js +5 -0
  211. package/dist/esm/index.js.map +1 -0
  212. package/dist/esm/registerRequire.js +256 -0
  213. package/dist/esm/registerRequire.js.map +1 -0
  214. package/dist/esm/server.js +37 -0
  215. package/dist/esm/server.js.map +1 -0
  216. package/dist/esm/setup.js +2 -0
  217. package/dist/esm/setup.js.map +1 -0
  218. package/dist/esm/types.js +2 -0
  219. package/dist/esm/types.js.map +1 -0
  220. package/dist/esm/worker.js +92 -0
  221. package/dist/esm/worker.js.map +1 -0
  222. package/package.json +82 -56
  223. package/src/check-dep-versions.ts +2 -1
  224. package/src/checkDeps.ts +1 -1
  225. package/src/exports.ts +17 -17
  226. package/src/extractor/babelParse.ts +2 -11
  227. package/src/extractor/buildClassName.ts +1 -1
  228. package/src/extractor/bundle.ts +13 -9
  229. package/src/extractor/bundleConfig.ts +25 -21
  230. package/src/extractor/createEvaluator.ts +3 -3
  231. package/src/extractor/createExtractor.ts +59 -77
  232. package/src/extractor/createLogger.ts +2 -2
  233. package/src/extractor/esbuildTsconfigPaths.ts +55 -120
  234. package/src/extractor/evaluateAstNode.ts +2 -2
  235. package/src/extractor/extractHelpers.ts +3 -3
  236. package/src/extractor/extractMediaStyle.ts +3 -3
  237. package/src/extractor/extractToClassNames.ts +12 -12
  238. package/src/extractor/extractToNative.ts +20 -22
  239. package/src/extractor/findTopmostFunction.ts +5 -13
  240. package/src/extractor/getGuiConfigPathFromOptionsConfig.ts +1 -1
  241. package/src/extractor/getPrefixLogs.ts +1 -1
  242. package/src/extractor/getPropValueFromAttributes.ts +2 -2
  243. package/src/extractor/getStaticBindingsForScope.ts +6 -6
  244. package/src/extractor/hasTopLevelAwait.ts +1 -1
  245. package/src/extractor/literalToAst.ts +2 -2
  246. package/src/extractor/loadFile.ts +6 -1
  247. package/src/extractor/loadGui.ts +16 -12
  248. package/src/extractor/normalizeTernaries.ts +3 -3
  249. package/src/extractor/regenerateConfig.ts +10 -6
  250. package/src/extractor/watchGuiConfig.ts +7 -3
  251. package/src/helpers/nativeEntry.ts +92 -0
  252. package/src/helpers/requireGuiCore.ts +8 -3
  253. package/src/here.cjs.ts +6 -0
  254. package/src/here.ts +8 -0
  255. package/src/index.ts +2 -2
  256. package/src/registerRequire.ts +30 -14
  257. package/src/server.ts +1 -1
  258. package/src/types.ts +1 -1
  259. package/src/worker.ts +7 -7
  260. package/types/check-dep-versions.d.ts.map +1 -1
  261. package/types/constants.d.ts +1 -1
  262. package/types/constants.d.ts.map +1 -1
  263. package/types/exports.d.ts +17 -17
  264. package/types/exports.d.ts.map +1 -1
  265. package/types/extractor/babelParse.d.ts.map +1 -1
  266. package/types/extractor/buildClassName.d.ts +1 -1
  267. package/types/extractor/buildClassName.d.ts.map +1 -1
  268. package/types/extractor/bundle.d.ts +66 -66
  269. package/types/extractor/bundle.d.ts.map +1 -1
  270. package/types/extractor/bundleConfig.d.ts +2 -2
  271. package/types/extractor/bundleConfig.d.ts.map +1 -1
  272. package/types/extractor/createEvaluator.d.ts +1 -1
  273. package/types/extractor/createEvaluator.d.ts.map +1 -1
  274. package/types/extractor/createExtractor.d.ts +4 -4
  275. package/types/extractor/createExtractor.d.ts.map +1 -1
  276. package/types/extractor/createLogger.d.ts +1 -1
  277. package/types/extractor/createLogger.d.ts.map +1 -1
  278. package/types/extractor/esbuildAliasPlugin.d.ts.map +1 -1
  279. package/types/extractor/esbuildTsconfigPaths.d.ts +4 -9
  280. package/types/extractor/esbuildTsconfigPaths.d.ts.map +1 -1
  281. package/types/extractor/extractHelpers.d.ts +1 -1
  282. package/types/extractor/extractHelpers.d.ts.map +1 -1
  283. package/types/extractor/extractMediaStyle.d.ts +2 -3
  284. package/types/extractor/extractMediaStyle.d.ts.map +1 -1
  285. package/types/extractor/extractToClassNames.d.ts +2 -2
  286. package/types/extractor/extractToClassNames.d.ts.map +1 -1
  287. package/types/extractor/extractToNative.d.ts +4 -4
  288. package/types/extractor/extractToNative.d.ts.map +1 -1
  289. package/types/extractor/findTopmostFunction.d.ts +1 -1
  290. package/types/extractor/findTopmostFunction.d.ts.map +1 -1
  291. package/types/extractor/getGuiConfigPathFromOptionsConfig.d.ts +1 -1
  292. package/types/extractor/getGuiConfigPathFromOptionsConfig.d.ts.map +1 -1
  293. package/types/extractor/getPrefixLogs.d.ts +1 -1
  294. package/types/extractor/getPrefixLogs.d.ts.map +1 -1
  295. package/types/extractor/loadFile.d.ts +1 -0
  296. package/types/extractor/loadGui.d.ts +1 -1
  297. package/types/extractor/loadGui.d.ts.map +1 -1
  298. package/types/extractor/logLines.d.ts.map +1 -1
  299. package/types/extractor/normalizeTernaries.d.ts +1 -1
  300. package/types/extractor/normalizeTernaries.d.ts.map +1 -1
  301. package/types/extractor/regenerateConfig.d.ts +1 -1
  302. package/types/extractor/regenerateConfig.d.ts.map +1 -1
  303. package/types/extractor/timer.d.ts.map +1 -1
  304. package/types/extractor/validHTMLAttributes.d.ts.map +1 -1
  305. package/types/extractor/watchGuiConfig.d.ts.map +1 -1
  306. package/types/getPragmaOptions.d.ts +1 -1
  307. package/types/helpers/memoize.d.ts +1 -1
  308. package/types/helpers/memoize.d.ts.map +1 -1
  309. package/types/helpers/nativeEntry.d.ts +16 -0
  310. package/types/helpers/nativeEntry.d.ts.map +1 -0
  311. package/types/helpers/requireGuiCore.d.ts +1 -1
  312. package/types/helpers/requireGuiCore.d.ts.map +1 -1
  313. package/types/here.d.ts +3 -0
  314. package/types/here.d.ts.map +1 -0
  315. package/types/index.d.ts +2 -2
  316. package/types/index.d.ts.map +1 -1
  317. package/types/registerRequire.d.ts +1 -1
  318. package/types/registerRequire.d.ts.map +1 -1
  319. package/types/server.d.ts +1 -1
  320. package/types/server.d.ts.map +1 -1
  321. package/types/types.d.ts +1 -1
  322. package/types/types.d.ts.map +1 -1
  323. package/types/worker.d.ts +4 -4
  324. package/types/worker.d.ts.map +1 -1
  325. package/dist/check-dep-versions.cjs +0 -372
  326. package/dist/checkDeps.cjs +0 -271
  327. package/dist/constants.cjs +0 -51
  328. package/dist/exports.cjs +0 -49
  329. package/dist/extractor/accessSafe.cjs +0 -48
  330. package/dist/extractor/babelParse.cjs +0 -56
  331. package/dist/extractor/buildClassName.cjs +0 -86
  332. package/dist/extractor/bundle.cjs +0 -234
  333. package/dist/extractor/bundleConfig.cjs +0 -729
  334. package/dist/extractor/concatClassName.cjs +0 -121
  335. package/dist/extractor/createEvaluator.cjs +0 -88
  336. package/dist/extractor/createExtractor.cjs +0 -1935
  337. package/dist/extractor/createLogger.cjs +0 -50
  338. package/dist/extractor/detectModuleFormat.cjs +0 -55
  339. package/dist/extractor/ensureImportingConcat.cjs +0 -54
  340. package/dist/extractor/errors.cjs +0 -28
  341. package/dist/extractor/esbuildAliasPlugin.cjs +0 -56
  342. package/dist/extractor/esbuildTsconfigPaths.cjs +0 -126
  343. package/dist/extractor/evaluateAstNode.cjs +0 -128
  344. package/dist/extractor/extractHelpers.cjs +0 -182
  345. package/dist/extractor/extractMediaStyle.cjs +0 -169
  346. package/dist/extractor/extractToClassNames.cjs +0 -476
  347. package/dist/extractor/extractToNative.cjs +0 -369
  348. package/dist/extractor/extractablePath.cjs +0 -51
  349. package/dist/extractor/findTopmostFunction.cjs +0 -43
  350. package/dist/extractor/generatedUid.cjs +0 -58
  351. package/dist/extractor/getGuiConfigPathFromOptionsConfig.cjs +0 -41
  352. package/dist/extractor/getPrefixLogs.cjs +0 -31
  353. package/dist/extractor/getPropValueFromAttributes.cjs +0 -85
  354. package/dist/extractor/getSourceModule.cjs +0 -100
  355. package/dist/extractor/getStaticBindingsForScope.cjs +0 -213
  356. package/dist/extractor/hasTopLevelAwait.cjs +0 -62
  357. package/dist/extractor/hoistClassNames.cjs +0 -76
  358. package/dist/extractor/literalToAst.cjs +0 -109
  359. package/dist/extractor/loadFile.cjs +0 -17
  360. package/dist/extractor/loadGui.cjs +0 -373
  361. package/dist/extractor/logLines.cjs +0 -43
  362. package/dist/extractor/normalizeTernaries.cjs +0 -95
  363. package/dist/extractor/propsToFontFamilyCache.cjs +0 -42
  364. package/dist/extractor/regenerateConfig.cjs +0 -178
  365. package/dist/extractor/removeUnusedHooks.cjs +0 -108
  366. package/dist/extractor/timer.cjs +0 -52
  367. package/dist/extractor/validHTMLAttributes.cjs +0 -79
  368. package/dist/extractor/watchGuiConfig.cjs +0 -70
  369. package/dist/getPragmaOptions.cjs +0 -73
  370. package/dist/helpers/memoize.cjs +0 -45
  371. package/dist/helpers/requireGuiCore.cjs +0 -40
  372. package/dist/index.cjs +0 -42
  373. package/dist/registerRequire.cjs +0 -209
  374. package/dist/server.cjs +0 -82
  375. package/dist/setup.cjs +0 -0
  376. package/dist/types.cjs +0 -18
  377. package/dist/worker.cjs +0 -111
@@ -0,0 +1,404 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractToNative = extractToNative;
4
+ exports.getBabelPlugin = getBabelPlugin;
5
+ exports.getBabelParseDefinition = getBabelParseDefinition;
6
+ const tslib_1 = require("tslib");
7
+ const core_1 = require("@babel/core");
8
+ const generator_1 = tslib_1.__importDefault(require("@babel/generator"));
9
+ const helper_plugin_utils_1 = require("@babel/helper-plugin-utils");
10
+ const template_1 = tslib_1.__importDefault(require("@babel/template"));
11
+ const t = tslib_1.__importStar(require("@babel/types"));
12
+ const node_path_1 = require("node:path");
13
+ const getPragmaOptions_ts_1 = require("../getPragmaOptions.js");
14
+ const createExtractor_ts_1 = require("./createExtractor.js");
15
+ const createLogger_ts_1 = require("./createLogger.js");
16
+ const extractHelpers_ts_1 = require("./extractHelpers.js");
17
+ const literalToAst_ts_1 = require("./literalToAst.js");
18
+ const loadGui_ts_1 = require("./loadGui.js");
19
+ const node_module_1 = require("node:module");
20
+ const here_ts_1 = require("../here.js");
21
+ const need = (0, node_module_1.createRequire)(here_ts_1.url);
22
+ const importNativeView = (0, template_1.default)(`
23
+ const __ReactNativeView = need('react-native').View;
24
+ const __ReactNativeText = need('react-native').Text;
25
+ `);
26
+ const importStyleSheet = (0, template_1.default)(`
27
+ const __ReactNativeStyleSheet = need('react-native').StyleSheet;
28
+ `);
29
+ const importWithStyle = template_1.default.ast(`import { _withStableStyle } from '@hanzogui/core';`);
30
+ const extractor = (0, createExtractor_ts_1.createExtractor)({ platform: 'native' });
31
+ let hanzoguiBuildOptionsLoaded;
32
+ function extractToNative(sourceFileName, sourceCode, options) {
33
+ const out = (0, core_1.transformSync)(sourceCode, {
34
+ plugins: [[getBabelPlugin(), options]],
35
+ sourceType: 'module',
36
+ parserOpts: { plugins: ['jsx', 'typescript'] },
37
+ configFile: false,
38
+ sourceFileName,
39
+ filename: sourceFileName,
40
+ });
41
+ if (!out) {
42
+ throw new Error(`No output returned`);
43
+ }
44
+ return out;
45
+ }
46
+ function getBabelPlugin() {
47
+ return (0, helper_plugin_utils_1.declare)((api, options) => {
48
+ api.assertVersion('^7.0.0 || ^8.0.0-0');
49
+ return getBabelParseDefinition(options);
50
+ });
51
+ }
52
+ function getBabelParseDefinition(options) {
53
+ return {
54
+ name: 'hanzogui',
55
+ visitor: {
56
+ Program: {
57
+ enter(root) {
58
+ let sourcePath = this.file.opts.filename;
59
+ if (sourcePath?.includes('node_modules')) {
60
+ return;
61
+ }
62
+ // by default only pick up .jsx / .tsx
63
+ if (!sourcePath?.endsWith('.jsx') && !sourcePath?.endsWith('.tsx')) {
64
+ return;
65
+ }
66
+ // this filename comes back incorrect in react-native, it adds /ios/ for some reason
67
+ // adding a fix here, but it's a bit tentative...
68
+ if (process.env.SOURCE_ROOT?.endsWith('ios')) {
69
+ sourcePath = sourcePath.replace('/ios', '');
70
+ }
71
+ let hasImportedView = false;
72
+ let hasImportedViewWrapper = false;
73
+ let wrapperCount = 0;
74
+ const sheetStyles = {};
75
+ const sheetIdentifier = root.scope.generateUidIdentifier('sheet');
76
+ // babel doesnt append the `//` so we need to
77
+ const firstCommentContents = // join because you can join together multiple pragmas
78
+ root.node.body[0]?.leadingComments
79
+ ?.map((comment) => comment?.value || ' ')
80
+ .join(' ') ?? '';
81
+ const firstComment = firstCommentContents ? `//${firstCommentContents}` : '';
82
+ const { shouldPrintDebug, shouldDisable } = (0, getPragmaOptions_ts_1.getPragmaOptions)({
83
+ source: firstComment,
84
+ path: sourcePath,
85
+ });
86
+ if (shouldDisable) {
87
+ return;
88
+ }
89
+ if (!options.config && !options.components) {
90
+ // if no config/components given try and load from the hanzogui.build.ts file
91
+ hanzoguiBuildOptionsLoaded || (hanzoguiBuildOptionsLoaded = (0, loadGui_ts_1.loadGuiBuildConfigSync)({}));
92
+ }
93
+ const finalOptions = {
94
+ // @ts-ignore just in case they leave it out
95
+ platform: 'native',
96
+ ...hanzoguiBuildOptionsLoaded,
97
+ ...options,
98
+ };
99
+ const printLog = (0, createLogger_ts_1.createLogger)(sourcePath, finalOptions);
100
+ function addSheetStyle(style, node) {
101
+ const styleIndex = `${Object.keys(sheetStyles).length}`;
102
+ let key = `${styleIndex}`;
103
+ if (process.env.NODE_ENV === 'development') {
104
+ const lineNumbers = node.loc
105
+ ? node.loc.start.line +
106
+ (node.loc.start.line !== node.loc.end.line
107
+ ? `-${node.loc.end.line}`
108
+ : '')
109
+ : '';
110
+ key += `:${(0, node_path_1.basename)(sourcePath)}:${lineNumbers}`;
111
+ }
112
+ sheetStyles[key] = style;
113
+ return readStyleExpr(key);
114
+ }
115
+ function readStyleExpr(key) {
116
+ return (0, template_1.default)(`SHEET['KEY']`)({
117
+ SHEET: sheetIdentifier.name,
118
+ KEY: key,
119
+ })['expression'];
120
+ }
121
+ let res;
122
+ try {
123
+ res = extractor.parseSync(root, {
124
+ importsWhitelist: ['constants.js', 'colors.js'],
125
+ excludeProps: new Set([
126
+ 'className',
127
+ 'userSelect',
128
+ 'whiteSpace',
129
+ 'textOverflow',
130
+ 'cursor',
131
+ 'contain',
132
+ ]),
133
+ // native props that should pass through without preventing extraction
134
+ inlineProps: new Set([
135
+ 'testID',
136
+ 'nativeID',
137
+ 'accessibilityLabel',
138
+ 'accessibilityHint',
139
+ 'accessibilityRole',
140
+ 'accessibilityState',
141
+ 'accessibilityValue',
142
+ 'accessibilityActions',
143
+ 'accessibilityLabelledBy',
144
+ 'accessibilityLiveRegion',
145
+ 'accessibilityElementsHidden',
146
+ 'accessibilityViewIsModal',
147
+ 'importantForAccessibility',
148
+ 'onAccessibilityAction',
149
+ 'onAccessibilityEscape',
150
+ 'onAccessibilityTap',
151
+ 'onMagicTap',
152
+ 'collapsable',
153
+ 'needsOffscreenAlphaCompositing',
154
+ 'removeClippedSubviews',
155
+ 'renderToHardwareTextureAndroid',
156
+ 'shouldRasterizeIOS',
157
+ 'hitSlop',
158
+ 'pointerEvents',
159
+ ]),
160
+ shouldPrintDebug,
161
+ ...finalOptions,
162
+ // disable extracting variables as no native concept of them (only theme values)
163
+ disableExtractVariables: false,
164
+ sourcePath,
165
+ // disabling flattening for now
166
+ // it's flattening a plain <Paragraph>hello</Paragraph> which breaks things because themes
167
+ // thinking it's not really worth the effort to do much compilation on native
168
+ // for now just disable flatten as it can only run in narrow places on native
169
+ // disableFlattening: 'styled',
170
+ getFlattenedNode({ isTextView }) {
171
+ if (!hasImportedView) {
172
+ hasImportedView = true;
173
+ root.unshiftContainer('body', importNativeView());
174
+ }
175
+ return isTextView ? '__ReactNativeText' : '__ReactNativeView';
176
+ },
177
+ onExtractTag(props) {
178
+ assertValidTag(props.node);
179
+ const stylesExpr = t.arrayExpression([]);
180
+ const hocStylesExpr = t.arrayExpression([]);
181
+ const expressions = [];
182
+ const mediaExpressionIndexes = new Set();
183
+ const finalAttrs = [];
184
+ const themeKeysUsed = new Set();
185
+ function getStyleExpression(style, forTernary = false) {
186
+ if (!style)
187
+ return;
188
+ // split theme properties and leave them as props since RN has no concept of theme
189
+ const { plain, themed } = splitThemeStyles(style);
190
+ // TODO: themed is not a good name, because it's not just theme it also includes tokens
191
+ let themeExpr = null;
192
+ if (themed) {
193
+ for (const key in themed) {
194
+ themeKeysUsed.add(themed[key].split('$')[1]);
195
+ }
196
+ // make a sub-array
197
+ themeExpr = getThemedStyleExpression(themed);
198
+ }
199
+ const hasPlainKeys = Object.keys(plain).length > 0;
200
+ const ident = hasPlainKeys ? addSheetStyle(plain, props.node) : null;
201
+ if (themeExpr) {
202
+ if (forTernary) {
203
+ // for ternary branches, return combined expression
204
+ // without adding plain styles unconditionally
205
+ if (ident) {
206
+ return t.arrayExpression([ident, themeExpr]);
207
+ }
208
+ return themeExpr;
209
+ }
210
+ // for base styles, add unconditionally
211
+ if (ident) {
212
+ addStyleExpression(ident);
213
+ addStyleExpression(ident, true);
214
+ }
215
+ return themeExpr;
216
+ }
217
+ return ident;
218
+ }
219
+ function addStyleExpression(expr, HOC = false) {
220
+ if (Array.isArray(expr)) {
221
+ ;
222
+ (HOC ? hocStylesExpr : stylesExpr).elements.push(...expr);
223
+ }
224
+ else {
225
+ ;
226
+ (HOC ? hocStylesExpr : stylesExpr).elements.push(expr);
227
+ }
228
+ }
229
+ function getThemedStyleExpression(styles) {
230
+ const themedStylesAst = (0, literalToAst_ts_1.literalToAst)(styles);
231
+ themedStylesAst.properties.forEach((_) => {
232
+ const prop = _;
233
+ if (prop.value.type === 'StringLiteral') {
234
+ const propVal = prop.value.value.slice(1);
235
+ const isComputed = !t.isValidIdentifier(propVal);
236
+ prop.value = t.callExpression(t.memberExpression(t.memberExpression(t.identifier('theme'), isComputed ? t.stringLiteral(propVal) : t.identifier(propVal), isComputed), t.identifier('get')), []);
237
+ }
238
+ });
239
+ return themedStylesAst;
240
+ }
241
+ let hasDynamicStyle = false;
242
+ let hasMediaKeys = false;
243
+ for (const attr of props.attrs) {
244
+ switch (attr.type) {
245
+ case 'style': {
246
+ let styleExpr = getStyleExpression(attr.value);
247
+ addStyleExpression(styleExpr);
248
+ addStyleExpression(styleExpr, true);
249
+ break;
250
+ }
251
+ case 'ternary': {
252
+ const { consequent, alternate } = attr.value;
253
+ const consExpr = getStyleExpression(consequent, true);
254
+ const altExpr = getStyleExpression(alternate, true);
255
+ if (attr.value.inlineMediaQuery) {
256
+ hasMediaKeys = true;
257
+ }
258
+ let expression = attr.value.test;
259
+ if (attr.value.inlineMediaQuery &&
260
+ t.isLogicalExpression(attr.value.test, { operator: '&&' }) &&
261
+ t.isStringLiteral(attr.value.test.left)) {
262
+ expression = t.arrayExpression([
263
+ t.stringLiteral(attr.value.inlineMediaQuery),
264
+ t.unaryExpression('!', t.unaryExpression('!', attr.value.test.right)),
265
+ ]);
266
+ mediaExpressionIndexes.add(expressions.length);
267
+ }
268
+ expressions.push(expression);
269
+ addStyleExpression(t.conditionalExpression(t.identifier(`_expressions[${expressions.length - 1}]`), consExpr || t.nullLiteral(), altExpr || t.nullLiteral()), true);
270
+ const styleExpr = t.conditionalExpression(attr.value.test, consExpr || t.nullLiteral(), altExpr || t.nullLiteral());
271
+ addStyleExpression(styleExpr);
272
+ break;
273
+ }
274
+ case 'attr': {
275
+ if (t.isJSXSpreadAttribute(attr.value)) {
276
+ if ((0, extractHelpers_ts_1.isSimpleSpread)(attr.value)) {
277
+ stylesExpr.elements.push(t.memberExpression(attr.value.argument, t.identifier('style')));
278
+ hocStylesExpr.elements.push(t.memberExpression(attr.value.argument, t.identifier('style')));
279
+ }
280
+ }
281
+ finalAttrs.push(attr.value);
282
+ break;
283
+ }
284
+ }
285
+ }
286
+ props.node.attributes = finalAttrs;
287
+ if (themeKeysUsed.size ||
288
+ hocStylesExpr.elements.length > 1 ||
289
+ hasDynamicStyle ||
290
+ hasMediaKeys) {
291
+ if (!hasImportedViewWrapper) {
292
+ root.unshiftContainer('body', importWithStyle);
293
+ hasImportedViewWrapper = true;
294
+ }
295
+ const name = props.flatNodeName || props.node.name['name'];
296
+ // Use a unique name that won't conflict with the base component
297
+ const wrapperName = `_${name.replace(/^_+/, '')}Styled${wrapperCount++}`;
298
+ // Use regular identifier for variable declarations, JSX identifier for JSX elements
299
+ const WrapperIdentifier = t.identifier(wrapperName);
300
+ const WrapperJSXIdentifier = t.jsxIdentifier(wrapperName);
301
+ const hasThemeKeysFlag = themeKeysUsed.size > 0;
302
+ root.pushContainer('body', t.variableDeclaration('const', [
303
+ t.variableDeclarator(WrapperIdentifier, t.callExpression(t.identifier('_withStableStyle'), [
304
+ t.identifier(name),
305
+ t.arrowFunctionExpression([t.identifier('theme'), t.identifier('_expressions')],
306
+ // return styles directly - no useMemo, theme changes must trigger style recalc
307
+ t.arrayExpression([...hocStylesExpr.elements])),
308
+ t.booleanLiteral(hasThemeKeysFlag),
309
+ t.booleanLiteral(hasMediaKeys),
310
+ ])),
311
+ ]));
312
+ // @ts-ignore - use JSX identifier for JSX elements
313
+ props.node.name = WrapperJSXIdentifier;
314
+ // Also set the opening element directly via the path
315
+ props.jsxPath.node.openingElement.name = WrapperJSXIdentifier;
316
+ if (props.jsxPath.node.closingElement) {
317
+ // @ts-ignore
318
+ props.jsxPath.node.closingElement.name = t.jsxIdentifier(wrapperName);
319
+ }
320
+ if (expressions.length) {
321
+ // coerce runtime expressions to boolean so they can't be
322
+ // confused with string media keys at runtime
323
+ const safeExpressions = expressions.map((expr, index) => t.isStringLiteral(expr) || mediaExpressionIndexes.has(index)
324
+ ? expr
325
+ : t.unaryExpression('!', t.unaryExpression('!', expr)));
326
+ props.node.attributes.push(t.jsxAttribute(t.jsxIdentifier('_expressions'), t.jsxExpressionContainer(t.arrayExpression(safeExpressions))));
327
+ }
328
+ }
329
+ else {
330
+ props.node.attributes.push(t.jsxAttribute(t.jsxIdentifier('style'), t.jsxExpressionContainer(stylesExpr.elements.length === 1
331
+ ? stylesExpr.elements[0]
332
+ : stylesExpr)));
333
+ }
334
+ },
335
+ });
336
+ }
337
+ catch (err) {
338
+ if (err instanceof Error) {
339
+ // metro doesn't show stack so we can
340
+ let message = `${shouldPrintDebug === 'verbose' ? err : err.message}`;
341
+ if (message.includes('Unexpected return value from visitor method')) {
342
+ message = 'Unexpected return value from visitor method';
343
+ }
344
+ console.warn('Error in Gui parse, skipping', message, err.stack);
345
+ return;
346
+ }
347
+ }
348
+ if (!Object.keys(sheetStyles).length) {
349
+ if (shouldPrintDebug) {
350
+ console.info('END no styles');
351
+ }
352
+ if (res)
353
+ printLog(res);
354
+ return;
355
+ }
356
+ const sheetObject = (0, literalToAst_ts_1.literalToAst)(sheetStyles);
357
+ const sheetOuter = (0, template_1.default)('const SHEET = __ReactNativeStyleSheet.create(null)')({
358
+ SHEET: sheetIdentifier.name,
359
+ });
360
+ // replace the null with our object
361
+ sheetOuter.declarations[0].init.arguments[0] = sheetObject;
362
+ root.unshiftContainer('body', sheetOuter);
363
+ // add import
364
+ root.unshiftContainer('body', importStyleSheet());
365
+ if (shouldPrintDebug) {
366
+ console.info('\n -------- output code ------- \n');
367
+ console.info((0, generator_1.default)(root.parent)
368
+ .code.split('\n')
369
+ .filter((x) => !x.startsWith('//'))
370
+ .join('\n'));
371
+ }
372
+ if (res)
373
+ printLog(res);
374
+ },
375
+ },
376
+ },
377
+ };
378
+ }
379
+ function assertValidTag(node) {
380
+ if (node.attributes.find((x) => x.type === 'JSXAttribute' && x.name.name === 'style')) {
381
+ // we can just deopt here instead and log warning
382
+ // need to make onExtractTag have a special catch error or similar
383
+ if (process.env.DEBUG?.startsWith('hanzogui')) {
384
+ console.warn('⚠️ Cannot pass style attribute to extracted style');
385
+ }
386
+ }
387
+ }
388
+ function splitThemeStyles(style) {
389
+ const themed = {};
390
+ const plain = {};
391
+ let noTheme = true;
392
+ for (const key in style) {
393
+ const val = style[key];
394
+ if (val && val[0] === '$') {
395
+ themed[key] = val;
396
+ noTheme = false;
397
+ }
398
+ else {
399
+ plain[key] = val;
400
+ }
401
+ }
402
+ return { themed: noTheme ? null : themed, plain };
403
+ }
404
+ //# sourceMappingURL=extractToNative.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractToNative.js","sourceRoot":"","sources":["../../../src/extractor/extractToNative.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ /**
3
+ * One place decides which files the compiler may read styles out of.
4
+ *
5
+ * The compiler used to answer this with `sourcePath.includes('node_modules')`,
6
+ * in two places that had to agree by hand — the webpack loader and
7
+ * extractToClassNames. That answer was right about the cost and wrong about
8
+ * the design system: for a *consumer*, `@hanzo/ui` and every `@hanzogui/*`
9
+ * package IS node_modules, so no app could ask the compiler to look at them
10
+ * even if it wanted to.
11
+ *
12
+ * So this is a policy with a knob, not a hardcoded skip. The knob is
13
+ * `extractPackages`, and it is EMPTY by default, which is exactly the old
14
+ * behavior. What turning it on buys, measured on hanzo.one (Vite 5, @hanzo/ui
15
+ * 8.0.63 on @hanzo/gui 8.1, 5026 modules):
16
+ *
17
+ * extracted files 4 -> 54
18
+ * cached sheet 150,172 -> 151,151 B (+979)
19
+ * CSS injected at runtime 27,376 -> 27,376 B (unchanged, 356 rules both)
20
+ *
21
+ * Every one of those 979 bytes is a `styled()` DEFINITION rule, and the
22
+ * compiler deliberately leaves the definition in place ("the runtime needs
23
+ * real values for animations, context, and group styles"), so the runtime
24
+ * mints the same class again. 10 of the 20 new rules are delivered twice on
25
+ * the home route; the rest are for components that route never renders. The
26
+ * saving that would justify the cost — flattening a `<YStack p={10}>` usage
27
+ * site down to a className — cannot happen inside an installed package at all,
28
+ * because `module:jsx` currently emits the same JSX-lowered output as the ESM
29
+ * build (byte-identical, hardlinked), so there is no JSX left to flatten.
30
+ *
31
+ * Fix that, and turning this on becomes a real win. Until then, an app can opt
32
+ * in with `extractPackages: DEFAULT_EXTRACT_PACKAGES` and get a slightly
33
+ * bigger sheet for its trouble.
34
+ */
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.DEFAULT_EXTRACT_PACKAGES = void 0;
37
+ exports.installedPackageOf = installedPackageOf;
38
+ exports.isExtractable = isExtractable;
39
+ /** The design-system allowlist an app can opt into. Not the default. */
40
+ exports.DEFAULT_EXTRACT_PACKAGES = ['@hanzo/ui', '@hanzo/gui', '@hanzogui/*'];
41
+ /**
42
+ * Generated icon sets: 1760 modules of react-native-svg elements wrapped in
43
+ * `themed()`, holding no `styled()` between them. Parsing them costs a full
44
+ * babel pass each and yields no CSS, installed or in a workspace — which is
45
+ * why the path is skipped rather than the package name. Measured on the same
46
+ * build: 1761 files that the allowlist would otherwise have to reject one at
47
+ * a time.
48
+ */
49
+ const NEVER_EXTRACT = ['lucide-icons'];
50
+ const NODE_MODULES = 'node_modules/';
51
+ /**
52
+ * The installed package a file belongs to, or '' when the file is app or
53
+ * workspace source. Reads the LAST `node_modules/` segment, so a nested
54
+ * install and pnpm's `.pnpm/<pkg>@<ver>/node_modules/<pkg>` both name the
55
+ * package that actually owns the file.
56
+ */
57
+ function installedPackageOf(sourcePath) {
58
+ const normalized = sourcePath.replace(/\\/g, '/');
59
+ const at = normalized.lastIndexOf(NODE_MODULES);
60
+ if (at === -1)
61
+ return '';
62
+ const rest = normalized.slice(at + NODE_MODULES.length);
63
+ const parts = rest.split('/');
64
+ if (!parts[0])
65
+ return '';
66
+ return parts[0].startsWith('@') ? parts.slice(0, 2).join('/') : parts[0];
67
+ }
68
+ /**
69
+ * An entry names one package (`@hanzo/ui`) or a whole scope (`@hanzogui/*`,
70
+ * or the equivalent `@hanzogui/`).
71
+ */
72
+ function matches(entry, pkg) {
73
+ const prefix = entry.endsWith('/*')
74
+ ? entry.slice(0, -1)
75
+ : entry.endsWith('/')
76
+ ? entry
77
+ : '';
78
+ return prefix ? pkg.startsWith(prefix) : pkg === entry;
79
+ }
80
+ /** May the compiler read styles out of this file? */
81
+ function isExtractable(sourcePath, extractPackages = []) {
82
+ if (NEVER_EXTRACT.some((name) => sourcePath.includes(name)))
83
+ return false;
84
+ const pkg = installedPackageOf(sourcePath);
85
+ if (!pkg)
86
+ return true;
87
+ return extractPackages.some((entry) => matches(entry, pkg));
88
+ }
89
+ //# sourceMappingURL=extractablePath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractablePath.js","sourceRoot":"","sources":["../../../src/extractor/extractablePath.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;;;;;AAEH,wEAAwE;AAC3D,QAAA,wBAAwB,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA;AAElF;;;;;;;GAOG;AACH,MAAM,aAAa,GAAG,CAAC,cAAc,CAAC,CAAA;AAEtC,MAAM,YAAY,GAAG,eAAe,CAAA;AAEpC;;;;;GAKG;AACH,4BAAmC,UAAkB;IACnD,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACjD,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IAC/C,IAAI,EAAE,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IACxB,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IACxB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,KAAa,EAAE,GAAW;IACzC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YACnB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,EAAE,CAAA;IACR,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,CAAA;AACxD,CAAC;AAED,qDAAqD;AACrD,uBACE,UAAkB,EAClB,eAAe,GAAa,EAAE;IAE9B,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACzE,MAAM,GAAG,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA;IAC1C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;AAC7D,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findTopmostFunction = findTopmostFunction;
4
+ function findTopmostFunction(jsxPath) {
5
+ const isFunction = (path) => path.isArrowFunctionExpression() ||
6
+ path.isFunctionDeclaration() ||
7
+ path.isFunctionExpression();
8
+ let compFn = jsxPath.findParent(isFunction);
9
+ while (compFn) {
10
+ const parent = compFn.findParent(isFunction);
11
+ if (!parent)
12
+ break;
13
+ compFn = parent;
14
+ }
15
+ return compFn;
16
+ }
17
+ //# sourceMappingURL=findTopmostFunction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findTopmostFunction.js","sourceRoot":"","sources":["../../../src/extractor/findTopmostFunction.ts"],"names":[],"mappings":";;;AAGA,6BAAoC,OAA+B;IACjE,MAAM,UAAU,GAAG,CAAC,IAAc,EAAE,EAAE,CACpC,IAAI,CAAC,yBAAyB,EAAE;QAChC,IAAI,CAAC,qBAAqB,EAAE;QAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAA;IAC7B,IAAI,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IAC3C,OAAO,MAAM,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QAC5C,IAAI,CAAC,MAAM;YAAE,MAAK;QAClB,MAAM,GAAG,MAAM,CAAA;IACjB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateUid = generateUid;
4
+ const tslib_1 = require("tslib");
5
+ const t = tslib_1.__importStar(require("@babel/types"));
6
+ // A clone of path.scope.generateUid that doesn't prepend underscores
7
+ function generateUid(scope, name) {
8
+ if (!(typeof scope === 'object'))
9
+ throw 'generateUid expects a scope object as its first parameter';
10
+ if (!(typeof name === 'string' && name !== ''))
11
+ throw 'generateUid expects a valid name as its second parameter';
12
+ name = t
13
+ .toIdentifier(name)
14
+ .replace(/^_+/, '')
15
+ .replace(/[0-9]+$/g, '');
16
+ let uid;
17
+ let i = 0;
18
+ do {
19
+ if (i > 1) {
20
+ uid = name + i;
21
+ }
22
+ else {
23
+ uid = name;
24
+ }
25
+ i++;
26
+ } while (scope.hasLabel(uid) ||
27
+ scope.hasBinding(uid) ||
28
+ scope.hasGlobal(uid) ||
29
+ scope.hasReference(uid));
30
+ const program = scope.getProgramParent();
31
+ program.references[uid] = true;
32
+ program.uids[uid] = true;
33
+ return uid;
34
+ }
35
+ //# sourceMappingURL=generatedUid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generatedUid.js","sourceRoot":"","sources":["../../../src/extractor/generatedUid.ts"],"names":[],"mappings":";;;;AAAA,MAAY,CAAC,iDAAoB;AAOjC,qEAAqE;AACrE,qBAA4B,KAAU,EAAE,IAAY;IAClD,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;QAC9B,MAAM,2DAA2D,CAAA;IACnE,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,CAAC;QAC5C,MAAM,0DAA0D,CAAA;IAElE,IAAI,GAAG,CAAC;SACL,YAAY,CAAC,IAAI,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IAE1B,IAAI,GAAG,CAAA;IACP,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,GAAG,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,GAAG,GAAG,IAAI,GAAG,CAAC,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,IAAI,CAAA;QACZ,CAAC;QACD,CAAC,EAAE,CAAA;IACL,CAAC,QACC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QACrB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;QACpB,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EACxB;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAA;IACxC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;IAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;IAExB,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGuiConfigPathFromOptionsConfig = getGuiConfigPathFromOptionsConfig;
4
+ const node_path_1 = require("node:path");
5
+ const node_fs_1 = require("node:fs");
6
+ function getGuiConfigPathFromOptionsConfig(config) {
7
+ if ((0, node_path_1.isAbsolute)(config)) {
8
+ return config;
9
+ }
10
+ const fullPath = (0, node_path_1.join)(process.cwd(), config);
11
+ try {
12
+ if ((0, node_fs_1.statSync)(fullPath).isFile()) {
13
+ return fullPath;
14
+ }
15
+ }
16
+ catch {
17
+ //
18
+ }
19
+ return config;
20
+ }
21
+ //# sourceMappingURL=getGuiConfigPathFromOptionsConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGuiConfigPathFromOptionsConfig.js","sourceRoot":"","sources":["../../../src/extractor/getGuiConfigPathFromOptionsConfig.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAE5C,qCAAkC;AAGlC,2CACE,MAAyC;IAEzC,IAAI,IAAA,sBAAU,EAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAA;IAE5C,IAAI,CAAC;QACH,IAAI,IAAA,kBAAQ,EAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAA;QACjB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,EAAE;IACJ,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPrefixLogs = getPrefixLogs;
4
+ const cli_color_1 = require("@hanzogui/cli-color");
5
+ function getPrefixLogs(options) {
6
+ return (options?.prefixLogs ??
7
+ ` 🐥 [hanzogui] ${(0, cli_color_1.colorString)(cli_color_1.Color.FgYellow, options?.platform || 'web')}`);
8
+ }
9
+ //# sourceMappingURL=getPrefixLogs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPrefixLogs.js","sourceRoot":"","sources":["../../../src/extractor/getPrefixLogs.ts"],"names":[],"mappings":";;;AAAA,mDAAwD;AAGxD,uBAA8B,OAAoB;IAChD,OAAO,CACL,OAAO,EAAE,UAAU;QACnB,mBAAmB,IAAA,uBAAW,EAAC,iBAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC,EAAE,CAC7E,CAAA;AACH,CAAC"}