@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 +1 @@
1
- {"version":3,"file":"Entrypoint.js","names":["fs","invariant","BaseEntrypoint","isSuperSet","mergeOnly","EvaluatedEntrypoint","AbortError","BaseAction","UnprocessedEntrypointError","stripQueryAndHash","EMPTY_FILE","DEFAULT_ACTION_CONTEXT","Symbol","hasLoop","name","parent","processed","includes","p","parents","found","Entrypoint","evaluated","onSupersedeHandlers","actionsCache","Map","hasWywMetadata","isProcessing","pendingOnly","supersededWith","transformResultCode","constructor","services","initialCode","only","exports","evaluatedOnly","loadedAndParsed","resolveTasks","dependencies","invalidationDependencies","invalidateOnDependencyChange","Set","generation","loadAndParseFn","log","code","undefined","cache","invalidateIfChanged","evaluator","originalCode","extend","ignored","transformedCode","createRoot","loadedCode","created","create","eventEmitter","perf","status","entrypoint","innerCreate","seqId","add","cached","get","changed","readFileSync","mergedOnly","isLoop","map","push","deferOnlySupersede","supersede","newEntrypoint","addDependency","dependency","delete","source","set","addInvalidationDependency","addResolveTask","applyDeferredSupersede","nextEntrypoint","assertNotSuperseded","assertTransformed","beginProcessing","createAction","actionType","data","abortSignal","actionContext","has","contexts","aborted","newAction","entrypointEvent","type","actionIdx","idx","createChild","createEvaluated","exportsProxy","endProcessing","getDependency","getInvalidationDependency","markInvalidateOnDependencyChange","filename","getResolveTask","onSupersede","callback","index","indexOf","splice","setTransformResult","res","Boolean","metadata","isNull","newOnlyOrEntrypoint","with","forEach","handler"],"sources":["../../src/transform/Entrypoint.ts"],"sourcesContent":["import fs from 'node:fs';\nimport { invariant } from 'ts-invariant';\n\nimport type { ParentEntrypoint, ITransformFileResult } from '../types';\n\nimport { BaseEntrypoint } from './BaseEntrypoint';\nimport { isSuperSet, mergeOnly } from './Entrypoint.helpers';\nimport type {\n IEntrypointCode,\n IEntrypointDependency,\n IIgnoredEntrypoint,\n} from './Entrypoint.types';\nimport { EvaluatedEntrypoint } from './EvaluatedEntrypoint';\nimport { AbortError } from './actions/AbortError';\nimport type { ActionByType } from './actions/BaseAction';\nimport { BaseAction } from './actions/BaseAction';\nimport { UnprocessedEntrypointError } from './actions/UnprocessedEntrypointError';\nimport type { Services, ActionTypes, ActionQueueItem } from './types';\nimport { stripQueryAndHash } from '../utils/parseRequest';\n\nconst EMPTY_FILE = '=== empty file ===';\nconst DEFAULT_ACTION_CONTEXT = Symbol('defaultActionContext');\n\nfunction hasLoop(\n name: string,\n parent: ParentEntrypoint,\n processed: string[] = []\n): boolean {\n if (parent.name === name || processed.includes(parent.name)) {\n return true;\n }\n\n for (const p of parent.parents) {\n const found = hasLoop(name, p, [...processed, parent.name]);\n if (found) {\n return found;\n }\n }\n\n return false;\n}\n\nexport class Entrypoint extends BaseEntrypoint {\n public readonly evaluated = false;\n\n public readonly loadedAndParsed: IEntrypointCode | IIgnoredEntrypoint;\n\n protected onSupersedeHandlers: Array<(newEntrypoint: Entrypoint) => void> =\n [];\n\n private actionsCache: Map<\n ActionTypes,\n Map<unknown, Map<unknown, BaseAction<ActionQueueItem>>>\n > = new Map();\n\n #hasWywMetadata: boolean = false;\n\n #isProcessing = false;\n\n #pendingOnly: string[] | null = null;\n\n #supersededWith: Entrypoint | null = null;\n\n #transformResultCode: string | null = null;\n\n private constructor(\n services: Services,\n parents: ParentEntrypoint[],\n public readonly initialCode: string | undefined,\n name: string,\n only: string[],\n exports: Record<string | symbol, unknown> | undefined,\n evaluatedOnly: string[],\n loadedAndParsed?: IEntrypointCode | IIgnoredEntrypoint,\n protected readonly resolveTasks = new Map<\n string,\n Promise<IEntrypointDependency>\n >(),\n readonly dependencies = new Map<string, IEntrypointDependency>(),\n readonly invalidationDependencies = new Map<\n string,\n IEntrypointDependency\n >(),\n readonly invalidateOnDependencyChange = new Set<string>(),\n generation = 1\n ) {\n super(\n services,\n evaluatedOnly,\n exports,\n generation,\n name,\n only,\n parents,\n dependencies,\n invalidationDependencies,\n invalidateOnDependencyChange\n );\n\n this.loadedAndParsed =\n loadedAndParsed ??\n services.loadAndParseFn(\n services,\n name,\n initialCode,\n parents[0]?.log ?? services.log\n );\n\n if (this.loadedAndParsed.code !== undefined) {\n services.cache.invalidateIfChanged(\n name,\n this.loadedAndParsed.code,\n undefined,\n this.initialCode === undefined ? 'fs' : 'loaded'\n );\n }\n\n const code =\n this.loadedAndParsed.evaluator === 'ignored'\n ? '[IGNORED]'\n : this.originalCode || EMPTY_FILE;\n\n this.log.extend('source')('created %s (%o)\\n%s', name, only, code);\n }\n\n public get ignored() {\n return this.loadedAndParsed.evaluator === 'ignored';\n }\n\n public get originalCode() {\n return this.loadedAndParsed.code;\n }\n\n public get supersededWith(): Entrypoint | null {\n return this.#supersededWith?.supersededWith ?? this.#supersededWith;\n }\n\n public get transformedCode(): string | null {\n return (\n this.#transformResultCode ?? this.supersededWith?.transformedCode ?? null\n );\n }\n\n public static createRoot(\n services: Services,\n name: string,\n only: string[],\n loadedCode: string | undefined\n ): Entrypoint {\n const created = Entrypoint.create(services, null, name, only, loadedCode);\n invariant(created !== 'loop', 'loop detected');\n\n return created;\n }\n\n /**\n * Creates an entrypoint for the specified file.\n * If there is already an entrypoint for this file, there will be four possible outcomes:\n * 1. If `loadedCode` is specified and is different from the one that was used to create the existing entrypoint,\n * the existing entrypoint will be superseded by a new one and all cached results for it will be invalidated.\n * It can happen if the file was changed and the watcher notified us about it, or we received a new version\n * of the file from a loader whereas the previous one was loaded from the filesystem.\n * The new entrypoint will be returned.\n * 2. If `only` is subset of the existing entrypoint's `only`, the existing entrypoint will be returned.\n * 3. If `only` is superset of the existing entrypoint's `only`, the existing entrypoint will be superseded and the new one will be returned.\n * 4. If a loop is detected, 'ignored' will be returned, the existing entrypoint will be superseded or not depending on the `only` value.\n */\n protected static create(\n services: Services,\n parent: ParentEntrypoint | null,\n name: string,\n only: string[],\n loadedCode: string | undefined\n ): Entrypoint | 'loop' {\n const { cache, eventEmitter } = services;\n return eventEmitter.perf('createEntrypoint', () => {\n const [status, entrypoint] = Entrypoint.innerCreate(\n services,\n parent\n ? {\n evaluated: parent.evaluated,\n log: parent.log,\n name: parent.name,\n parents: parent.parents,\n seqId: parent.seqId,\n }\n : null,\n name,\n only,\n loadedCode\n );\n\n if (status !== 'cached') {\n cache.add('entrypoints', name, entrypoint);\n }\n\n return status === 'loop' ? 'loop' : entrypoint;\n });\n }\n\n private static innerCreate(\n services: Services,\n parent: ParentEntrypoint | null,\n name: string,\n only: string[],\n loadedCode: string | undefined\n ): ['loop' | 'created' | 'cached', Entrypoint] {\n const { cache } = services;\n\n const cached = cache.get('entrypoints', name);\n let changed = false;\n if (loadedCode !== undefined) {\n changed = cache.invalidateIfChanged(\n name,\n loadedCode,\n undefined,\n 'loaded'\n );\n } else if (cached && cached.initialCode === undefined) {\n try {\n changed = cache.invalidateIfChanged(\n name,\n fs.readFileSync(stripQueryAndHash(name), 'utf8'),\n undefined,\n 'fs'\n );\n } catch {\n changed = false;\n }\n }\n\n if (!cached?.evaluated && cached?.ignored) {\n return ['cached', cached];\n }\n\n const exports = cached?.exports;\n const evaluatedOnly = changed ? [] : cached?.evaluatedOnly ?? [];\n\n const mergedOnly = cached?.only ? mergeOnly(cached.only, only) : [...only];\n\n if (cached?.evaluated) {\n cached.log('is already evaluated with', cached.evaluatedOnly);\n }\n\n if (!changed && cached && !cached.evaluated) {\n const isLoop = parent && hasLoop(name, parent);\n if (isLoop) {\n parent.log('[createEntrypoint] %s is a loop', name);\n }\n\n if (parent && !cached.parents.map((p) => p.name).includes(parent.name)) {\n cached.parents.push(parent);\n }\n\n if (isSuperSet(cached.only, mergedOnly)) {\n cached.log('is cached', name);\n return [isLoop ? 'loop' : 'cached', cached];\n }\n\n cached.log(\n 'is cached, but with different `only` %o (the cached one %o)',\n only,\n cached?.only\n );\n\n if (cached.#isProcessing) {\n cached.deferOnlySupersede(mergedOnly);\n cached.log(\n 'is being processed, defer supersede (%o -> %o)',\n cached.only,\n mergedOnly\n );\n return [isLoop ? 'loop' : 'cached', cached];\n }\n\n return [isLoop ? 'loop' : 'created', cached.supersede(mergedOnly)];\n }\n\n const newEntrypoint = new Entrypoint(\n services,\n parent ? [parent] : [],\n loadedCode,\n name,\n mergedOnly,\n exports,\n evaluatedOnly,\n undefined,\n cached && 'resolveTasks' in cached ? cached.resolveTasks : undefined,\n cached && 'dependencies' in cached ? cached.dependencies : undefined,\n cached && 'invalidationDependencies' in cached\n ? cached.invalidationDependencies\n : undefined,\n cached && 'invalidateOnDependencyChange' in cached\n ? cached.invalidateOnDependencyChange\n : undefined,\n cached ? cached.generation + 1 : 1\n );\n\n if (cached && !cached.evaluated) {\n cached.log('is cached, but with different code');\n cached.supersede(newEntrypoint);\n }\n\n return ['created', newEntrypoint];\n }\n\n public addDependency(dependency: IEntrypointDependency): void {\n this.resolveTasks.delete(dependency.source);\n this.dependencies.set(dependency.source, dependency);\n }\n\n public addInvalidationDependency(dependency: IEntrypointDependency): void {\n this.resolveTasks.delete(dependency.source);\n this.invalidationDependencies.set(dependency.source, dependency);\n }\n\n public addResolveTask(\n name: string,\n dependency: Promise<IEntrypointDependency>\n ): void {\n this.resolveTasks.set(name, dependency);\n }\n\n public applyDeferredSupersede() {\n if (this.#supersededWith || this.#pendingOnly === null) {\n return null;\n }\n\n const mergedOnly = mergeOnly(this.only, this.#pendingOnly);\n this.#pendingOnly = null;\n\n if (isSuperSet(this.only, mergedOnly)) {\n return null;\n }\n\n this.log('apply deferred supersede (%o -> %o)', this.only, mergedOnly);\n\n const nextEntrypoint = this.supersede(mergedOnly);\n this.services.cache.add('entrypoints', this.name, nextEntrypoint);\n\n return nextEntrypoint;\n }\n\n public assertNotSuperseded() {\n if (this.supersededWith) {\n this.log('superseded');\n throw new AbortError('superseded');\n }\n }\n\n public assertTransformed() {\n if (this.transformedCode === null) {\n this.log('not transformed');\n throw new UnprocessedEntrypointError(this.supersededWith ?? this);\n }\n }\n\n public beginProcessing() {\n this.#isProcessing = true;\n }\n\n public createAction<\n TType extends ActionTypes,\n TAction extends ActionByType<TType>,\n >(\n actionType: TType,\n data: TAction['data'],\n abortSignal: AbortSignal | null = null,\n actionContext: unknown = DEFAULT_ACTION_CONTEXT\n ): BaseAction<TAction> {\n if (!this.actionsCache.has(actionType)) {\n this.actionsCache.set(actionType, new Map());\n }\n\n const contexts = this.actionsCache.get(actionType)!;\n if (!contexts.has(actionContext)) {\n contexts.set(actionContext, new Map());\n }\n\n const cache = contexts.get(actionContext)!;\n const cached = cache.get(data);\n if (cached && !cached.abortSignal?.aborted) {\n return cached as BaseAction<TAction>;\n }\n\n const newAction = new BaseAction<TAction>(\n actionType as TAction['type'],\n this.services,\n this,\n data,\n abortSignal,\n actionContext\n );\n\n cache.set(data, newAction);\n\n this.services.eventEmitter.entrypointEvent(this.seqId, {\n type: 'actionCreated',\n actionType,\n actionIdx: newAction.idx,\n });\n\n return newAction;\n }\n\n public createChild(\n name: string,\n only: string[],\n loadedCode?: string\n ): Entrypoint | 'loop' {\n return Entrypoint.create(this.services, this, name, only, loadedCode);\n }\n\n public createEvaluated() {\n const evaluatedOnly = mergeOnly(this.evaluatedOnly, this.only);\n this.log('create EvaluatedEntrypoint for %o', evaluatedOnly);\n\n const evaluated = new EvaluatedEntrypoint(\n this.services,\n evaluatedOnly,\n this.exportsProxy,\n this.generation + 1,\n this.name,\n this.only,\n this.parents,\n this.dependencies,\n this.invalidationDependencies,\n this.invalidateOnDependencyChange\n );\n\n evaluated.initialCode = this.initialCode;\n\n return evaluated;\n }\n\n public endProcessing() {\n this.#isProcessing = false;\n }\n\n public getDependency(name: string): IEntrypointDependency | undefined {\n return this.dependencies.get(name);\n }\n\n public getInvalidationDependency(\n name: string\n ): IEntrypointDependency | undefined {\n return this.invalidationDependencies.get(name);\n }\n\n public markInvalidateOnDependencyChange(filename: string): void {\n this.invalidateOnDependencyChange.add(filename);\n }\n\n public getResolveTask(\n name: string\n ): Promise<IEntrypointDependency> | undefined {\n return this.resolveTasks.get(name);\n }\n\n public hasWywMetadata() {\n return this.#hasWywMetadata;\n }\n\n public onSupersede(callback: (newEntrypoint: Entrypoint) => void) {\n if (this.#supersededWith) {\n callback(this.#supersededWith);\n return () => {};\n }\n\n this.onSupersedeHandlers.push(callback);\n\n return () => {\n const index = this.onSupersedeHandlers.indexOf(callback);\n if (index >= 0) {\n this.onSupersedeHandlers.splice(index, 1);\n }\n };\n }\n\n public setTransformResult(res: ITransformFileResult | null) {\n this.#hasWywMetadata = Boolean(res?.metadata);\n this.#transformResultCode = res?.code ?? null;\n\n this.services.eventEmitter.entrypointEvent(this.seqId, {\n isNull: res === null,\n type: 'setTransformResult',\n });\n }\n\n private deferOnlySupersede(only: string[]) {\n this.#pendingOnly = this.#pendingOnly\n ? mergeOnly(this.#pendingOnly, only)\n : [...only];\n }\n\n private supersede(newOnlyOrEntrypoint: string[] | Entrypoint): Entrypoint {\n this.#pendingOnly = null;\n const newEntrypoint =\n newOnlyOrEntrypoint instanceof Entrypoint\n ? newOnlyOrEntrypoint\n : new Entrypoint(\n this.services,\n this.parents,\n this.initialCode,\n this.name,\n newOnlyOrEntrypoint,\n this.exports,\n this.evaluatedOnly,\n this.loadedAndParsed,\n this.resolveTasks,\n this.dependencies,\n this.invalidationDependencies,\n this.invalidateOnDependencyChange,\n this.generation + 1\n );\n\n this.services.eventEmitter.entrypointEvent(this.seqId, {\n type: 'superseded',\n with: newEntrypoint.seqId,\n });\n this.log(\n 'superseded by %s (%o -> %o)',\n newEntrypoint.name,\n this.only,\n newEntrypoint.only\n );\n this.#supersededWith = newEntrypoint;\n this.onSupersedeHandlers.forEach((handler) => handler(newEntrypoint));\n\n return newEntrypoint;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"mappings":"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","names":["#supersededWith","#transformResultCode","#hasTransformResult","#isProcessing","#resolveTaskNullAttempts","#pendingOnly","#processingPromise","#resolveProcessing","#hasWywMetadata","#preevalResult"],"sources":["../../src/transform/Entrypoint.ts"],"version":3,"sourcesContent":["import fs from 'node:fs';\nimport { invariant } from 'ts-invariant';\n\nimport type { ParentEntrypoint, ITransformFileResult } from '../types';\n\nimport { BaseEntrypoint } from './BaseEntrypoint';\nimport { isSuperSet, mergeOnly } from './Entrypoint.helpers';\nimport type {\n IEntrypointCode,\n IEntrypointDependency,\n IIgnoredEntrypoint,\n IPreevalResult,\n} from './Entrypoint.types';\nimport { EvaluatedEntrypoint } from './EvaluatedEntrypoint';\nimport { AbortError } from './actions/AbortError';\nimport type { ActionByType } from './actions/BaseAction';\nimport { BaseAction } from './actions/BaseAction';\nimport { UnprocessedEntrypointError } from './actions/UnprocessedEntrypointError';\nimport type { Services, ActionTypes, ActionQueueItem } from './types';\nimport { stripQueryAndHash } from '../utils/parseRequest';\n\nconst EMPTY_FILE = '=== empty file ===';\nconst DEFAULT_ACTION_CONTEXT = Symbol('defaultActionContext');\n\ntype CreateEntrypointOptions = {\n mergeCachedOnly?: boolean;\n};\n\nfunction hasLoop(\n name: string,\n parent: ParentEntrypoint,\n processed: string[] = []\n): boolean {\n if (parent.name === name || processed.includes(parent.name)) {\n return true;\n }\n\n for (const p of parent.parents) {\n const found = hasLoop(name, p, [...processed, parent.name]);\n if (found) {\n return found;\n }\n }\n\n return false;\n}\n\nexport class Entrypoint extends BaseEntrypoint {\n public readonly evaluated = false;\n\n public readonly loadedAndParsed: IEntrypointCode | IIgnoredEntrypoint;\n\n protected onSupersedeHandlers: Array<(newEntrypoint: Entrypoint) => void> =\n [];\n\n private actionsCache: Map<\n ActionTypes,\n Map<unknown, Map<unknown, BaseAction<ActionQueueItem>>>\n > = new Map();\n\n // Tracks how many times resolveImports has settled with `resolved: null`\n // for a given source. Bundler resolvers can return null transiently early\n // in a build (loader context for that file isn't registered yet); after a\n // bounded number of retries we accept the null as authoritative.\n #resolveTaskNullAttempts = new Map<string, number>();\n\n private static readonly RESOLVE_TASK_MAX_NULL_ATTEMPTS = 2;\n\n #hasWywMetadata: boolean = false;\n\n #hasTransformResult = false;\n\n #isProcessing = false;\n\n #pendingOnly: string[] | null = null;\n\n #preevalResult: IPreevalResult | null = null;\n\n #processingPromise: Promise<void> | null = null;\n\n #resolveProcessing: (() => void) | null = null;\n\n #supersededWith: Entrypoint | null = null;\n\n #transformResultCode: string | null = null;\n\n private constructor(\n services: Services,\n parents: ParentEntrypoint[],\n public readonly initialCode: string | undefined,\n name: string,\n only: string[],\n exports: Record<string | symbol, unknown> | undefined,\n evaluatedOnly: string[],\n loadedAndParsed?: IEntrypointCode | IIgnoredEntrypoint,\n protected readonly resolveTasks = new Map<\n string,\n Promise<IEntrypointDependency>\n >(),\n readonly dependencies = new Map<string, IEntrypointDependency>(),\n readonly invalidationDependencies = new Map<\n string,\n IEntrypointDependency\n >(),\n readonly invalidateOnDependencyChange = new Set<string>(),\n generation = 1,\n private readonly skipCacheInvalidation = false\n ) {\n super(\n services,\n evaluatedOnly,\n exports,\n generation,\n name,\n only,\n parents,\n dependencies,\n invalidationDependencies,\n invalidateOnDependencyChange\n );\n\n this.loadedAndParsed =\n loadedAndParsed ??\n services.loadAndParseFn(\n services,\n name,\n initialCode,\n parents[0]?.log ?? services.log\n );\n\n if (\n !this.skipCacheInvalidation &&\n this.loadedAndParsed.code !== undefined\n ) {\n services.cache.invalidateIfChanged(\n name,\n this.loadedAndParsed.code,\n undefined,\n this.initialCode === undefined ? 'fs' : 'loaded'\n );\n }\n\n const code =\n this.loadedAndParsed.evaluator === 'ignored'\n ? '[IGNORED]'\n : this.originalCode || EMPTY_FILE;\n\n this.log.extend('source')('created %s (%o)\\n%s', name, only, code);\n }\n\n public get ignored() {\n return this.loadedAndParsed.evaluator === 'ignored';\n }\n\n public get originalCode() {\n return this.loadedAndParsed.code;\n }\n\n public get supersededWith(): Entrypoint | null {\n return this.#supersededWith?.supersededWith ?? this.#supersededWith;\n }\n\n public get transformedCode(): string | null {\n return (\n this.#transformResultCode ?? this.supersededWith?.transformedCode ?? null\n );\n }\n\n public get transformed(): boolean {\n return (\n this.#hasTransformResult || this.supersededWith?.transformed || false\n );\n }\n\n public get isProcessing(): boolean {\n return this.#isProcessing;\n }\n\n public static createRoot(\n services: Services,\n name: string,\n only: string[],\n loadedCode: string | undefined,\n options: CreateEntrypointOptions = {}\n ): Entrypoint {\n const created = Entrypoint.create(\n services,\n null,\n name,\n only,\n loadedCode,\n options\n );\n invariant(created !== 'loop', 'loop detected');\n\n return created;\n }\n\n protected static create(\n services: Services,\n parent: ParentEntrypoint | null,\n name: string,\n only: string[],\n loadedCode: string | undefined,\n options: CreateEntrypointOptions = {}\n ): Entrypoint | 'loop' {\n const { cache, eventEmitter } = services;\n return eventEmitter.perf('createEntrypoint', () => {\n const [status, entrypoint] = Entrypoint.innerCreate(\n services,\n parent\n ? {\n evaluated: parent.evaluated,\n log: parent.log,\n name: parent.name,\n parents: parent.parents,\n seqId: parent.seqId,\n }\n : null,\n name,\n only,\n loadedCode,\n options\n );\n\n if (status !== 'cached') {\n cache.add('entrypoints', name, entrypoint);\n }\n\n return status === 'loop' ? 'loop' : entrypoint;\n });\n }\n\n private static innerCreate(\n services: Services,\n parent: ParentEntrypoint | null,\n name: string,\n only: string[],\n loadedCode: string | undefined,\n options: CreateEntrypointOptions\n ): ['loop' | 'created' | 'cached', Entrypoint] {\n const { cache } = services;\n\n const cached = cache.get('entrypoints', name);\n let changed = false;\n if (loadedCode !== undefined) {\n changed = cache.invalidateIfChanged(\n name,\n loadedCode,\n undefined,\n 'loaded'\n );\n } else if (cached && cached.initialCode === undefined) {\n try {\n changed = cache.invalidateIfChanged(\n name,\n fs.readFileSync(stripQueryAndHash(name), 'utf8'),\n undefined,\n 'fs'\n );\n } catch {\n changed = false;\n }\n }\n\n if (!cached?.evaluated && cached?.ignored) {\n return ['cached', cached];\n }\n\n const exports = cached?.exports;\n const evaluatedOnly = changed ? [] : cached?.evaluatedOnly ?? [];\n const mergedOnly =\n options.mergeCachedOnly !== false && cached?.only\n ? mergeOnly(cached.only, only)\n : [...only];\n const reusableEvaluatedState =\n !changed && cached?.evaluated && cached.loadedAndParsed !== undefined;\n const canReuseEvaluatedTransformResult =\n reusableEvaluatedState &&\n isSuperSet(cached.evaluatedOnly, mergedOnly) &&\n cached.hasTransformResult &&\n cached.loadedAndParsed !== undefined;\n\n if (cached?.evaluated) {\n cached.log('is already evaluated with', cached.evaluatedOnly);\n }\n\n if (canReuseEvaluatedTransformResult) {\n const isLoop = parent && hasLoop(name, parent);\n const reusedEntrypoint = new Entrypoint(\n services,\n parent ? [parent] : [],\n loadedCode,\n name,\n mergedOnly,\n exports,\n evaluatedOnly,\n cached.loadedAndParsed,\n undefined,\n cached.dependencies,\n cached.invalidationDependencies,\n cached.invalidateOnDependencyChange,\n cached.generation + 1,\n true\n );\n\n reusedEntrypoint.reuseTransformResult(\n cached.transformResultCode,\n cached.hasWywMetadata\n );\n if (\n 'preevalResult' in cached &&\n cached.preevalResult !== null &&\n cached.preevalResult !== undefined\n ) {\n reusedEntrypoint.setPreevalResult(cached.preevalResult);\n }\n\n return [isLoop ? 'loop' : 'cached', reusedEntrypoint];\n }\n\n if (!changed && cached && !cached.evaluated) {\n const isLoop = parent && hasLoop(name, parent);\n if (isLoop) {\n parent.log('[createEntrypoint] %s is a loop', name);\n }\n\n if (parent && !cached.parents.map((p) => p.name).includes(parent.name)) {\n cached.parents.push(parent);\n }\n\n if (isSuperSet(cached.only, mergedOnly)) {\n cached.log('is cached', name);\n return [isLoop ? 'loop' : 'cached', cached];\n }\n\n cached.log(\n 'is cached, but with different `only` %o (the cached one %o)',\n only,\n cached?.only\n );\n\n if (cached.#isProcessing) {\n if (parent === null) {\n cached.log(\n 'is being processed during root request, supersede immediately (%o -> %o)',\n cached.only,\n mergedOnly\n );\n return [isLoop ? 'loop' : 'created', cached.supersede(mergedOnly)];\n }\n\n cached.deferOnlySupersede(mergedOnly);\n cached.log(\n 'is being processed, defer supersede (%o -> %o)',\n cached.only,\n mergedOnly\n );\n return [isLoop ? 'loop' : 'cached', cached];\n }\n\n return [isLoop ? 'loop' : 'created', cached.supersede(mergedOnly)];\n }\n\n const newEntrypoint = new Entrypoint(\n services,\n parent ? [parent] : [],\n loadedCode,\n name,\n mergedOnly,\n exports,\n evaluatedOnly,\n reusableEvaluatedState ? cached.loadedAndParsed : undefined,\n cached && 'resolveTasks' in cached ? cached.resolveTasks : undefined,\n cached && 'dependencies' in cached ? cached.dependencies : undefined,\n cached && 'invalidationDependencies' in cached\n ? cached.invalidationDependencies\n : undefined,\n cached && 'invalidateOnDependencyChange' in cached\n ? cached.invalidateOnDependencyChange\n : undefined,\n cached ? cached.generation + 1 : 1\n );\n\n if (\n reusableEvaluatedState &&\n 'preevalResult' in cached &&\n cached.preevalResult !== null &&\n cached.preevalResult !== undefined\n ) {\n newEntrypoint.setPreevalResult(cached.preevalResult);\n }\n\n if (cached && !cached.evaluated) {\n cached.log('is cached, but with different code');\n cached.supersede(newEntrypoint);\n }\n\n return ['created', newEntrypoint];\n }\n\n public addDependency(dependency: IEntrypointDependency): void {\n this.resolveTasks.delete(dependency.source);\n this.dependencies.set(dependency.source, dependency);\n }\n\n public addInvalidationDependency(dependency: IEntrypointDependency): void {\n this.resolveTasks.delete(dependency.source);\n this.invalidationDependencies.set(dependency.source, dependency);\n }\n\n public addResolveTask(\n name: string,\n dependency: Promise<IEntrypointDependency>\n ): void {\n // Bounded retry of transient null resolutions. The first time a\n // resolveTask settles to null, evict it from the cache so the next\n // consumer re-attempts the resolver. After RESOLVE_TASK_MAX_NULL_ATTEMPTS\n // failures the entry stays cached so we don't thrash. Successful (non-null)\n // resolutions remain cached normally; this branch only ever fires for null.\n const tracked = dependency.then((resolved) => {\n if (resolved.resolved !== null) {\n return resolved;\n }\n\n const attempts = (this.#resolveTaskNullAttempts.get(name) ?? 0) + 1;\n this.#resolveTaskNullAttempts.set(name, attempts);\n if (\n attempts < Entrypoint.RESOLVE_TASK_MAX_NULL_ATTEMPTS &&\n this.resolveTasks.get(name) === tracked\n ) {\n this.resolveTasks.delete(name);\n }\n\n return resolved;\n });\n this.resolveTasks.set(name, tracked);\n }\n\n public applyDeferredSupersede() {\n if (this.#supersededWith || this.#pendingOnly === null) {\n return null;\n }\n\n const mergedOnly = mergeOnly(this.only, this.#pendingOnly);\n this.#pendingOnly = null;\n\n if (isSuperSet(this.only, mergedOnly)) {\n return null;\n }\n\n this.log('apply deferred supersede (%o -> %o)', this.only, mergedOnly);\n\n const nextEntrypoint = this.supersede(mergedOnly);\n this.services.cache.add('entrypoints', this.name, nextEntrypoint);\n\n return nextEntrypoint;\n }\n\n public assertNotSuperseded() {\n if (this.supersededWith) {\n this.log('superseded');\n throw new AbortError('superseded');\n }\n }\n\n public assertTransformed() {\n if (this.transformedCode === null) {\n this.log('not transformed');\n throw new UnprocessedEntrypointError(this.supersededWith ?? this);\n }\n }\n\n public beginProcessing() {\n this.#isProcessing = true;\n if (!this.#processingPromise) {\n this.#processingPromise = new Promise<void>((resolve) => {\n this.#resolveProcessing = resolve;\n });\n }\n }\n\n public createAction<\n TType extends ActionTypes,\n TAction extends ActionByType<TType>,\n >(\n actionType: TType,\n data: TAction['data'],\n abortSignal: AbortSignal | null = null,\n actionContext: unknown = DEFAULT_ACTION_CONTEXT\n ): BaseAction<TAction> {\n if (!this.actionsCache.has(actionType)) {\n this.actionsCache.set(actionType, new Map());\n }\n\n const contexts = this.actionsCache.get(actionType)!;\n if (!contexts.has(actionContext)) {\n contexts.set(actionContext, new Map());\n }\n\n const cache = contexts.get(actionContext)!;\n const cached = cache.get(data);\n if (cached && !cached.abortSignal?.aborted) {\n return cached as BaseAction<TAction>;\n }\n\n const newAction = new BaseAction<TAction>(\n actionType as TAction['type'],\n this.services,\n this,\n data,\n abortSignal,\n actionContext\n );\n\n cache.set(data, newAction);\n\n this.services.eventEmitter.entrypointEvent(this.seqId, {\n type: 'actionCreated',\n actionType,\n actionIdx: newAction.idx,\n });\n\n return newAction;\n }\n\n public createChild(\n name: string,\n only: string[],\n loadedCode?: string\n ): Entrypoint | 'loop' {\n return Entrypoint.create(this.services, this, name, only, loadedCode);\n }\n\n public createEvaluated() {\n const evaluatedOnly = mergeOnly(this.evaluatedOnly, this.only);\n this.log('create EvaluatedEntrypoint for %o', evaluatedOnly);\n\n const evaluated = new EvaluatedEntrypoint(\n this.services,\n evaluatedOnly,\n this.exportsProxy,\n this.generation + 1,\n this.name,\n this.only,\n this.parents,\n this.dependencies,\n this.invalidationDependencies,\n this.invalidateOnDependencyChange\n );\n\n evaluated.initialCode = this.initialCode;\n evaluated.hasTransformResult = this.#hasTransformResult;\n evaluated.hasWywMetadata = this.#hasWywMetadata;\n evaluated.loadedAndParsed = this.loadedAndParsed;\n evaluated.preevalResult = this.#preevalResult;\n evaluated.transformResultCode = this.#transformResultCode;\n\n return evaluated;\n }\n\n public endProcessing() {\n this.#isProcessing = false;\n this.#resolveProcessing?.();\n this.#resolveProcessing = null;\n this.#processingPromise = null;\n }\n\n public getDependency(name: string): IEntrypointDependency | undefined {\n return this.dependencies.get(name);\n }\n\n public getPreevalResult(): IPreevalResult | null {\n return this.#preevalResult;\n }\n\n public getInvalidationDependency(\n name: string\n ): IEntrypointDependency | undefined {\n return this.invalidationDependencies.get(name);\n }\n\n public markInvalidateOnDependencyChange(filename: string): void {\n this.invalidateOnDependencyChange.add(filename);\n }\n\n public getResolveTask(\n name: string\n ): Promise<IEntrypointDependency> | undefined {\n return this.resolveTasks.get(name);\n }\n\n public hasWywMetadata() {\n return this.#hasWywMetadata;\n }\n\n public waitForProcessing(): Promise<void> {\n return this.#processingPromise ?? Promise.resolve();\n }\n\n public reuseTransformResult(\n code: string | null,\n hasWywMetadata: boolean\n ): void {\n this.#hasTransformResult = true;\n this.#hasWywMetadata = hasWywMetadata;\n this.#transformResultCode = code;\n }\n\n public onSupersede(callback: (newEntrypoint: Entrypoint) => void) {\n if (this.#supersededWith) {\n callback(this.#supersededWith);\n return () => {};\n }\n\n this.onSupersedeHandlers.push(callback);\n\n return () => {\n const index = this.onSupersedeHandlers.indexOf(callback);\n if (index >= 0) {\n this.onSupersedeHandlers.splice(index, 1);\n }\n };\n }\n\n public setTransformResult(res: ITransformFileResult | null) {\n this.#hasTransformResult = true;\n this.#hasWywMetadata = Boolean(res?.metadata);\n this.#transformResultCode = res?.code ?? null;\n\n this.services.eventEmitter.entrypointEvent(this.seqId, {\n isNull: res === null,\n type: 'setTransformResult',\n });\n }\n\n public setPreevalResult(result: IPreevalResult): void {\n this.#preevalResult = result;\n }\n\n private deferOnlySupersede(only: string[]) {\n this.#pendingOnly = this.#pendingOnly\n ? mergeOnly(this.#pendingOnly, only)\n : [...only];\n }\n\n private supersede(newOnlyOrEntrypoint: string[] | Entrypoint): Entrypoint {\n this.#pendingOnly = null;\n const widensOnly = !(newOnlyOrEntrypoint instanceof Entrypoint);\n const newEntrypoint = widensOnly\n ? new Entrypoint(\n this.services,\n this.parents,\n this.initialCode,\n this.name,\n newOnlyOrEntrypoint,\n this.exports,\n this.evaluatedOnly,\n this.loadedAndParsed,\n this.resolveTasks,\n this.dependencies,\n this.invalidationDependencies,\n this.invalidateOnDependencyChange,\n this.generation + 1\n )\n : newOnlyOrEntrypoint;\n\n this.services.eventEmitter.entrypointEvent(this.seqId, {\n type: 'superseded',\n with: newEntrypoint.seqId,\n });\n this.log(\n 'superseded by %s (%o -> %o)',\n newEntrypoint.name,\n this.only,\n newEntrypoint.only\n );\n if (widensOnly) {\n newEntrypoint.#preevalResult = this.#preevalResult;\n }\n\n this.#supersededWith = newEntrypoint;\n this.onSupersedeHandlers.forEach((handler) => handler(newEntrypoint));\n\n return newEntrypoint;\n }\n}\n"],"file":"Entrypoint.js"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=Entrypoint.types.js.map
2
+ //# sourceMappingURL=Entrypoint.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Entrypoint.types.js","names":[],"sources":["../../src/transform/Entrypoint.types.ts"],"sourcesContent":["import type { TransformOptions } from '@babel/core';\nimport type { File } from '@babel/types';\n\nimport type { Debugger, Evaluator } from '@wyw-in-js/shared';\n\nimport type { Services } from './types';\n\nexport interface IEntrypointCode {\n readonly ast: File;\n code: string;\n evalConfig: TransformOptions;\n evaluator: Evaluator;\n}\n\nexport interface IIgnoredEntrypoint {\n readonly ast?: File;\n readonly code?: string;\n evaluator: 'ignored';\n reason: 'extension' | 'rule';\n}\n\nexport interface IEntrypointDependency {\n only: string[];\n resolved: string | null;\n source: string;\n}\n\nexport type LoadAndParseFn = (\n services: Services,\n name: string,\n loadedCode: string | undefined,\n log: Debugger\n) => IEntrypointCode | IIgnoredEntrypoint;\n"],"mappings":"","ignoreList":[]}
1
+ {"mappings":"","names":[],"sources":["../../src/transform/Entrypoint.types.ts"],"version":3,"sourcesContent":["import type {\n Debugger,\n Evaluator,\n TransformEngineOptions,\n} from '@wyw-in-js/shared';\n\nimport type { Services } from './types';\nimport type { WYWTransformMetadata } from '../utils/TransformMetadata';\n\nexport type ParsedAst = unknown;\n\nexport interface IEntrypointCode {\n readonly ast: ParsedAst;\n code: string;\n evalConfig: TransformEngineOptions;\n evaluator: Evaluator;\n}\n\nexport interface IIgnoredEntrypoint {\n readonly ast?: ParsedAst;\n readonly code?: string;\n evaluator: 'ignored';\n reason: 'extension' | 'rule';\n}\n\nexport interface IEntrypointDependency {\n only: string[];\n resolved: string | null;\n source: string;\n}\n\nexport interface IPreevalResult {\n ast: ParsedAst | null;\n baseCode?: string;\n code: string;\n dependencyNames?: string[];\n evalCode?: string;\n metadata: WYWTransformMetadata | null;\n staticSideEffectImportLocals?: string[];\n staticDependencies?: string[];\n staticNullWYWMetaExtendsHelpers?: string[];\n staticValueCache?: Map<string, unknown>;\n staticValueCandidates?: Array<{\n imports: Array<{\n imported: 'default' | string;\n importLocal?: string;\n local: string;\n source: string;\n }>;\n name: string;\n source: string;\n }>;\n}\n\nexport type LoadAndParseFn = (\n services: Services,\n name: string,\n loadedCode: string | undefined,\n log: Debugger\n) => IEntrypointCode | IIgnoredEntrypoint;\n"],"file":"Entrypoint.types.js"}
@@ -1,6 +1,12 @@
1
- import { BaseEntrypoint } from './BaseEntrypoint';
1
+ import { BaseEntrypoint } from "./BaseEntrypoint.js";
2
2
  export class EvaluatedEntrypoint extends BaseEntrypoint {
3
- evaluated = true;
4
- ignored = false;
3
+ evaluated = true;
4
+ ignored = false;
5
+ hasTransformResult = false;
6
+ hasWywMetadata = false;
7
+ initialCode;
8
+ loadedAndParsed;
9
+ preevalResult = null;
10
+ transformResultCode = null;
5
11
  }
6
- //# sourceMappingURL=EvaluatedEntrypoint.js.map
12
+ //# sourceMappingURL=EvaluatedEntrypoint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EvaluatedEntrypoint.js","names":["BaseEntrypoint","EvaluatedEntrypoint","evaluated","ignored"],"sources":["../../src/transform/EvaluatedEntrypoint.ts"],"sourcesContent":["import type { Debugger } from '@wyw-in-js/shared';\n\nimport { BaseEntrypoint } from './BaseEntrypoint';\nimport type { IEntrypointDependency } from './Entrypoint.types';\n\nexport interface IEvaluatedEntrypoint {\n dependencies: Map<string, IEntrypointDependency>;\n evaluated: true;\n evaluatedOnly: string[];\n exports: Record<string | symbol, unknown>;\n generation: number;\n ignored: false;\n initialCode?: string;\n invalidationDependencies: Map<string, IEntrypointDependency>;\n invalidateOnDependencyChange: Set<string>;\n log: Debugger;\n only: string[];\n}\n\nexport class EvaluatedEntrypoint\n extends BaseEntrypoint\n implements IEvaluatedEntrypoint\n{\n public readonly evaluated = true;\n\n public readonly ignored = false;\n\n public initialCode?: string;\n}\n"],"mappings":"AAEA,SAASA,cAAc,QAAQ,kBAAkB;AAiBjD,OAAO,MAAMC,mBAAmB,SACtBD,cAAc,CAExB;EACkBE,SAAS,GAAG,IAAI;EAEhBC,OAAO,GAAG,KAAK;AAGjC","ignoreList":[]}
1
+ {"mappings":"AAEA,SAAS,sBAAsB;AA4B/B,OAAO,MAAM,4BACH,eAEV;CACE,AAAgB,YAAY;CAE5B,AAAgB,UAAU;CAE1B,AAAO,qBAAqB;CAE5B,AAAO,iBAAiB;CAExB,AAAO;CAEP,AAAO;CAEP,AAAO,gBAAuC;CAE9C,AAAO,sBAAqC","names":[],"sources":["../../src/transform/EvaluatedEntrypoint.ts"],"version":3,"sourcesContent":["import type { Debugger } from '@wyw-in-js/shared';\n\nimport { BaseEntrypoint } from './BaseEntrypoint';\nimport type {\n IEntrypointCode,\n IIgnoredEntrypoint,\n IEntrypointDependency,\n IPreevalResult,\n} from './Entrypoint.types';\nimport type { ParentEntrypoint } from '../types';\n\nexport interface IEvaluatedEntrypoint extends ParentEntrypoint {\n dependencies: Map<string, IEntrypointDependency>;\n evaluated: true;\n evaluatedOnly: string[];\n exports: Record<string | symbol, unknown>;\n generation: number;\n hasTransformResult: boolean;\n hasWywMetadata: boolean;\n ignored: false;\n initialCode?: string;\n invalidationDependencies: Map<string, IEntrypointDependency>;\n invalidateOnDependencyChange: Set<string>;\n loadedAndParsed?: IEntrypointCode | IIgnoredEntrypoint;\n log: Debugger;\n only: string[];\n preevalResult: IPreevalResult | null;\n transformResultCode: string | null;\n}\n\nexport class EvaluatedEntrypoint\n extends BaseEntrypoint\n implements IEvaluatedEntrypoint\n{\n public readonly evaluated = true;\n\n public readonly ignored = false;\n\n public hasTransformResult = false;\n\n public hasWywMetadata = false;\n\n public initialCode?: string;\n\n public loadedAndParsed?: IEntrypointCode | IIgnoredEntrypoint;\n\n public preevalResult: IPreevalResult | null = null;\n\n public transformResultCode: string | null = null;\n}\n"],"file":"EvaluatedEntrypoint.js"}
@@ -1,8 +1,8 @@
1
1
  export class AbortError extends Error {
2
- constructor(reason) {
3
- super(reason);
4
- this.name = 'AbortError';
5
- }
2
+ constructor(reason) {
3
+ super(reason);
4
+ this.name = "AbortError";
5
+ }
6
6
  }
7
- export const isAborted = value => value instanceof AbortError;
8
- //# sourceMappingURL=AbortError.js.map
7
+ export const isAborted = (value) => value instanceof AbortError;
8
+ //# sourceMappingURL=AbortError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbortError.js","names":["AbortError","Error","constructor","reason","name","isAborted","value"],"sources":["../../../src/transform/actions/AbortError.ts"],"sourcesContent":["export class AbortError extends Error {\n constructor(reason?: string) {\n super(reason);\n this.name = 'AbortError';\n }\n}\n\nexport const isAborted = (value: unknown): value is AbortError =>\n value instanceof AbortError;\n"],"mappings":"AAAA,OAAO,MAAMA,UAAU,SAASC,KAAK,CAAC;EACpCC,WAAWA,CAACC,MAAe,EAAE;IAC3B,KAAK,CAACA,MAAM,CAAC;IACb,IAAI,CAACC,IAAI,GAAG,YAAY;EAC1B;AACF;AAEA,OAAO,MAAMC,SAAS,GAAIC,KAAc,IACtCA,KAAK,YAAYN,UAAU","ignoreList":[]}
1
+ {"mappings":"AAAA,OAAO,MAAM,mBAAmB,MAAM;CACpC,YAAY,QAAiB;AAC3B,QAAM,OAAO;AACb,OAAK,OAAO;;;AAIhB,OAAO,MAAM,aAAa,UACxB,iBAAiB","names":[],"sources":["../../../src/transform/actions/AbortError.ts"],"version":3,"sourcesContent":["export class AbortError extends Error {\n constructor(reason?: string) {\n super(reason);\n this.name = 'AbortError';\n }\n}\n\nexport const isAborted = (value: unknown): value is AbortError =>\n value instanceof AbortError;\n"],"file":"AbortError.js"}
@@ -1,140 +1,144 @@
1
1
  /* eslint-disable no-plusplus */
2
- import '../../utils/dispose-polyfill';
3
- import { Pending } from '../types';
2
+ import "../../utils/dispose-polyfill.js";
3
+ import { Pending } from "../types.js";
4
4
  let actionIdx = 0;
5
5
  export class BaseAction {
6
- result = Pending;
7
- activeScenario = null;
8
- activeScenarioNextResults = [];
9
- handler = null;
10
- constructor(type, services, entrypoint, data, abortSignal, actionContext) {
11
- this.type = type;
12
- this.services = services;
13
- this.entrypoint = entrypoint;
14
- this.data = data;
15
- this.abortSignal = abortSignal;
16
- this.actionContext = actionContext;
17
- actionIdx += 1;
18
- this.idx = actionIdx.toString(16).padStart(6, '0');
19
- }
20
- get log() {
21
- return this.entrypoint.log.extend(this.ref);
22
- }
23
- get ref() {
24
- return `${this.type}@${this.idx}`;
25
- }
26
- createAbortSignal() {
27
- const abortController = new AbortController();
28
- const unsubscribeFromParentAbort = this.onAbort(() => {
29
- this.entrypoint.log('parent aborted');
30
- abortController.abort();
31
- });
32
- const unsubscribeFromSupersede = this.entrypoint.onSupersede(() => {
33
- this.entrypoint.log('entrypoint superseded, aborting processing');
34
- abortController.abort();
35
- });
36
- const abortSignal = abortController.signal;
37
- abortSignal[Symbol.dispose] = () => {
38
- unsubscribeFromParentAbort();
39
- unsubscribeFromSupersede();
40
- };
41
- return abortSignal;
42
- }
43
- *getNext(type, entrypoint, data, abortSignal = this.abortSignal) {
44
- return yield [type, entrypoint, data, abortSignal];
45
- }
46
- onAbort(fn) {
47
- this.abortSignal?.addEventListener('abort', fn);
48
- return () => {
49
- this.abortSignal?.removeEventListener('abort', fn);
50
- };
51
- }
52
- run(handler) {
53
- if (this.handler && this.handler !== handler) {
54
- throw new Error(`action handler is already set for ${this.ref} (${this.entrypoint.name})`);
55
- }
56
- this.handler = handler;
57
- if (!this.activeScenario) {
58
- this.activeScenario = handler.call(this);
59
- this.activeScenarioNextResults = [];
60
- }
61
- let nextIdx = 0;
62
- const throwFn = e => this.emitAction(nextIdx, () => this.activeScenario.throw(e));
63
- const nextFn = arg => this.emitAction(nextIdx, () => this.activeScenario.next(arg));
64
- const processNextResult = (result, onError) => {
65
- if ('then' in result) {
66
- result.then(r => {
67
- if (r.done) {
68
- this.result = r.value;
69
- }
70
- }, onError);
71
- } else if (result.done) {
72
- this.result = result.value;
73
- }
74
- this.activeScenarioNextResults.push(result);
75
- };
76
- const processError = e => {
77
- if (this.activeScenarioNextResults.length > nextIdx) {
78
- this.log('error was already handled in another branch, result idx is %d', nextIdx);
79
- return;
80
- }
81
- this.log('error processing, result idx is %d', nextIdx);
82
- try {
83
- const nextResult = throwFn(e);
84
- processNextResult(nextResult, processError);
85
- } catch (errorInGenerator) {
86
- const {
87
- recover
88
- } = handler;
89
- if (recover) {
90
- const nextResult = {
91
- done: false,
92
- value: recover(errorInGenerator, this)
93
- };
94
- processNextResult(nextResult, processError);
95
- return;
96
- }
97
- this.activeScenarioError = errorInGenerator;
98
- throw errorInGenerator;
99
- }
100
- };
101
- const processNext = arg => {
102
- if (this.activeScenarioNextResults.length > nextIdx) {
103
- this.log('next was already handled in another branch, result idx is %d', nextIdx);
104
- return;
105
- }
106
- this.log('next processing, result idx is %d', nextIdx);
107
- try {
108
- const nextResult = nextFn(arg);
109
- processNextResult(nextResult, processError);
110
- } catch (e) {
111
- processError(e);
112
- }
113
- };
114
- return {
115
- next: arg => {
116
- this.rethrowActiveScenarioError();
117
- processNext(arg);
118
- return this.activeScenarioNextResults[nextIdx++];
119
- },
120
- throw: e => {
121
- this.rethrowActiveScenarioError();
122
- processError(e);
123
- return this.activeScenarioNextResults[nextIdx++];
124
- }
125
- };
126
- }
127
- emitAction(yieldIdx, fn) {
128
- return this.services.eventEmitter.action(this.type, `${this.idx}:${yieldIdx + 1}`, this.entrypoint.ref, fn);
129
- }
130
- rethrowActiveScenarioError() {
131
- if (!this.activeScenarioError) {
132
- return;
133
- }
134
- this.log('scenario has an unhandled error from another branch, rethrow %o', this.activeScenarioError);
135
-
136
- // eslint-disable-next-line @typescript-eslint/no-throw-literal
137
- throw this.activeScenarioError;
138
- }
6
+ idx;
7
+ result = Pending;
8
+ activeScenario = null;
9
+ activeScenarioError;
10
+ activeScenarioNextResults = [];
11
+ handler = null;
12
+ constructor(type, services, entrypoint, data, abortSignal, actionContext) {
13
+ this.type = type;
14
+ this.services = services;
15
+ this.entrypoint = entrypoint;
16
+ this.data = data;
17
+ this.abortSignal = abortSignal;
18
+ this.actionContext = actionContext;
19
+ actionIdx += 1;
20
+ this.idx = actionIdx.toString(16).padStart(6, "0");
21
+ }
22
+ get log() {
23
+ return this.entrypoint.log.extend(this.ref);
24
+ }
25
+ get ref() {
26
+ return `${this.type}@${this.idx}`;
27
+ }
28
+ createAbortSignal() {
29
+ const abortController = new AbortController();
30
+ const unsubscribeFromParentAbort = this.onAbort(() => {
31
+ this.entrypoint.log("parent aborted");
32
+ abortController.abort();
33
+ });
34
+ const unsubscribeFromSupersede = this.entrypoint.onSupersede(() => {
35
+ this.entrypoint.log("entrypoint superseded, aborting processing");
36
+ abortController.abort();
37
+ });
38
+ const abortSignal = abortController.signal;
39
+ abortSignal[Symbol.dispose] = () => {
40
+ unsubscribeFromParentAbort();
41
+ unsubscribeFromSupersede();
42
+ };
43
+ return abortSignal;
44
+ }
45
+ *getNext(type, entrypoint, data, abortSignal = this.abortSignal) {
46
+ return yield [
47
+ type,
48
+ entrypoint,
49
+ data,
50
+ abortSignal
51
+ ];
52
+ }
53
+ onAbort(fn) {
54
+ this.abortSignal?.addEventListener("abort", fn);
55
+ return () => {
56
+ this.abortSignal?.removeEventListener("abort", fn);
57
+ };
58
+ }
59
+ run(handler) {
60
+ if (this.handler && this.handler !== handler) {
61
+ throw new Error(`action handler is already set for ${this.ref} (${this.entrypoint.name})`);
62
+ }
63
+ this.handler = handler;
64
+ if (!this.activeScenario) {
65
+ this.activeScenario = handler.call(this);
66
+ this.activeScenarioNextResults = [];
67
+ }
68
+ let nextIdx = 0;
69
+ const throwFn = (e) => this.emitAction(nextIdx, () => this.activeScenario.throw(e));
70
+ const nextFn = (arg) => this.emitAction(nextIdx, () => this.activeScenario.next(arg));
71
+ const processNextResult = (result, onError) => {
72
+ if ("then" in result) {
73
+ result.then((r) => {
74
+ if (r.done) {
75
+ this.result = r.value;
76
+ }
77
+ }, onError);
78
+ } else if (result.done) {
79
+ this.result = result.value;
80
+ }
81
+ this.activeScenarioNextResults.push(result);
82
+ };
83
+ const processError = (e) => {
84
+ if (this.activeScenarioNextResults.length > nextIdx) {
85
+ this.log("error was already handled in another branch, result idx is %d", nextIdx);
86
+ return;
87
+ }
88
+ this.log("error processing, result idx is %d", nextIdx);
89
+ try {
90
+ const nextResult = throwFn(e);
91
+ processNextResult(nextResult, processError);
92
+ } catch (errorInGenerator) {
93
+ const { recover } = handler;
94
+ if (recover) {
95
+ const nextResult = {
96
+ done: false,
97
+ value: recover(errorInGenerator, this)
98
+ };
99
+ processNextResult(nextResult, processError);
100
+ return;
101
+ }
102
+ this.activeScenarioError = errorInGenerator;
103
+ throw errorInGenerator;
104
+ }
105
+ };
106
+ const processNext = (arg) => {
107
+ if (this.activeScenarioNextResults.length > nextIdx) {
108
+ this.log("next was already handled in another branch, result idx is %d", nextIdx);
109
+ return;
110
+ }
111
+ this.log("next processing, result idx is %d", nextIdx);
112
+ try {
113
+ const nextResult = nextFn(arg);
114
+ processNextResult(nextResult, processError);
115
+ } catch (e) {
116
+ processError(e);
117
+ }
118
+ };
119
+ return {
120
+ next: (arg) => {
121
+ this.rethrowActiveScenarioError();
122
+ processNext(arg);
123
+ return this.activeScenarioNextResults[nextIdx++];
124
+ },
125
+ throw: (e) => {
126
+ this.rethrowActiveScenarioError();
127
+ processError(e);
128
+ return this.activeScenarioNextResults[nextIdx++];
129
+ }
130
+ };
131
+ }
132
+ emitAction(yieldIdx, fn) {
133
+ return this.services.eventEmitter.action(this.type, `${this.idx}:${yieldIdx + 1}`, this.entrypoint.ref, fn);
134
+ }
135
+ rethrowActiveScenarioError() {
136
+ if (!this.activeScenarioError) {
137
+ return;
138
+ }
139
+ this.log("scenario has an unhandled error from another branch, rethrow %o", this.activeScenarioError);
140
+ // eslint-disable-next-line @typescript-eslint/no-throw-literal
141
+ throw this.activeScenarioError;
142
+ }
139
143
  }
140
- //# sourceMappingURL=BaseAction.js.map
144
+ //# sourceMappingURL=BaseAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAction.js","names":["Pending","actionIdx","BaseAction","result","activeScenario","activeScenarioNextResults","handler","constructor","type","services","entrypoint","data","abortSignal","actionContext","idx","toString","padStart","log","extend","ref","createAbortSignal","abortController","AbortController","unsubscribeFromParentAbort","onAbort","abort","unsubscribeFromSupersede","onSupersede","signal","Symbol","dispose","getNext","fn","addEventListener","removeEventListener","run","Error","name","call","nextIdx","throwFn","e","emitAction","throw","nextFn","arg","next","processNextResult","onError","then","r","done","value","push","processError","length","nextResult","errorInGenerator","recover","activeScenarioError","processNext","rethrowActiveScenarioError","yieldIdx","eventEmitter","action"],"sources":["../../../src/transform/actions/BaseAction.ts"],"sourcesContent":["/* eslint-disable no-plusplus */\nimport '../../utils/dispose-polyfill';\nimport type { Debugger } from '@wyw-in-js/shared';\n\nimport type { Entrypoint } from '../Entrypoint';\nimport type {\n ActionQueueItem,\n ActionTypes,\n AnyIteratorResult,\n AsyncScenarioForAction,\n Handler,\n IBaseAction,\n Services,\n SyncScenarioForAction,\n TypeOfResult,\n YieldResult,\n} from '../types';\nimport { Pending } from '../types';\n\nlet actionIdx = 0;\n\nexport type ActionByType<TType extends ActionTypes> = Extract<\n ActionQueueItem,\n {\n type: TType;\n }\n>;\n\ntype GetBase<TAction extends ActionQueueItem> = IBaseAction<\n TAction,\n TypeOfResult<TAction>,\n TAction['data']\n>;\n\nexport class BaseAction<TAction extends ActionQueueItem>\n implements GetBase<TAction>\n{\n public readonly idx: string;\n\n public result: TypeOfResult<TAction> | typeof Pending = Pending;\n\n private activeScenario:\n | SyncScenarioForAction<TAction>\n | AsyncScenarioForAction<TAction>\n | null = null;\n\n private activeScenarioError?: unknown;\n\n private activeScenarioNextResults: AnyIteratorResult<\n 'async' | 'sync',\n TypeOfResult<TAction>\n >[] = [];\n\n private handler: null | unknown = null;\n\n public constructor(\n public readonly type: TAction['type'],\n public readonly services: Services,\n public readonly entrypoint: Entrypoint,\n public readonly data: TAction['data'],\n public readonly abortSignal: AbortSignal | null,\n public readonly actionContext: unknown\n ) {\n actionIdx += 1;\n this.idx = actionIdx.toString(16).padStart(6, '0');\n }\n\n public get log(): Debugger {\n return this.entrypoint.log.extend(this.ref);\n }\n\n public get ref() {\n return `${this.type}@${this.idx}`;\n }\n\n public createAbortSignal(): AbortSignal & Disposable {\n const abortController = new AbortController();\n\n const unsubscribeFromParentAbort = this.onAbort(() => {\n this.entrypoint.log('parent aborted');\n abortController.abort();\n });\n\n const unsubscribeFromSupersede = this.entrypoint.onSupersede(() => {\n this.entrypoint.log('entrypoint superseded, aborting processing');\n abortController.abort();\n });\n\n const abortSignal = abortController.signal as AbortSignal & Disposable;\n abortSignal[Symbol.dispose] = () => {\n unsubscribeFromParentAbort();\n unsubscribeFromSupersede();\n };\n\n return abortSignal;\n }\n\n public *getNext<\n TNextType extends ActionTypes,\n TNextAction extends ActionByType<TNextType> = ActionByType<TNextType>,\n >(\n type: TNextType,\n entrypoint: Entrypoint,\n data: TNextAction['data'],\n abortSignal: AbortSignal | null = this.abortSignal\n ): Generator<\n [TNextType, Entrypoint, TNextAction['data'], AbortSignal | null],\n TypeOfResult<TNextAction>,\n YieldResult\n > {\n return (yield [\n type,\n entrypoint,\n data,\n abortSignal,\n ]) as TypeOfResult<TNextAction>;\n }\n\n public onAbort(fn: () => void): () => void {\n this.abortSignal?.addEventListener('abort', fn);\n\n return () => {\n this.abortSignal?.removeEventListener('abort', fn);\n };\n }\n\n public run<\n TMode extends 'async' | 'sync',\n THandler extends Handler<TMode, TAction> = Handler<TMode, TAction>,\n >(handler: THandler) {\n type IterationResult = AnyIteratorResult<TMode, TypeOfResult<TAction>>;\n\n if (this.handler && this.handler !== handler) {\n throw new Error(\n `action handler is already set for ${this.ref} (${this.entrypoint.name})`\n );\n }\n\n this.handler = handler;\n\n if (!this.activeScenario) {\n this.activeScenario = handler.call(this);\n this.activeScenarioNextResults = [];\n }\n\n let nextIdx = 0;\n\n const throwFn = (e: unknown) =>\n this.emitAction(nextIdx, () => this.activeScenario!.throw(e));\n\n const nextFn = (arg: YieldResult) =>\n this.emitAction(nextIdx, () => this.activeScenario!.next(arg));\n\n const processNextResult = (\n result: IterationResult,\n onError?: (e: unknown) => void\n ) => {\n if ('then' in result) {\n result.then((r) => {\n if (r.done) {\n this.result = r.value;\n }\n }, onError);\n } else if (result.done) {\n this.result = result.value;\n }\n\n this.activeScenarioNextResults.push(result);\n };\n\n const processError = (e: unknown) => {\n if (this.activeScenarioNextResults.length > nextIdx) {\n this.log(\n 'error was already handled in another branch, result idx is %d',\n nextIdx\n );\n return;\n }\n\n this.log('error processing, result idx is %d', nextIdx);\n\n try {\n const nextResult = throwFn(e);\n processNextResult(nextResult as IterationResult, processError);\n } catch (errorInGenerator) {\n const { recover } = handler;\n if (recover) {\n const nextResult = {\n done: false,\n value: recover(errorInGenerator, this),\n };\n\n processNextResult(nextResult as IterationResult, processError);\n return;\n }\n\n this.activeScenarioError = errorInGenerator;\n throw errorInGenerator;\n }\n };\n\n const processNext = (arg: YieldResult) => {\n if (this.activeScenarioNextResults.length > nextIdx) {\n this.log(\n 'next was already handled in another branch, result idx is %d',\n nextIdx\n );\n return;\n }\n\n this.log('next processing, result idx is %d', nextIdx);\n\n try {\n const nextResult = nextFn(arg);\n processNextResult(nextResult as IterationResult, processError);\n } catch (e) {\n processError(e);\n }\n };\n\n return {\n next: (arg: YieldResult): IterationResult => {\n this.rethrowActiveScenarioError();\n processNext(arg);\n return this.activeScenarioNextResults[nextIdx++] as IterationResult;\n },\n throw: (e: unknown): IterationResult => {\n this.rethrowActiveScenarioError();\n processError(e);\n return this.activeScenarioNextResults[nextIdx++] as IterationResult;\n },\n };\n }\n\n protected emitAction<TRes>(yieldIdx: number, fn: () => TRes) {\n return this.services.eventEmitter.action(\n this.type,\n `${this.idx}:${yieldIdx + 1}`,\n this.entrypoint.ref,\n fn\n );\n }\n\n private rethrowActiveScenarioError() {\n if (!this.activeScenarioError) {\n return;\n }\n\n this.log(\n 'scenario has an unhandled error from another branch, rethrow %o',\n this.activeScenarioError\n );\n\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n throw this.activeScenarioError;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"mappings":"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","names":[],"sources":["../../../src/transform/actions/BaseAction.ts"],"version":3,"sourcesContent":["/* eslint-disable no-plusplus */\nimport '../../utils/dispose-polyfill';\nimport type { Debugger } from '@wyw-in-js/shared';\n\nimport type { Entrypoint } from '../Entrypoint';\nimport type {\n ActionQueueItem,\n ActionTypes,\n AnyIteratorResult,\n AsyncScenarioForAction,\n Handler,\n IBaseAction,\n Services,\n SyncScenarioForAction,\n TypeOfResult,\n YieldResult,\n} from '../types';\nimport { Pending } from '../types';\n\nlet actionIdx = 0;\n\nexport type ActionByType<TType extends ActionTypes> = Extract<\n ActionQueueItem,\n {\n type: TType;\n }\n>;\n\ntype GetBase<TAction extends ActionQueueItem> = IBaseAction<\n TAction,\n TypeOfResult<TAction>,\n TAction['data']\n>;\n\nexport class BaseAction<TAction extends ActionQueueItem>\n implements GetBase<TAction>\n{\n public readonly idx: string;\n\n public result: TypeOfResult<TAction> | typeof Pending = Pending;\n\n private activeScenario:\n | SyncScenarioForAction<TAction>\n | AsyncScenarioForAction<TAction>\n | null = null;\n\n private activeScenarioError?: unknown;\n\n private activeScenarioNextResults: AnyIteratorResult<\n 'async' | 'sync',\n TypeOfResult<TAction>\n >[] = [];\n\n private handler: null | unknown = null;\n\n public constructor(\n public readonly type: TAction['type'],\n public readonly services: Services,\n public readonly entrypoint: Entrypoint,\n public readonly data: TAction['data'],\n public readonly abortSignal: AbortSignal | null,\n public readonly actionContext: unknown\n ) {\n actionIdx += 1;\n this.idx = actionIdx.toString(16).padStart(6, '0');\n }\n\n public get log(): Debugger {\n return this.entrypoint.log.extend(this.ref);\n }\n\n public get ref() {\n return `${this.type}@${this.idx}`;\n }\n\n public createAbortSignal(): AbortSignal & Disposable {\n const abortController = new AbortController();\n\n const unsubscribeFromParentAbort = this.onAbort(() => {\n this.entrypoint.log('parent aborted');\n abortController.abort();\n });\n\n const unsubscribeFromSupersede = this.entrypoint.onSupersede(() => {\n this.entrypoint.log('entrypoint superseded, aborting processing');\n abortController.abort();\n });\n\n const abortSignal = abortController.signal as AbortSignal & Disposable;\n abortSignal[Symbol.dispose] = () => {\n unsubscribeFromParentAbort();\n unsubscribeFromSupersede();\n };\n\n return abortSignal;\n }\n\n public *getNext<\n TNextType extends ActionTypes,\n TNextAction extends ActionByType<TNextType> = ActionByType<TNextType>,\n >(\n type: TNextType,\n entrypoint: Entrypoint,\n data: TNextAction['data'],\n abortSignal: AbortSignal | null = this.abortSignal\n ): Generator<\n [TNextType, Entrypoint, TNextAction['data'], AbortSignal | null],\n TypeOfResult<TNextAction>,\n YieldResult\n > {\n return (yield [\n type,\n entrypoint,\n data,\n abortSignal,\n ]) as TypeOfResult<TNextAction>;\n }\n\n public onAbort(fn: () => void): () => void {\n this.abortSignal?.addEventListener('abort', fn);\n\n return () => {\n this.abortSignal?.removeEventListener('abort', fn);\n };\n }\n\n public run<\n TMode extends 'async' | 'sync',\n THandler extends Handler<TMode, TAction> = Handler<TMode, TAction>,\n >(handler: THandler) {\n type IterationResult = AnyIteratorResult<TMode, TypeOfResult<TAction>>;\n\n if (this.handler && this.handler !== handler) {\n throw new Error(\n `action handler is already set for ${this.ref} (${this.entrypoint.name})`\n );\n }\n\n this.handler = handler;\n\n if (!this.activeScenario) {\n this.activeScenario = handler.call(this);\n this.activeScenarioNextResults = [];\n }\n\n let nextIdx = 0;\n\n const throwFn = (e: unknown) =>\n this.emitAction(nextIdx, () => this.activeScenario!.throw(e));\n\n const nextFn = (arg: YieldResult) =>\n this.emitAction(nextIdx, () => this.activeScenario!.next(arg));\n\n const processNextResult = (\n result: IterationResult,\n onError?: (e: unknown) => void\n ) => {\n if ('then' in result) {\n result.then((r) => {\n if (r.done) {\n this.result = r.value;\n }\n }, onError);\n } else if (result.done) {\n this.result = result.value;\n }\n\n this.activeScenarioNextResults.push(result);\n };\n\n const processError = (e: unknown) => {\n if (this.activeScenarioNextResults.length > nextIdx) {\n this.log(\n 'error was already handled in another branch, result idx is %d',\n nextIdx\n );\n return;\n }\n\n this.log('error processing, result idx is %d', nextIdx);\n\n try {\n const nextResult = throwFn(e);\n processNextResult(nextResult as IterationResult, processError);\n } catch (errorInGenerator) {\n const { recover } = handler;\n if (recover) {\n const nextResult = {\n done: false,\n value: recover(errorInGenerator, this),\n };\n\n processNextResult(nextResult as IterationResult, processError);\n return;\n }\n\n this.activeScenarioError = errorInGenerator;\n throw errorInGenerator;\n }\n };\n\n const processNext = (arg: YieldResult) => {\n if (this.activeScenarioNextResults.length > nextIdx) {\n this.log(\n 'next was already handled in another branch, result idx is %d',\n nextIdx\n );\n return;\n }\n\n this.log('next processing, result idx is %d', nextIdx);\n\n try {\n const nextResult = nextFn(arg);\n processNextResult(nextResult as IterationResult, processError);\n } catch (e) {\n processError(e);\n }\n };\n\n return {\n next: (arg: YieldResult): IterationResult => {\n this.rethrowActiveScenarioError();\n processNext(arg);\n return this.activeScenarioNextResults[nextIdx++] as IterationResult;\n },\n throw: (e: unknown): IterationResult => {\n this.rethrowActiveScenarioError();\n processError(e);\n return this.activeScenarioNextResults[nextIdx++] as IterationResult;\n },\n };\n }\n\n protected emitAction<TRes>(yieldIdx: number, fn: () => TRes) {\n return this.services.eventEmitter.action(\n this.type,\n `${this.idx}:${yieldIdx + 1}`,\n this.entrypoint.ref,\n fn\n );\n }\n\n private rethrowActiveScenarioError() {\n if (!this.activeScenarioError) {\n return;\n }\n\n this.log(\n 'scenario has an unhandled error from another branch, rethrow %o',\n this.activeScenarioError\n );\n\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n throw this.activeScenarioError;\n }\n}\n"],"file":"BaseAction.js"}
@@ -1,8 +1,8 @@
1
1
  export class UnprocessedEntrypointError extends Error {
2
- constructor(entrypoint) {
3
- super(`Entrypoint ${entrypoint.idx} is not processed and can't be evaluated`);
4
- this.entrypoint = entrypoint;
5
- }
2
+ constructor(entrypoint) {
3
+ super(`Entrypoint ${entrypoint.idx} is not processed and can't be evaluated`);
4
+ this.entrypoint = entrypoint;
5
+ }
6
6
  }
7
- export const isUnprocessedEntrypointError = value => value instanceof UnprocessedEntrypointError;
8
- //# sourceMappingURL=UnprocessedEntrypointError.js.map
7
+ export const isUnprocessedEntrypointError = (value) => value instanceof UnprocessedEntrypointError;
8
+ //# sourceMappingURL=UnprocessedEntrypointError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnprocessedEntrypointError.js","names":["UnprocessedEntrypointError","Error","constructor","entrypoint","idx","isUnprocessedEntrypointError","value"],"sources":["../../../src/transform/actions/UnprocessedEntrypointError.ts"],"sourcesContent":["import type { Entrypoint } from '../Entrypoint';\n\nexport class UnprocessedEntrypointError extends Error {\n constructor(public entrypoint: Entrypoint) {\n super(\n `Entrypoint ${entrypoint.idx} is not processed and can't be evaluated`\n );\n }\n}\n\nexport const isUnprocessedEntrypointError = (\n value: unknown\n): value is UnprocessedEntrypointError =>\n value instanceof UnprocessedEntrypointError;\n"],"mappings":"AAEA,OAAO,MAAMA,0BAA0B,SAASC,KAAK,CAAC;EACpDC,WAAWA,CAAQC,UAAsB,EAAE;IACzC,KAAK,CACH,cAAcA,UAAU,CAACC,GAAG,0CAC9B,CAAC;IAAC,KAHeD,UAAsB,GAAtBA,UAAsB;EAIzC;AACF;AAEA,OAAO,MAAME,4BAA4B,GACvCC,KAAc,IAEdA,KAAK,YAAYN,0BAA0B","ignoreList":[]}
1
+ {"mappings":"AAEA,OAAO,MAAM,mCAAmC,MAAM;CACpD,YAAY,AAAO,YAAwB;AACzC,QACE,cAAc,WAAW,IAAI,0CAC9B;EAHgB;;;AAOrB,OAAO,MAAM,gCACX,UAEA,iBAAiB","names":[],"sources":["../../../src/transform/actions/UnprocessedEntrypointError.ts"],"version":3,"sourcesContent":["import type { Entrypoint } from '../Entrypoint';\n\nexport class UnprocessedEntrypointError extends Error {\n constructor(public entrypoint: Entrypoint) {\n super(\n `Entrypoint ${entrypoint.idx} is not processed and can't be evaluated`\n );\n }\n}\n\nexport const isUnprocessedEntrypointError = (\n value: unknown\n): value is UnprocessedEntrypointError =>\n value instanceof UnprocessedEntrypointError;\n"],"file":"UnprocessedEntrypointError.js"}