@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,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPropValueFromAttributes = getPropValueFromAttributes;
4
+ const tslib_1 = require("tslib");
5
+ const generator_1 = tslib_1.__importDefault(require("@babel/generator"));
6
+ const t = tslib_1.__importStar(require("@babel/types"));
7
+ const accessSafe_ts_1 = require("./accessSafe.js");
8
+ /**
9
+ * getPropValueFromAttributes gets a prop by name from a list of attributes and accounts for potential spread operators.
10
+ * Here's an example. Given this component:
11
+ * ```
12
+ * <Block coolProp="wow" {...spread1} neatProp="ok" {...spread2} />```
13
+ * getPropValueFromAttributes will return the following:
14
+ * - for propName `coolProp`:
15
+ * ```
16
+ * accessSafe(spread1, 'coolProp') || accessSafe(spread2, 'coolProp') || 'wow'```
17
+ * - for propName `neatProp`:
18
+ * ```
19
+ * accessSafe(spread2, 'neatProp') || 'ok'```
20
+ * - for propName `notPresent`: `null`
21
+ *
22
+ * The returned value should (obviously) be placed after spread operators.
23
+ */
24
+ function getPropValueFromAttributes(propName, attrs) {
25
+ let propIndex = -1;
26
+ let jsxAttr = null;
27
+ for (let idx = -1, len = attrs.length; ++idx < len;) {
28
+ const attr = attrs[idx];
29
+ if (t.isJSXAttribute(attr) && attr.name && attr.name.name === propName) {
30
+ propIndex = idx;
31
+ jsxAttr = attr;
32
+ break;
33
+ }
34
+ }
35
+ if (!jsxAttr || jsxAttr.value == null) {
36
+ return null;
37
+ }
38
+ let propValue = jsxAttr.value;
39
+ if (t.isJSXExpressionContainer(propValue)) {
40
+ propValue = propValue.expression;
41
+ }
42
+ // TODO how to handle this??
43
+ if (t.isJSXEmptyExpression(propValue)) {
44
+ console.error('encountered JSXEmptyExpression');
45
+ return null;
46
+ }
47
+ // filter out spread props that occur before propValue
48
+ const applicableSpreads = attrs
49
+ .filter(
50
+ // 1. idx is greater than propValue prop index
51
+ // 2. attr is a spread operator
52
+ (attr, idx) => {
53
+ if (t.isJSXSpreadAttribute(attr)) {
54
+ if (t.isIdentifier(attr.argument) || t.isMemberExpression(attr.argument)) {
55
+ return idx > propIndex;
56
+ }
57
+ if (t.isLogicalExpression(attr.argument)) {
58
+ return false;
59
+ }
60
+ throw new Error(`unsupported spread of type "${attr.argument.type}": ${
61
+ // @ts-ignore
62
+ (0, generator_1.default)(attr).code}`);
63
+ }
64
+ return false;
65
+ })
66
+ .map((attr) => attr.argument);
67
+ // if spread operators occur after propValue, create a binary expression for each operator
68
+ // i.e. before1.propValue || before2.propValue || propValue
69
+ // TODO: figure out how to do this without all the extra parens
70
+ if (applicableSpreads.length > 0) {
71
+ propValue = applicableSpreads.reduce((acc, val) => t.logicalExpression('||', (0, accessSafe_ts_1.accessSafe)(val, propName), acc), propValue);
72
+ }
73
+ return propValue;
74
+ }
75
+ //# sourceMappingURL=getPropValueFromAttributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPropValueFromAttributes.js","sourceRoot":"","sources":["../../../src/extractor/getPropValueFromAttributes.ts"],"names":[],"mappings":";;;;AAAA,yEAAuC;AACvC,MAAY,CAAC,iDAAoB;AAEjC,mDAA4C;AAE5C;;;;;;;;;;;;;;;GAeG;AACH,oCACE,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,IAAA,mBAAQ,EAAC,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,IAAA,0BAAU,EAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,EACvE,SAAS,CACV,CAAA;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSourceModule = getSourceModule;
4
+ const tslib_1 = require("tslib");
5
+ const t = tslib_1.__importStar(require("@babel/types"));
6
+ function getSourceModule(itemName, itemBinding) {
7
+ // TODO: deal with reassignment
8
+ if (!itemBinding.constant) {
9
+ return null;
10
+ }
11
+ let sourceModule;
12
+ let imported;
13
+ let local;
14
+ let destructured;
15
+ let usesImportSyntax = false;
16
+ const itemNode = itemBinding.path.node;
17
+ if (t.isImportDefaultSpecifier(itemNode) || t.isImportSpecifier(itemNode)) {
18
+ if (t.isImportDeclaration(itemBinding.path.parent)) {
19
+ sourceModule = itemBinding.path.parent.source.value;
20
+ local = itemNode.local.name;
21
+ usesImportSyntax = true;
22
+ if (t.isImportSpecifier(itemNode)) {
23
+ imported = itemNode.imported['name'];
24
+ destructured = true;
25
+ }
26
+ else {
27
+ imported = itemNode.local.name;
28
+ destructured = false;
29
+ }
30
+ }
31
+ }
32
+ else if (t.isVariableDeclarator(itemNode) &&
33
+ itemNode.init != null &&
34
+ t.isCallExpression(itemNode.init) &&
35
+ t.isIdentifier(itemNode.init.callee) &&
36
+ itemNode.init.callee.name === 'require' &&
37
+ itemNode.init.arguments.length === 1) {
38
+ const firstArg = itemNode.init.arguments[0];
39
+ if (!t.isStringLiteral(firstArg)) {
40
+ return null;
41
+ }
42
+ sourceModule = firstArg.value;
43
+ if (t.isIdentifier(itemNode.id)) {
44
+ local = itemNode.id.name;
45
+ imported = itemNode.id.name;
46
+ destructured = false;
47
+ }
48
+ else if (t.isObjectPattern(itemNode.id)) {
49
+ for (const objProp of itemNode.id.properties) {
50
+ if (t.isObjectProperty(objProp) &&
51
+ t.isIdentifier(objProp.value) &&
52
+ objProp.value.name === itemName) {
53
+ local = objProp.value.name;
54
+ // @ts-ignore TODO remove this is only an issue on CI
55
+ imported = objProp.key.name;
56
+ destructured = true;
57
+ break;
58
+ }
59
+ }
60
+ if (!local || !imported) {
61
+ console.error('could not find prop with value `%s`', itemName);
62
+ return null;
63
+ }
64
+ }
65
+ else {
66
+ console.error('Unhandled id type: %s', itemNode.id.type);
67
+ return null;
68
+ }
69
+ }
70
+ else {
71
+ return null;
72
+ }
73
+ return {
74
+ destructured,
75
+ imported,
76
+ local,
77
+ sourceModule,
78
+ usesImportSyntax,
79
+ };
80
+ }
81
+ //# 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,212 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanupBeforeExit = cleanupBeforeExit;
4
+ exports.getStaticBindingsForScope = getStaticBindingsForScope;
5
+ const tslib_1 = require("tslib");
6
+ const node_child_process_1 = require("node:child_process");
7
+ const node_path_1 = require("node:path");
8
+ const t = tslib_1.__importStar(require("@babel/types"));
9
+ const evaluateAstNode_ts_1 = require("./evaluateAstNode.js");
10
+ const getSourceModule_ts_1 = require("./getSourceModule.js");
11
+ const node_url_1 = require("node:url");
12
+ const here_ts_1 = require("../here.js");
13
+ const extractor = (0, node_path_1.join)((0, node_path_1.dirname)((0, node_url_1.fileURLToPath)(here_ts_1.url)), 'extractor');
14
+ const isLocalImport = (path) => path.startsWith('.') || path.startsWith('/');
15
+ function resolveImportPath(sourcePath, path) {
16
+ const sourceDir = (0, node_path_1.dirname)(sourcePath);
17
+ if (isLocalImport(path)) {
18
+ if ((0, node_path_1.extname)(path) === '') {
19
+ path += '';
20
+ }
21
+ return (0, node_path_1.resolve)(sourceDir, path);
22
+ }
23
+ return path;
24
+ }
25
+ const cache = new Map();
26
+ const pending = new Map();
27
+ const loadCmd = `${(0, node_path_1.join)(extractor, 'loadFile.js')}`;
28
+ let exited = false;
29
+ let child = null;
30
+ function forkChild() {
31
+ child = (0, node_child_process_1.fork)(loadCmd, [], {
32
+ execArgv: ['-r', 'esbuild-register'],
33
+ detached: false,
34
+ stdio: 'ignore',
35
+ });
36
+ }
37
+ function cleanupBeforeExit() {
38
+ if (exited)
39
+ return;
40
+ if (!child)
41
+ return;
42
+ child.removeAllListeners();
43
+ child.unref();
44
+ child.disconnect();
45
+ child.kill();
46
+ exited = true;
47
+ }
48
+ process.once('SIGTERM', cleanupBeforeExit);
49
+ process.once('SIGINT', cleanupBeforeExit);
50
+ process.once('beforeExit', cleanupBeforeExit);
51
+ function importModule(path) {
52
+ if (!child) {
53
+ forkChild();
54
+ }
55
+ if (pending.has(path)) {
56
+ return pending.get(path);
57
+ }
58
+ const promise = new Promise((res, rej) => {
59
+ if (!child)
60
+ return;
61
+ if (cache.size > 2000) {
62
+ cache.clear();
63
+ }
64
+ if (cache.has(path)) {
65
+ return cache.get(path);
66
+ }
67
+ const listener = (msg) => {
68
+ if (!child)
69
+ return;
70
+ if (!msg)
71
+ return;
72
+ if (typeof msg !== 'string')
73
+ return;
74
+ if (msg[0] === '-') {
75
+ rej(new Error(msg.slice(1)));
76
+ return;
77
+ }
78
+ child.removeListener('message', listener);
79
+ const val = JSON.parse(msg);
80
+ cache.set(path, val);
81
+ res(val);
82
+ };
83
+ child.once('message', listener);
84
+ child.send(`${path.replace('.js', '')}`);
85
+ }).finally(() => {
86
+ // clean up pending map to prevent memory leak
87
+ pending.delete(path);
88
+ });
89
+ pending.set(path, promise);
90
+ return promise;
91
+ }
92
+ async function getStaticBindingsForScope(scope, whitelist = [], sourcePath, bindingCache, shouldPrintDebug) {
93
+ const bindings = scope.getAllBindings();
94
+ const ret = {};
95
+ if (shouldPrintDebug) {
96
+ // prettier-ignore
97
+ // console.info(' ', Object.keys(bindings).length, 'variables in scope')
98
+ // .map(x => bindings[x].identifier?.name).join(', ')
99
+ }
100
+ // on react native at least it doesnt find some bindings? not sure why
101
+ // lets add in whitelisted imports if they exist
102
+ const program = scope.getProgramParent().block;
103
+ for (const node of program.body) {
104
+ if (t.isImportDeclaration(node)) {
105
+ const importPath = node.source.value;
106
+ if (!node.specifiers.length)
107
+ continue;
108
+ if (!isLocalImport(importPath)) {
109
+ continue;
110
+ }
111
+ const moduleName = resolveImportPath(sourcePath, importPath);
112
+ const isOnWhitelist = whitelist.some((test) => moduleName.endsWith(test));
113
+ if (!isOnWhitelist)
114
+ continue;
115
+ try {
116
+ const src = await importModule(moduleName);
117
+ if (!src)
118
+ continue;
119
+ for (const specifier of node.specifiers) {
120
+ if (t.isImportSpecifier(specifier) && t.isIdentifier(specifier.imported)) {
121
+ if (typeof src[specifier.imported.name] !== 'undefined') {
122
+ const val = src[specifier.local.name];
123
+ ret[specifier.local.name] = val;
124
+ }
125
+ }
126
+ }
127
+ }
128
+ catch (err) {
129
+ if (shouldPrintDebug) {
130
+ console.warn(` | Skipping partial evaluation of constant file: ${moduleName} (DEBUG=hanzogui for more)`);
131
+ }
132
+ else if (process.env.DEBUG?.startsWith('hanzogui')) {
133
+ console.info(`Error in partial evaluation`, err.message, err.stack);
134
+ }
135
+ }
136
+ }
137
+ }
138
+ if (!bindingCache) {
139
+ throw new Error('BindingCache is a required param');
140
+ }
141
+ for (const k in bindings) {
142
+ const binding = bindings[k];
143
+ // check to see if the item is a module
144
+ const sourceModule = (0, getSourceModule_ts_1.getSourceModule)(k, binding);
145
+ if (sourceModule) {
146
+ if (!sourceModule.sourceModule) {
147
+ continue;
148
+ }
149
+ const moduleName = resolveImportPath(sourcePath, sourceModule.sourceModule);
150
+ const isOnWhitelist = whitelist.some((test) => moduleName.endsWith(test));
151
+ // TODO we could cache this at the file level.. and check if its been touched since
152
+ if (isOnWhitelist) {
153
+ const src = importModule(moduleName);
154
+ if (!src) {
155
+ console.info(` | ⚠️ Missing file ${moduleName} via ${sourcePath} import ${sourceModule.sourceModule}?`);
156
+ return {};
157
+ }
158
+ if (sourceModule.destructured) {
159
+ if (sourceModule.imported) {
160
+ ret[k] = src[sourceModule.imported];
161
+ }
162
+ }
163
+ else {
164
+ ret[k] = src;
165
+ }
166
+ }
167
+ continue;
168
+ }
169
+ const { parent } = binding.path;
170
+ if (!t.isVariableDeclaration(parent) || parent.kind !== 'const') {
171
+ continue;
172
+ }
173
+ // pick out the right variable declarator
174
+ const dec = parent.declarations.find((d) => t.isIdentifier(d.id) && d.id.name === k);
175
+ // if init is not set, there's nothing to evaluate
176
+ // TODO: handle spread syntax
177
+ if (!dec || !dec.init) {
178
+ continue;
179
+ }
180
+ // missing start/end will break caching
181
+ if (typeof dec.id.start !== 'number' || typeof dec.id.end !== 'number') {
182
+ console.error('dec.id.start/end is not a number');
183
+ continue;
184
+ }
185
+ if (!t.isIdentifier(dec.id)) {
186
+ console.error('dec is not an identifier');
187
+ continue;
188
+ }
189
+ const cacheKey = `${dec.id.name}_${dec.id.start}-${dec.id.end}`;
190
+ // retrieve value from cache
191
+ if (Object.hasOwnProperty.call(bindingCache, cacheKey)) {
192
+ ret[k] = bindingCache[cacheKey];
193
+ continue;
194
+ }
195
+ // retrieve value from cache
196
+ if (Object.hasOwnProperty.call(bindingCache, cacheKey)) {
197
+ ret[k] = bindingCache[cacheKey];
198
+ continue;
199
+ }
200
+ // evaluate
201
+ try {
202
+ ret[k] = (0, evaluateAstNode_ts_1.evaluateAstNode)(dec.init, undefined, shouldPrintDebug);
203
+ bindingCache[cacheKey] = ret[k];
204
+ continue;
205
+ }
206
+ catch {
207
+ // skip
208
+ }
209
+ }
210
+ return ret;
211
+ }
212
+ //# sourceMappingURL=getStaticBindingsForScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStaticBindingsForScope.js","sourceRoot":"","sources":["../../../src/extractor/getStaticBindingsForScope.ts"],"names":[],"mappings":";;;;;AACA,2DAAyC;AACzC,yCAA2D;AAG3D,MAAY,CAAC,iDAAoB;AAEjC,6DAAsD;AACtD,6DAAsD;AAEtD,uCAAwC;AACxC,wCAAgC;AAChC,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,IAAA,mBAAO,EAAC,IAAA,wBAAa,EAAC,aAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAA;AAEhE,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAEpF,SAAS,iBAAiB,CAAC,UAAkB,EAAE,IAAY;IACzD,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAA;IACrC,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,IAAI,IAAA,mBAAO,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACzB,IAAI,IAAI,EAAE,CAAA;QACZ,CAAC;QACD,OAAO,IAAA,mBAAO,EAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;AACvB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAA;AAE/C,MAAM,OAAO,GAAG,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,aAAa,CAAC,EAAE,CAAA;AAEnD,IAAI,MAAM,GAAG,KAAK,CAAA;AAElB,IAAI,KAAK,GAAwB,IAAI,CAAA;AAErC,SAAS,SAAS;IAChB,KAAK,GAAG,IAAA,yBAAI,EAAC,OAAO,EAAE,EAAE,EAAE;QACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;QACpC,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAA;AACJ,CAAC;AAED;IACE,IAAI,MAAM;QAAE,OAAM;IAClB,IAAI,CAAC,KAAK;QAAE,OAAM;IAClB,KAAK,CAAC,kBAAkB,EAAE,CAAA;IAC1B,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,KAAK,CAAC,UAAU,EAAE,CAAA;IAClB,KAAK,CAAC,IAAI,EAAE,CAAA;IACZ,MAAM,GAAG,IAAI,CAAA;AACf,CAAC;AAED,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;AAC1C,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;AACzC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA;AAE7C,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,SAAS,EAAE,CAAA;IACb,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;YACtB,KAAK,CAAC,KAAK,EAAE,CAAA;QACf,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACxB,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAAE,EAAE;YAC5B,IAAI,CAAC,KAAK;gBAAE,OAAM;YAClB,IAAI,CAAC,GAAG;gBAAE,OAAM;YAChB,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,OAAM;YACnC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACnB,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC5B,OAAM;YACR,CAAC;YACD,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC3B,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YACpB,GAAG,CAAC,GAAG,CAAC,CAAA;QACV,CAAC,CAAA;QACD,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QACd,8CAA8C;QAC9C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC1B,OAAO,OAAO,CAAA;AAChB,CAAC;AAEM,KAAK,oCACV,KAAsC,EACtC,SAAS,GAAa,EAAE,EACxB,UAAkB,EAClB,YAA2C,EAC3C,gBAAqC;IAErC,MAAM,QAAQ,GAA4B,KAAK,CAAC,cAAc,EAAS,CAAA;IACvE,MAAM,GAAG,GAAwB,EAAE,CAAA;IAEnC,IAAI,gBAAgB,EAAE,CAAC;QACrB,kBAAkB;QAClB,yEAAyE;QACzE,qDAAqD;IACvD,CAAC;IAED,sEAAsE;IACtE,gDAAgD;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC,KAAkB,CAAA;IAC3D,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;YACpC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;gBAAE,SAAQ;YACrC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,SAAQ;YACV,CAAC;YACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;YAC5D,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;YACzE,IAAI,CAAC,aAAa;gBAAE,SAAQ;YAC5B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAA;gBAC1C,IAAI,CAAC,GAAG;oBAAE,SAAQ;gBAClB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACxC,IAAI,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACzE,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;4BACxD,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;4BACrC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA;wBACjC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,gBAAgB,EAAE,CAAC;oBACrB,OAAO,CAAC,IAAI,CACV,uDAAuD,UAAU,4BAA4B,CAC9F,CAAA;gBACH,CAAC;qBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBACrD,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAE3B,uCAAuC;QACvC,MAAM,YAAY,GAAG,IAAA,oCAAe,EAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAChD,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;gBAC/B,SAAQ;YACV,CAAC;YAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;YAC3E,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;YAEzE,mFAAmF;YAEnF,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;gBACpC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,OAAO,CAAC,IAAI,CACV,yBAAyB,UAAU,QAAQ,UAAU,WAAW,YAAY,CAAC,YAAY,GAAG,CAC7F,CAAA;oBACD,OAAO,EAAE,CAAA;gBACX,CAAC;gBACD,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;oBAC9B,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;wBAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;oBACrC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;gBACd,CAAC;YACH,CAAC;YACD,SAAQ;QACV,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAA;QAE/B,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAChE,SAAQ;QACV,CAAC;QAED,yCAAyC;QACzC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAA;QAEpF,kDAAkD;QAClD,6BAA6B;QAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACtB,SAAQ;QACV,CAAC;QAED,uCAAuC;QACvC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;YACjD,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;YACzC,SAAQ;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;QAE/D,4BAA4B;QAC5B,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;YAC/B,SAAQ;QACV,CAAC;QACD,4BAA4B;QAC5B,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;YAC/B,SAAQ;QACV,CAAC;QAED,WAAW;QACX,IAAI,CAAC;YACH,GAAG,CAAC,CAAC,CAAC,GAAG,IAAA,oCAAe,EAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAA;YAC/D,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YAC/B,SAAQ;QACV,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasTopLevelAwait = hasTopLevelAwait;
4
+ const tslib_1 = require("tslib");
5
+ const traverse_1 = tslib_1.__importDefault(require("@babel/traverse"));
6
+ const babelParse_ts_1 = require("./babelParse.js");
7
+ function hasTopLevelAwait(contents, fileName) {
8
+ if (!contents.includes('await')) {
9
+ return false;
10
+ }
11
+ const ast = (0, babelParse_ts_1.babelParse)(contents, fileName);
12
+ let found = false;
13
+ (0, traverse_1.default)(ast, {
14
+ AwaitExpression(path) {
15
+ if (!path.getFunctionParent()) {
16
+ found = true;
17
+ path.stop();
18
+ }
19
+ },
20
+ ForOfStatement(path) {
21
+ if (path.node.await && !path.getFunctionParent()) {
22
+ found = true;
23
+ path.stop();
24
+ }
25
+ },
26
+ });
27
+ return found;
28
+ }
29
+ //# sourceMappingURL=hasTopLevelAwait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasTopLevelAwait.js","sourceRoot":"","sources":["../../../src/extractor/hasTopLevelAwait.ts"],"names":[],"mappings":";;;;AAAA,uEAAsC;AACtC,mDAA4C;AAE5C,0BAAiC,QAAgB,EAAE,QAAiB;IAClE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,0BAAU,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC1C,IAAI,KAAK,GAAG,KAAK,CAAA;IAEjB,IAAA,kBAAQ,EAAC,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,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hoistClassNames = hoistClassNames;
4
+ const tslib_1 = require("tslib");
5
+ const t = tslib_1.__importStar(require("@babel/types"));
6
+ function hoistClassNames(path, existing, expr) {
7
+ const hoist = hoistClassNames.bind(null, path, existing);
8
+ if (t.isStringLiteral(expr)) {
9
+ if (expr.value.trim() === '') {
10
+ return expr;
11
+ }
12
+ if (existing[expr.value]) {
13
+ return existing[expr.value];
14
+ }
15
+ const identifier = replaceStringWithVariable(expr);
16
+ existing[expr.value] = identifier;
17
+ return identifier;
18
+ }
19
+ if (t.isBinaryExpression(expr)) {
20
+ if (t.isPrivateName(expr.left)) {
21
+ throw new Error(`no private name`);
22
+ }
23
+ return t.binaryExpression(expr.operator, hoist(expr.left), hoist(expr.right));
24
+ }
25
+ if (t.isLogicalExpression(expr)) {
26
+ return t.logicalExpression(expr.operator, hoist(expr.left), hoist(expr.right));
27
+ }
28
+ if (t.isConditionalExpression(expr)) {
29
+ return t.conditionalExpression(expr.test, hoist(expr.consequent), hoist(expr.alternate));
30
+ }
31
+ return expr;
32
+ function replaceStringWithVariable(str) {
33
+ // hoist outside fn!
34
+ const uid = path.scope.generateUidIdentifier('cn');
35
+ const parent = path.findParent((path) => path.isProgram());
36
+ if (!parent)
37
+ throw new Error(`no program?`);
38
+ const variable = t.variableDeclaration('const', [
39
+ // adding a space for extra safety
40
+ t.variableDeclarator(uid, t.stringLiteral(` ${str.value}`)),
41
+ ]);
42
+ // @ts-ignore
43
+ parent.unshiftContainer('body', variable);
44
+ return uid;
45
+ }
46
+ }
47
+ //# sourceMappingURL=hoistClassNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hoistClassNames.js","sourceRoot":"","sources":["../../../src/extractor/hoistClassNames.ts"],"names":[],"mappings":";;;;AACA,MAAY,CAAC,iDAAoB;AAEjC,yBACE,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,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.literalToAst = literalToAst;
4
+ exports.astToLiteral = astToLiteral;
5
+ const tslib_1 = require("tslib");
6
+ const t = tslib_1.__importStar(require("@babel/types"));
7
+ function literalToAst(literal) {
8
+ if (literal === null) {
9
+ return t.nullLiteral();
10
+ }
11
+ switch (typeof literal) {
12
+ case 'function':
13
+ throw new Error('Unsupported');
14
+ case 'number':
15
+ return t.valueToNode(literal);
16
+ case 'string':
17
+ return t.stringLiteral(literal);
18
+ case 'boolean':
19
+ return t.booleanLiteral(literal);
20
+ case 'undefined':
21
+ return t.unaryExpression('void', t.valueToNode(0), true);
22
+ default:
23
+ if (Array.isArray(literal)) {
24
+ return t.arrayExpression(literal.map(literalToAst));
25
+ }
26
+ return t.objectExpression(Object.keys(literal)
27
+ .filter((k) => {
28
+ return typeof literal[k] !== 'undefined';
29
+ })
30
+ .map((k) => {
31
+ return t.objectProperty(t.stringLiteral(k), literalToAst(literal[k]));
32
+ }));
33
+ }
34
+ }
35
+ const easyPeasies = ['BooleanLiteral', 'StringLiteral', 'NumericLiteral'];
36
+ function astToLiteral(node) {
37
+ if (!node) {
38
+ return;
39
+ }
40
+ if (easyPeasies.includes(node.type)) {
41
+ return node.value;
42
+ }
43
+ if (node.name === 'undefined' && !node.value) {
44
+ return undefined;
45
+ }
46
+ if (t.isNullLiteral(node)) {
47
+ return null;
48
+ }
49
+ if (t.isObjectExpression(node)) {
50
+ return computeProps(node.properties);
51
+ }
52
+ if (t.isArrayExpression(node)) {
53
+ return node.elements.reduce(
54
+ // @ts-ignore
55
+ (acc, element) => [
56
+ ...acc,
57
+ ...(element?.type === 'SpreadElement'
58
+ ? astToLiteral(element.argument)
59
+ : [astToLiteral(element)]),
60
+ ], []);
61
+ }
62
+ }
63
+ function computeProps(props) {
64
+ return props.reduce((acc, prop) => {
65
+ if (prop.type === 'SpreadElement') {
66
+ return {
67
+ ...acc,
68
+ ...astToLiteral(prop.argument),
69
+ };
70
+ }
71
+ if (prop.type !== 'ObjectMethod') {
72
+ const val = astToLiteral(prop.value);
73
+ if (val !== undefined) {
74
+ return {
75
+ ...acc,
76
+ [prop.key.name]: val,
77
+ };
78
+ }
79
+ }
80
+ return acc;
81
+ }, {});
82
+ }
83
+ //# 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,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const node_module_1 = require("node:module");
4
+ const here_ts_1 = require("../here.js");
5
+ const need = (0, node_module_1.createRequire)(here_ts_1.url);
6
+ process.on('message', (path) => {
7
+ if (typeof path !== 'string') {
8
+ throw new Error(`Not a string: ${path}`);
9
+ }
10
+ try {
11
+ const out = need(path);
12
+ process.send?.(JSON.stringify(out));
13
+ }
14
+ catch (err) {
15
+ if (err instanceof Error) {
16
+ process.send?.(`-${err.message}\n${err.stack}`);
17
+ }
18
+ else {
19
+ process.send?.(`-${err}`);
20
+ }
21
+ }
22
+ });
23
+ setInterval(() => { }, 1000);
24
+ //# sourceMappingURL=loadFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadFile.js","sourceRoot":"","sources":["../../../src/extractor/loadFile.ts"],"names":[],"mappings":";;AAAA,6CAA2C;AAC3C,wCAAgC;AAEhC,MAAM,IAAI,GAAG,IAAA,2BAAa,EAAC,aAAG,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"}