@wyw-in-js/transform 1.1.0 → 2.0.0-alpha.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 (603) hide show
  1. package/esm/cache.js +426 -289
  2. package/esm/cache.js.map +1 -1
  3. package/esm/debug/fileReporter.js +137 -134
  4. package/esm/debug/fileReporter.js.map +1 -1
  5. package/esm/eval/broker.js +2134 -0
  6. package/esm/eval/broker.js.map +1 -0
  7. package/esm/eval/lru.js +36 -0
  8. package/esm/eval/lru.js.map +1 -0
  9. package/esm/eval/prepareModuleOnDemand.js +21 -0
  10. package/esm/eval/prepareModuleOnDemand.js.map +1 -0
  11. package/esm/eval/protocol.js +2 -0
  12. package/esm/eval/protocol.js.map +1 -0
  13. package/esm/eval/resolverStrategy.js +51 -0
  14. package/esm/eval/resolverStrategy.js.map +1 -0
  15. package/esm/eval/runner.js +1759 -0
  16. package/esm/eval/runner.js.map +1 -0
  17. package/esm/eval/serialize.js +333 -0
  18. package/esm/eval/serialize.js.map +1 -0
  19. package/esm/eval/writeQueue.js +81 -0
  20. package/esm/eval/writeQueue.js.map +1 -0
  21. package/esm/evaluators/index.js +11 -12
  22. package/esm/evaluators/index.js.map +1 -1
  23. package/esm/index.js +25 -29
  24. package/esm/index.js.map +1 -1
  25. package/esm/module.js +896 -520
  26. package/esm/module.js.map +1 -1
  27. package/esm/shaker.js +14 -80
  28. package/esm/shaker.js.map +1 -1
  29. package/esm/transform/BaseEntrypoint.js +162 -164
  30. package/esm/transform/BaseEntrypoint.js.map +1 -1
  31. package/esm/transform/Entrypoint.helpers.js +96 -253
  32. package/esm/transform/Entrypoint.helpers.js.map +1 -1
  33. package/esm/transform/Entrypoint.js +336 -270
  34. package/esm/transform/Entrypoint.js.map +1 -1
  35. package/esm/transform/Entrypoint.types.js +1 -1
  36. package/esm/transform/Entrypoint.types.js.map +1 -1
  37. package/esm/transform/EvaluatedEntrypoint.js +10 -4
  38. package/esm/transform/EvaluatedEntrypoint.js.map +1 -1
  39. package/esm/transform/actions/AbortError.js +6 -6
  40. package/esm/transform/actions/AbortError.js.map +1 -1
  41. package/esm/transform/actions/BaseAction.js +140 -136
  42. package/esm/transform/actions/BaseAction.js.map +1 -1
  43. package/esm/transform/actions/UnprocessedEntrypointError.js +6 -6
  44. package/esm/transform/actions/UnprocessedEntrypointError.js.map +1 -1
  45. package/esm/transform/actions/actionRunner.js +63 -66
  46. package/esm/transform/actions/actionRunner.js.map +1 -1
  47. package/esm/transform/actions/types.js +1 -1
  48. package/esm/transform/actions/types.js.map +1 -1
  49. package/esm/transform/barrelManifest.types.js +2 -0
  50. package/esm/transform/barrelManifest.types.js.map +1 -0
  51. package/esm/transform/generators/baseProcessingHandlers.js +15 -17
  52. package/esm/transform/generators/baseProcessingHandlers.js.map +1 -1
  53. package/esm/transform/generators/collect.js +27 -55
  54. package/esm/transform/generators/collect.js.map +1 -1
  55. package/esm/transform/generators/createStylisPreprocessor.js +353 -321
  56. package/esm/transform/generators/createStylisPreprocessor.js.map +1 -1
  57. package/esm/transform/generators/evalFile.js +48 -47
  58. package/esm/transform/generators/evalFile.js.map +1 -1
  59. package/esm/transform/generators/extract.js +78 -90
  60. package/esm/transform/generators/extract.js.map +1 -1
  61. package/esm/transform/generators/getExports.js +57 -74
  62. package/esm/transform/generators/getExports.js.map +1 -1
  63. package/esm/transform/generators/index.js +11 -11
  64. package/esm/transform/generators/index.js.map +1 -1
  65. package/esm/transform/generators/processEntrypoint.js +78 -67
  66. package/esm/transform/generators/processEntrypoint.js.map +1 -1
  67. package/esm/transform/generators/processImports.js +102 -67
  68. package/esm/transform/generators/processImports.js.map +1 -1
  69. package/esm/transform/generators/resolveImports.js +165 -196
  70. package/esm/transform/generators/resolveImports.js.map +1 -1
  71. package/esm/transform/generators/resolveStaticOxcValues.js +2911 -0
  72. package/esm/transform/generators/resolveStaticOxcValues.js.map +1 -0
  73. package/esm/transform/generators/rewriteOxcBarrelImports.js +822 -0
  74. package/esm/transform/generators/rewriteOxcBarrelImports.js.map +1 -0
  75. package/esm/transform/generators/transform.js +239 -248
  76. package/esm/transform/generators/transform.js.map +1 -1
  77. package/esm/transform/generators/workflow.js +87 -90
  78. package/esm/transform/generators/workflow.js.map +1 -1
  79. package/esm/transform/helpers/loadWywOptions.js +154 -74
  80. package/esm/transform/helpers/loadWywOptions.js.map +1 -1
  81. package/esm/transform/helpers/withDefaultServices.js +13 -22
  82. package/esm/transform/helpers/withDefaultServices.js.map +1 -1
  83. package/esm/transform/isStaticallyEvaluatableModule.js +140 -152
  84. package/esm/transform/isStaticallyEvaluatableModule.js.map +1 -1
  85. package/esm/transform/oxcBarrelManifest.js +349 -0
  86. package/esm/transform/oxcBarrelManifest.js.map +1 -0
  87. package/esm/transform/rootLog.js +3 -3
  88. package/esm/transform/rootLog.js.map +1 -1
  89. package/esm/transform/syntax.js +2 -0
  90. package/esm/transform/syntax.js.map +1 -0
  91. package/esm/transform/types.js +2 -2
  92. package/esm/transform/types.js.map +1 -1
  93. package/esm/transform.js +123 -147
  94. package/esm/transform.js.map +1 -1
  95. package/esm/types.js +4 -1
  96. package/esm/types.js.map +1 -1
  97. package/esm/utils/EventEmitter.js +46 -48
  98. package/esm/utils/EventEmitter.js.map +1 -1
  99. package/esm/utils/ShakerMetadata.js +2 -2
  100. package/esm/utils/ShakerMetadata.js.map +1 -1
  101. package/esm/utils/TransformDiagnostics.js +9 -9
  102. package/esm/utils/TransformDiagnostics.js.map +1 -1
  103. package/esm/utils/TransformMetadata.js +24 -26
  104. package/esm/utils/TransformMetadata.js.map +1 -1
  105. package/esm/utils/applyOxcProcessors.js +1217 -0
  106. package/esm/utils/applyOxcProcessors.js.map +1 -0
  107. package/esm/utils/collectOxcExportsAndImports.js +934 -0
  108. package/esm/utils/collectOxcExportsAndImports.js.map +1 -0
  109. package/esm/utils/collectOxcRuntime.js +220 -0
  110. package/esm/utils/collectOxcRuntime.js.map +1 -0
  111. package/esm/utils/collectOxcTemplateDependencies.js +1398 -0
  112. package/esm/utils/collectOxcTemplateDependencies.js.map +1 -0
  113. package/esm/utils/dispose-polyfill.js +3 -4
  114. package/esm/utils/dispose-polyfill.js.map +1 -1
  115. package/esm/utils/getFileIdx.js +6 -6
  116. package/esm/utils/getFileIdx.js.map +1 -1
  117. package/esm/utils/getPluginKey.js +12 -12
  118. package/esm/utils/getPluginKey.js.map +1 -1
  119. package/esm/utils/getVisitorKeys.js +9 -3
  120. package/esm/utils/getVisitorKeys.js.map +1 -1
  121. package/esm/utils/hasCachedWywPrevalExport.js +23 -0
  122. package/esm/utils/hasCachedWywPrevalExport.js.map +1 -0
  123. package/esm/utils/hasWywPreval.js +5 -5
  124. package/esm/utils/hasWywPreval.js.map +1 -1
  125. package/esm/utils/importOverrides.js +75 -90
  126. package/esm/utils/importOverrides.js.map +1 -1
  127. package/esm/utils/isNode.js +2 -2
  128. package/esm/utils/isNode.js.map +1 -1
  129. package/esm/utils/isNotNull.js +2 -2
  130. package/esm/utils/isNotNull.js.map +1 -1
  131. package/esm/utils/isSerializable.js +11 -11
  132. package/esm/utils/isSerializable.js.map +1 -1
  133. package/esm/utils/oxcAstService.js +121 -0
  134. package/esm/utils/oxcAstService.js.map +1 -0
  135. package/esm/utils/oxcEmit.js +447 -0
  136. package/esm/utils/oxcEmit.js.map +1 -0
  137. package/esm/utils/oxcPreevalStage.js +97 -0
  138. package/esm/utils/oxcPreevalStage.js.map +1 -0
  139. package/esm/utils/oxcPreevalTransforms.js +1054 -0
  140. package/esm/utils/oxcPreevalTransforms.js.map +1 -0
  141. package/esm/utils/oxcShaker.js +662 -0
  142. package/esm/utils/oxcShaker.js.map +1 -0
  143. package/esm/utils/parseOxc.js +37 -0
  144. package/esm/utils/parseOxc.js.map +1 -0
  145. package/esm/utils/parseRequest.js +27 -27
  146. package/esm/utils/parseRequest.js.map +1 -1
  147. package/esm/utils/peek.js +1 -1
  148. package/esm/utils/peek.js.map +1 -1
  149. package/esm/utils/processorLookup.js +125 -0
  150. package/esm/utils/processorLookup.js.map +1 -0
  151. package/esm/utils/resolveWithConditions.js +99 -0
  152. package/esm/utils/resolveWithConditions.js.map +1 -0
  153. package/esm/vm/createVmContext.js +140 -141
  154. package/esm/vm/createVmContext.js.map +1 -1
  155. package/esm/vm/process.js +11 -13
  156. package/esm/vm/process.js.map +1 -1
  157. package/package.json +18 -26
  158. package/types/cache.d.ts +17 -8
  159. package/types/cache.js +237 -95
  160. package/types/debug/fileReporter.js +22 -22
  161. package/types/eval/broker.d.ts +88 -0
  162. package/types/eval/broker.js +2262 -0
  163. package/types/eval/lru.d.ts +10 -0
  164. package/types/eval/lru.js +36 -0
  165. package/types/eval/prepareModuleOnDemand.d.ts +7 -0
  166. package/types/eval/prepareModuleOnDemand.js +24 -0
  167. package/types/eval/protocol.d.ts +97 -0
  168. package/types/eval/protocol.js +1 -0
  169. package/types/eval/resolverStrategy.d.ts +13 -0
  170. package/types/eval/resolverStrategy.js +46 -0
  171. package/types/eval/serialize.d.ts +78 -0
  172. package/types/eval/serialize.js +357 -0
  173. package/types/eval/writeQueue.d.ts +13 -0
  174. package/types/eval/writeQueue.js +80 -0
  175. package/types/evaluators/index.d.ts +2 -2
  176. package/types/evaluators/index.js +6 -9
  177. package/types/index.d.ts +3 -6
  178. package/types/index.js +24 -82
  179. package/types/module.d.ts +35 -7
  180. package/types/module.js +535 -163
  181. package/types/shaker.d.ts +2 -10
  182. package/types/shaker.js +10 -100
  183. package/types/transform/BaseEntrypoint.js +6 -11
  184. package/types/transform/Entrypoint.d.ts +15 -15
  185. package/types/transform/Entrypoint.helpers.d.ts +2 -5
  186. package/types/transform/Entrypoint.helpers.js +43 -203
  187. package/types/transform/Entrypoint.js +130 -53
  188. package/types/transform/Entrypoint.types.d.ts +28 -6
  189. package/types/transform/Entrypoint.types.js +1 -2
  190. package/types/transform/EvaluatedEntrypoint.d.ts +13 -2
  191. package/types/transform/EvaluatedEntrypoint.js +7 -6
  192. package/types/transform/actions/AbortError.js +2 -7
  193. package/types/transform/actions/BaseAction.js +4 -8
  194. package/types/transform/actions/UnprocessedEntrypointError.js +2 -7
  195. package/types/transform/actions/actionRunner.js +8 -12
  196. package/types/transform/actions/types.d.ts +2 -2
  197. package/types/transform/actions/types.js +1 -2
  198. package/types/transform/{barrelManifest.d.ts → barrelManifest.types.d.ts} +0 -2
  199. package/types/transform/barrelManifest.types.js +1 -0
  200. package/types/transform/generators/baseProcessingHandlers.d.ts +4 -5
  201. package/types/transform/generators/baseProcessingHandlers.js +10 -14
  202. package/types/transform/generators/collect.js +13 -39
  203. package/types/transform/generators/createStylisPreprocessor.js +19 -60
  204. package/types/transform/generators/evalFile.d.ts +2 -2
  205. package/types/transform/generators/evalFile.js +26 -28
  206. package/types/transform/generators/extract.js +5 -8
  207. package/types/transform/generators/getExports.js +23 -30
  208. package/types/transform/generators/index.d.ts +2 -2
  209. package/types/transform/generators/index.js +11 -14
  210. package/types/transform/generators/processEntrypoint.d.ts +2 -2
  211. package/types/transform/generators/processEntrypoint.js +60 -26
  212. package/types/transform/generators/processImports.d.ts +0 -3
  213. package/types/transform/generators/processImports.js +60 -20
  214. package/types/transform/generators/resolveImports.js +18 -22
  215. package/types/transform/generators/resolveStaticOxcValues.d.ts +2 -0
  216. package/types/transform/generators/resolveStaticOxcValues.js +3235 -0
  217. package/types/transform/generators/{rewriteBarrelImports.d.ts → rewriteOxcBarrelImports.d.ts} +2 -3
  218. package/types/transform/generators/{rewriteBarrelImports.js → rewriteOxcBarrelImports.js} +282 -225
  219. package/types/transform/generators/transform.d.ts +3 -7
  220. package/types/transform/generators/transform.js +203 -199
  221. package/types/transform/generators/workflow.js +62 -45
  222. package/types/transform/helpers/loadWywOptions.js +94 -20
  223. package/types/transform/helpers/withDefaultServices.d.ts +1 -1
  224. package/types/transform/helpers/withDefaultServices.js +6 -44
  225. package/types/transform/isStaticallyEvaluatableModule.d.ts +1 -2
  226. package/types/transform/isStaticallyEvaluatableModule.js +125 -126
  227. package/types/transform/oxcBarrelManifest.d.ts +2 -0
  228. package/types/transform/{barrelManifest.js → oxcBarrelManifest.js} +156 -97
  229. package/types/transform/rootLog.js +2 -5
  230. package/types/transform/syntax.d.ts +38 -0
  231. package/types/transform/syntax.js +1 -0
  232. package/types/transform/types.d.ts +9 -6
  233. package/types/transform/types.js +1 -4
  234. package/types/transform.d.ts +2 -2
  235. package/types/transform.js +88 -101
  236. package/types/types.d.ts +0 -23
  237. package/types/types.js +1 -2
  238. package/types/utils/EventEmitter.js +3 -9
  239. package/types/utils/ShakerMetadata.js +1 -5
  240. package/types/utils/TransformDiagnostics.js +3 -7
  241. package/types/utils/TransformMetadata.js +8 -16
  242. package/types/utils/applyOxcProcessors.d.ts +16 -0
  243. package/types/utils/applyOxcProcessors.js +1391 -0
  244. package/types/utils/collectOxcExportsAndImports.d.ts +35 -0
  245. package/types/utils/collectOxcExportsAndImports.js +957 -0
  246. package/types/utils/collectOxcRuntime.d.ts +14 -0
  247. package/types/utils/collectOxcRuntime.js +250 -0
  248. package/types/utils/collectOxcTemplateDependencies.d.ts +38 -0
  249. package/types/utils/collectOxcTemplateDependencies.js +1580 -0
  250. package/types/utils/getFileIdx.js +1 -4
  251. package/types/utils/getPluginKey.d.ts +5 -2
  252. package/types/utils/getPluginKey.js +2 -6
  253. package/types/utils/getVisitorKeys.d.ts +4 -4
  254. package/types/utils/getVisitorKeys.js +9 -6
  255. package/types/utils/hasCachedWywPrevalExport.d.ts +14 -0
  256. package/types/utils/hasCachedWywPrevalExport.js +30 -0
  257. package/types/utils/hasWywPreval.js +1 -4
  258. package/types/utils/importOverrides.js +17 -27
  259. package/types/utils/isNode.d.ts +2 -2
  260. package/types/utils/isNode.js +2 -6
  261. package/types/utils/isNotNull.js +1 -4
  262. package/types/utils/isSerializable.js +3 -6
  263. package/types/utils/oxcAstService.d.ts +11 -0
  264. package/types/utils/oxcAstService.js +79 -0
  265. package/types/utils/oxcEmit.d.ts +19 -0
  266. package/types/utils/oxcEmit.js +506 -0
  267. package/types/utils/oxcPreevalStage.d.ts +20 -0
  268. package/types/utils/oxcPreevalStage.js +102 -0
  269. package/types/utils/oxcPreevalTransforms.d.ts +13 -0
  270. package/types/utils/oxcPreevalTransforms.js +1179 -0
  271. package/types/utils/oxcShaker.d.ts +13 -0
  272. package/types/utils/oxcShaker.js +751 -0
  273. package/types/utils/parseOxc.d.ts +11 -0
  274. package/types/utils/parseOxc.js +38 -0
  275. package/types/utils/parseRequest.js +2 -7
  276. package/types/utils/peek.js +1 -5
  277. package/types/utils/processorLookup.d.ts +8 -0
  278. package/types/utils/processorLookup.js +135 -0
  279. package/types/utils/resolveWithConditions.d.ts +12 -0
  280. package/types/utils/resolveWithConditions.js +103 -0
  281. package/types/vm/createVmContext.d.ts +2 -2
  282. package/types/vm/createVmContext.js +25 -62
  283. package/types/vm/process.js +20 -26
  284. package/esm/babel.js +0 -2
  285. package/esm/babel.js.map +0 -1
  286. package/esm/options/buildOptions.js +0 -168
  287. package/esm/options/buildOptions.js.map +0 -1
  288. package/esm/options/buildOptions.test.js +0 -138
  289. package/esm/options/buildOptions.test.js.map +0 -1
  290. package/esm/options/loadBabelOptions.js +0 -24
  291. package/esm/options/loadBabelOptions.js.map +0 -1
  292. package/esm/plugins/babel-transform.js +0 -53
  293. package/esm/plugins/babel-transform.js.map +0 -1
  294. package/esm/plugins/collector.js +0 -60
  295. package/esm/plugins/collector.js.map +0 -1
  296. package/esm/plugins/dynamic-import.js +0 -56
  297. package/esm/plugins/dynamic-import.js.map +0 -1
  298. package/esm/plugins/preeval.js +0 -73
  299. package/esm/plugins/preeval.js.map +0 -1
  300. package/esm/plugins/shaker.js +0 -680
  301. package/esm/plugins/shaker.js.map +0 -1
  302. package/esm/transform/barrelManifest.js +0 -291
  303. package/esm/transform/barrelManifest.js.map +0 -1
  304. package/esm/transform/generators/explodeReexports.js +0 -64
  305. package/esm/transform/generators/explodeReexports.js.map +0 -1
  306. package/esm/transform/generators/rewriteBarrelImports.js +0 -733
  307. package/esm/transform/generators/rewriteBarrelImports.js.map +0 -1
  308. package/esm/utils/addIdentifierToWywPreval.js +0 -68
  309. package/esm/utils/addIdentifierToWywPreval.js.map +0 -1
  310. package/esm/utils/collectExportsAndImports.js +0 -1157
  311. package/esm/utils/collectExportsAndImports.js.map +0 -1
  312. package/esm/utils/collectTemplateDependencies.js +0 -228
  313. package/esm/utils/collectTemplateDependencies.js.map +0 -1
  314. package/esm/utils/createId.js +0 -6
  315. package/esm/utils/createId.js.map +0 -1
  316. package/esm/utils/findIdentifiers.js +0 -62
  317. package/esm/utils/findIdentifiers.js.map +0 -1
  318. package/esm/utils/getConstantStringValue.js +0 -58
  319. package/esm/utils/getConstantStringValue.js.map +0 -1
  320. package/esm/utils/getMemberExpressionPropertyName.js +0 -11
  321. package/esm/utils/getMemberExpressionPropertyName.js.map +0 -1
  322. package/esm/utils/getScope.js +0 -6
  323. package/esm/utils/getScope.js.map +0 -1
  324. package/esm/utils/getSource.js +0 -15
  325. package/esm/utils/getSource.js.map +0 -1
  326. package/esm/utils/getTagProcessor.js +0 -404
  327. package/esm/utils/getTagProcessor.js.map +0 -1
  328. package/esm/utils/isExports.js +0 -22
  329. package/esm/utils/isExports.js.map +0 -1
  330. package/esm/utils/isGlobal.js +0 -6
  331. package/esm/utils/isGlobal.js.map +0 -1
  332. package/esm/utils/isNodePath.js +0 -4
  333. package/esm/utils/isNodePath.js.map +0 -1
  334. package/esm/utils/isRemoved.js +0 -46
  335. package/esm/utils/isRemoved.js.map +0 -1
  336. package/esm/utils/isRequire.js +0 -13
  337. package/esm/utils/isRequire.js.map +0 -1
  338. package/esm/utils/isTypedNode.js +0 -6
  339. package/esm/utils/isTypedNode.js.map +0 -1
  340. package/esm/utils/isUnnecessaryReactCall.js +0 -72
  341. package/esm/utils/isUnnecessaryReactCall.js.map +0 -1
  342. package/esm/utils/removeDangerousCode.js +0 -276
  343. package/esm/utils/removeDangerousCode.js.map +0 -1
  344. package/esm/utils/replaceImportMetaEnv.js +0 -44
  345. package/esm/utils/replaceImportMetaEnv.js.map +0 -1
  346. package/esm/utils/scopeHelpers.js +0 -527
  347. package/esm/utils/scopeHelpers.js.map +0 -1
  348. package/esm/utils/traversalCache.js +0 -23
  349. package/esm/utils/traversalCache.js.map +0 -1
  350. package/esm/utils/unwrapExpression.js +0 -18
  351. package/esm/utils/unwrapExpression.js.map +0 -1
  352. package/esm/utils/unwrapSequence.js +0 -14
  353. package/esm/utils/unwrapSequence.js.map +0 -1
  354. package/esm/utils/valueToLiteral.js +0 -59
  355. package/esm/utils/valueToLiteral.js.map +0 -1
  356. package/esm/utils/visitors/JSXElementsRemover.js +0 -51
  357. package/esm/utils/visitors/JSXElementsRemover.js.map +0 -1
  358. package/lib/babel.js +0 -2
  359. package/lib/babel.js.map +0 -1
  360. package/lib/cache.js +0 -308
  361. package/lib/cache.js.map +0 -1
  362. package/lib/debug/fileReporter.js +0 -153
  363. package/lib/debug/fileReporter.js.map +0 -1
  364. package/lib/evaluators/index.js +0 -20
  365. package/lib/evaluators/index.js.map +0 -1
  366. package/lib/index.js +0 -286
  367. package/lib/index.js.map +0 -1
  368. package/lib/module.js +0 -552
  369. package/lib/module.js.map +0 -1
  370. package/lib/options/buildOptions.js +0 -176
  371. package/lib/options/buildOptions.js.map +0 -1
  372. package/lib/options/buildOptions.test.js +0 -141
  373. package/lib/options/buildOptions.test.js.map +0 -1
  374. package/lib/options/loadBabelOptions.js +0 -31
  375. package/lib/options/loadBabelOptions.js.map +0 -1
  376. package/lib/plugins/babel-transform.js +0 -60
  377. package/lib/plugins/babel-transform.js.map +0 -1
  378. package/lib/plugins/collector.js +0 -70
  379. package/lib/plugins/collector.js.map +0 -1
  380. package/lib/plugins/dynamic-import.js +0 -61
  381. package/lib/plugins/dynamic-import.js.map +0 -1
  382. package/lib/plugins/preeval.js +0 -81
  383. package/lib/plugins/preeval.js.map +0 -1
  384. package/lib/plugins/shaker.js +0 -691
  385. package/lib/plugins/shaker.js.map +0 -1
  386. package/lib/shaker.js +0 -95
  387. package/lib/shaker.js.map +0 -1
  388. package/lib/transform/BaseEntrypoint.js +0 -179
  389. package/lib/transform/BaseEntrypoint.js.map +0 -1
  390. package/lib/transform/Entrypoint.helpers.js +0 -279
  391. package/lib/transform/Entrypoint.helpers.js.map +0 -1
  392. package/lib/transform/Entrypoint.js +0 -289
  393. package/lib/transform/Entrypoint.js.map +0 -1
  394. package/lib/transform/Entrypoint.types.js +0 -2
  395. package/lib/transform/Entrypoint.types.js.map +0 -1
  396. package/lib/transform/EvaluatedEntrypoint.js +0 -13
  397. package/lib/transform/EvaluatedEntrypoint.js.map +0 -1
  398. package/lib/transform/actions/AbortError.js +0 -16
  399. package/lib/transform/actions/AbortError.js.map +0 -1
  400. package/lib/transform/actions/BaseAction.js +0 -150
  401. package/lib/transform/actions/BaseAction.js.map +0 -1
  402. package/lib/transform/actions/UnprocessedEntrypointError.js +0 -16
  403. package/lib/transform/actions/UnprocessedEntrypointError.js.map +0 -1
  404. package/lib/transform/actions/actionRunner.js +0 -82
  405. package/lib/transform/actions/actionRunner.js.map +0 -1
  406. package/lib/transform/actions/types.js +0 -2
  407. package/lib/transform/actions/types.js.map +0 -1
  408. package/lib/transform/barrelManifest.js +0 -300
  409. package/lib/transform/barrelManifest.js.map +0 -1
  410. package/lib/transform/generators/baseProcessingHandlers.js +0 -27
  411. package/lib/transform/generators/baseProcessingHandlers.js.map +0 -1
  412. package/lib/transform/generators/collect.js +0 -66
  413. package/lib/transform/generators/collect.js.map +0 -1
  414. package/lib/transform/generators/createStylisPreprocessor.js +0 -372
  415. package/lib/transform/generators/createStylisPreprocessor.js.map +0 -1
  416. package/lib/transform/generators/evalFile.js +0 -57
  417. package/lib/transform/generators/evalFile.js.map +0 -1
  418. package/lib/transform/generators/explodeReexports.js +0 -71
  419. package/lib/transform/generators/explodeReexports.js.map +0 -1
  420. package/lib/transform/generators/extract.js +0 -102
  421. package/lib/transform/generators/extract.js.map +0 -1
  422. package/lib/transform/generators/getExports.js +0 -85
  423. package/lib/transform/generators/getExports.js.map +0 -1
  424. package/lib/transform/generators/index.js +0 -19
  425. package/lib/transform/generators/index.js.map +0 -1
  426. package/lib/transform/generators/processEntrypoint.js +0 -76
  427. package/lib/transform/generators/processEntrypoint.js.map +0 -1
  428. package/lib/transform/generators/processImports.js +0 -82
  429. package/lib/transform/generators/processImports.js.map +0 -1
  430. package/lib/transform/generators/resolveImports.js +0 -221
  431. package/lib/transform/generators/resolveImports.js.map +0 -1
  432. package/lib/transform/generators/rewriteBarrelImports.js +0 -743
  433. package/lib/transform/generators/rewriteBarrelImports.js.map +0 -1
  434. package/lib/transform/generators/transform.js +0 -272
  435. package/lib/transform/generators/transform.js.map +0 -1
  436. package/lib/transform/generators/workflow.js +0 -100
  437. package/lib/transform/generators/workflow.js.map +0 -1
  438. package/lib/transform/helpers/loadWywOptions.js +0 -88
  439. package/lib/transform/helpers/loadWywOptions.js.map +0 -1
  440. package/lib/transform/helpers/withDefaultServices.js +0 -31
  441. package/lib/transform/helpers/withDefaultServices.js.map +0 -1
  442. package/lib/transform/isStaticallyEvaluatableModule.js +0 -159
  443. package/lib/transform/isStaticallyEvaluatableModule.js.map +0 -1
  444. package/lib/transform/rootLog.js +0 -9
  445. package/lib/transform/rootLog.js.map +0 -1
  446. package/lib/transform/types.js +0 -8
  447. package/lib/transform/types.js.map +0 -1
  448. package/lib/transform.js +0 -160
  449. package/lib/transform.js.map +0 -1
  450. package/lib/types.js +0 -2
  451. package/lib/types.js.map +0 -1
  452. package/lib/utils/EventEmitter.js +0 -61
  453. package/lib/utils/EventEmitter.js.map +0 -1
  454. package/lib/utils/ShakerMetadata.js +0 -9
  455. package/lib/utils/ShakerMetadata.js.map +0 -1
  456. package/lib/utils/TransformDiagnostics.js +0 -20
  457. package/lib/utils/TransformDiagnostics.js.map +0 -1
  458. package/lib/utils/TransformMetadata.js +0 -45
  459. package/lib/utils/TransformMetadata.js.map +0 -1
  460. package/lib/utils/addIdentifierToWywPreval.js +0 -75
  461. package/lib/utils/addIdentifierToWywPreval.js.map +0 -1
  462. package/lib/utils/collectExportsAndImports.js +0 -1173
  463. package/lib/utils/collectExportsAndImports.js.map +0 -1
  464. package/lib/utils/collectTemplateDependencies.js +0 -242
  465. package/lib/utils/collectTemplateDependencies.js.map +0 -1
  466. package/lib/utils/createId.js +0 -13
  467. package/lib/utils/createId.js.map +0 -1
  468. package/lib/utils/dispose-polyfill.js +0 -9
  469. package/lib/utils/dispose-polyfill.js.map +0 -1
  470. package/lib/utils/findIdentifiers.js +0 -73
  471. package/lib/utils/findIdentifiers.js.map +0 -1
  472. package/lib/utils/getConstantStringValue.js +0 -66
  473. package/lib/utils/getConstantStringValue.js.map +0 -1
  474. package/lib/utils/getFileIdx.js +0 -16
  475. package/lib/utils/getFileIdx.js.map +0 -1
  476. package/lib/utils/getMemberExpressionPropertyName.js +0 -18
  477. package/lib/utils/getMemberExpressionPropertyName.js.map +0 -1
  478. package/lib/utils/getPluginKey.js +0 -21
  479. package/lib/utils/getPluginKey.js.map +0 -1
  480. package/lib/utils/getScope.js +0 -12
  481. package/lib/utils/getScope.js.map +0 -1
  482. package/lib/utils/getSource.js +0 -24
  483. package/lib/utils/getSource.js.map +0 -1
  484. package/lib/utils/getTagProcessor.js +0 -424
  485. package/lib/utils/getTagProcessor.js.map +0 -1
  486. package/lib/utils/getVisitorKeys.js +0 -11
  487. package/lib/utils/getVisitorKeys.js.map +0 -1
  488. package/lib/utils/hasWywPreval.js +0 -13
  489. package/lib/utils/hasWywPreval.js.map +0 -1
  490. package/lib/utils/importOverrides.js +0 -119
  491. package/lib/utils/importOverrides.js.map +0 -1
  492. package/lib/utils/isExports.js +0 -27
  493. package/lib/utils/isExports.js.map +0 -1
  494. package/lib/utils/isGlobal.js +0 -13
  495. package/lib/utils/isGlobal.js.map +0 -1
  496. package/lib/utils/isNode.js +0 -9
  497. package/lib/utils/isNode.js.map +0 -1
  498. package/lib/utils/isNodePath.js +0 -10
  499. package/lib/utils/isNodePath.js.map +0 -1
  500. package/lib/utils/isNotNull.js +0 -10
  501. package/lib/utils/isNotNull.js.map +0 -1
  502. package/lib/utils/isRemoved.js +0 -52
  503. package/lib/utils/isRemoved.js.map +0 -1
  504. package/lib/utils/isRequire.js +0 -18
  505. package/lib/utils/isRequire.js.map +0 -1
  506. package/lib/utils/isSerializable.js +0 -19
  507. package/lib/utils/isSerializable.js.map +0 -1
  508. package/lib/utils/isTypedNode.js +0 -13
  509. package/lib/utils/isTypedNode.js.map +0 -1
  510. package/lib/utils/isUnnecessaryReactCall.js +0 -81
  511. package/lib/utils/isUnnecessaryReactCall.js.map +0 -1
  512. package/lib/utils/parseRequest.js +0 -37
  513. package/lib/utils/parseRequest.js.map +0 -1
  514. package/lib/utils/peek.js +0 -9
  515. package/lib/utils/peek.js.map +0 -1
  516. package/lib/utils/removeDangerousCode.js +0 -284
  517. package/lib/utils/removeDangerousCode.js.map +0 -1
  518. package/lib/utils/replaceImportMetaEnv.js +0 -50
  519. package/lib/utils/replaceImportMetaEnv.js.map +0 -1
  520. package/lib/utils/scopeHelpers.js +0 -557
  521. package/lib/utils/scopeHelpers.js.map +0 -1
  522. package/lib/utils/traversalCache.js +0 -31
  523. package/lib/utils/traversalCache.js.map +0 -1
  524. package/lib/utils/unwrapExpression.js +0 -25
  525. package/lib/utils/unwrapExpression.js.map +0 -1
  526. package/lib/utils/unwrapSequence.js +0 -20
  527. package/lib/utils/unwrapSequence.js.map +0 -1
  528. package/lib/utils/valueToLiteral.js +0 -65
  529. package/lib/utils/valueToLiteral.js.map +0 -1
  530. package/lib/utils/visitors/JSXElementsRemover.js +0 -57
  531. package/lib/utils/visitors/JSXElementsRemover.js.map +0 -1
  532. package/lib/vm/createVmContext.js +0 -166
  533. package/lib/vm/createVmContext.js.map +0 -1
  534. package/lib/vm/process.js +0 -38
  535. package/lib/vm/process.js.map +0 -1
  536. package/types/babel.d.ts +0 -2
  537. package/types/babel.js +0 -2
  538. package/types/options/buildOptions.d.ts +0 -6
  539. package/types/options/buildOptions.js +0 -178
  540. package/types/options/loadBabelOptions.d.ts +0 -3
  541. package/types/options/loadBabelOptions.js +0 -26
  542. package/types/plugins/babel-transform.d.ts +0 -4
  543. package/types/plugins/babel-transform.js +0 -49
  544. package/types/plugins/collector.d.ts +0 -23
  545. package/types/plugins/collector.js +0 -62
  546. package/types/plugins/dynamic-import.d.ts +0 -6
  547. package/types/plugins/dynamic-import.js +0 -60
  548. package/types/plugins/preeval.d.ts +0 -16
  549. package/types/plugins/preeval.js +0 -69
  550. package/types/plugins/shaker.d.ts +0 -14
  551. package/types/plugins/shaker.js +0 -724
  552. package/types/transform/generators/explodeReexports.d.ts +0 -7
  553. package/types/transform/generators/explodeReexports.js +0 -65
  554. package/types/utils/addIdentifierToWywPreval.d.ts +0 -4
  555. package/types/utils/addIdentifierToWywPreval.js +0 -74
  556. package/types/utils/collectExportsAndImports.d.ts +0 -31
  557. package/types/utils/collectExportsAndImports.js +0 -1147
  558. package/types/utils/collectTemplateDependencies.d.ts +0 -17
  559. package/types/utils/collectTemplateDependencies.js +0 -220
  560. package/types/utils/createId.d.ts +0 -2
  561. package/types/utils/createId.js +0 -9
  562. package/types/utils/findIdentifiers.d.ts +0 -6
  563. package/types/utils/findIdentifiers.js +0 -67
  564. package/types/utils/getConstantStringValue.d.ts +0 -2
  565. package/types/utils/getConstantStringValue.js +0 -94
  566. package/types/utils/getMemberExpressionPropertyName.d.ts +0 -2
  567. package/types/utils/getMemberExpressionPropertyName.js +0 -46
  568. package/types/utils/getScope.d.ts +0 -2
  569. package/types/utils/getScope.js +0 -10
  570. package/types/utils/getSource.d.ts +0 -2
  571. package/types/utils/getSource.js +0 -22
  572. package/types/utils/getTagProcessor.d.ts +0 -13
  573. package/types/utils/getTagProcessor.js +0 -411
  574. package/types/utils/isExports.d.ts +0 -6
  575. package/types/utils/isExports.js +0 -19
  576. package/types/utils/isGlobal.d.ts +0 -2
  577. package/types/utils/isGlobal.js +0 -9
  578. package/types/utils/isNodePath.d.ts +0 -3
  579. package/types/utils/isNodePath.js +0 -6
  580. package/types/utils/isRemoved.d.ts +0 -5
  581. package/types/utils/isRemoved.js +0 -41
  582. package/types/utils/isRequire.d.ts +0 -6
  583. package/types/utils/isRequire.js +0 -14
  584. package/types/utils/isTypedNode.d.ts +0 -5
  585. package/types/utils/isTypedNode.js +0 -9
  586. package/types/utils/isUnnecessaryReactCall.d.ts +0 -3
  587. package/types/utils/isUnnecessaryReactCall.js +0 -75
  588. package/types/utils/removeDangerousCode.d.ts +0 -4
  589. package/types/utils/removeDangerousCode.js +0 -326
  590. package/types/utils/replaceImportMetaEnv.d.ts +0 -3
  591. package/types/utils/replaceImportMetaEnv.js +0 -39
  592. package/types/utils/scopeHelpers.d.ts +0 -12
  593. package/types/utils/scopeHelpers.js +0 -580
  594. package/types/utils/traversalCache.d.ts +0 -4
  595. package/types/utils/traversalCache.js +0 -27
  596. package/types/utils/unwrapExpression.d.ts +0 -2
  597. package/types/utils/unwrapExpression.js +0 -57
  598. package/types/utils/unwrapSequence.d.ts +0 -8
  599. package/types/utils/unwrapSequence.js +0 -16
  600. package/types/utils/valueToLiteral.d.ts +0 -3
  601. package/types/utils/valueToLiteral.js +0 -63
  602. package/types/utils/visitors/JSXElementsRemover.d.ts +0 -3
  603. package/types/utils/visitors/JSXElementsRemover.js +0 -51
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * This file exposes sync and async transform functions that:
4
3
  * - parse the passed code to AST
@@ -6,105 +5,94 @@
6
5
  * - shakes each dependency and removes unused code
7
6
  * - runs generated code in a sandbox
8
7
  * - collects artifacts
9
- * - returns transformed code (without WYW template literals), generated CSS, source maps and babel metadata from transform step.
8
+ * - returns transformed code (without WYW template literals), generated CSS, source maps and transform metadata.
10
9
  */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.transformSync = transformSync;
13
- exports.transform = transform;
14
- const shared_1 = require("@wyw-in-js/shared");
15
- const loadWywOptions_1 = require("./transform/helpers/loadWywOptions");
16
- const cache_1 = require("./cache");
17
- const Entrypoint_1 = require("./transform/Entrypoint");
18
- const actionRunner_1 = require("./transform/actions/actionRunner");
19
- const generators_1 = require("./transform/generators");
20
- const resolveImports_1 = require("./transform/generators/resolveImports");
21
- const withDefaultServices_1 = require("./transform/helpers/withDefaultServices");
22
- const memoizedSyncResolve = new WeakMap();
10
+ import { createHash } from 'crypto';
11
+ import { isFeatureEnabled } from '@wyw-in-js/shared';
12
+ import { loadWywOptions } from './transform/helpers/loadWywOptions';
13
+ import { TransformCacheCollection } from './cache';
14
+ import { Entrypoint } from './transform/Entrypoint';
15
+ import { asyncActionRunner } from './transform/actions/actionRunner';
16
+ import { baseHandlers } from './transform/generators';
17
+ import { asyncResolveImports } from './transform/generators/resolveImports';
18
+ import { withDefaultServices } from './transform/helpers/withDefaultServices';
19
+ import { getEvalBroker } from './eval/broker';
20
+ import { encodeGlobals } from './eval/serialize';
23
21
  const memoizedAsyncResolve = new WeakMap();
24
- const EMPTY_CUSTOM_HANDLERS = {};
25
- const memoizedActionContexts = new WeakMap();
26
- const getActionContext = (resolveImportsHandler, customHandlers) => {
27
- const customHandlersKey = Object.keys(customHandlers).length === 0
28
- ? EMPTY_CUSTOM_HANDLERS
29
- : customHandlers;
30
- let actionContextsByHandlers = memoizedActionContexts.get(resolveImportsHandler);
31
- if (!actionContextsByHandlers) {
32
- actionContextsByHandlers = new WeakMap();
33
- memoizedActionContexts.set(resolveImportsHandler, actionContextsByHandlers);
22
+ const resolverIds = new WeakMap();
23
+ let resolverId = 0;
24
+ const getResolverId = (fn) => {
25
+ if (typeof fn !== 'function')
26
+ return null;
27
+ const resolver = fn;
28
+ const cached = resolverIds.get(resolver);
29
+ if (cached)
30
+ return cached;
31
+ resolverId += 1;
32
+ resolverIds.set(resolver, resolverId);
33
+ return resolverId;
34
+ };
35
+ const isPlainObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
36
+ const canonicalizeForHash = (value) => {
37
+ if (Array.isArray(value)) {
38
+ return value.map((item) => canonicalizeForHash(item));
34
39
  }
35
- let actionContext = actionContextsByHandlers.get(customHandlersKey);
36
- if (!actionContext) {
37
- actionContext = {};
38
- actionContextsByHandlers.set(customHandlersKey, actionContext);
40
+ if (isPlainObject(value)) {
41
+ return Object.fromEntries(Object.keys(value)
42
+ .sort()
43
+ .map((key) => [key, canonicalizeForHash(value[key])]));
39
44
  }
40
- return actionContext;
45
+ return value;
41
46
  };
42
- function transformSync(partialServices, originalCode, syncResolve, customHandlers = {}) {
43
- const { options } = partialServices;
44
- const pluginOptions = (0, loadWywOptions_1.loadWywOptions)(options.pluginOptions);
45
- const services = (0, withDefaultServices_1.withDefaultServices)({
46
- ...partialServices,
47
- options: {
48
- ...options,
49
- pluginOptions,
50
- },
47
+ const getEvalCacheKey = (pluginOptions, asyncResolveKey, asyncResolve) => {
48
+ const evalOptions = pluginOptions.eval ?? {};
49
+ const payload = JSON.stringify({
50
+ mode: evalOptions.mode,
51
+ resolver: evalOptions.resolver,
52
+ require: evalOptions.require,
53
+ globals: canonicalizeForHash(encodeGlobals(evalOptions.globals ?? {})),
54
+ customResolver: getResolverId(evalOptions.customResolver),
55
+ customLoader: getResolverId(evalOptions.customLoader),
56
+ // Bundlers like webpack can recreate transport resolvers per file. Allow
57
+ // them to provide a stable scope key so cache/broker reuse tracks resolver
58
+ // semantics instead of closure identity.
59
+ bundlerResolver: asyncResolveKey ?? getResolverId(asyncResolve),
60
+ overrideContext: getResolverId(pluginOptions.overrideContext),
61
+ importOverrides: pluginOptions.importOverrides ?? null,
62
+ extensions: pluginOptions.extensions,
63
+ features: pluginOptions.features,
51
64
  });
52
- if (!(0, shared_1.isFeatureEnabled)(pluginOptions.features, 'globalCache', options.filename)) {
53
- // If global cache is disabled, we need to create a new cache for each file
54
- services.cache = new cache_1.TransformCacheCollection();
55
- }
56
- if (!memoizedSyncResolve.has(syncResolve)) {
57
- memoizedSyncResolve.set(syncResolve, function resolveImports() {
58
- return resolveImports_1.syncResolveImports.call(this, syncResolve);
59
- });
60
- }
61
- const resolveImportsHandler = memoizedSyncResolve.get(syncResolve);
62
- const actionHandlers = {
63
- ...generators_1.baseHandlers,
64
- ...customHandlers,
65
- resolveImports: resolveImportsHandler,
66
- };
67
- const actionContext = getActionContext(resolveImportsHandler, customHandlers);
68
- const entrypoint = Entrypoint_1.Entrypoint.createRoot(services, options.filename, ['__wywPreval'], originalCode);
69
- if (entrypoint.ignored) {
70
- return {
71
- code: originalCode,
72
- sourceMap: options.inputSourceMap,
73
- };
74
- }
75
- const workflowAction = entrypoint.createAction('workflow', undefined, null, actionContext);
76
- try {
77
- const result = (0, actionRunner_1.syncActionRunner)(workflowAction, actionHandlers);
78
- entrypoint.log('%s is ready', entrypoint.name);
79
- return result;
80
- }
81
- catch (err) {
82
- entrypoint.log('Unhandled error %O', err);
83
- if ((0, shared_1.isFeatureEnabled)(pluginOptions.features, 'softErrors', options.filename)) {
84
- // eslint-disable-next-line no-console
85
- console.error(`Error during transform of ${entrypoint.name}:`, err);
86
- return {
87
- code: originalCode,
88
- sourceMap: options.inputSourceMap,
89
- };
90
- }
91
- throw err;
92
- }
65
+ return createHash('sha256').update(payload).digest('hex');
66
+ };
67
+ export function transformSync(
68
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
69
+ _partialServices,
70
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
71
+ _originalCode,
72
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
73
+ _syncResolve,
74
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
75
+ _customHandlers = {}) {
76
+ throw new Error('[wyw-in-js] transformSync is not supported in v2. Use transform() (async) instead.');
93
77
  }
94
- async function transform(partialServices, originalCode, asyncResolve, customHandlers = {}) {
78
+ export async function transform(partialServices, originalCode, asyncResolve, customHandlers = {}) {
95
79
  const { options } = partialServices;
96
- const pluginOptions = (0, loadWywOptions_1.loadWywOptions)(options.pluginOptions);
97
- const services = (0, withDefaultServices_1.withDefaultServices)({
80
+ const pluginOptions = loadWywOptions(options.pluginOptions);
81
+ const services = withDefaultServices({
98
82
  ...partialServices,
99
83
  options: {
100
84
  ...options,
101
85
  pluginOptions,
102
86
  },
103
87
  });
104
- if (!(0, shared_1.isFeatureEnabled)(pluginOptions.features, 'globalCache', options.filename)) {
88
+ if (!isFeatureEnabled(pluginOptions.features, 'globalCache', options.filename)) {
105
89
  // If global cache is disabled, we need to create a new cache for each file
106
- services.cache = new cache_1.TransformCacheCollection();
90
+ services.cache = new TransformCacheCollection();
107
91
  }
92
+ const evalCacheKey = getEvalCacheKey(pluginOptions, services.asyncResolveKey, asyncResolve);
93
+ services.cache.setKeySalt(evalCacheKey);
94
+ services.asyncResolve = asyncResolve;
95
+ services.evalBroker = getEvalBroker(services, asyncResolve, evalCacheKey);
108
96
  /*
109
97
  * This method can be run simultaneously for multiple files.
110
98
  * A shared cache is accessible for all runs, but each run has its own queue
@@ -113,35 +101,34 @@ async function transform(partialServices, originalCode, asyncResolve, customHand
113
101
  * but the "only" option has changed, the file will be re-processed using
114
102
  * the combined "only" option.
115
103
  */
116
- if (!memoizedAsyncResolve.has(asyncResolve)) {
117
- const resolveImports = function resolveImports() {
118
- return resolveImports_1.asyncResolveImports.call(this, asyncResolve);
119
- };
120
- memoizedAsyncResolve.set(asyncResolve, resolveImports);
121
- }
122
- const resolveImportsHandler = memoizedAsyncResolve.get(asyncResolve);
123
- const actionHandlers = {
124
- ...generators_1.baseHandlers,
125
- ...customHandlers,
126
- resolveImports: resolveImportsHandler,
127
- };
128
- const actionContext = getActionContext(resolveImportsHandler, customHandlers);
129
- const entrypoint = Entrypoint_1.Entrypoint.createRoot(services, options.filename, ['__wywPreval'], originalCode);
104
+ const entrypoint = Entrypoint.createRoot(services, options.filename, ['__wywPreval'], originalCode);
130
105
  if (entrypoint.ignored) {
131
106
  return {
132
107
  code: originalCode,
133
108
  sourceMap: options.inputSourceMap,
134
109
  };
135
110
  }
136
- const workflowAction = entrypoint.createAction('workflow', undefined, null, actionContext);
111
+ // Separate top-level runs must not share action state, even for the same
112
+ // entrypoint, otherwise concurrent transforms can collide in BaseAction.run.
113
+ const workflowAction = entrypoint.createAction('workflow', undefined, null, {});
114
+ if (!memoizedAsyncResolve.has(asyncResolve)) {
115
+ const resolveImports = function resolveImports() {
116
+ return asyncResolveImports.call(this, asyncResolve);
117
+ };
118
+ memoizedAsyncResolve.set(asyncResolve, resolveImports);
119
+ }
137
120
  try {
138
- const result = await (0, actionRunner_1.asyncActionRunner)(workflowAction, actionHandlers);
121
+ const result = await asyncActionRunner(workflowAction, {
122
+ ...baseHandlers,
123
+ ...customHandlers,
124
+ resolveImports: memoizedAsyncResolve.get(asyncResolve),
125
+ });
139
126
  entrypoint.log('%s is ready', entrypoint.name);
140
127
  return result;
141
128
  }
142
129
  catch (err) {
143
130
  entrypoint.log('Unhandled error %O', err);
144
- if ((0, shared_1.isFeatureEnabled)(pluginOptions.features, 'softErrors', options.filename)) {
131
+ if (isFeatureEnabled(pluginOptions.features, 'softErrors', options.filename)) {
145
132
  // eslint-disable-next-line no-console
146
133
  console.error(`Error during transform of ${entrypoint.name}:`, err);
147
134
  return {
package/types/types.d.ts CHANGED
@@ -1,8 +1,4 @@
1
- import type { BabelFile, PluginPass } from '@babel/core';
2
- import type { NodePath } from '@babel/traverse';
3
- import type { File, Program } from '@babel/types';
4
1
  import type { RawSourceMap } from 'source-map';
5
- import type { BaseProcessor } from '@wyw-in-js/processor-utils';
6
2
  import type { Debugger, Replacement, Rules, StrictOptions } from '@wyw-in-js/shared';
7
3
  import type { WYWTransformMetadata, WYWTransformResultMetadata } from './utils/TransformMetadata';
8
4
  import type { WYWTransformDiagnostic } from './utils/TransformDiagnostics';
@@ -18,15 +14,6 @@ export type ParentEntrypoint = {
18
14
  seqId: number;
19
15
  };
20
16
  export type Dependencies = string[];
21
- export interface IPluginState extends PluginPass {
22
- dependencies: Dependencies;
23
- file: BabelFile & {
24
- metadata: {
25
- wywInJS?: WYWTransformMetadata;
26
- };
27
- };
28
- processors: BaseProcessor[];
29
- }
30
17
  export interface ITransformFileResult {
31
18
  code: string;
32
19
  metadata: WYWTransformMetadata | null;
@@ -55,16 +42,6 @@ export type Options = {
55
42
  };
56
43
  export type PreprocessorFn = (selector: string, cssText: string) => string;
57
44
  export type Preprocessor = 'none' | 'stylis' | PreprocessorFn | void;
58
- export type MissedBabelCoreTypes = {
59
- File: new (options: {
60
- filename: string;
61
- }, file: {
62
- ast: File;
63
- code: string;
64
- }) => {
65
- path: NodePath<Program>;
66
- };
67
- };
68
45
  export type JSONValue = null | string | number | boolean | JSONObject | JSONArray;
69
46
  export interface JSONObject {
70
47
  [x: string]: JSONValue;
package/types/types.js CHANGED
@@ -1,5 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  /**
4
3
  * CSS-related types
5
4
  */
@@ -1,15 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventEmitter = exports.isOnActionFinishArgs = exports.isOnActionStartArgs = void 0;
4
- const isOnActionStartArgs = (args) => {
1
+ export const isOnActionStartArgs = (args) => {
5
2
  return args[0] === 'start';
6
3
  };
7
- exports.isOnActionStartArgs = isOnActionStartArgs;
8
- const isOnActionFinishArgs = (args) => {
4
+ export const isOnActionFinishArgs = (args) => {
9
5
  return args[0] === 'finish' || args[0] === 'fail';
10
6
  };
11
- exports.isOnActionFinishArgs = isOnActionFinishArgs;
12
- class EventEmitter {
7
+ export class EventEmitter {
13
8
  onEvent;
14
9
  onAction;
15
10
  onEntrypointEvent;
@@ -58,4 +53,3 @@ class EventEmitter {
58
53
  }, 'single');
59
54
  }
60
55
  }
61
- exports.EventEmitter = EventEmitter;
@@ -1,5 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasShakerMetadata = void 0;
4
- const hasShakerMetadata = (metadata) => metadata !== undefined && 'wywEvaluator' in metadata;
5
- exports.hasShakerMetadata = hasShakerMetadata;
1
+ export const hasShakerMetadata = (metadata) => metadata !== undefined && 'wywEvaluator' in metadata;
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.collectTransformDiagnostics = void 0;
4
- const processor_utils_1 = require("@wyw-in-js/processor-utils");
5
- const collectTransformDiagnostics = (filename, processors) => processors.flatMap((processor) => processor.artifacts
6
- .filter(processor_utils_1.isProcessorDiagnosticArtifact)
1
+ import { isProcessorDiagnosticArtifact } from '@wyw-in-js/processor-utils';
2
+ export const collectTransformDiagnostics = (filename, processors) => processors.flatMap((processor) => processor.artifacts
3
+ .filter(isProcessorDiagnosticArtifact)
7
4
  .map(([, diagnostic]) => ({
8
5
  ...diagnostic,
9
6
  className: processor.className,
@@ -12,4 +9,3 @@ const collectTransformDiagnostics = (filename, processors) => processors.flatMap
12
9
  filename,
13
10
  start: diagnostic.start ?? null,
14
11
  })));
15
- exports.collectTransformDiagnostics = collectTransformDiagnostics;
@@ -1,13 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stringifyTransformManifest = exports.createTransformManifest = exports.toTransformResultMetadata = exports.getTransformMetadata = exports.withTransformMetadata = void 0;
4
- const processor_utils_1 = require("@wyw-in-js/processor-utils");
5
- const withTransformMetadata = (value) => typeof value === 'object' &&
1
+ import { isProcessorDiagnosticArtifact } from '@wyw-in-js/processor-utils';
2
+ export const withTransformMetadata = (value) => typeof value === 'object' &&
6
3
  value !== null &&
7
4
  typeof value.wywInJS === 'object';
8
- exports.withTransformMetadata = withTransformMetadata;
9
- const getTransformMetadata = (value) => {
10
- if ((0, exports.withTransformMetadata)(value) && value.wywInJS !== null) {
5
+ export const getTransformMetadata = (value) => {
6
+ if (withTransformMetadata(value) && value.wywInJS !== null) {
11
7
  const metadata = value.wywInJS;
12
8
  // eslint-disable-next-line no-param-reassign
13
9
  delete value.wywInJS;
@@ -15,12 +11,11 @@ const getTransformMetadata = (value) => {
15
11
  }
16
12
  return undefined;
17
13
  };
18
- exports.getTransformMetadata = getTransformMetadata;
19
- const toTransformResultMetadata = (metadata, dependencies) => ({
14
+ export const toTransformResultMetadata = (metadata, dependencies) => ({
20
15
  dependencies,
21
16
  processors: metadata.processors.map((processor) => ({
22
17
  artifacts: processor.artifacts
23
- .filter((artifact) => !(0, processor_utils_1.isProcessorDiagnosticArtifact)(artifact))
18
+ .filter((artifact) => !isProcessorDiagnosticArtifact(artifact))
24
19
  .map(([type, data]) => [type, data]),
25
20
  className: processor.className,
26
21
  displayName: processor.displayName,
@@ -29,12 +24,9 @@ const toTransformResultMetadata = (metadata, dependencies) => ({
29
24
  replacements: [...metadata.replacements],
30
25
  rules: { ...metadata.rules },
31
26
  });
32
- exports.toTransformResultMetadata = toTransformResultMetadata;
33
- const createTransformManifest = (metadata, context) => ({
27
+ export const createTransformManifest = (metadata, context) => ({
34
28
  ...metadata,
35
29
  ...context,
36
30
  version: 1,
37
31
  });
38
- exports.createTransformManifest = createTransformManifest;
39
- const stringifyTransformManifest = (manifest) => `${JSON.stringify(manifest, null, 2)}\n`;
40
- exports.stringifyTransformManifest = stringifyTransformManifest;
32
+ export const stringifyTransformManifest = (manifest) => `${JSON.stringify(manifest, null, 2)}\n`;
@@ -0,0 +1,16 @@
1
+ import { BaseProcessor } from '@wyw-in-js/processor-utils';
2
+ import type { IFileContext } from '@wyw-in-js/processor-utils';
3
+ import type { StrictOptions } from '@wyw-in-js/shared';
4
+ import { EventEmitter } from './EventEmitter';
5
+ import { type OxcStaticValue, type OxcStaticValueCandidate } from './collectOxcTemplateDependencies';
6
+ type ApplyOxcProcessorsResult = {
7
+ code: string;
8
+ processors: BaseProcessor[];
9
+ staticValueCandidates: OxcStaticValueCandidate[];
10
+ staticValues: OxcStaticValue[];
11
+ };
12
+ export declare const applyOxcProcessors: (code: string, fileContext: IFileContext, options: Pick<StrictOptions, "classNameSlug" | "displayName" | "extensions" | "evaluate" | "tagResolver"> & {
13
+ eventEmitter?: EventEmitter;
14
+ preserveSideEffectImportLocals?: Set<string>;
15
+ }, callback: (processor: BaseProcessor) => void, cleanupUnused?: boolean) => ApplyOxcProcessorsResult;
16
+ export {};