@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,71 @@
1
+ import generate from '@babel/generator';
2
+ import * as t from '@babel/types';
3
+ import { accessSafe } from './accessSafe.js';
4
+ /**
5
+ * getPropValueFromAttributes gets a prop by name from a list of attributes and accounts for potential spread operators.
6
+ * Here's an example. Given this component:
7
+ * ```
8
+ * <Block coolProp="wow" {...spread1} neatProp="ok" {...spread2} />```
9
+ * getPropValueFromAttributes will return the following:
10
+ * - for propName `coolProp`:
11
+ * ```
12
+ * accessSafe(spread1, 'coolProp') || accessSafe(spread2, 'coolProp') || 'wow'```
13
+ * - for propName `neatProp`:
14
+ * ```
15
+ * accessSafe(spread2, 'neatProp') || 'ok'```
16
+ * - for propName `notPresent`: `null`
17
+ *
18
+ * The returned value should (obviously) be placed after spread operators.
19
+ */
20
+ export function getPropValueFromAttributes(propName, attrs) {
21
+ let propIndex = -1;
22
+ let jsxAttr = null;
23
+ for (let idx = -1, len = attrs.length; ++idx < len;) {
24
+ const attr = attrs[idx];
25
+ if (t.isJSXAttribute(attr) && attr.name && attr.name.name === propName) {
26
+ propIndex = idx;
27
+ jsxAttr = attr;
28
+ break;
29
+ }
30
+ }
31
+ if (!jsxAttr || jsxAttr.value == null) {
32
+ return null;
33
+ }
34
+ let propValue = jsxAttr.value;
35
+ if (t.isJSXExpressionContainer(propValue)) {
36
+ propValue = propValue.expression;
37
+ }
38
+ // TODO how to handle this??
39
+ if (t.isJSXEmptyExpression(propValue)) {
40
+ console.error('encountered JSXEmptyExpression');
41
+ return null;
42
+ }
43
+ // filter out spread props that occur before propValue
44
+ const applicableSpreads = attrs
45
+ .filter(
46
+ // 1. idx is greater than propValue prop index
47
+ // 2. attr is a spread operator
48
+ (attr, idx) => {
49
+ if (t.isJSXSpreadAttribute(attr)) {
50
+ if (t.isIdentifier(attr.argument) || t.isMemberExpression(attr.argument)) {
51
+ return idx > propIndex;
52
+ }
53
+ if (t.isLogicalExpression(attr.argument)) {
54
+ return false;
55
+ }
56
+ throw new Error(`unsupported spread of type "${attr.argument.type}": ${
57
+ // @ts-ignore
58
+ generate(attr).code}`);
59
+ }
60
+ return false;
61
+ })
62
+ .map((attr) => attr.argument);
63
+ // if spread operators occur after propValue, create a binary expression for each operator
64
+ // i.e. before1.propValue || before2.propValue || propValue
65
+ // TODO: figure out how to do this without all the extra parens
66
+ if (applicableSpreads.length > 0) {
67
+ propValue = applicableSpreads.reduce((acc, val) => t.logicalExpression('||', accessSafe(val, propName), acc), propValue);
68
+ }
69
+ return propValue;
70
+ }
71
+ //# sourceMappingURL=getPropValueFromAttributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPropValueFromAttributes.js","sourceRoot":"","sources":["../../../src/extractor/getPropValueFromAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,kBAAkB,CAAA;AACvC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAAgB,EAChB,KAAgD;IAEhD,IAAI,SAAS,GAAG,CAAC,CAAC,CAAA;IAClB,IAAI,OAAO,GAA0B,IAAI,CAAA;IACzC,KAAK,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QACvB,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvE,SAAS,GAAG,GAAG,CAAA;YACf,OAAO,GAAG,IAAI,CAAA;YACd,MAAK;QACP,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,SAAS,GAMM,OAAO,CAAC,KAAK,CAAA;IAEhC,IAAI,CAAC,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,SAAS,GAAG,SAAS,CAAC,UAAU,CAAA;IAClC,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,sDAAsD;IACtD,MAAM,iBAAiB,GAAG,KAAK;SAC5B,MAAM;IACL,8CAA8C;IAC9C,+BAA+B;IAC/B,CAAC,IAAI,EAAE,GAAG,EAAgC,EAAE;QAC1C,IAAI,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzE,OAAO,GAAG,GAAG,SAAS,CAAA;YACxB,CAAC;YACD,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,OAAO,KAAK,CAAA;YACd,CAAC;YACD,MAAM,IAAI,KAAK,CACb,+BAA+B,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM;YACrD,aAAa;YACb,QAAQ,CAAC,IAAW,CAAC,CAAC,IACxB,EAAE,CACH,CAAA;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CACF;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAE/B,0FAA0F;IAC1F,2DAA2D;IAC3D,+DAA+D;IAC/D,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,EACvE,SAAS,CACV,CAAA;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -0,0 +1,77 @@
1
+ import * as t from '@babel/types';
2
+ export function getSourceModule(itemName, itemBinding) {
3
+ // TODO: deal with reassignment
4
+ if (!itemBinding.constant) {
5
+ return null;
6
+ }
7
+ let sourceModule;
8
+ let imported;
9
+ let local;
10
+ let destructured;
11
+ let usesImportSyntax = false;
12
+ const itemNode = itemBinding.path.node;
13
+ if (t.isImportDefaultSpecifier(itemNode) || t.isImportSpecifier(itemNode)) {
14
+ if (t.isImportDeclaration(itemBinding.path.parent)) {
15
+ sourceModule = itemBinding.path.parent.source.value;
16
+ local = itemNode.local.name;
17
+ usesImportSyntax = true;
18
+ if (t.isImportSpecifier(itemNode)) {
19
+ imported = itemNode.imported['name'];
20
+ destructured = true;
21
+ }
22
+ else {
23
+ imported = itemNode.local.name;
24
+ destructured = false;
25
+ }
26
+ }
27
+ }
28
+ else if (t.isVariableDeclarator(itemNode) &&
29
+ itemNode.init != null &&
30
+ t.isCallExpression(itemNode.init) &&
31
+ t.isIdentifier(itemNode.init.callee) &&
32
+ itemNode.init.callee.name === 'require' &&
33
+ itemNode.init.arguments.length === 1) {
34
+ const firstArg = itemNode.init.arguments[0];
35
+ if (!t.isStringLiteral(firstArg)) {
36
+ return null;
37
+ }
38
+ sourceModule = firstArg.value;
39
+ if (t.isIdentifier(itemNode.id)) {
40
+ local = itemNode.id.name;
41
+ imported = itemNode.id.name;
42
+ destructured = false;
43
+ }
44
+ else if (t.isObjectPattern(itemNode.id)) {
45
+ for (const objProp of itemNode.id.properties) {
46
+ if (t.isObjectProperty(objProp) &&
47
+ t.isIdentifier(objProp.value) &&
48
+ objProp.value.name === itemName) {
49
+ local = objProp.value.name;
50
+ // @ts-ignore TODO remove this is only an issue on CI
51
+ imported = objProp.key.name;
52
+ destructured = true;
53
+ break;
54
+ }
55
+ }
56
+ if (!local || !imported) {
57
+ console.error('could not find prop with value `%s`', itemName);
58
+ return null;
59
+ }
60
+ }
61
+ else {
62
+ console.error('Unhandled id type: %s', itemNode.id.type);
63
+ return null;
64
+ }
65
+ }
66
+ else {
67
+ return null;
68
+ }
69
+ return {
70
+ destructured,
71
+ imported,
72
+ local,
73
+ sourceModule,
74
+ usesImportSyntax,
75
+ };
76
+ }
77
+ //# sourceMappingURL=getSourceModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSourceModule.js","sourceRoot":"","sources":["../../../src/extractor/getSourceModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,207 @@
1
+ import { fork } from 'node:child_process';
2
+ import { dirname, extname, join, resolve } from 'node:path';
3
+ import * as t from '@babel/types';
4
+ import { evaluateAstNode } from './evaluateAstNode.js';
5
+ import { getSourceModule } from './getSourceModule.js';
6
+ import { fileURLToPath } from 'node:url';
7
+ import { url } from '../here.js';
8
+ const extractor = join(dirname(fileURLToPath(url)), 'extractor');
9
+ const isLocalImport = (path) => path.startsWith('.') || path.startsWith('/');
10
+ function resolveImportPath(sourcePath, path) {
11
+ const sourceDir = dirname(sourcePath);
12
+ if (isLocalImport(path)) {
13
+ if (extname(path) === '') {
14
+ path += '';
15
+ }
16
+ return resolve(sourceDir, path);
17
+ }
18
+ return path;
19
+ }
20
+ const cache = new Map();
21
+ const pending = new Map();
22
+ const loadCmd = `${join(extractor, 'loadFile.js')}`;
23
+ let exited = false;
24
+ let child = null;
25
+ function forkChild() {
26
+ child = fork(loadCmd, [], {
27
+ execArgv: ['-r', 'esbuild-register'],
28
+ detached: false,
29
+ stdio: 'ignore',
30
+ });
31
+ }
32
+ export function cleanupBeforeExit() {
33
+ if (exited)
34
+ return;
35
+ if (!child)
36
+ return;
37
+ child.removeAllListeners();
38
+ child.unref();
39
+ child.disconnect();
40
+ child.kill();
41
+ exited = true;
42
+ }
43
+ process.once('SIGTERM', cleanupBeforeExit);
44
+ process.once('SIGINT', cleanupBeforeExit);
45
+ process.once('beforeExit', cleanupBeforeExit);
46
+ function importModule(path) {
47
+ if (!child) {
48
+ forkChild();
49
+ }
50
+ if (pending.has(path)) {
51
+ return pending.get(path);
52
+ }
53
+ const promise = new Promise((res, rej) => {
54
+ if (!child)
55
+ return;
56
+ if (cache.size > 2000) {
57
+ cache.clear();
58
+ }
59
+ if (cache.has(path)) {
60
+ return cache.get(path);
61
+ }
62
+ const listener = (msg) => {
63
+ if (!child)
64
+ return;
65
+ if (!msg)
66
+ return;
67
+ if (typeof msg !== 'string')
68
+ return;
69
+ if (msg[0] === '-') {
70
+ rej(new Error(msg.slice(1)));
71
+ return;
72
+ }
73
+ child.removeListener('message', listener);
74
+ const val = JSON.parse(msg);
75
+ cache.set(path, val);
76
+ res(val);
77
+ };
78
+ child.once('message', listener);
79
+ child.send(`${path.replace('.js', '')}`);
80
+ }).finally(() => {
81
+ // clean up pending map to prevent memory leak
82
+ pending.delete(path);
83
+ });
84
+ pending.set(path, promise);
85
+ return promise;
86
+ }
87
+ export async function getStaticBindingsForScope(scope, whitelist = [], sourcePath, bindingCache, shouldPrintDebug) {
88
+ const bindings = scope.getAllBindings();
89
+ const ret = {};
90
+ if (shouldPrintDebug) {
91
+ // prettier-ignore
92
+ // console.info(' ', Object.keys(bindings).length, 'variables in scope')
93
+ // .map(x => bindings[x].identifier?.name).join(', ')
94
+ }
95
+ // on react native at least it doesnt find some bindings? not sure why
96
+ // lets add in whitelisted imports if they exist
97
+ const program = scope.getProgramParent().block;
98
+ for (const node of program.body) {
99
+ if (t.isImportDeclaration(node)) {
100
+ const importPath = node.source.value;
101
+ if (!node.specifiers.length)
102
+ continue;
103
+ if (!isLocalImport(importPath)) {
104
+ continue;
105
+ }
106
+ const moduleName = resolveImportPath(sourcePath, importPath);
107
+ const isOnWhitelist = whitelist.some((test) => moduleName.endsWith(test));
108
+ if (!isOnWhitelist)
109
+ continue;
110
+ try {
111
+ const src = await importModule(moduleName);
112
+ if (!src)
113
+ continue;
114
+ for (const specifier of node.specifiers) {
115
+ if (t.isImportSpecifier(specifier) && t.isIdentifier(specifier.imported)) {
116
+ if (typeof src[specifier.imported.name] !== 'undefined') {
117
+ const val = src[specifier.local.name];
118
+ ret[specifier.local.name] = val;
119
+ }
120
+ }
121
+ }
122
+ }
123
+ catch (err) {
124
+ if (shouldPrintDebug) {
125
+ console.warn(` | Skipping partial evaluation of constant file: ${moduleName} (DEBUG=hanzogui for more)`);
126
+ }
127
+ else if (process.env.DEBUG?.startsWith('hanzogui')) {
128
+ console.info(`Error in partial evaluation`, err.message, err.stack);
129
+ }
130
+ }
131
+ }
132
+ }
133
+ if (!bindingCache) {
134
+ throw new Error('BindingCache is a required param');
135
+ }
136
+ for (const k in bindings) {
137
+ const binding = bindings[k];
138
+ // check to see if the item is a module
139
+ const sourceModule = getSourceModule(k, binding);
140
+ if (sourceModule) {
141
+ if (!sourceModule.sourceModule) {
142
+ continue;
143
+ }
144
+ const moduleName = resolveImportPath(sourcePath, sourceModule.sourceModule);
145
+ const isOnWhitelist = whitelist.some((test) => moduleName.endsWith(test));
146
+ // TODO we could cache this at the file level.. and check if its been touched since
147
+ if (isOnWhitelist) {
148
+ const src = importModule(moduleName);
149
+ if (!src) {
150
+ console.info(` | ⚠️ Missing file ${moduleName} via ${sourcePath} import ${sourceModule.sourceModule}?`);
151
+ return {};
152
+ }
153
+ if (sourceModule.destructured) {
154
+ if (sourceModule.imported) {
155
+ ret[k] = src[sourceModule.imported];
156
+ }
157
+ }
158
+ else {
159
+ ret[k] = src;
160
+ }
161
+ }
162
+ continue;
163
+ }
164
+ const { parent } = binding.path;
165
+ if (!t.isVariableDeclaration(parent) || parent.kind !== 'const') {
166
+ continue;
167
+ }
168
+ // pick out the right variable declarator
169
+ const dec = parent.declarations.find((d) => t.isIdentifier(d.id) && d.id.name === k);
170
+ // if init is not set, there's nothing to evaluate
171
+ // TODO: handle spread syntax
172
+ if (!dec || !dec.init) {
173
+ continue;
174
+ }
175
+ // missing start/end will break caching
176
+ if (typeof dec.id.start !== 'number' || typeof dec.id.end !== 'number') {
177
+ console.error('dec.id.start/end is not a number');
178
+ continue;
179
+ }
180
+ if (!t.isIdentifier(dec.id)) {
181
+ console.error('dec is not an identifier');
182
+ continue;
183
+ }
184
+ const cacheKey = `${dec.id.name}_${dec.id.start}-${dec.id.end}`;
185
+ // retrieve value from cache
186
+ if (Object.hasOwnProperty.call(bindingCache, cacheKey)) {
187
+ ret[k] = bindingCache[cacheKey];
188
+ continue;
189
+ }
190
+ // retrieve value from cache
191
+ if (Object.hasOwnProperty.call(bindingCache, cacheKey)) {
192
+ ret[k] = bindingCache[cacheKey];
193
+ continue;
194
+ }
195
+ // evaluate
196
+ try {
197
+ ret[k] = evaluateAstNode(dec.init, undefined, shouldPrintDebug);
198
+ bindingCache[cacheKey] = ret[k];
199
+ continue;
200
+ }
201
+ catch {
202
+ // skip
203
+ }
204
+ }
205
+ return ret;
206
+ }
207
+ //# sourceMappingURL=getStaticBindingsForScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStaticBindingsForScope.js","sourceRoot":"","sources":["../../../src/extractor/getStaticBindingsForScope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import traverse from '@babel/traverse';
2
+ import { babelParse } from './babelParse.js';
3
+ export function hasTopLevelAwait(contents, fileName) {
4
+ if (!contents.includes('await')) {
5
+ return false;
6
+ }
7
+ const ast = babelParse(contents, fileName);
8
+ let found = false;
9
+ traverse(ast, {
10
+ AwaitExpression(path) {
11
+ if (!path.getFunctionParent()) {
12
+ found = true;
13
+ path.stop();
14
+ }
15
+ },
16
+ ForOfStatement(path) {
17
+ if (path.node.await && !path.getFunctionParent()) {
18
+ found = true;
19
+ path.stop();
20
+ }
21
+ },
22
+ });
23
+ return found;
24
+ }
25
+ //# sourceMappingURL=hasTopLevelAwait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasTopLevelAwait.js","sourceRoot":"","sources":["../../../src/extractor/hasTopLevelAwait.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,QAAiB;IAClE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC1C,IAAI,KAAK,GAAG,KAAK,CAAA;IAEjB,QAAQ,CAAC,GAAG,EAAE;QACZ,eAAe,CAAC,IAAI;YAClB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBAC9B,KAAK,GAAG,IAAI,CAAA;gBACZ,IAAI,CAAC,IAAI,EAAE,CAAA;YACb,CAAC;QACH,CAAC;QACD,cAAc,CAAC,IAAI;YACjB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBACjD,KAAK,GAAG,IAAI,CAAA;gBACZ,IAAI,CAAC,IAAI,EAAE,CAAA;YACb,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,43 @@
1
+ import * as t from '@babel/types';
2
+ export function hoistClassNames(path, existing, expr) {
3
+ const hoist = hoistClassNames.bind(null, path, existing);
4
+ if (t.isStringLiteral(expr)) {
5
+ if (expr.value.trim() === '') {
6
+ return expr;
7
+ }
8
+ if (existing[expr.value]) {
9
+ return existing[expr.value];
10
+ }
11
+ const identifier = replaceStringWithVariable(expr);
12
+ existing[expr.value] = identifier;
13
+ return identifier;
14
+ }
15
+ if (t.isBinaryExpression(expr)) {
16
+ if (t.isPrivateName(expr.left)) {
17
+ throw new Error(`no private name`);
18
+ }
19
+ return t.binaryExpression(expr.operator, hoist(expr.left), hoist(expr.right));
20
+ }
21
+ if (t.isLogicalExpression(expr)) {
22
+ return t.logicalExpression(expr.operator, hoist(expr.left), hoist(expr.right));
23
+ }
24
+ if (t.isConditionalExpression(expr)) {
25
+ return t.conditionalExpression(expr.test, hoist(expr.consequent), hoist(expr.alternate));
26
+ }
27
+ return expr;
28
+ function replaceStringWithVariable(str) {
29
+ // hoist outside fn!
30
+ const uid = path.scope.generateUidIdentifier('cn');
31
+ const parent = path.findParent((path) => path.isProgram());
32
+ if (!parent)
33
+ throw new Error(`no program?`);
34
+ const variable = t.variableDeclaration('const', [
35
+ // adding a space for extra safety
36
+ t.variableDeclarator(uid, t.stringLiteral(` ${str.value}`)),
37
+ ]);
38
+ // @ts-ignore
39
+ parent.unshiftContainer('body', variable);
40
+ return uid;
41
+ }
42
+ }
43
+ //# sourceMappingURL=hoistClassNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hoistClassNames.js","sourceRoot":"","sources":["../../../src/extractor/hoistClassNames.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAEjC,MAAM,UAAU,eAAe,CAC7B,IAA4B,EAC5B,QAAyC,EACzC,IAAkB;IAElB,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACxD,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC;QACD,MAAM,UAAU,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAA;QAClD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAA;QACjC,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/E,CAAC;IACD,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAChF,CAAC;IACD,IAAI,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,CAAC,qBAAqB,CAC5B,IAAI,CAAC,IAAI,EACT,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EACtB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CACtB,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;IAEX,SAAS,yBAAyB,CAAC,GAAoB;QACrD,oBAAoB;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAC1D,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;QAC3C,MAAM,QAAQ,GAAG,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE;YAC9C,kCAAkC;YAClC,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;SAC5D,CAAC,CAAA;QACF,aAAa;QACb,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACzC,OAAO,GAAG,CAAA;IACZ,CAAC;AACH,CAAC"}
@@ -0,0 +1,78 @@
1
+ import * as t from '@babel/types';
2
+ export function literalToAst(literal) {
3
+ if (literal === null) {
4
+ return t.nullLiteral();
5
+ }
6
+ switch (typeof literal) {
7
+ case 'function':
8
+ throw new Error('Unsupported');
9
+ case 'number':
10
+ return t.valueToNode(literal);
11
+ case 'string':
12
+ return t.stringLiteral(literal);
13
+ case 'boolean':
14
+ return t.booleanLiteral(literal);
15
+ case 'undefined':
16
+ return t.unaryExpression('void', t.valueToNode(0), true);
17
+ default:
18
+ if (Array.isArray(literal)) {
19
+ return t.arrayExpression(literal.map(literalToAst));
20
+ }
21
+ return t.objectExpression(Object.keys(literal)
22
+ .filter((k) => {
23
+ return typeof literal[k] !== 'undefined';
24
+ })
25
+ .map((k) => {
26
+ return t.objectProperty(t.stringLiteral(k), literalToAst(literal[k]));
27
+ }));
28
+ }
29
+ }
30
+ const easyPeasies = ['BooleanLiteral', 'StringLiteral', 'NumericLiteral'];
31
+ export function astToLiteral(node) {
32
+ if (!node) {
33
+ return;
34
+ }
35
+ if (easyPeasies.includes(node.type)) {
36
+ return node.value;
37
+ }
38
+ if (node.name === 'undefined' && !node.value) {
39
+ return undefined;
40
+ }
41
+ if (t.isNullLiteral(node)) {
42
+ return null;
43
+ }
44
+ if (t.isObjectExpression(node)) {
45
+ return computeProps(node.properties);
46
+ }
47
+ if (t.isArrayExpression(node)) {
48
+ return node.elements.reduce(
49
+ // @ts-ignore
50
+ (acc, element) => [
51
+ ...acc,
52
+ ...(element?.type === 'SpreadElement'
53
+ ? astToLiteral(element.argument)
54
+ : [astToLiteral(element)]),
55
+ ], []);
56
+ }
57
+ }
58
+ function computeProps(props) {
59
+ return props.reduce((acc, prop) => {
60
+ if (prop.type === 'SpreadElement') {
61
+ return {
62
+ ...acc,
63
+ ...astToLiteral(prop.argument),
64
+ };
65
+ }
66
+ if (prop.type !== 'ObjectMethod') {
67
+ const val = astToLiteral(prop.value);
68
+ if (val !== undefined) {
69
+ return {
70
+ ...acc,
71
+ [prop.key.name]: val,
72
+ };
73
+ }
74
+ }
75
+ return acc;
76
+ }, {});
77
+ }
78
+ //# sourceMappingURL=literalToAst.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"literalToAst.js","sourceRoot":"","sources":["../../../src/extractor/literalToAst.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { createRequire } from 'node:module';
2
+ import { url } from '../here.js';
3
+ const need = createRequire(url);
4
+ process.on('message', (path) => {
5
+ if (typeof path !== 'string') {
6
+ throw new Error(`Not a string: ${path}`);
7
+ }
8
+ try {
9
+ const out = need(path);
10
+ process.send?.(JSON.stringify(out));
11
+ }
12
+ catch (err) {
13
+ if (err instanceof Error) {
14
+ process.send?.(`-${err.message}\n${err.stack}`);
15
+ }
16
+ else {
17
+ process.send?.(`-${err}`);
18
+ }
19
+ }
20
+ });
21
+ setInterval(() => { }, 1000);
22
+ //# sourceMappingURL=loadFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadFile.js","sourceRoot":"","sources":["../../../src/extractor/loadFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAEhC,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;AAE/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;IAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAA;IAC1C,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;QACtB,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,WAAW,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,CAAC,CAAA"}