@wyw-in-js/transform 0.1.0

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 (480) hide show
  1. package/LICENSE +21 -0
  2. package/esm/babel.js +2 -0
  3. package/esm/babel.js.map +1 -0
  4. package/esm/cache.js +80 -0
  5. package/esm/cache.js.map +1 -0
  6. package/esm/debug/fileReporter.js +144 -0
  7. package/esm/debug/fileReporter.js.map +1 -0
  8. package/esm/evaluators/index.js +14 -0
  9. package/esm/evaluators/index.js.map +1 -0
  10. package/esm/index.js +24 -0
  11. package/esm/index.js.map +1 -0
  12. package/esm/module.js +316 -0
  13. package/esm/module.js.map +1 -0
  14. package/esm/options/babel-merge.d.js +2 -0
  15. package/esm/options/babel-merge.d.js.map +1 -0
  16. package/esm/options/buildOptions.js +28 -0
  17. package/esm/options/buildOptions.js.map +1 -0
  18. package/esm/options/loadBabelOptions.js +24 -0
  19. package/esm/options/loadBabelOptions.js.map +1 -0
  20. package/esm/plugins/babel-transform.js +53 -0
  21. package/esm/plugins/babel-transform.js.map +1 -0
  22. package/esm/plugins/collector.js +66 -0
  23. package/esm/plugins/collector.js.map +1 -0
  24. package/esm/plugins/dynamic-import.js +28 -0
  25. package/esm/plugins/dynamic-import.js.map +1 -0
  26. package/esm/plugins/preeval.js +75 -0
  27. package/esm/plugins/preeval.js.map +1 -0
  28. package/esm/plugins/shaker.js +296 -0
  29. package/esm/plugins/shaker.js.map +1 -0
  30. package/esm/shaker.js +50 -0
  31. package/esm/shaker.js.map +1 -0
  32. package/esm/transform/BaseEntrypoint.js +164 -0
  33. package/esm/transform/BaseEntrypoint.js.map +1 -0
  34. package/esm/transform/Entrypoint.helpers.js +168 -0
  35. package/esm/transform/Entrypoint.helpers.js.map +1 -0
  36. package/esm/transform/Entrypoint.js +212 -0
  37. package/esm/transform/Entrypoint.js.map +1 -0
  38. package/esm/transform/Entrypoint.types.js +2 -0
  39. package/esm/transform/Entrypoint.types.js.map +1 -0
  40. package/esm/transform/EvaluatedEntrypoint.js +6 -0
  41. package/esm/transform/EvaluatedEntrypoint.js.map +1 -0
  42. package/esm/transform/actions/AbortError.js +8 -0
  43. package/esm/transform/actions/AbortError.js.map +1 -0
  44. package/esm/transform/actions/BaseAction.js +134 -0
  45. package/esm/transform/actions/BaseAction.js.map +1 -0
  46. package/esm/transform/actions/UnprocessedEntrypointError.js +8 -0
  47. package/esm/transform/actions/UnprocessedEntrypointError.js.map +1 -0
  48. package/esm/transform/actions/actionRunner.js +73 -0
  49. package/esm/transform/actions/actionRunner.js.map +1 -0
  50. package/esm/transform/actions/types.js +2 -0
  51. package/esm/transform/actions/types.js.map +1 -0
  52. package/esm/transform/generators/baseProcessingHandlers.js +22 -0
  53. package/esm/transform/generators/baseProcessingHandlers.js.map +1 -0
  54. package/esm/transform/generators/collect.js +58 -0
  55. package/esm/transform/generators/collect.js.map +1 -0
  56. package/esm/transform/generators/evalFile.js +50 -0
  57. package/esm/transform/generators/evalFile.js.map +1 -0
  58. package/esm/transform/generators/explodeReexports.js +63 -0
  59. package/esm/transform/generators/explodeReexports.js.map +1 -0
  60. package/esm/transform/generators/extract.js +120 -0
  61. package/esm/transform/generators/extract.js.map +1 -0
  62. package/esm/transform/generators/getExports.js +73 -0
  63. package/esm/transform/generators/getExports.js.map +1 -0
  64. package/esm/transform/generators/index.js +13 -0
  65. package/esm/transform/generators/index.js.map +1 -0
  66. package/esm/transform/generators/processEntrypoint.js +43 -0
  67. package/esm/transform/generators/processEntrypoint.js.map +1 -0
  68. package/esm/transform/generators/processImports.js +23 -0
  69. package/esm/transform/generators/processImports.js.map +1 -0
  70. package/esm/transform/generators/resolveImports.js +148 -0
  71. package/esm/transform/generators/resolveImports.js.map +1 -0
  72. package/esm/transform/generators/transform.js +117 -0
  73. package/esm/transform/generators/transform.js.map +1 -0
  74. package/esm/transform/generators/workflow.js +82 -0
  75. package/esm/transform/generators/workflow.js.map +1 -0
  76. package/esm/transform/helpers/loadLinariaOptions.js +66 -0
  77. package/esm/transform/helpers/loadLinariaOptions.js.map +1 -0
  78. package/esm/transform/helpers/withDefaultServices.js +21 -0
  79. package/esm/transform/helpers/withDefaultServices.js.map +1 -0
  80. package/esm/transform/rootLog.js +3 -0
  81. package/esm/transform/rootLog.js.map +1 -0
  82. package/esm/transform/types.js +2 -0
  83. package/esm/transform/types.js.map +1 -0
  84. package/esm/transform.js +121 -0
  85. package/esm/transform.js.map +1 -0
  86. package/esm/types.js +2 -0
  87. package/esm/types.js.map +1 -0
  88. package/esm/utils/EventEmitter.js +52 -0
  89. package/esm/utils/EventEmitter.js.map +1 -0
  90. package/esm/utils/ShakerMetadata.js +2 -0
  91. package/esm/utils/ShakerMetadata.js.map +1 -0
  92. package/esm/utils/TransformMetadata.js +11 -0
  93. package/esm/utils/TransformMetadata.js.map +1 -0
  94. package/esm/utils/addIdentifierToLinariaPreval.js +68 -0
  95. package/esm/utils/addIdentifierToLinariaPreval.js.map +1 -0
  96. package/esm/utils/collectExportsAndImports.js +974 -0
  97. package/esm/utils/collectExportsAndImports.js.map +1 -0
  98. package/esm/utils/collectTemplateDependencies.js +219 -0
  99. package/esm/utils/collectTemplateDependencies.js.map +1 -0
  100. package/esm/utils/createId.js +6 -0
  101. package/esm/utils/createId.js.map +1 -0
  102. package/esm/utils/dispose-polyfill.js +6 -0
  103. package/esm/utils/dispose-polyfill.js.map +1 -0
  104. package/esm/utils/findIdentifiers.js +62 -0
  105. package/esm/utils/findIdentifiers.js.map +1 -0
  106. package/esm/utils/findPackageJSON.js +22 -0
  107. package/esm/utils/findPackageJSON.js.map +1 -0
  108. package/esm/utils/getFileIdx.js +10 -0
  109. package/esm/utils/getFileIdx.js.map +1 -0
  110. package/esm/utils/getPluginKey.js +13 -0
  111. package/esm/utils/getPluginKey.js.map +1 -0
  112. package/esm/utils/getScope.js +6 -0
  113. package/esm/utils/getScope.js.map +1 -0
  114. package/esm/utils/getSource.js +15 -0
  115. package/esm/utils/getSource.js.map +1 -0
  116. package/esm/utils/getTagProcessor.js +304 -0
  117. package/esm/utils/getTagProcessor.js.map +1 -0
  118. package/esm/utils/getVisitorKeys.js +5 -0
  119. package/esm/utils/getVisitorKeys.js.map +1 -0
  120. package/esm/utils/hasLinariaPreval.js +7 -0
  121. package/esm/utils/hasLinariaPreval.js.map +1 -0
  122. package/esm/utils/isExports.js +22 -0
  123. package/esm/utils/isExports.js.map +1 -0
  124. package/esm/utils/isGlobal.js +6 -0
  125. package/esm/utils/isGlobal.js.map +1 -0
  126. package/esm/utils/isNode.js +2 -0
  127. package/esm/utils/isNode.js.map +1 -0
  128. package/esm/utils/isNodePath.js +4 -0
  129. package/esm/utils/isNodePath.js.map +1 -0
  130. package/esm/utils/isNotNull.js +4 -0
  131. package/esm/utils/isNotNull.js.map +1 -0
  132. package/esm/utils/isRemoved.js +46 -0
  133. package/esm/utils/isRemoved.js.map +1 -0
  134. package/esm/utils/isRequire.js +13 -0
  135. package/esm/utils/isRequire.js.map +1 -0
  136. package/esm/utils/isSerializable.js +13 -0
  137. package/esm/utils/isSerializable.js.map +1 -0
  138. package/esm/utils/isTypedNode.js +6 -0
  139. package/esm/utils/isTypedNode.js.map +1 -0
  140. package/esm/utils/isUnnecessaryReactCall.js +72 -0
  141. package/esm/utils/isUnnecessaryReactCall.js.map +1 -0
  142. package/esm/utils/peek.js +2 -0
  143. package/esm/utils/peek.js.map +1 -0
  144. package/esm/utils/processTemplateExpression.js +11 -0
  145. package/esm/utils/processTemplateExpression.js.map +1 -0
  146. package/esm/utils/removeDangerousCode.js +127 -0
  147. package/esm/utils/removeDangerousCode.js.map +1 -0
  148. package/esm/utils/scopeHelpers.js +514 -0
  149. package/esm/utils/scopeHelpers.js.map +1 -0
  150. package/esm/utils/traversalCache.js +28 -0
  151. package/esm/utils/traversalCache.js.map +1 -0
  152. package/esm/utils/unwrapSequence.js +14 -0
  153. package/esm/utils/unwrapSequence.js.map +1 -0
  154. package/esm/utils/valueToLiteral.js +59 -0
  155. package/esm/utils/valueToLiteral.js.map +1 -0
  156. package/esm/utils/visitors/JSXElementsRemover.js +51 -0
  157. package/esm/utils/visitors/JSXElementsRemover.js.map +1 -0
  158. package/esm/vm/createVmContext.js +72 -0
  159. package/esm/vm/createVmContext.js.map +1 -0
  160. package/esm/vm/process.js +29 -0
  161. package/esm/vm/process.js.map +1 -0
  162. package/lib/babel.js +2 -0
  163. package/lib/babel.js.map +1 -0
  164. package/lib/cache.js +87 -0
  165. package/lib/cache.js.map +1 -0
  166. package/lib/debug/fileReporter.js +153 -0
  167. package/lib/debug/fileReporter.js.map +1 -0
  168. package/lib/evaluators/index.js +20 -0
  169. package/lib/evaluators/index.js.map +1 -0
  170. package/lib/index.js +225 -0
  171. package/lib/index.js.map +1 -0
  172. package/lib/module.js +327 -0
  173. package/lib/module.js.map +1 -0
  174. package/lib/options/babel-merge.d.js +2 -0
  175. package/lib/options/babel-merge.d.js.map +1 -0
  176. package/lib/options/buildOptions.js +35 -0
  177. package/lib/options/buildOptions.js.map +1 -0
  178. package/lib/options/loadBabelOptions.js +31 -0
  179. package/lib/options/loadBabelOptions.js.map +1 -0
  180. package/lib/plugins/babel-transform.js +60 -0
  181. package/lib/plugins/babel-transform.js.map +1 -0
  182. package/lib/plugins/collector.js +76 -0
  183. package/lib/plugins/collector.js.map +1 -0
  184. package/lib/plugins/dynamic-import.js +34 -0
  185. package/lib/plugins/dynamic-import.js.map +1 -0
  186. package/lib/plugins/preeval.js +82 -0
  187. package/lib/plugins/preeval.js.map +1 -0
  188. package/lib/plugins/shaker.js +303 -0
  189. package/lib/plugins/shaker.js.map +1 -0
  190. package/lib/shaker.js +58 -0
  191. package/lib/shaker.js.map +1 -0
  192. package/lib/transform/BaseEntrypoint.js +175 -0
  193. package/lib/transform/BaseEntrypoint.js.map +1 -0
  194. package/lib/transform/Entrypoint.helpers.js +182 -0
  195. package/lib/transform/Entrypoint.helpers.js.map +1 -0
  196. package/lib/transform/Entrypoint.js +226 -0
  197. package/lib/transform/Entrypoint.js.map +1 -0
  198. package/lib/transform/Entrypoint.types.js +2 -0
  199. package/lib/transform/Entrypoint.types.js.map +1 -0
  200. package/lib/transform/EvaluatedEntrypoint.js +13 -0
  201. package/lib/transform/EvaluatedEntrypoint.js.map +1 -0
  202. package/lib/transform/actions/AbortError.js +16 -0
  203. package/lib/transform/actions/AbortError.js.map +1 -0
  204. package/lib/transform/actions/BaseAction.js +144 -0
  205. package/lib/transform/actions/BaseAction.js.map +1 -0
  206. package/lib/transform/actions/UnprocessedEntrypointError.js +16 -0
  207. package/lib/transform/actions/UnprocessedEntrypointError.js.map +1 -0
  208. package/lib/transform/actions/actionRunner.js +82 -0
  209. package/lib/transform/actions/actionRunner.js.map +1 -0
  210. package/lib/transform/actions/types.js +2 -0
  211. package/lib/transform/actions/types.js.map +1 -0
  212. package/lib/transform/generators/baseProcessingHandlers.js +27 -0
  213. package/lib/transform/generators/baseProcessingHandlers.js.map +1 -0
  214. package/lib/transform/generators/collect.js +66 -0
  215. package/lib/transform/generators/collect.js.map +1 -0
  216. package/lib/transform/generators/evalFile.js +57 -0
  217. package/lib/transform/generators/evalFile.js.map +1 -0
  218. package/lib/transform/generators/explodeReexports.js +70 -0
  219. package/lib/transform/generators/explodeReexports.js.map +1 -0
  220. package/lib/transform/generators/extract.js +128 -0
  221. package/lib/transform/generators/extract.js.map +1 -0
  222. package/lib/transform/generators/getExports.js +80 -0
  223. package/lib/transform/generators/getExports.js.map +1 -0
  224. package/lib/transform/generators/index.js +19 -0
  225. package/lib/transform/generators/index.js.map +1 -0
  226. package/lib/transform/generators/processEntrypoint.js +49 -0
  227. package/lib/transform/generators/processEntrypoint.js.map +1 -0
  228. package/lib/transform/generators/processImports.js +29 -0
  229. package/lib/transform/generators/processImports.js.map +1 -0
  230. package/lib/transform/generators/resolveImports.js +158 -0
  231. package/lib/transform/generators/resolveImports.js.map +1 -0
  232. package/lib/transform/generators/transform.js +130 -0
  233. package/lib/transform/generators/transform.js.map +1 -0
  234. package/lib/transform/generators/workflow.js +90 -0
  235. package/lib/transform/generators/workflow.js.map +1 -0
  236. package/lib/transform/helpers/loadLinariaOptions.js +73 -0
  237. package/lib/transform/helpers/loadLinariaOptions.js.map +1 -0
  238. package/lib/transform/helpers/withDefaultServices.js +30 -0
  239. package/lib/transform/helpers/withDefaultServices.js.map +1 -0
  240. package/lib/transform/rootLog.js +9 -0
  241. package/lib/transform/rootLog.js.map +1 -0
  242. package/lib/transform/types.js +8 -0
  243. package/lib/transform/types.js.map +1 -0
  244. package/lib/transform.js +128 -0
  245. package/lib/transform.js.map +1 -0
  246. package/lib/types.js +2 -0
  247. package/lib/types.js.map +1 -0
  248. package/lib/utils/EventEmitter.js +61 -0
  249. package/lib/utils/EventEmitter.js.map +1 -0
  250. package/lib/utils/ShakerMetadata.js +9 -0
  251. package/lib/utils/ShakerMetadata.js.map +1 -0
  252. package/lib/utils/TransformMetadata.js +19 -0
  253. package/lib/utils/TransformMetadata.js.map +1 -0
  254. package/lib/utils/addIdentifierToLinariaPreval.js +75 -0
  255. package/lib/utils/addIdentifierToLinariaPreval.js.map +1 -0
  256. package/lib/utils/collectExportsAndImports.js +990 -0
  257. package/lib/utils/collectExportsAndImports.js.map +1 -0
  258. package/lib/utils/collectTemplateDependencies.js +233 -0
  259. package/lib/utils/collectTemplateDependencies.js.map +1 -0
  260. package/lib/utils/createId.js +13 -0
  261. package/lib/utils/createId.js.map +1 -0
  262. package/lib/utils/dispose-polyfill.js +9 -0
  263. package/lib/utils/dispose-polyfill.js.map +1 -0
  264. package/lib/utils/findIdentifiers.js +73 -0
  265. package/lib/utils/findIdentifiers.js.map +1 -0
  266. package/lib/utils/findPackageJSON.js +29 -0
  267. package/lib/utils/findPackageJSON.js.map +1 -0
  268. package/lib/utils/getFileIdx.js +16 -0
  269. package/lib/utils/getFileIdx.js.map +1 -0
  270. package/lib/utils/getPluginKey.js +21 -0
  271. package/lib/utils/getPluginKey.js.map +1 -0
  272. package/lib/utils/getScope.js +12 -0
  273. package/lib/utils/getScope.js.map +1 -0
  274. package/lib/utils/getSource.js +24 -0
  275. package/lib/utils/getSource.js.map +1 -0
  276. package/lib/utils/getTagProcessor.js +318 -0
  277. package/lib/utils/getTagProcessor.js.map +1 -0
  278. package/lib/utils/getVisitorKeys.js +11 -0
  279. package/lib/utils/getVisitorKeys.js.map +1 -0
  280. package/lib/utils/hasLinariaPreval.js +13 -0
  281. package/lib/utils/hasLinariaPreval.js.map +1 -0
  282. package/lib/utils/isExports.js +27 -0
  283. package/lib/utils/isExports.js.map +1 -0
  284. package/lib/utils/isGlobal.js +13 -0
  285. package/lib/utils/isGlobal.js.map +1 -0
  286. package/lib/utils/isNode.js +9 -0
  287. package/lib/utils/isNode.js.map +1 -0
  288. package/lib/utils/isNodePath.js +10 -0
  289. package/lib/utils/isNodePath.js.map +1 -0
  290. package/lib/utils/isNotNull.js +10 -0
  291. package/lib/utils/isNotNull.js.map +1 -0
  292. package/lib/utils/isRemoved.js +52 -0
  293. package/lib/utils/isRemoved.js.map +1 -0
  294. package/lib/utils/isRequire.js +18 -0
  295. package/lib/utils/isRequire.js.map +1 -0
  296. package/lib/utils/isSerializable.js +19 -0
  297. package/lib/utils/isSerializable.js.map +1 -0
  298. package/lib/utils/isTypedNode.js +13 -0
  299. package/lib/utils/isTypedNode.js.map +1 -0
  300. package/lib/utils/isUnnecessaryReactCall.js +81 -0
  301. package/lib/utils/isUnnecessaryReactCall.js.map +1 -0
  302. package/lib/utils/peek.js +9 -0
  303. package/lib/utils/peek.js.map +1 -0
  304. package/lib/utils/processTemplateExpression.js +18 -0
  305. package/lib/utils/processTemplateExpression.js.map +1 -0
  306. package/lib/utils/removeDangerousCode.js +134 -0
  307. package/lib/utils/removeDangerousCode.js.map +1 -0
  308. package/lib/utils/scopeHelpers.js +544 -0
  309. package/lib/utils/scopeHelpers.js.map +1 -0
  310. package/lib/utils/traversalCache.js +38 -0
  311. package/lib/utils/traversalCache.js.map +1 -0
  312. package/lib/utils/unwrapSequence.js +20 -0
  313. package/lib/utils/unwrapSequence.js.map +1 -0
  314. package/lib/utils/valueToLiteral.js +65 -0
  315. package/lib/utils/valueToLiteral.js.map +1 -0
  316. package/lib/utils/visitors/JSXElementsRemover.js +57 -0
  317. package/lib/utils/visitors/JSXElementsRemover.js.map +1 -0
  318. package/lib/vm/createVmContext.js +80 -0
  319. package/lib/vm/createVmContext.js.map +1 -0
  320. package/lib/vm/process.js +38 -0
  321. package/lib/vm/process.js.map +1 -0
  322. package/package.json +63 -0
  323. package/types/babel.d.ts +2 -0
  324. package/types/babel.js +2 -0
  325. package/types/cache.d.ts +24 -0
  326. package/types/cache.js +85 -0
  327. package/types/debug/fileReporter.d.ts +27 -0
  328. package/types/debug/fileReporter.js +151 -0
  329. package/types/evaluators/index.d.ts +10 -0
  330. package/types/evaluators/index.js +15 -0
  331. package/types/index.d.ts +30 -0
  332. package/types/index.js +69 -0
  333. package/types/module.d.ts +62 -0
  334. package/types/module.js +318 -0
  335. package/types/options/buildOptions.d.ts +7 -0
  336. package/types/options/buildOptions.js +35 -0
  337. package/types/options/loadBabelOptions.d.ts +3 -0
  338. package/types/options/loadBabelOptions.js +27 -0
  339. package/types/plugins/babel-transform.d.ts +4 -0
  340. package/types/plugins/babel-transform.js +49 -0
  341. package/types/plugins/collector.d.ts +16 -0
  342. package/types/plugins/collector.js +67 -0
  343. package/types/plugins/dynamic-import.d.ts +6 -0
  344. package/types/plugins/dynamic-import.js +32 -0
  345. package/types/plugins/preeval.d.ts +16 -0
  346. package/types/plugins/preeval.js +69 -0
  347. package/types/plugins/shaker.d.ts +11 -0
  348. package/types/plugins/shaker.js +299 -0
  349. package/types/shaker.d.ts +3 -0
  350. package/types/shaker.js +64 -0
  351. package/types/transform/BaseEntrypoint.d.ts +23 -0
  352. package/types/transform/BaseEntrypoint.js +182 -0
  353. package/types/transform/Entrypoint.d.ts +50 -0
  354. package/types/transform/Entrypoint.helpers.d.ts +14 -0
  355. package/types/transform/Entrypoint.helpers.js +169 -0
  356. package/types/transform/Entrypoint.js +223 -0
  357. package/types/transform/Entrypoint.types.d.ts +23 -0
  358. package/types/transform/Entrypoint.types.js +2 -0
  359. package/types/transform/EvaluatedEntrypoint.d.ts +16 -0
  360. package/types/transform/EvaluatedEntrypoint.js +9 -0
  361. package/types/transform/actions/AbortError.d.ts +4 -0
  362. package/types/transform/actions/AbortError.js +12 -0
  363. package/types/transform/actions/BaseAction.d.ts +40 -0
  364. package/types/transform/actions/BaseAction.js +149 -0
  365. package/types/transform/actions/UnprocessedEntrypointError.d.ts +6 -0
  366. package/types/transform/actions/UnprocessedEntrypointError.js +13 -0
  367. package/types/transform/actions/actionRunner.d.ts +4 -0
  368. package/types/transform/actions/actionRunner.js +86 -0
  369. package/types/transform/actions/types.d.ts +15 -0
  370. package/types/transform/actions/types.js +2 -0
  371. package/types/transform/generators/baseProcessingHandlers.d.ts +17 -0
  372. package/types/transform/generators/baseProcessingHandlers.js +23 -0
  373. package/types/transform/generators/collect.d.ts +6 -0
  374. package/types/transform/generators/collect.js +57 -0
  375. package/types/transform/generators/evalFile.d.ts +6 -0
  376. package/types/transform/generators/evalFile.js +56 -0
  377. package/types/transform/generators/explodeReexports.d.ts +7 -0
  378. package/types/transform/generators/explodeReexports.js +67 -0
  379. package/types/transform/generators/extract.d.ts +8 -0
  380. package/types/transform/generators/extract.js +116 -0
  381. package/types/transform/generators/getExports.d.ts +8 -0
  382. package/types/transform/generators/getExports.js +65 -0
  383. package/types/transform/generators/index.d.ts +15 -0
  384. package/types/transform/generators/index.js +15 -0
  385. package/types/transform/generators/processEntrypoint.d.ts +9 -0
  386. package/types/transform/generators/processEntrypoint.js +88 -0
  387. package/types/transform/generators/processImports.d.ts +5 -0
  388. package/types/transform/generators/processImports.js +21 -0
  389. package/types/transform/generators/resolveImports.d.ts +9 -0
  390. package/types/transform/generators/resolveImports.js +124 -0
  391. package/types/transform/generators/transform.d.ts +17 -0
  392. package/types/transform/generators/transform.js +115 -0
  393. package/types/transform/generators/workflow.d.ts +7 -0
  394. package/types/transform/generators/workflow.js +77 -0
  395. package/types/transform/helpers/loadLinariaOptions.d.ts +6 -0
  396. package/types/transform/helpers/loadLinariaOptions.js +86 -0
  397. package/types/transform/helpers/withDefaultServices.d.ts +5 -0
  398. package/types/transform/helpers/withDefaultServices.js +40 -0
  399. package/types/transform/rootLog.d.ts +3 -0
  400. package/types/transform/rootLog.js +5 -0
  401. package/types/transform/types.d.ts +137 -0
  402. package/types/transform/types.js +4 -0
  403. package/types/transform.d.ts +20 -0
  404. package/types/transform.js +121 -0
  405. package/types/types.d.ts +72 -0
  406. package/types/types.js +5 -0
  407. package/types/utils/EventEmitter.d.ts +58 -0
  408. package/types/utils/EventEmitter.js +61 -0
  409. package/types/utils/ShakerMetadata.d.ts +7 -0
  410. package/types/utils/ShakerMetadata.js +5 -0
  411. package/types/utils/TransformMetadata.d.ts +13 -0
  412. package/types/utils/TransformMetadata.js +17 -0
  413. package/types/utils/addIdentifierToLinariaPreval.d.ts +4 -0
  414. package/types/utils/addIdentifierToLinariaPreval.js +75 -0
  415. package/types/utils/collectExportsAndImports.d.ts +31 -0
  416. package/types/utils/collectExportsAndImports.js +962 -0
  417. package/types/utils/collectTemplateDependencies.d.ts +17 -0
  418. package/types/utils/collectTemplateDependencies.js +212 -0
  419. package/types/utils/createId.d.ts +2 -0
  420. package/types/utils/createId.js +9 -0
  421. package/types/utils/dispose-polyfill.d.ts +0 -0
  422. package/types/utils/dispose-polyfill.js +5 -0
  423. package/types/utils/findIdentifiers.d.ts +6 -0
  424. package/types/utils/findIdentifiers.js +68 -0
  425. package/types/utils/findPackageJSON.d.ts +1 -0
  426. package/types/utils/findPackageJSON.js +29 -0
  427. package/types/utils/getFileIdx.d.ts +1 -0
  428. package/types/utils/getFileIdx.js +13 -0
  429. package/types/utils/getPluginKey.d.ts +2 -0
  430. package/types/utils/getPluginKey.js +16 -0
  431. package/types/utils/getScope.d.ts +2 -0
  432. package/types/utils/getScope.js +11 -0
  433. package/types/utils/getSource.d.ts +2 -0
  434. package/types/utils/getSource.js +22 -0
  435. package/types/utils/getTagProcessor.d.ts +6 -0
  436. package/types/utils/getTagProcessor.js +315 -0
  437. package/types/utils/getVisitorKeys.d.ts +5 -0
  438. package/types/utils/getVisitorKeys.js +8 -0
  439. package/types/utils/hasLinariaPreval.d.ts +4 -0
  440. package/types/utils/hasLinariaPreval.js +9 -0
  441. package/types/utils/isExports.d.ts +6 -0
  442. package/types/utils/isExports.js +20 -0
  443. package/types/utils/isGlobal.d.ts +2 -0
  444. package/types/utils/isGlobal.js +9 -0
  445. package/types/utils/isNode.d.ts +2 -0
  446. package/types/utils/isNode.js +7 -0
  447. package/types/utils/isNodePath.d.ts +3 -0
  448. package/types/utils/isNodePath.js +7 -0
  449. package/types/utils/isNotNull.d.ts +1 -0
  450. package/types/utils/isNotNull.js +7 -0
  451. package/types/utils/isRemoved.d.ts +5 -0
  452. package/types/utils/isRemoved.js +42 -0
  453. package/types/utils/isRequire.d.ts +6 -0
  454. package/types/utils/isRequire.js +15 -0
  455. package/types/utils/isSerializable.d.ts +2 -0
  456. package/types/utils/isSerializable.js +18 -0
  457. package/types/utils/isTypedNode.d.ts +5 -0
  458. package/types/utils/isTypedNode.js +9 -0
  459. package/types/utils/isUnnecessaryReactCall.d.ts +3 -0
  460. package/types/utils/isUnnecessaryReactCall.js +76 -0
  461. package/types/utils/peek.d.ts +1 -0
  462. package/types/utils/peek.js +5 -0
  463. package/types/utils/processTemplateExpression.d.ts +5 -0
  464. package/types/utils/processTemplateExpression.js +17 -0
  465. package/types/utils/removeDangerousCode.d.ts +3 -0
  466. package/types/utils/removeDangerousCode.js +144 -0
  467. package/types/utils/scopeHelpers.d.ts +12 -0
  468. package/types/utils/scopeHelpers.js +568 -0
  469. package/types/utils/traversalCache.d.ts +5 -0
  470. package/types/utils/traversalCache.js +36 -0
  471. package/types/utils/unwrapSequence.d.ts +8 -0
  472. package/types/utils/unwrapSequence.js +17 -0
  473. package/types/utils/valueToLiteral.d.ts +3 -0
  474. package/types/utils/valueToLiteral.js +64 -0
  475. package/types/utils/visitors/JSXElementsRemover.d.ts +3 -0
  476. package/types/utils/visitors/JSXElementsRemover.js +52 -0
  477. package/types/vm/createVmContext.d.ts +7 -0
  478. package/types/vm/createVmContext.js +92 -0
  479. package/types/vm/process.d.ts +25 -0
  480. package/types/vm/process.js +32 -0
@@ -0,0 +1,17 @@
1
+ import type { NodePath } from '@babel/traverse';
2
+ import type { Expression, TaggedTemplateExpression, TemplateElement } from '@babel/types';
3
+ import type { ExpressionValue } from '@wyw-in-js/shared';
4
+ import type { IImport } from './collectExportsAndImports';
5
+ /**
6
+ * Only an expression that can be evaluated in the root scope can be
7
+ * used in a Linaria template. This function tries to hoist the expression.
8
+ * @param ex The expression to hoist.
9
+ * @param evaluate If true, we try to statically evaluate the expression.
10
+ * @param imports All the imports of the file.
11
+ */
12
+ export declare function extractExpression(ex: NodePath<Expression>, evaluate?: boolean, imports?: IImport[]): Omit<ExpressionValue, 'buildCodeFrameError' | 'source'>;
13
+ /**
14
+ * Collects, hoists, and makes lazy all expressions in the given template
15
+ * If evaluate is true, it will try to evaluate the expressions
16
+ */
17
+ export declare function collectTemplateDependencies(path: NodePath<TaggedTemplateExpression>, evaluate?: boolean): [quasis: TemplateElement[], expressionValues: ExpressionValue[]];
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ /* eslint @typescript-eslint/no-use-before-define: ["error", { "functions": false }] */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.collectTemplateDependencies = exports.extractExpression = void 0;
5
+ /**
6
+ * This file is a visitor that checks TaggedTemplateExpressions and look for Linaria css or styled templates.
7
+ * For each template it makes a list of dependencies, try to evaluate expressions, and if it is not possible, mark them as lazy dependencies.
8
+ */
9
+ const template_1 = require("@babel/template");
10
+ const types_1 = require("@babel/types");
11
+ const shared_1 = require("@wyw-in-js/shared");
12
+ const createId_1 = require("./createId");
13
+ const findIdentifiers_1 = require("./findIdentifiers");
14
+ const getSource_1 = require("./getSource");
15
+ const scopeHelpers_1 = require("./scopeHelpers");
16
+ const valueToLiteral_1 = require("./valueToLiteral");
17
+ function staticEval(ex, evaluate = false) {
18
+ if (!evaluate)
19
+ return undefined;
20
+ const result = ex.evaluate();
21
+ if (result.confident && !(0, shared_1.hasEvalMeta)(result.value)) {
22
+ return [result.value];
23
+ }
24
+ return undefined;
25
+ }
26
+ const expressionDeclarationTpl = (0, template_1.statement)('const %%expId%% = /*#__PURE__*/ () => %%expression%%', {
27
+ preserveComments: true,
28
+ });
29
+ const unsupported = (ex, reason) => ex.buildCodeFrameError(`This ${ex.isIdentifier() ? 'identifier' : 'expression'} cannot be used in the template${reason ? `, because it ${reason}` : ''}.`);
30
+ function getUidInRootScope(path) {
31
+ const { name } = path.node;
32
+ const rootScope = path.scope.getProgramParent();
33
+ if (rootScope.hasBinding(name)) {
34
+ return rootScope.generateUid(name);
35
+ }
36
+ return name;
37
+ }
38
+ function hoistVariableDeclarator(ex) {
39
+ if (!ex.scope.parent) {
40
+ // It is already in the root scope
41
+ return;
42
+ }
43
+ const referencedIdentifiers = (0, findIdentifiers_1.findIdentifiers)([ex], 'reference');
44
+ referencedIdentifiers.forEach((identifier) => {
45
+ if (identifier.isIdentifier()) {
46
+ hoistIdentifier(identifier);
47
+ }
48
+ });
49
+ const bindingIdentifiers = (0, findIdentifiers_1.findIdentifiers)([ex], 'declaration');
50
+ bindingIdentifiers.forEach((path) => {
51
+ const newName = getUidInRootScope(path);
52
+ if (newName !== path.node.name) {
53
+ path.scope.rename(path.node.name, newName);
54
+ }
55
+ });
56
+ const rootScope = ex.scope.getProgramParent();
57
+ const statementInRoot = ex.findParent((p) => p.parentPath?.isProgram() === true);
58
+ const declaration = {
59
+ type: 'VariableDeclaration',
60
+ kind: 'let',
61
+ declarations: [(0, types_1.cloneNode)(ex.node)],
62
+ };
63
+ const [inserted] = statementInRoot.insertBefore(declaration);
64
+ (0, scopeHelpers_1.referenceAll)(inserted);
65
+ rootScope.registerDeclaration(inserted);
66
+ }
67
+ function hoistIdentifier(idPath) {
68
+ if (!idPath.isReferenced()) {
69
+ throw unsupported(idPath);
70
+ }
71
+ const binding = idPath.scope.getBinding(idPath.node.name);
72
+ if (!binding) {
73
+ // It's something strange
74
+ throw unsupported(idPath, 'is undefined');
75
+ }
76
+ if (binding.kind === 'module') {
77
+ // Modules are global by default
78
+ return;
79
+ }
80
+ if (!['var', 'let', 'const', 'hoisted'].includes(binding.kind)) {
81
+ // This is not a variable, we can't hoist it
82
+ throw unsupported(binding.path, 'is a function parameter');
83
+ }
84
+ const { scope, path: bindingPath } = binding;
85
+ // parent here can be null or undefined in different versions of babel
86
+ if (!scope.parent) {
87
+ // The variable is already in the root scope
88
+ return;
89
+ }
90
+ if (bindingPath.isVariableDeclarator()) {
91
+ hoistVariableDeclarator(bindingPath);
92
+ return;
93
+ }
94
+ throw unsupported(idPath);
95
+ }
96
+ /**
97
+ * Only an expression that can be evaluated in the root scope can be
98
+ * used in a Linaria template. This function tries to hoist the expression.
99
+ * @param ex The expression to hoist.
100
+ * @param evaluate If true, we try to statically evaluate the expression.
101
+ * @param imports All the imports of the file.
102
+ */
103
+ function extractExpression(ex, evaluate = false, imports = []) {
104
+ if (ex.isLiteral() &&
105
+ ('value' in ex.node || ex.node.type === 'NullLiteral')) {
106
+ return {
107
+ ex: ex.node,
108
+ kind: shared_1.ValueType.CONST,
109
+ value: ex.node.type === 'NullLiteral' ? null : ex.node.value,
110
+ };
111
+ }
112
+ const { loc } = ex.node;
113
+ const rootScope = ex.scope.getProgramParent();
114
+ const statementInRoot = ex.findParent((p) => p.parentPath?.isProgram() === true);
115
+ const isFunction = ex.isFunctionExpression() || ex.isArrowFunctionExpression();
116
+ // Generate next _expN name
117
+ const expUid = rootScope.generateUid('exp');
118
+ const evaluated = staticEval(ex, evaluate);
119
+ if (!evaluated) {
120
+ // If expression is not statically evaluable,
121
+ // we need to hoist all its referenced identifiers
122
+ // Collect all referenced identifiers
123
+ (0, findIdentifiers_1.findIdentifiers)([ex], 'reference').forEach((id) => {
124
+ if (!id.isIdentifier())
125
+ return;
126
+ // Try to evaluate and inline them…
127
+ const evaluatedId = staticEval(id, evaluate);
128
+ if (evaluatedId) {
129
+ (0, scopeHelpers_1.mutate)(id, (p) => {
130
+ p.replaceWith((0, valueToLiteral_1.valueToLiteral)(evaluatedId[0], ex));
131
+ });
132
+ }
133
+ else {
134
+ // … or hoist them to the root scope
135
+ hoistIdentifier(id);
136
+ }
137
+ });
138
+ }
139
+ const kind = isFunction ? shared_1.ValueType.FUNCTION : shared_1.ValueType.LAZY;
140
+ // Declare _expN const with the lazy expression
141
+ const declaration = expressionDeclarationTpl({
142
+ expId: (0, createId_1.createId)(expUid),
143
+ expression: evaluated
144
+ ? (0, valueToLiteral_1.valueToLiteral)(evaluated[0], ex)
145
+ : (0, types_1.cloneNode)(ex.node),
146
+ });
147
+ // Insert the declaration as close as possible to the original expression
148
+ const [inserted] = statementInRoot.insertBefore(declaration);
149
+ (0, scopeHelpers_1.referenceAll)(inserted);
150
+ rootScope.registerDeclaration(inserted);
151
+ const importedFrom = [];
152
+ function findImportSourceOfIdentifier(idPath) {
153
+ const exBindingIdentifier = idPath.scope.getBinding(idPath.node.name)
154
+ ?.identifier;
155
+ const exImport = imports.find((i) => i.local.node === exBindingIdentifier) ?? null;
156
+ if (exImport) {
157
+ importedFrom.push(exImport.source);
158
+ }
159
+ }
160
+ if (ex.isIdentifier()) {
161
+ findImportSourceOfIdentifier(ex);
162
+ }
163
+ else {
164
+ ex.traverse({
165
+ Identifier: findImportSourceOfIdentifier,
166
+ });
167
+ }
168
+ // Replace the expression with the _expN() call
169
+ (0, scopeHelpers_1.mutate)(ex, (p) => {
170
+ p.replaceWith({
171
+ type: 'CallExpression',
172
+ callee: (0, createId_1.createId)(expUid),
173
+ arguments: [],
174
+ });
175
+ });
176
+ // eslint-disable-next-line no-param-reassign
177
+ ex.node.loc = loc;
178
+ // noinspection UnnecessaryLocalVariableJS
179
+ const result = {
180
+ kind,
181
+ ex: (0, createId_1.createId)(expUid, loc),
182
+ importedFrom,
183
+ };
184
+ return result;
185
+ }
186
+ exports.extractExpression = extractExpression;
187
+ const debug = shared_1.logger.extend('template-parse:identify-expressions');
188
+ /**
189
+ * Collects, hoists, and makes lazy all expressions in the given template
190
+ * If evaluate is true, it will try to evaluate the expressions
191
+ */
192
+ function collectTemplateDependencies(path, evaluate = false) {
193
+ const quasi = path.get('quasi');
194
+ const quasis = quasi.get('quasis');
195
+ const expressions = quasi.get('expressions');
196
+ debug('Found: %s', expressions.length);
197
+ const expressionValues = expressions.map((ex) => {
198
+ const buildCodeFrameError = ex.buildCodeFrameError.bind(ex);
199
+ const source = (0, getSource_1.getSource)(ex);
200
+ if (!ex.isExpression()) {
201
+ throw buildCodeFrameError(`The expression '${source}' is not supported.`);
202
+ }
203
+ const extracted = extractExpression(ex, evaluate);
204
+ return {
205
+ ...extracted,
206
+ source,
207
+ buildCodeFrameError,
208
+ };
209
+ });
210
+ return [quasis.map((p) => p.node), expressionValues];
211
+ }
212
+ exports.collectTemplateDependencies = collectTemplateDependencies;
@@ -0,0 +1,2 @@
1
+ import type { Identifier, SourceLocation } from '@babel/types';
2
+ export declare const createId: (name: string, loc?: SourceLocation | null) => Identifier;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createId = void 0;
4
+ const createId = (name, loc) => ({
5
+ type: 'Identifier',
6
+ name,
7
+ loc,
8
+ });
9
+ exports.createId = createId;
File without changes
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // @ts-expect-error
3
+ Symbol.dispose ??= Symbol('Symbol.dispose');
4
+ // @ts-expect-error
5
+ Symbol.asyncDispose ??= Symbol('Symbol.asyncDispose');
@@ -0,0 +1,6 @@
1
+ import type { NodePath } from '@babel/traverse';
2
+ import type { Node, Identifier, JSXIdentifier } from '@babel/types';
3
+ type FindType = 'any' | 'binding' | 'declaration' | 'reference';
4
+ export declare function nonType(path: NodePath): boolean;
5
+ export declare function findIdentifiers(expressions: NodePath<Node | null | undefined>[], type?: FindType): NodePath<Identifier | JSXIdentifier>[];
6
+ export {};
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findIdentifiers = exports.nonType = void 0;
4
+ const getScope_1 = require("./getScope");
5
+ function isInUnary(path) {
6
+ return path.parentPath?.isUnaryExpression() ?? false;
7
+ }
8
+ // It's possible for non-strict mode code to have variable deletions.
9
+ function isInDelete(path) {
10
+ return path.parentPath.node.operator === 'delete';
11
+ }
12
+ function isBindingIdentifier(path) {
13
+ return path.isBindingIdentifier() && (!isInUnary(path) || isInDelete(path));
14
+ }
15
+ function isReferencedIdentifier(path) {
16
+ return (path.isReferencedIdentifier() || (isInUnary(path) && !isInDelete(path)));
17
+ }
18
+ // For some reasons, `isBindingIdentifier` returns true for identifiers inside unary expressions.
19
+ const checkers = {
20
+ any: (ex) => isBindingIdentifier(ex) || isReferencedIdentifier(ex),
21
+ binding: (ex) => isBindingIdentifier(ex),
22
+ declaration: (ex) => isBindingIdentifier(ex) &&
23
+ ex.scope.getBinding(ex.node.name)?.identifier === ex.node,
24
+ reference: (ex) => isReferencedIdentifier(ex),
25
+ };
26
+ function nonType(path) {
27
+ return !path.find((p) => p.isTSTypeReference() ||
28
+ p.isTSTypeQuery() ||
29
+ p.isFlowType() ||
30
+ p.isFlowDeclaration() ||
31
+ p.isTSInterfaceDeclaration());
32
+ }
33
+ exports.nonType = nonType;
34
+ function findIdentifiers(expressions, type = 'reference') {
35
+ const identifiers = [];
36
+ expressions.forEach((ex) => {
37
+ const emit = (path) => {
38
+ if (!path.node || path.removed || !checkers[type](path)) {
39
+ return;
40
+ }
41
+ // TODO: Is there a better way to check that it's a local variable?
42
+ const binding = (0, getScope_1.getScope)(path).getBinding(path.node.name);
43
+ if (!binding) {
44
+ return;
45
+ }
46
+ if (type === 'reference' && ex.isAncestor(binding.path)) {
47
+ // This identifier is declared inside the expression. We don't need it.
48
+ return;
49
+ }
50
+ identifiers.push(path);
51
+ };
52
+ if (ex.isIdentifier() || ex.isJSXIdentifier()) {
53
+ emit(ex);
54
+ }
55
+ else {
56
+ ex.traverse({
57
+ Identifier(path) {
58
+ emit(path);
59
+ },
60
+ JSXIdentifier(path) {
61
+ emit(path);
62
+ },
63
+ });
64
+ }
65
+ });
66
+ return identifiers;
67
+ }
68
+ exports.findIdentifiers = findIdentifiers;
@@ -0,0 +1 @@
1
+ export declare function findPackageJSON(pkgName: string, filename: string | null | undefined): string | undefined;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.findPackageJSON = void 0;
7
+ const path_1 = require("path");
8
+ const find_up_1 = __importDefault(require("find-up"));
9
+ const cache = new Map();
10
+ function findPackageJSON(pkgName, filename) {
11
+ try {
12
+ const pkgPath = pkgName === '.' && filename && (0, path_1.isAbsolute)(filename)
13
+ ? filename
14
+ : require.resolve(pkgName, filename ? { paths: [(0, path_1.dirname)(filename)] } : {});
15
+ if (!cache.has(pkgPath)) {
16
+ cache.set(pkgPath, find_up_1.default.sync('package.json', { cwd: pkgPath }));
17
+ }
18
+ return cache.get(pkgPath);
19
+ }
20
+ catch (er) {
21
+ if (typeof er === 'object' &&
22
+ er !== null &&
23
+ er.code === 'MODULE_NOT_FOUND') {
24
+ return undefined;
25
+ }
26
+ throw er;
27
+ }
28
+ }
29
+ exports.findPackageJSON = findPackageJSON;
@@ -0,0 +1 @@
1
+ export declare function getFileIdx(name: string): string;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFileIdx = void 0;
4
+ let nextIdx = 1;
5
+ const processed = new Map();
6
+ function getFileIdx(name) {
7
+ if (!processed.has(name)) {
8
+ // eslint-disable-next-line no-plusplus
9
+ processed.set(name, nextIdx++);
10
+ }
11
+ return processed.get(name).toString().padStart(5, '0');
12
+ }
13
+ exports.getFileIdx = getFileIdx;
@@ -0,0 +1,2 @@
1
+ import type { PluginItem } from '@babel/core';
2
+ export declare const getPluginKey: (plugin: PluginItem) => string | null;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPluginKey = void 0;
4
+ const getPluginKey = (plugin) => {
5
+ if (typeof plugin === 'string') {
6
+ return plugin;
7
+ }
8
+ if (Array.isArray(plugin)) {
9
+ return (0, exports.getPluginKey)(plugin[0]);
10
+ }
11
+ if (typeof plugin === 'object' && plugin !== null && 'key' in plugin) {
12
+ return plugin.key ?? null;
13
+ }
14
+ return null;
15
+ };
16
+ exports.getPluginKey = getPluginKey;
@@ -0,0 +1,2 @@
1
+ import type { NodePath } from '@babel/traverse';
2
+ export declare function getScope(path: NodePath): import("@babel/traverse").Scope;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getScope = void 0;
4
+ function getScope(path) {
5
+ // In some nodes (like FunctionDeclaration) `scope` for `id` returns
6
+ // local function scope instead of a scope where function is declared.
7
+ return path.key === 'id' && path.parent === path.scope.block
8
+ ? path.scope.parent
9
+ : path.scope;
10
+ }
11
+ exports.getScope = getScope;
@@ -0,0 +1,2 @@
1
+ import type { NodePath } from '@babel/traverse';
2
+ export declare const getSource: (path: NodePath, force?: boolean) => string;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getSource = void 0;
7
+ const generator_1 = __importDefault(require("@babel/generator"));
8
+ const getSource = (path, force = false) => {
9
+ if (path.isIdentifier()) {
10
+ // Fast-lane for identifiers
11
+ return path.node.name;
12
+ }
13
+ let source;
14
+ try {
15
+ source = force ? undefined : path.getSource();
16
+ // eslint-disable-next-line no-empty
17
+ }
18
+ catch { }
19
+ source = source || (0, generator_1.default)(path.node).code;
20
+ return path.node.extra?.parenthesized ? `(${source})` : source;
21
+ };
22
+ exports.getSource = getSource;
@@ -0,0 +1,6 @@
1
+ import type { NodePath } from '@babel/traverse';
2
+ import type { Identifier } from '@babel/types';
3
+ import { BaseProcessor } from '@wyw-in-js/processor-utils';
4
+ import type { IFileContext } from '@wyw-in-js/processor-utils';
5
+ import type { StrictOptions } from '@wyw-in-js/shared';
6
+ export declare function getTagProcessor(path: NodePath<Identifier>, fileContext: IFileContext, options: Pick<StrictOptions, 'classNameSlug' | 'displayName' | 'evaluate' | 'tagResolver'>): BaseProcessor | null;