@wyw-in-js/transform 1.0.8 → 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 -28
  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 -79
  78. package/esm/transform/generators/workflow.js.map +1 -1
  79. package/esm/transform/helpers/loadWywOptions.js +154 -73
  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 +10 -0
  102. package/esm/utils/TransformDiagnostics.js.map +1 -0
  103. package/esm/utils/TransformMetadata.js +28 -10
  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 +7 -8
  178. package/types/index.js +24 -77
  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 +6 -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 -37
  222. package/types/transform/helpers/loadWywOptions.js +95 -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 +4 -24
  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.d.ts +9 -0
  241. package/types/utils/TransformDiagnostics.js +11 -0
  242. package/types/utils/TransformMetadata.d.ts +22 -4
  243. package/types/utils/TransformMetadata.js +23 -8
  244. package/types/utils/applyOxcProcessors.d.ts +16 -0
  245. package/types/utils/applyOxcProcessors.js +1391 -0
  246. package/types/utils/collectOxcExportsAndImports.d.ts +35 -0
  247. package/types/utils/collectOxcExportsAndImports.js +957 -0
  248. package/types/utils/collectOxcRuntime.d.ts +14 -0
  249. package/types/utils/collectOxcRuntime.js +250 -0
  250. package/types/utils/collectOxcTemplateDependencies.d.ts +38 -0
  251. package/types/utils/collectOxcTemplateDependencies.js +1580 -0
  252. package/types/utils/getFileIdx.js +1 -4
  253. package/types/utils/getPluginKey.d.ts +5 -2
  254. package/types/utils/getPluginKey.js +2 -6
  255. package/types/utils/getVisitorKeys.d.ts +4 -4
  256. package/types/utils/getVisitorKeys.js +9 -6
  257. package/types/utils/hasCachedWywPrevalExport.d.ts +14 -0
  258. package/types/utils/hasCachedWywPrevalExport.js +30 -0
  259. package/types/utils/hasWywPreval.js +1 -4
  260. package/types/utils/importOverrides.js +17 -27
  261. package/types/utils/isNode.d.ts +2 -2
  262. package/types/utils/isNode.js +2 -6
  263. package/types/utils/isNotNull.js +1 -4
  264. package/types/utils/isSerializable.js +3 -6
  265. package/types/utils/oxcAstService.d.ts +11 -0
  266. package/types/utils/oxcAstService.js +79 -0
  267. package/types/utils/oxcEmit.d.ts +19 -0
  268. package/types/utils/oxcEmit.js +506 -0
  269. package/types/utils/oxcPreevalStage.d.ts +20 -0
  270. package/types/utils/oxcPreevalStage.js +102 -0
  271. package/types/utils/oxcPreevalTransforms.d.ts +13 -0
  272. package/types/utils/oxcPreevalTransforms.js +1179 -0
  273. package/types/utils/oxcShaker.d.ts +13 -0
  274. package/types/utils/oxcShaker.js +751 -0
  275. package/types/utils/parseOxc.d.ts +11 -0
  276. package/types/utils/parseOxc.js +38 -0
  277. package/types/utils/parseRequest.js +2 -7
  278. package/types/utils/peek.js +1 -5
  279. package/types/utils/processorLookup.d.ts +8 -0
  280. package/types/utils/processorLookup.js +135 -0
  281. package/types/utils/resolveWithConditions.d.ts +12 -0
  282. package/types/utils/resolveWithConditions.js +103 -0
  283. package/types/vm/createVmContext.d.ts +2 -2
  284. package/types/vm/createVmContext.js +25 -62
  285. package/types/vm/process.js +20 -26
  286. package/esm/babel.js +0 -2
  287. package/esm/babel.js.map +0 -1
  288. package/esm/options/buildOptions.js +0 -168
  289. package/esm/options/buildOptions.js.map +0 -1
  290. package/esm/options/buildOptions.test.js +0 -138
  291. package/esm/options/buildOptions.test.js.map +0 -1
  292. package/esm/options/loadBabelOptions.js +0 -24
  293. package/esm/options/loadBabelOptions.js.map +0 -1
  294. package/esm/plugins/babel-transform.js +0 -53
  295. package/esm/plugins/babel-transform.js.map +0 -1
  296. package/esm/plugins/collector.js +0 -60
  297. package/esm/plugins/collector.js.map +0 -1
  298. package/esm/plugins/dynamic-import.js +0 -56
  299. package/esm/plugins/dynamic-import.js.map +0 -1
  300. package/esm/plugins/preeval.js +0 -73
  301. package/esm/plugins/preeval.js.map +0 -1
  302. package/esm/plugins/shaker.js +0 -680
  303. package/esm/plugins/shaker.js.map +0 -1
  304. package/esm/transform/barrelManifest.js +0 -291
  305. package/esm/transform/barrelManifest.js.map +0 -1
  306. package/esm/transform/generators/explodeReexports.js +0 -64
  307. package/esm/transform/generators/explodeReexports.js.map +0 -1
  308. package/esm/transform/generators/rewriteBarrelImports.js +0 -733
  309. package/esm/transform/generators/rewriteBarrelImports.js.map +0 -1
  310. package/esm/utils/addIdentifierToWywPreval.js +0 -68
  311. package/esm/utils/addIdentifierToWywPreval.js.map +0 -1
  312. package/esm/utils/collectExportsAndImports.js +0 -1157
  313. package/esm/utils/collectExportsAndImports.js.map +0 -1
  314. package/esm/utils/collectTemplateDependencies.js +0 -228
  315. package/esm/utils/collectTemplateDependencies.js.map +0 -1
  316. package/esm/utils/createId.js +0 -6
  317. package/esm/utils/createId.js.map +0 -1
  318. package/esm/utils/findIdentifiers.js +0 -62
  319. package/esm/utils/findIdentifiers.js.map +0 -1
  320. package/esm/utils/getConstantStringValue.js +0 -58
  321. package/esm/utils/getConstantStringValue.js.map +0 -1
  322. package/esm/utils/getMemberExpressionPropertyName.js +0 -11
  323. package/esm/utils/getMemberExpressionPropertyName.js.map +0 -1
  324. package/esm/utils/getScope.js +0 -6
  325. package/esm/utils/getScope.js.map +0 -1
  326. package/esm/utils/getSource.js +0 -15
  327. package/esm/utils/getSource.js.map +0 -1
  328. package/esm/utils/getTagProcessor.js +0 -404
  329. package/esm/utils/getTagProcessor.js.map +0 -1
  330. package/esm/utils/isExports.js +0 -22
  331. package/esm/utils/isExports.js.map +0 -1
  332. package/esm/utils/isGlobal.js +0 -6
  333. package/esm/utils/isGlobal.js.map +0 -1
  334. package/esm/utils/isNodePath.js +0 -4
  335. package/esm/utils/isNodePath.js.map +0 -1
  336. package/esm/utils/isRemoved.js +0 -46
  337. package/esm/utils/isRemoved.js.map +0 -1
  338. package/esm/utils/isRequire.js +0 -13
  339. package/esm/utils/isRequire.js.map +0 -1
  340. package/esm/utils/isTypedNode.js +0 -6
  341. package/esm/utils/isTypedNode.js.map +0 -1
  342. package/esm/utils/isUnnecessaryReactCall.js +0 -72
  343. package/esm/utils/isUnnecessaryReactCall.js.map +0 -1
  344. package/esm/utils/removeDangerousCode.js +0 -276
  345. package/esm/utils/removeDangerousCode.js.map +0 -1
  346. package/esm/utils/replaceImportMetaEnv.js +0 -44
  347. package/esm/utils/replaceImportMetaEnv.js.map +0 -1
  348. package/esm/utils/scopeHelpers.js +0 -527
  349. package/esm/utils/scopeHelpers.js.map +0 -1
  350. package/esm/utils/traversalCache.js +0 -23
  351. package/esm/utils/traversalCache.js.map +0 -1
  352. package/esm/utils/unwrapExpression.js +0 -18
  353. package/esm/utils/unwrapExpression.js.map +0 -1
  354. package/esm/utils/unwrapSequence.js +0 -14
  355. package/esm/utils/unwrapSequence.js.map +0 -1
  356. package/esm/utils/valueToLiteral.js +0 -59
  357. package/esm/utils/valueToLiteral.js.map +0 -1
  358. package/esm/utils/visitors/JSXElementsRemover.js +0 -51
  359. package/esm/utils/visitors/JSXElementsRemover.js.map +0 -1
  360. package/lib/babel.js +0 -2
  361. package/lib/babel.js.map +0 -1
  362. package/lib/cache.js +0 -308
  363. package/lib/cache.js.map +0 -1
  364. package/lib/debug/fileReporter.js +0 -153
  365. package/lib/debug/fileReporter.js.map +0 -1
  366. package/lib/evaluators/index.js +0 -20
  367. package/lib/evaluators/index.js.map +0 -1
  368. package/lib/index.js +0 -257
  369. package/lib/index.js.map +0 -1
  370. package/lib/module.js +0 -552
  371. package/lib/module.js.map +0 -1
  372. package/lib/options/buildOptions.js +0 -176
  373. package/lib/options/buildOptions.js.map +0 -1
  374. package/lib/options/buildOptions.test.js +0 -141
  375. package/lib/options/buildOptions.test.js.map +0 -1
  376. package/lib/options/loadBabelOptions.js +0 -31
  377. package/lib/options/loadBabelOptions.js.map +0 -1
  378. package/lib/plugins/babel-transform.js +0 -60
  379. package/lib/plugins/babel-transform.js.map +0 -1
  380. package/lib/plugins/collector.js +0 -70
  381. package/lib/plugins/collector.js.map +0 -1
  382. package/lib/plugins/dynamic-import.js +0 -61
  383. package/lib/plugins/dynamic-import.js.map +0 -1
  384. package/lib/plugins/preeval.js +0 -81
  385. package/lib/plugins/preeval.js.map +0 -1
  386. package/lib/plugins/shaker.js +0 -691
  387. package/lib/plugins/shaker.js.map +0 -1
  388. package/lib/shaker.js +0 -95
  389. package/lib/shaker.js.map +0 -1
  390. package/lib/transform/BaseEntrypoint.js +0 -179
  391. package/lib/transform/BaseEntrypoint.js.map +0 -1
  392. package/lib/transform/Entrypoint.helpers.js +0 -279
  393. package/lib/transform/Entrypoint.helpers.js.map +0 -1
  394. package/lib/transform/Entrypoint.js +0 -289
  395. package/lib/transform/Entrypoint.js.map +0 -1
  396. package/lib/transform/Entrypoint.types.js +0 -2
  397. package/lib/transform/Entrypoint.types.js.map +0 -1
  398. package/lib/transform/EvaluatedEntrypoint.js +0 -13
  399. package/lib/transform/EvaluatedEntrypoint.js.map +0 -1
  400. package/lib/transform/actions/AbortError.js +0 -16
  401. package/lib/transform/actions/AbortError.js.map +0 -1
  402. package/lib/transform/actions/BaseAction.js +0 -150
  403. package/lib/transform/actions/BaseAction.js.map +0 -1
  404. package/lib/transform/actions/UnprocessedEntrypointError.js +0 -16
  405. package/lib/transform/actions/UnprocessedEntrypointError.js.map +0 -1
  406. package/lib/transform/actions/actionRunner.js +0 -82
  407. package/lib/transform/actions/actionRunner.js.map +0 -1
  408. package/lib/transform/actions/types.js +0 -2
  409. package/lib/transform/actions/types.js.map +0 -1
  410. package/lib/transform/barrelManifest.js +0 -300
  411. package/lib/transform/barrelManifest.js.map +0 -1
  412. package/lib/transform/generators/baseProcessingHandlers.js +0 -27
  413. package/lib/transform/generators/baseProcessingHandlers.js.map +0 -1
  414. package/lib/transform/generators/collect.js +0 -66
  415. package/lib/transform/generators/collect.js.map +0 -1
  416. package/lib/transform/generators/createStylisPreprocessor.js +0 -372
  417. package/lib/transform/generators/createStylisPreprocessor.js.map +0 -1
  418. package/lib/transform/generators/evalFile.js +0 -57
  419. package/lib/transform/generators/evalFile.js.map +0 -1
  420. package/lib/transform/generators/explodeReexports.js +0 -71
  421. package/lib/transform/generators/explodeReexports.js.map +0 -1
  422. package/lib/transform/generators/extract.js +0 -102
  423. package/lib/transform/generators/extract.js.map +0 -1
  424. package/lib/transform/generators/getExports.js +0 -85
  425. package/lib/transform/generators/getExports.js.map +0 -1
  426. package/lib/transform/generators/index.js +0 -19
  427. package/lib/transform/generators/index.js.map +0 -1
  428. package/lib/transform/generators/processEntrypoint.js +0 -76
  429. package/lib/transform/generators/processEntrypoint.js.map +0 -1
  430. package/lib/transform/generators/processImports.js +0 -82
  431. package/lib/transform/generators/processImports.js.map +0 -1
  432. package/lib/transform/generators/resolveImports.js +0 -221
  433. package/lib/transform/generators/resolveImports.js.map +0 -1
  434. package/lib/transform/generators/rewriteBarrelImports.js +0 -743
  435. package/lib/transform/generators/rewriteBarrelImports.js.map +0 -1
  436. package/lib/transform/generators/transform.js +0 -272
  437. package/lib/transform/generators/transform.js.map +0 -1
  438. package/lib/transform/generators/workflow.js +0 -90
  439. package/lib/transform/generators/workflow.js.map +0 -1
  440. package/lib/transform/helpers/loadWywOptions.js +0 -87
  441. package/lib/transform/helpers/loadWywOptions.js.map +0 -1
  442. package/lib/transform/helpers/withDefaultServices.js +0 -31
  443. package/lib/transform/helpers/withDefaultServices.js.map +0 -1
  444. package/lib/transform/isStaticallyEvaluatableModule.js +0 -159
  445. package/lib/transform/isStaticallyEvaluatableModule.js.map +0 -1
  446. package/lib/transform/rootLog.js +0 -9
  447. package/lib/transform/rootLog.js.map +0 -1
  448. package/lib/transform/types.js +0 -8
  449. package/lib/transform/types.js.map +0 -1
  450. package/lib/transform.js +0 -160
  451. package/lib/transform.js.map +0 -1
  452. package/lib/types.js +0 -2
  453. package/lib/types.js.map +0 -1
  454. package/lib/utils/EventEmitter.js +0 -61
  455. package/lib/utils/EventEmitter.js.map +0 -1
  456. package/lib/utils/ShakerMetadata.js +0 -9
  457. package/lib/utils/ShakerMetadata.js.map +0 -1
  458. package/lib/utils/TransformMetadata.js +0 -19
  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 -20
  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":"transform.js","names":["buildOptions","dynamicImportPlugin","preevalPlugin","emitCommonJS","shakeToESM","shaker","getTransformMetadata","getPluginKey","rewriteOptimizedBarrelImports","EMPTY_FILE","hasKeyInList","plugin","list","pluginKey","some","i","includes","runPreevalStage","babel","evalConfig","pluginOptions","code","originalAst","eventEmitter","preShakePlugins","plugins","filter","highPriorityPlugins","transformConfig","envName","result","transformFromAstSync","ast","program","Error","isPrevalOnly","only","length","prepareEvaluatorInput","services","item","loadedAndParsed","log","evaluator","name","options","preevalStageResult","perf","transformMetadata","metadata","kind","evaluatorConfig","onlyExports","features","importOverrides","root","prepareCode","prepared","extend","transformedCode","imports","internalTransform","prepareFn","entrypoint","preparedCode","size","resolvedImports","getNext","resolved","transform","call","shakenAst","shakenCode","shakenImports","nextAst","nextCode","nextResolvedImports","phase","rewritten","optimizedCount","fullyRewrittenSources","Set","partialFallbackSources","dependency","has","source","addDependency","addInvalidationDependency","markInvalidateOnDependencyChange","preResolved","preResolvedImports"],"sources":["../../../src/transform/generators/transform.ts"],"sourcesContent":["import type {\n BabelFileResult,\n PluginItem,\n TransformOptions,\n} from '@babel/core';\nimport type { File } from '@babel/types';\n\nimport type { EvaluatorConfig, StrictOptions } from '@wyw-in-js/shared';\n\nimport type { Core } from '../../babel';\nimport { buildOptions } from '../../options/buildOptions';\nimport dynamicImportPlugin from '../../plugins/dynamic-import';\nimport preevalPlugin from '../../plugins/preeval';\nimport { emitCommonJS, shakeToESM, shaker } from '../../shaker';\nimport type { EventEmitter } from '../../utils/EventEmitter';\nimport type { WYWTransformMetadata } from '../../utils/TransformMetadata';\nimport { getTransformMetadata } from '../../utils/TransformMetadata';\nimport { getPluginKey } from '../../utils/getPluginKey';\nimport type { Entrypoint } from '../Entrypoint';\nimport type { IEntrypointDependency } from '../Entrypoint.types';\nimport type {\n ITransformAction,\n Services,\n SyncScenarioForAction,\n} from '../types';\nimport { rewriteOptimizedBarrelImports } from './rewriteBarrelImports';\n\nconst EMPTY_FILE = '=== empty file ===';\n\nconst hasKeyInList = (plugin: PluginItem, list: string[]): boolean => {\n const pluginKey = getPluginKey(plugin);\n return pluginKey ? list.some((i) => pluginKey.includes(i)) : false;\n};\n\nfunction runPreevalStage(\n babel: Core,\n evalConfig: TransformOptions,\n pluginOptions: StrictOptions,\n code: string,\n originalAst: File,\n eventEmitter: EventEmitter\n): BabelFileResult {\n const preShakePlugins =\n evalConfig.plugins?.filter((i) =>\n hasKeyInList(i, pluginOptions.highPriorityPlugins)\n ) ?? [];\n\n const plugins = [\n ...preShakePlugins,\n [\n preevalPlugin,\n {\n ...pluginOptions,\n eventEmitter,\n },\n ],\n dynamicImportPlugin,\n ...(evalConfig.plugins ?? []).filter(\n (i) => !hasKeyInList(i, pluginOptions.highPriorityPlugins)\n ),\n ];\n\n const transformConfig = buildOptions({\n ...evalConfig,\n envName: 'wyw-in-js',\n plugins,\n });\n\n const result = babel.transformFromAstSync(originalAst, code, transformConfig);\n\n if (!result || !result.ast?.program) {\n throw new Error('Babel transform failed');\n }\n\n return result;\n}\n\ntype PrepareCodeFn = (\n services: Services,\n item: Entrypoint,\n originalAst: File\n) => [\n code: string,\n imports: Map<string, string[]> | null,\n metadata: WYWTransformMetadata | null,\n];\n\ntype PreparedEvaluatorInput =\n | {\n kind: 'continue';\n ast: File;\n code: string;\n evalConfig: TransformOptions;\n evaluatorConfig: EvaluatorConfig;\n metadata: WYWTransformMetadata | null;\n }\n | {\n kind: 'short-circuit';\n code: string;\n };\n\nconst isPrevalOnly = (only: string[]) =>\n only.length === 1 && only[0] === '__wywPreval';\n\nconst prepareEvaluatorInput = (\n services: Services,\n item: Entrypoint,\n originalAst: File\n): PreparedEvaluatorInput => {\n const { only, loadedAndParsed, log } = item;\n if (loadedAndParsed.evaluator === 'ignored') {\n throw new Error(`Cannot prepare ignored entrypoint ${item.name}`);\n }\n\n const { code, evalConfig } = loadedAndParsed;\n const { options, babel, eventEmitter } = services;\n const { pluginOptions } = options;\n\n const preevalStageResult = eventEmitter.perf('transform:preeval', () =>\n runPreevalStage(\n babel,\n evalConfig,\n pluginOptions,\n code,\n originalAst,\n eventEmitter\n )\n );\n\n const transformMetadata = getTransformMetadata(preevalStageResult.metadata);\n if (isPrevalOnly(only) && !transformMetadata) {\n log('[evaluator:end] no metadata');\n return {\n kind: 'short-circuit',\n code: preevalStageResult.code!,\n };\n }\n\n log('[preeval] metadata %O', transformMetadata);\n\n return {\n kind: 'continue',\n ast: preevalStageResult.ast!,\n code: preevalStageResult.code!,\n evalConfig,\n evaluatorConfig: {\n onlyExports: only,\n highPriorityPlugins: pluginOptions.highPriorityPlugins,\n features: pluginOptions.features,\n importOverrides: pluginOptions.importOverrides,\n root: options.root,\n },\n metadata: transformMetadata ?? null,\n };\n};\n\nexport const prepareCode = (\n services: Services,\n item: Entrypoint,\n originalAst: File\n): ReturnType<PrepareCodeFn> => {\n const { log, loadedAndParsed } = item;\n if (loadedAndParsed.evaluator === 'ignored') {\n log('is ignored');\n return [loadedAndParsed.code ?? '', null, null];\n }\n\n const { evaluator } = loadedAndParsed;\n const { babel, eventEmitter } = services;\n const prepared = prepareEvaluatorInput(services, item, originalAst);\n if (prepared.kind === 'short-circuit') {\n return [prepared.code, null, null];\n }\n\n log('[evaluator:start] using %s', evaluator.name);\n log.extend('source')('%s', prepared.code);\n\n const [, transformedCode, imports] = eventEmitter.perf(\n 'transform:evaluator',\n () =>\n evaluator(\n prepared.evalConfig,\n prepared.ast,\n prepared.code,\n prepared.evaluatorConfig,\n babel\n )\n );\n\n log('[evaluator:end]');\n\n return [transformedCode, imports, prepared.metadata];\n};\n\nexport function* internalTransform(\n this: ITransformAction,\n prepareFn: PrepareCodeFn\n): SyncScenarioForAction<ITransformAction> {\n const { only, loadedAndParsed, log } = this.entrypoint;\n if (loadedAndParsed.evaluator === 'ignored') {\n log('is ignored');\n return {\n code: loadedAndParsed.code ?? '',\n metadata: null,\n };\n }\n\n log('>> (%o)', only);\n\n const [preparedCode, imports, metadata] = prepareFn(\n this.services,\n this.entrypoint,\n loadedAndParsed.ast\n );\n\n if (loadedAndParsed.code === preparedCode) {\n log('<< (%o)\\n === no changes ===', only);\n } else {\n log('<< (%o)', only);\n log.extend('source')('%s', preparedCode || EMPTY_FILE);\n }\n\n if (preparedCode === '') {\n log('is skipped');\n return {\n code: loadedAndParsed.code ?? '',\n metadata: null,\n };\n }\n\n if (imports !== null && imports.size > 0) {\n const resolvedImports = yield* this.getNext(\n 'resolveImports',\n this.entrypoint,\n {\n imports,\n }\n );\n\n if (resolvedImports.length !== 0) {\n yield [\n 'processImports',\n this.entrypoint,\n {\n resolved: resolvedImports,\n },\n ];\n }\n }\n\n return {\n code: preparedCode,\n metadata,\n };\n}\n\n/**\n * Prepares the code for evaluation. This includes removing dead and potentially unsafe code.\n * Emits resolveImports and processImports events.\n */\nexport function* transform(\n this: ITransformAction\n): SyncScenarioForAction<ITransformAction> {\n const { only, loadedAndParsed, log } = this.entrypoint;\n if (loadedAndParsed.evaluator === 'ignored') {\n log('is ignored');\n return {\n code: loadedAndParsed.code ?? '',\n metadata: null,\n };\n }\n\n if (loadedAndParsed.evaluator !== shaker) {\n return yield* internalTransform.call(this, prepareCode);\n }\n\n log('>> (%o)', only);\n\n const prepared = prepareEvaluatorInput(\n this.services,\n this.entrypoint,\n loadedAndParsed.ast\n );\n\n if (prepared.kind === 'short-circuit') {\n if (loadedAndParsed.code === prepared.code) {\n log('<< (%o)\\n === no changes ===', only);\n } else {\n log('<< (%o)', only);\n log.extend('source')('%s', prepared.code || EMPTY_FILE);\n }\n\n if (prepared.code === '') {\n log('is skipped');\n return {\n code: loadedAndParsed.code ?? '',\n metadata: null,\n };\n }\n\n return {\n code: prepared.code,\n metadata: null,\n };\n }\n\n log('[evaluator:start] using %s', loadedAndParsed.evaluator.name);\n log.extend('source')('%s', prepared.code);\n\n const { babel, eventEmitter } = this.services;\n const [shakenAst, shakenCode, shakenImports] = eventEmitter.perf(\n 'transform:evaluator',\n () =>\n shakeToESM(\n prepared.evalConfig,\n prepared.ast,\n prepared.code,\n prepared.evaluatorConfig,\n babel\n )\n );\n\n let nextAst = shakenAst;\n let nextCode = shakenCode;\n let nextResolvedImports: IEntrypointDependency[] = [];\n\n if (shakenImports !== null && shakenImports.size > 0) {\n const resolvedImports = yield* this.getNext(\n 'resolveImports',\n this.entrypoint,\n {\n imports: shakenImports,\n phase: 'initial',\n }\n );\n\n if (resolvedImports.length > 0) {\n const rewritten = yield* rewriteOptimizedBarrelImports.call(\n this,\n shakenAst,\n shakenCode,\n resolvedImports\n );\n\n nextAst = rewritten.ast;\n nextCode = rewritten.code;\n if (rewritten.optimizedCount > 0) {\n const fullyRewrittenSources = new Set(rewritten.fullyRewrittenSources);\n const partialFallbackSources = new Set(\n rewritten.partialFallbackSources\n );\n for (const dependency of resolvedImports) {\n if (\n dependency.resolved &&\n (fullyRewrittenSources.has(dependency.source) ||\n partialFallbackSources.has(dependency.source))\n ) {\n if (partialFallbackSources.has(dependency.source)) {\n this.entrypoint.addDependency(dependency);\n } else {\n this.entrypoint.addInvalidationDependency(dependency);\n }\n this.entrypoint.markInvalidateOnDependencyChange(\n dependency.resolved\n );\n }\n }\n\n nextResolvedImports = yield* this.getNext(\n 'resolveImports',\n this.entrypoint,\n {\n imports: rewritten.imports,\n phase: 'rewritten',\n preResolved: rewritten.preResolvedImports,\n }\n );\n } else {\n nextResolvedImports = resolvedImports;\n }\n }\n }\n\n if (nextResolvedImports.length !== 0) {\n yield [\n 'processImports',\n this.entrypoint,\n {\n resolved: nextResolvedImports,\n },\n ];\n }\n\n const [, preparedCode] = eventEmitter.perf('transform:emitCommonJS', () =>\n emitCommonJS(prepared.evalConfig, nextAst, nextCode, babel)\n );\n\n log('[evaluator:end]');\n\n if (loadedAndParsed.code === preparedCode) {\n log('<< (%o)\\n === no changes ===', only);\n } else {\n log('<< (%o)', only);\n log.extend('source')('%s', preparedCode || EMPTY_FILE);\n }\n\n if (preparedCode === '') {\n log('is skipped');\n return {\n code: loadedAndParsed.code ?? '',\n metadata: null,\n };\n }\n\n return {\n code: preparedCode,\n metadata: prepared.metadata,\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"mappings":"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","names":[],"sources":["../../../src/transform/generators/transform.ts"],"version":3,"sourcesContent":["import { oxcShaker } from '../../shaker';\nimport type { WYWTransformMetadata } from '../../utils/TransformMetadata';\nimport { collectOxcExportsAndImports } from '../../utils/collectOxcExportsAndImports';\nimport { emitOxcCommonJS, stripTypesAndJsxWithOxc } from '../../utils/oxcEmit';\nimport { runOxcPreevalStage } from '../../utils/oxcPreevalStage';\nimport { shakeOxcToESM } from '../../utils/oxcShaker';\nimport type { Entrypoint } from '../Entrypoint';\nimport type {\n IEntrypointDependency,\n IPreevalResult,\n} from '../Entrypoint.types';\nimport type {\n ITransformAction,\n Services,\n SyncScenarioForAction,\n} from '../types';\n\nimport { rewriteOptimizedOxcBarrelImports } from './rewriteOxcBarrelImports';\nimport { resolveStaticOxcPreevalValues } from './resolveStaticOxcValues';\n\nconst EMPTY_FILE = '=== empty file ===';\n\nconst collectImportsFromOxc = (\n code: string,\n filename: string\n): Map<string, string[]> => {\n const imports = new Map<string, string[]>();\n const addImport = (source: string, imported: string) => {\n const bucket = imports.get(source) ?? [];\n if (!bucket.includes(imported)) {\n bucket.push(imported);\n }\n\n imports.set(source, bucket);\n };\n\n collectOxcExportsAndImports(code, filename).imports.forEach((item) => {\n addImport(item.source, item.imported || 'side-effect');\n });\n\n return imports;\n};\n\ntype PrepareCodeFn = (\n services: Services,\n item: Entrypoint,\n originalAst: unknown | null\n) => [\n code: string,\n imports: Map<string, string[]> | null,\n metadata: WYWTransformMetadata | null,\n];\n\nconst isPrevalOnly = (only: string[]) =>\n only.length === 1 && only[0] === '__wywPreval';\n\nconst hasWywPrevalExport = (code: string, filename: string): boolean =>\n Object.hasOwn(\n collectOxcExportsAndImports(code, filename).exports,\n '__wywPreval'\n );\n\ntype PrepareCodeOptions = {\n emitCommonJS?: boolean;\n shortCircuitOnMissingMetadata?: boolean;\n stripForEvalRuntime?: boolean;\n};\n\nconst normalizeOxcPreparedESM = (code: string): string =>\n code\n .replace(/^(?:[ \\t]*\\n)+/, '')\n .replace(/[ \\t\\n]+$/, '')\n .replace(/\\n{2,}/g, '\\n')\n .replace(/^const /gm, 'var ');\n\nconst ensureOxcPreevalResult = (\n services: Services,\n item: Entrypoint,\n originalAst: unknown | null\n): IPreevalResult => {\n const cached = item.getPreevalResult();\n if (cached) {\n return cached;\n }\n\n const { loadedAndParsed } = item;\n if (loadedAndParsed.evaluator === 'ignored') {\n throw new Error('Cannot run Oxc preeval for an ignored entrypoint.');\n }\n\n const filename = loadedAndParsed.evalConfig.filename ?? item.name;\n const { eventEmitter } = services;\n const { pluginOptions } = services.options;\n const root = services.options.root ?? process.cwd();\n\n const preevalStageResult = eventEmitter.perf('transform:preeval', () => {\n const result = runOxcPreevalStage(\n loadedAndParsed.code,\n {\n filename,\n root,\n },\n {\n ...pluginOptions,\n eventEmitter,\n }\n );\n\n return {\n ast: originalAst,\n baseCode: result.baseCode,\n code: result.code,\n dependencyNames: result.dependencyNames,\n evalCode: result.code,\n metadata: result.metadata,\n staticSideEffectImportLocals: [],\n staticDependencies: result.staticDependencies,\n staticValueCache: result.staticValueCache,\n staticValueCandidates: result.staticValueCandidates,\n };\n });\n\n item.setPreevalResult(preevalStageResult);\n return preevalStageResult;\n};\n\nconst prepareOxcCodeImpl = (\n services: Services,\n item: Entrypoint,\n originalAst: unknown | null,\n options: PrepareCodeOptions = {}\n): ReturnType<PrepareCodeFn> => {\n const { only, loadedAndParsed, log } = item;\n if (loadedAndParsed.evaluator === 'ignored') {\n log('is ignored');\n return [loadedAndParsed.code ?? '', null, null];\n }\n\n const filename = loadedAndParsed.evalConfig.filename ?? item.name;\n const { eventEmitter } = services;\n const { pluginOptions } = services.options;\n const root = services.options.root ?? process.cwd();\n\n const preevalStageResult = ensureOxcPreevalResult(\n services,\n item,\n originalAst\n );\n\n const transformMetadata = preevalStageResult.metadata;\n const preevalCode =\n options.stripForEvalRuntime && preevalStageResult.evalCode\n ? preevalStageResult.evalCode\n : preevalStageResult.code;\n if (\n isPrevalOnly(only) &&\n !transformMetadata &&\n !hasWywPrevalExport(preevalCode, filename) &&\n options.shortCircuitOnMissingMetadata !== false\n ) {\n log('[evaluator:end] no metadata');\n const strippedCode = stripTypesAndJsxWithOxc(preevalCode, filename).code;\n\n return [\n normalizeOxcPreparedESM(strippedCode),\n collectImportsFromOxc(strippedCode, filename),\n null,\n ];\n }\n\n log('[preeval] metadata %O', transformMetadata);\n log('[evaluator:start] using %s', loadedAndParsed.evaluator.name);\n log.extend('source')('%s', preevalCode);\n\n const shaken = eventEmitter.perf('transform:evaluator', () =>\n shakeOxcToESM(preevalCode, filename, {\n importOverrides: pluginOptions.importOverrides,\n onlyExports: only,\n root,\n })\n );\n\n log('[evaluator:end]');\n\n if (!options.emitCommonJS) {\n const preparedCode = options.stripForEvalRuntime\n ? stripTypesAndJsxWithOxc(shaken.code, filename).code\n : shaken.code;\n\n return [\n normalizeOxcPreparedESM(preparedCode),\n options.stripForEvalRuntime\n ? collectImportsFromOxc(preparedCode, filename)\n : shaken.imports,\n transformMetadata ?? null,\n ];\n }\n\n const emitted = eventEmitter.perf('transform:emitCommonJS', () =>\n emitOxcCommonJS(shaken.code, filename)\n );\n\n return [emitted.code, shaken.imports, transformMetadata ?? null];\n};\n\nconst prepareCodeImpl = (\n services: Services,\n item: Entrypoint,\n originalAst: unknown | null,\n options: PrepareCodeOptions = {}\n): ReturnType<PrepareCodeFn> => {\n const { log, loadedAndParsed } = item;\n if (loadedAndParsed.evaluator === 'ignored') {\n log('is ignored');\n return [loadedAndParsed.code ?? '', null, null];\n }\n\n const { evaluator } = loadedAndParsed;\n if (evaluator !== oxcShaker) {\n throw new Error(\n `[wyw-in-js] ${item.name} matched a legacy evaluator. The Oxc runtime path supports only the default Oxc evaluator.`\n );\n }\n\n return prepareOxcCodeImpl(services, item, originalAst, options);\n};\n\nexport const prepareCode = (\n services: Services,\n item: Entrypoint,\n originalAst: unknown | null\n): ReturnType<PrepareCodeFn> => prepareCodeImpl(services, item, originalAst);\n\nexport const prepareCodeForEvalRuntime = (\n services: Services,\n item: Entrypoint,\n originalAst: unknown | null\n): ReturnType<PrepareCodeFn> =>\n prepareCodeImpl(services, item, originalAst, {\n shortCircuitOnMissingMetadata: true,\n stripForEvalRuntime: true,\n });\n\nexport function* internalTransform(\n this: ITransformAction,\n prepareFn: PrepareCodeFn\n): SyncScenarioForAction<ITransformAction> {\n const { only, loadedAndParsed, log } = this.entrypoint;\n if (loadedAndParsed.evaluator === 'ignored') {\n log('is ignored');\n return {\n code: loadedAndParsed.code ?? '',\n metadata: null,\n };\n }\n\n if (loadedAndParsed.evaluator !== oxcShaker) {\n throw new Error(\n `[wyw-in-js] ${this.entrypoint.name} matched a legacy evaluator. The Oxc runtime path supports only the default Oxc evaluator.`\n );\n }\n\n log('>> (%o)', only);\n\n if (loadedAndParsed.evaluator === oxcShaker) {\n ensureOxcPreevalResult(this.services, this.entrypoint, null);\n yield* resolveStaticOxcPreevalValues.call(this);\n }\n\n const [preparedCode, imports, metadata] = prepareFn(\n this.services,\n this.entrypoint,\n null\n );\n let finalPreparedCode = preparedCode;\n\n if (loadedAndParsed.evaluator === oxcShaker) {\n if (metadata === null && isPrevalOnly(only)) {\n log(\n 'skip resolving imports for __wywPreval-only entrypoint without metadata'\n );\n return {\n code: finalPreparedCode,\n metadata: null,\n };\n }\n\n let nextCode = preparedCode;\n let nextResolvedImports: IEntrypointDependency[] = [];\n let skippedParentDependencyTracking: string[] = [];\n\n if (imports !== null && imports.size > 0) {\n const resolvedImports = yield* this.getNext(\n 'resolveImports',\n this.entrypoint,\n {\n imports,\n phase: 'initial',\n }\n );\n\n if (resolvedImports.length > 0) {\n const rewritten = yield* rewriteOptimizedOxcBarrelImports.call(\n this,\n preparedCode,\n loadedAndParsed.evalConfig.filename ?? this.entrypoint.name,\n resolvedImports\n );\n\n nextCode = rewritten.code;\n\n if (rewritten.optimizedCount > 0) {\n skippedParentDependencyTracking = rewritten.generatedSources;\n const fullyRewrittenSources = new Set(\n rewritten.fullyRewrittenSources\n );\n const partialFallbackSources = new Set(\n rewritten.partialFallbackSources\n );\n\n for (const dependency of resolvedImports) {\n if (\n dependency.resolved &&\n (fullyRewrittenSources.has(dependency.source) ||\n partialFallbackSources.has(dependency.source))\n ) {\n if (partialFallbackSources.has(dependency.source)) {\n this.entrypoint.addDependency(dependency);\n } else {\n this.entrypoint.addInvalidationDependency(dependency);\n }\n\n this.entrypoint.markInvalidateOnDependencyChange(\n dependency.resolved\n );\n }\n }\n\n nextResolvedImports = yield* this.getNext(\n 'resolveImports',\n this.entrypoint,\n {\n imports: rewritten.imports,\n phase: 'rewritten',\n preResolved: rewritten.preResolvedImports,\n }\n );\n } else {\n nextResolvedImports = resolvedImports;\n }\n }\n }\n\n if (nextResolvedImports.length !== 0) {\n yield [\n 'processImports',\n this.entrypoint,\n {\n resolved: nextResolvedImports,\n skipParentDependencyTracking: skippedParentDependencyTracking,\n },\n ];\n }\n\n finalPreparedCode = this.services.eventEmitter.perf(\n 'transform:emitCommonJS',\n () =>\n emitOxcCommonJS(\n nextCode,\n loadedAndParsed.evalConfig.filename ?? this.entrypoint.name\n ).code\n );\n }\n\n if (loadedAndParsed.code === finalPreparedCode) {\n log('<< (%o)\\n === no changes ===', only);\n } else {\n log('<< (%o)', only);\n log.extend('source')('%s', finalPreparedCode || EMPTY_FILE);\n }\n\n if (finalPreparedCode === '') {\n log('is skipped');\n return {\n code: loadedAndParsed.code ?? '',\n metadata,\n };\n }\n\n if (metadata === null && isPrevalOnly(only)) {\n log(\n 'skip resolving imports for __wywPreval-only entrypoint without metadata'\n );\n return {\n code: finalPreparedCode,\n metadata: null,\n };\n }\n\n if (\n loadedAndParsed.evaluator !== oxcShaker &&\n imports !== null &&\n imports.size > 0\n ) {\n const resolvedImports = yield* this.getNext(\n 'resolveImports',\n this.entrypoint,\n {\n imports,\n }\n );\n\n if (resolvedImports.length !== 0) {\n yield [\n 'processImports',\n this.entrypoint,\n {\n resolved: resolvedImports,\n },\n ];\n }\n }\n\n return {\n code: finalPreparedCode,\n metadata,\n };\n}\n\nexport function* transform(\n this: ITransformAction\n): SyncScenarioForAction<ITransformAction> {\n return yield* internalTransform.call(this, prepareCode);\n}\n"],"file":"transform.js"}
@@ -1,82 +1,90 @@
1
- import { isAborted } from '../actions/AbortError';
1
+ import { isAborted } from "../actions/AbortError.js";
2
+ import { collectTransformDiagnostics } from "../../utils/TransformDiagnostics.js";
3
+ import { toTransformResultMetadata } from "../../utils/TransformMetadata.js";
4
+ const isLoadedEntrypointWithoutArtifacts = (entrypoint) => entrypoint.initialCode !== undefined && entrypoint.only.includes("__wywPreval");
2
5
  /**
3
- * The entry point for file processing. Sequentially calls `processEntrypoint`,
4
- * `evalFile`, `collect`, and `extract`. Returns the result of transforming
5
- * the source code as well as all artifacts obtained from code execution.
6
- */
6
+ * The entry point for file processing. Sequentially calls `processEntrypoint`,
7
+ * `evalFile`, `collect`, and `extract`. Returns the result of transforming
8
+ * the source code as well as all artifacts obtained from code execution.
9
+ */
7
10
  export function* workflow() {
8
- const {
9
- cache,
10
- options
11
- } = this.services;
12
- const {
13
- entrypoint
14
- } = this;
15
- if (entrypoint.ignored) {
16
- return {
17
- code: entrypoint.loadedAndParsed.code ?? '',
18
- sourceMap: options.inputSourceMap
19
- };
20
- }
21
- try {
22
- yield* this.getNext('processEntrypoint', entrypoint, undefined, null);
23
- entrypoint.assertNotSuperseded();
24
- } catch (e) {
25
- if (isAborted(e) && entrypoint.supersededWith) {
26
- entrypoint.log('workflow aborted, schedule the next attempt');
27
- return yield* this.getNext('workflow', entrypoint.supersededWith, undefined, null);
28
- }
29
- throw e;
30
- }
31
- const originalCode = entrypoint.loadedAndParsed.code ?? '';
32
-
33
- // File is ignored or does not contain any tags. Return original code.
34
- if (!entrypoint.hasWywMetadata()) {
35
- if (entrypoint.generation === 1) {
36
- // 1st generation here means that it's __wywPreval entrypoint
37
- // without __wywPreval, so we don't need it cached
38
- cache.delete('entrypoints', entrypoint.name);
39
- }
40
- return {
41
- code: originalCode,
42
- sourceMap: options.inputSourceMap
43
- };
44
- }
45
-
46
- // *** 2nd stage ***
47
-
48
- const evalStageResult = yield* this.getNext('evalFile', entrypoint, undefined, null);
49
- if (evalStageResult === null) {
50
- return {
51
- code: originalCode,
52
- sourceMap: options.inputSourceMap
53
- };
54
- }
55
- const [valueCache, dependencies] = evalStageResult;
56
-
57
- // *** 3rd stage ***
58
-
59
- const collectStageResult = yield* this.getNext('collect', entrypoint, {
60
- valueCache
61
- }, null);
62
- if (!collectStageResult.metadata) {
63
- return {
64
- code: collectStageResult.code,
65
- sourceMap: collectStageResult.map
66
- };
67
- }
68
-
69
- // *** 4th stage
70
-
71
- const extractStageResult = yield* this.getNext('extract', entrypoint, {
72
- processors: collectStageResult.metadata.processors
73
- }, null);
74
- return {
75
- ...extractStageResult,
76
- code: collectStageResult.code ?? '',
77
- dependencies,
78
- replacements: [...extractStageResult.replacements, ...collectStageResult.metadata.replacements],
79
- sourceMap: collectStageResult.map
80
- };
11
+ const { cache, options } = this.services;
12
+ const { entrypoint } = this;
13
+ if (entrypoint.ignored) {
14
+ return {
15
+ code: entrypoint.loadedAndParsed.code ?? "",
16
+ sourceMap: options.inputSourceMap
17
+ };
18
+ }
19
+ try {
20
+ yield* this.getNext("processEntrypoint", entrypoint, undefined, null);
21
+ entrypoint.assertNotSuperseded();
22
+ } catch (e) {
23
+ if (isAborted(e) && entrypoint.supersededWith) {
24
+ entrypoint.log("workflow aborted, schedule the next attempt");
25
+ return yield* this.getNext("workflow", entrypoint.supersededWith, undefined, null);
26
+ }
27
+ throw e;
28
+ }
29
+ const originalCode = entrypoint.loadedAndParsed.code ?? "";
30
+ function* restartOnSupersede(error) {
31
+ if (isAborted(error) && entrypoint.supersededWith) {
32
+ entrypoint.log("workflow aborted, schedule the next attempt");
33
+ return yield* this.getNext("workflow", entrypoint.supersededWith, undefined, null);
34
+ }
35
+ throw error;
36
+ }
37
+ // File is ignored or does not contain any tags. Return original code.
38
+ if (!entrypoint.hasWywMetadata()) {
39
+ if (isLoadedEntrypointWithoutArtifacts(entrypoint)) {
40
+ // A root bundler pass for a plain dependency must not pin eval/cache state.
41
+ // If another WyW file needs this module, it will be prepared on demand.
42
+ cache.delete("entrypoints", entrypoint.name);
43
+ }
44
+ return {
45
+ code: originalCode,
46
+ sourceMap: options.inputSourceMap
47
+ };
48
+ }
49
+ // *** 2nd stage ***
50
+ try {
51
+ const evalStageResult = yield* this.getNext("evalFile", entrypoint, undefined, null);
52
+ entrypoint.assertNotSuperseded();
53
+ if (evalStageResult === null) {
54
+ return {
55
+ code: originalCode,
56
+ sourceMap: options.inputSourceMap
57
+ };
58
+ }
59
+ const [valueCache, dependencies] = evalStageResult;
60
+ // *** 3rd stage ***
61
+ const collectStageResult = yield* this.getNext("collect", entrypoint, { valueCache }, null);
62
+ entrypoint.assertNotSuperseded();
63
+ if (!collectStageResult.metadata) {
64
+ if (isLoadedEntrypointWithoutArtifacts(entrypoint)) {
65
+ cache.delete("entrypoints", entrypoint.name);
66
+ }
67
+ return {
68
+ code: collectStageResult.code,
69
+ sourceMap: collectStageResult.map
70
+ };
71
+ }
72
+ const metadata = options.pluginOptions.outputMetadata ? toTransformResultMetadata(collectStageResult.metadata, dependencies) : null;
73
+ const diagnostics = collectTransformDiagnostics(entrypoint.name, collectStageResult.metadata.processors);
74
+ // *** 4th stage
75
+ const extractStageResult = yield* this.getNext("extract", entrypoint, { processors: collectStageResult.metadata.processors }, null);
76
+ entrypoint.assertNotSuperseded();
77
+ return {
78
+ ...extractStageResult,
79
+ code: collectStageResult.code ?? "",
80
+ dependencies,
81
+ ...diagnostics.length > 0 ? { diagnostics } : {},
82
+ ...metadata ? { metadata } : {},
83
+ replacements: [...extractStageResult.replacements, ...collectStageResult.metadata.replacements],
84
+ sourceMap: collectStageResult.map
85
+ };
86
+ } catch (error) {
87
+ return yield* restartOnSupersede.call(this, error);
88
+ }
81
89
  }
82
- //# sourceMappingURL=workflow.js.map
90
+ //# sourceMappingURL=workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","names":["isAborted","workflow","cache","options","services","entrypoint","ignored","code","loadedAndParsed","sourceMap","inputSourceMap","getNext","undefined","assertNotSuperseded","e","supersededWith","log","originalCode","hasWywMetadata","generation","delete","name","evalStageResult","valueCache","dependencies","collectStageResult","metadata","map","extractStageResult","processors","replacements"],"sources":["../../../src/transform/generators/workflow.ts"],"sourcesContent":["import { isAborted } from '../actions/AbortError';\nimport type { IWorkflowAction, SyncScenarioForAction } from '../types';\n\n/**\n * The entry point for file processing. Sequentially calls `processEntrypoint`,\n * `evalFile`, `collect`, and `extract`. Returns the result of transforming\n * the source code as well as all artifacts obtained from code execution.\n */\nexport function* workflow(\n this: IWorkflowAction\n): SyncScenarioForAction<IWorkflowAction> {\n const { cache, options } = this.services;\n const { entrypoint } = this;\n\n if (entrypoint.ignored) {\n return {\n code: entrypoint.loadedAndParsed.code ?? '',\n sourceMap: options.inputSourceMap,\n };\n }\n\n try {\n yield* this.getNext('processEntrypoint', entrypoint, undefined, null);\n entrypoint.assertNotSuperseded();\n } catch (e) {\n if (isAborted(e) && entrypoint.supersededWith) {\n entrypoint.log('workflow aborted, schedule the next attempt');\n return yield* this.getNext(\n 'workflow',\n entrypoint.supersededWith,\n undefined,\n null\n );\n }\n\n throw e;\n }\n\n const originalCode = entrypoint.loadedAndParsed.code ?? '';\n\n // File is ignored or does not contain any tags. Return original code.\n if (!entrypoint.hasWywMetadata()) {\n if (entrypoint.generation === 1) {\n // 1st generation here means that it's __wywPreval entrypoint\n // without __wywPreval, so we don't need it cached\n cache.delete('entrypoints', entrypoint.name);\n }\n\n return {\n code: originalCode,\n sourceMap: options.inputSourceMap,\n };\n }\n\n // *** 2nd stage ***\n\n const evalStageResult = yield* this.getNext(\n 'evalFile',\n entrypoint,\n undefined,\n null\n );\n\n if (evalStageResult === null) {\n return {\n code: originalCode,\n sourceMap: options.inputSourceMap,\n };\n }\n\n const [valueCache, dependencies] = evalStageResult;\n\n // *** 3rd stage ***\n\n const collectStageResult = yield* this.getNext(\n 'collect',\n entrypoint,\n {\n valueCache,\n },\n null\n );\n\n if (!collectStageResult.metadata) {\n return {\n code: collectStageResult.code!,\n sourceMap: collectStageResult.map,\n };\n }\n\n // *** 4th stage\n\n const extractStageResult = yield* this.getNext(\n 'extract',\n entrypoint,\n {\n processors: collectStageResult.metadata.processors,\n },\n null\n );\n\n return {\n ...extractStageResult,\n code: collectStageResult.code ?? '',\n dependencies,\n replacements: [\n ...extractStageResult.replacements,\n ...collectStageResult.metadata.replacements,\n ],\n sourceMap: collectStageResult.map,\n };\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,uBAAuB;AAGjD;AACA;AACA;AACA;AACA;AACA,OAAO,UAAUC,QAAQA,CAAA,EAEiB;EACxC,MAAM;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAG,IAAI,CAACC,QAAQ;EACxC,MAAM;IAAEC;EAAW,CAAC,GAAG,IAAI;EAE3B,IAAIA,UAAU,CAACC,OAAO,EAAE;IACtB,OAAO;MACLC,IAAI,EAAEF,UAAU,CAACG,eAAe,CAACD,IAAI,IAAI,EAAE;MAC3CE,SAAS,EAAEN,OAAO,CAACO;IACrB,CAAC;EACH;EAEA,IAAI;IACF,OAAO,IAAI,CAACC,OAAO,CAAC,mBAAmB,EAAEN,UAAU,EAAEO,SAAS,EAAE,IAAI,CAAC;IACrEP,UAAU,CAACQ,mBAAmB,CAAC,CAAC;EAClC,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV,IAAId,SAAS,CAACc,CAAC,CAAC,IAAIT,UAAU,CAACU,cAAc,EAAE;MAC7CV,UAAU,CAACW,GAAG,CAAC,6CAA6C,CAAC;MAC7D,OAAO,OAAO,IAAI,CAACL,OAAO,CACxB,UAAU,EACVN,UAAU,CAACU,cAAc,EACzBH,SAAS,EACT,IACF,CAAC;IACH;IAEA,MAAME,CAAC;EACT;EAEA,MAAMG,YAAY,GAAGZ,UAAU,CAACG,eAAe,CAACD,IAAI,IAAI,EAAE;;EAE1D;EACA,IAAI,CAACF,UAAU,CAACa,cAAc,CAAC,CAAC,EAAE;IAChC,IAAIb,UAAU,CAACc,UAAU,KAAK,CAAC,EAAE;MAC/B;MACA;MACAjB,KAAK,CAACkB,MAAM,CAAC,aAAa,EAAEf,UAAU,CAACgB,IAAI,CAAC;IAC9C;IAEA,OAAO;MACLd,IAAI,EAAEU,YAAY;MAClBR,SAAS,EAAEN,OAAO,CAACO;IACrB,CAAC;EACH;;EAEA;;EAEA,MAAMY,eAAe,GAAG,OAAO,IAAI,CAACX,OAAO,CACzC,UAAU,EACVN,UAAU,EACVO,SAAS,EACT,IACF,CAAC;EAED,IAAIU,eAAe,KAAK,IAAI,EAAE;IAC5B,OAAO;MACLf,IAAI,EAAEU,YAAY;MAClBR,SAAS,EAAEN,OAAO,CAACO;IACrB,CAAC;EACH;EAEA,MAAM,CAACa,UAAU,EAAEC,YAAY,CAAC,GAAGF,eAAe;;EAElD;;EAEA,MAAMG,kBAAkB,GAAG,OAAO,IAAI,CAACd,OAAO,CAC5C,SAAS,EACTN,UAAU,EACV;IACEkB;EACF,CAAC,EACD,IACF,CAAC;EAED,IAAI,CAACE,kBAAkB,CAACC,QAAQ,EAAE;IAChC,OAAO;MACLnB,IAAI,EAAEkB,kBAAkB,CAAClB,IAAK;MAC9BE,SAAS,EAAEgB,kBAAkB,CAACE;IAChC,CAAC;EACH;;EAEA;;EAEA,MAAMC,kBAAkB,GAAG,OAAO,IAAI,CAACjB,OAAO,CAC5C,SAAS,EACTN,UAAU,EACV;IACEwB,UAAU,EAAEJ,kBAAkB,CAACC,QAAQ,CAACG;EAC1C,CAAC,EACD,IACF,CAAC;EAED,OAAO;IACL,GAAGD,kBAAkB;IACrBrB,IAAI,EAAEkB,kBAAkB,CAAClB,IAAI,IAAI,EAAE;IACnCiB,YAAY;IACZM,YAAY,EAAE,CACZ,GAAGF,kBAAkB,CAACE,YAAY,EAClC,GAAGL,kBAAkB,CAACC,QAAQ,CAACI,YAAY,CAC5C;IACDrB,SAAS,EAAEgB,kBAAkB,CAACE;EAChC,CAAC;AACH","ignoreList":[]}
1
+ {"mappings":"AAAA,SAAS,iBAAiB;AAE1B,SAAS,mCAAmC;AAC5C,SAAS,iCAAiC;AAE1C,MAAM,sCACJ,eAEA,WAAW,gBAAgB,aAC3B,WAAW,KAAK,SAAS,cAAc;;;;;;AAOzC,OAAO,UAAU,WAEyB;CACxC,MAAM,EAAE,OAAO,YAAY,KAAK;CAChC,MAAM,EAAE,eAAe;AAEvB,KAAI,WAAW,SAAS;AACtB,SAAO;GACL,MAAM,WAAW,gBAAgB,QAAQ;GACzC,WAAW,QAAQ;GACpB;;AAGH,KAAI;AACF,SAAO,KAAK,QAAQ,qBAAqB,YAAY,WAAW,KAAK;AACrE,aAAW,qBAAqB;UACzB,GAAG;AACV,MAAI,UAAU,EAAE,IAAI,WAAW,gBAAgB;AAC7C,cAAW,IAAI,8CAA8C;AAC7D,UAAO,OAAO,KAAK,QACjB,YACA,WAAW,gBACX,WACA,KACD;;AAGH,QAAM;;CAGR,MAAM,eAAe,WAAW,gBAAgB,QAAQ;CAExD,UAAU,mBAER,OACwC;AACxC,MAAI,UAAU,MAAM,IAAI,WAAW,gBAAgB;AACjD,cAAW,IAAI,8CAA8C;AAC7D,UAAO,OAAO,KAAK,QACjB,YACA,WAAW,gBACX,WACA,KACD;;AAGH,QAAM;;;AAIR,KAAI,CAAC,WAAW,gBAAgB,EAAE;AAChC,MAAI,mCAAmC,WAAW,EAAE;;;AAGlD,SAAM,OAAO,eAAe,WAAW,KAAK;;AAG9C,SAAO;GACL,MAAM;GACN,WAAW,QAAQ;GACpB;;;AAKH,KAAI;EACF,MAAM,kBAAkB,OAAO,KAAK,QAClC,YACA,YACA,WACA,KACD;AACD,aAAW,qBAAqB;AAEhC,MAAI,oBAAoB,MAAM;AAC5B,UAAO;IACL,MAAM;IACN,WAAW,QAAQ;IACpB;;EAGH,MAAM,CAAC,YAAY,gBAAgB;;EAInC,MAAM,qBAAqB,OAAO,KAAK,QACrC,WACA,YACA,EACE,YACD,EACD,KACD;AACD,aAAW,qBAAqB;AAEhC,MAAI,CAAC,mBAAmB,UAAU;AAChC,OAAI,mCAAmC,WAAW,EAAE;AAClD,UAAM,OAAO,eAAe,WAAW,KAAK;;AAG9C,UAAO;IACL,MAAM,mBAAmB;IACzB,WAAW,mBAAmB;IAC/B;;EAGH,MAAM,WAAW,QAAQ,cAAc,iBACnC,0BAA0B,mBAAmB,UAAU,aAAa,GACpE;EACJ,MAAM,cAAc,4BAClB,WAAW,MACX,mBAAmB,SAAS,WAC7B;;EAID,MAAM,qBAAqB,OAAO,KAAK,QACrC,WACA,YACA,EACE,YAAY,mBAAmB,SAAS,YACzC,EACD,KACD;AACD,aAAW,qBAAqB;AAEhC,SAAO;GACL,GAAG;GACH,MAAM,mBAAmB,QAAQ;GACjC;GACA,GAAI,YAAY,SAAS,IAAI,EAAE,aAAa,GAAG,EAAE;GACjD,GAAI,WAAW,EAAE,UAAU,GAAG,EAAE;GAChC,cAAc,CACZ,GAAG,mBAAmB,cACtB,GAAG,mBAAmB,SAAS,aAChC;GACD,WAAW,mBAAmB;GAC/B;UACM,OAAO;AACd,SAAO,OAAO,mBAAmB,KAAK,MAAM,MAAM","names":[],"sources":["../../../src/transform/generators/workflow.ts"],"version":3,"sourcesContent":["import { isAborted } from '../actions/AbortError';\nimport type { IWorkflowAction, SyncScenarioForAction } from '../types';\nimport { collectTransformDiagnostics } from '../../utils/TransformDiagnostics';\nimport { toTransformResultMetadata } from '../../utils/TransformMetadata';\n\nconst isLoadedEntrypointWithoutArtifacts = (\n entrypoint: IWorkflowAction['entrypoint']\n) =>\n entrypoint.initialCode !== undefined &&\n entrypoint.only.includes('__wywPreval');\n\n/**\n * The entry point for file processing. Sequentially calls `processEntrypoint`,\n * `evalFile`, `collect`, and `extract`. Returns the result of transforming\n * the source code as well as all artifacts obtained from code execution.\n */\nexport function* workflow(\n this: IWorkflowAction\n): SyncScenarioForAction<IWorkflowAction> {\n const { cache, options } = this.services;\n const { entrypoint } = this;\n\n if (entrypoint.ignored) {\n return {\n code: entrypoint.loadedAndParsed.code ?? '',\n sourceMap: options.inputSourceMap,\n };\n }\n\n try {\n yield* this.getNext('processEntrypoint', entrypoint, undefined, null);\n entrypoint.assertNotSuperseded();\n } catch (e) {\n if (isAborted(e) && entrypoint.supersededWith) {\n entrypoint.log('workflow aborted, schedule the next attempt');\n return yield* this.getNext(\n 'workflow',\n entrypoint.supersededWith,\n undefined,\n null\n );\n }\n\n throw e;\n }\n\n const originalCode = entrypoint.loadedAndParsed.code ?? '';\n\n function* restartOnSupersede(\n this: IWorkflowAction,\n error: unknown\n ): SyncScenarioForAction<IWorkflowAction> {\n if (isAborted(error) && entrypoint.supersededWith) {\n entrypoint.log('workflow aborted, schedule the next attempt');\n return yield* this.getNext(\n 'workflow',\n entrypoint.supersededWith,\n undefined,\n null\n );\n }\n\n throw error;\n }\n\n // File is ignored or does not contain any tags. Return original code.\n if (!entrypoint.hasWywMetadata()) {\n if (isLoadedEntrypointWithoutArtifacts(entrypoint)) {\n // A root bundler pass for a plain dependency must not pin eval/cache state.\n // If another WyW file needs this module, it will be prepared on demand.\n cache.delete('entrypoints', entrypoint.name);\n }\n\n return {\n code: originalCode,\n sourceMap: options.inputSourceMap,\n };\n }\n\n // *** 2nd stage ***\n\n try {\n const evalStageResult = yield* this.getNext(\n 'evalFile',\n entrypoint,\n undefined,\n null\n );\n entrypoint.assertNotSuperseded();\n\n if (evalStageResult === null) {\n return {\n code: originalCode,\n sourceMap: options.inputSourceMap,\n };\n }\n\n const [valueCache, dependencies] = evalStageResult;\n\n // *** 3rd stage ***\n\n const collectStageResult = yield* this.getNext(\n 'collect',\n entrypoint,\n {\n valueCache,\n },\n null\n );\n entrypoint.assertNotSuperseded();\n\n if (!collectStageResult.metadata) {\n if (isLoadedEntrypointWithoutArtifacts(entrypoint)) {\n cache.delete('entrypoints', entrypoint.name);\n }\n\n return {\n code: collectStageResult.code!,\n sourceMap: collectStageResult.map,\n };\n }\n\n const metadata = options.pluginOptions.outputMetadata\n ? toTransformResultMetadata(collectStageResult.metadata, dependencies)\n : null;\n const diagnostics = collectTransformDiagnostics(\n entrypoint.name,\n collectStageResult.metadata.processors\n );\n\n // *** 4th stage\n\n const extractStageResult = yield* this.getNext(\n 'extract',\n entrypoint,\n {\n processors: collectStageResult.metadata.processors,\n },\n null\n );\n entrypoint.assertNotSuperseded();\n\n return {\n ...extractStageResult,\n code: collectStageResult.code ?? '',\n dependencies,\n ...(diagnostics.length > 0 ? { diagnostics } : {}),\n ...(metadata ? { metadata } : {}),\n replacements: [\n ...extractStageResult.replacements,\n ...collectStageResult.metadata.replacements,\n ],\n sourceMap: collectStageResult.map,\n };\n } catch (error) {\n return yield* restartOnSupersede.call(this, error);\n }\n}\n"],"file":"workflow.js"}
@@ -1,80 +1,161 @@
1
- import { cosmiconfigSync } from 'cosmiconfig';
2
- import { shaker } from '../../shaker';
3
- const searchPlaces = [`.wyw-in-jsrc`, `.wyw-in-jsrc.json`, `.wyw-in-jsrc.yaml`, `.wyw-in-jsrc.yml`, `.wyw-in-jsrc.js`, `.wyw-in-jsrc.cjs`, `.config/wyw-in-jsrc`, `.config/wyw-in-jsrc.json`, `.config/wyw-in-jsrc.yaml`, `.config/wyw-in-jsrc.yml`, `.config/wyw-in-jsrc.js`, `.config/wyw-in-jsrc.cjs`, `wyw-in-js.config.js`, `wyw-in-js.config.cjs`];
4
- const explorerSync = cosmiconfigSync('wyw-in-js', {
5
- searchPlaces
6
- });
1
+ import { existsSync } from "fs";
2
+ import { createRequire } from "module";
3
+ import path from "path";
4
+ import { cosmiconfigSync } from "cosmiconfig";
5
+ import { shaker } from "../../shaker.js";
6
+ const searchPlaces = [
7
+ `.wyw-in-jsrc`,
8
+ `.wyw-in-jsrc.json`,
9
+ `.wyw-in-jsrc.yaml`,
10
+ `.wyw-in-jsrc.yml`,
11
+ `.wyw-in-jsrc.mjs`,
12
+ `.wyw-in-jsrc.js`,
13
+ `.wyw-in-jsrc.cjs`,
14
+ `.config/wyw-in-jsrc`,
15
+ `.config/wyw-in-jsrc.json`,
16
+ `.config/wyw-in-jsrc.yaml`,
17
+ `.config/wyw-in-jsrc.yml`,
18
+ `.config/wyw-in-jsrc.mjs`,
19
+ `.config/wyw-in-jsrc.js`,
20
+ `.config/wyw-in-jsrc.cjs`,
21
+ `wyw-in-js.config.mjs`,
22
+ `wyw-in-js.config.js`,
23
+ `wyw-in-js.config.cjs`
24
+ ];
25
+ const explorerSync = cosmiconfigSync("wyw-in-js", { searchPlaces: searchPlaces.filter((searchPlace) => !searchPlace.endsWith(".mjs")) });
7
26
  const cache = new WeakMap();
8
27
  const defaultOverrides = {};
9
28
  const nodeModulesRegExp = /[\\/]node_modules[\\/]/;
10
29
  const defaultImportLoaders = {
11
- raw: 'raw',
12
- url: 'url'
30
+ raw: "raw",
31
+ url: "url"
32
+ };
33
+ const resolveConfigFilePath = (configFile) => path.isAbsolute(configFile) ? configFile : path.resolve(process.cwd(), configFile);
34
+ const normalizeLoadedConfig = (loadedConfig) => loadedConfig && typeof loadedConfig === "object" && "default" in loadedConfig ? loadedConfig.default : loadedConfig;
35
+ const loadMjsConfig = (configFile) => {
36
+ const resolvedConfigFile = resolveConfigFilePath(configFile);
37
+ const configRequire = createRequire(resolvedConfigFile);
38
+ try {
39
+ const cacheKey = configRequire.resolve(resolvedConfigFile);
40
+ delete configRequire.cache[cacheKey];
41
+ } catch {}
42
+ try {
43
+ return normalizeLoadedConfig(configRequire(resolvedConfigFile));
44
+ } catch (error) {
45
+ const code = error && typeof error === "object" && "code" in error ? error.code : undefined;
46
+ const message = error instanceof Error ? error.message : String(error);
47
+ if (code === "ERR_REQUIRE_ASYNC_MODULE" || message.includes("require() async module") || message.includes("top-level await")) {
48
+ throw new Error(`[wyw-in-js] Failed to load ${resolvedConfigFile}. ` + "WyW config loading is synchronous, so .mjs config files must not use top-level await " + "or depend on async ESM modules. Remove top-level await or switch to a synchronous config.");
49
+ }
50
+ throw error;
51
+ }
52
+ };
53
+ const loadConfigFromFile = (configFile) => {
54
+ const resolvedConfigFile = resolveConfigFilePath(configFile);
55
+ if (path.extname(resolvedConfigFile) === ".mjs") {
56
+ return loadMjsConfig(resolvedConfigFile);
57
+ }
58
+ return explorerSync.load(resolvedConfigFile)?.config ?? {};
59
+ };
60
+ const searchConfig = () => {
61
+ let currentDir = process.cwd();
62
+ while (currentDir) {
63
+ for (const searchPlace of searchPlaces) {
64
+ const candidate = path.join(currentDir, searchPlace);
65
+ if (existsSync(candidate)) {
66
+ return loadConfigFromFile(candidate);
67
+ }
68
+ }
69
+ const parentDir = path.dirname(currentDir);
70
+ currentDir = parentDir === currentDir ? null : parentDir;
71
+ }
72
+ return {};
13
73
  };
14
74
  export function loadWywOptions(overrides = defaultOverrides) {
15
- if (cache.has(overrides)) {
16
- return cache.get(overrides);
17
- }
18
- const {
19
- configFile,
20
- ignore,
21
- rules,
22
- babelOptions = {},
23
- importLoaders: overridesImportLoaders,
24
- ...rest
25
- } = overrides;
26
- const result =
27
- // eslint-disable-next-line no-nested-ternary
28
- configFile === false ? undefined : configFile !== undefined ? explorerSync.load(configFile) : explorerSync.search();
29
- const defaultFeatures = {
30
- dangerousCodeRemover: true,
31
- globalCache: true,
32
- happyDOM: true,
33
- softErrors: false,
34
- useBabelConfigs: true,
35
- useWeakRefInEval: true
36
- };
37
- const config = result?.config ?? {};
38
- const configImportLoaders = config.importLoaders;
39
- const configFeatures = config.features;
40
- const options = {
41
- displayName: false,
42
- evaluate: true,
43
- extensions: ['.cjs', '.cts', '.js', '.jsx', '.mjs', '.mts', '.ts', '.tsx'],
44
- rules: rules ?? [{
45
- action: shaker
46
- }, {
47
- // The old `ignore` option is used as a default value for `ignore` rule.
48
- test: ignore ?? nodeModulesRegExp,
49
- action: 'ignore'
50
- }, {
51
- // Do not ignore ES-modules
52
- test: (filename, code) => {
53
- if (!nodeModulesRegExp.test(filename)) {
54
- return false;
55
- }
56
-
57
- // If a file contains `export` or `import` keywords, we assume it's an ES-module
58
- return /(?:^|\*\/|;|})\s*(?:export|import)[\s{]/m.test(code);
59
- },
60
- action: shaker
61
- }],
62
- babelOptions,
63
- highPriorityPlugins: ['module-resolver'],
64
- ...config,
65
- ...rest,
66
- importLoaders: {
67
- ...defaultImportLoaders,
68
- ...(configImportLoaders ?? {}),
69
- ...(overridesImportLoaders ?? {})
70
- },
71
- features: {
72
- ...defaultFeatures,
73
- ...(configFeatures ?? {}),
74
- ...rest.features
75
- }
76
- };
77
- cache.set(overrides, options);
78
- return options;
75
+ if (cache.has(overrides)) {
76
+ return cache.get(overrides);
77
+ }
78
+ const { configFile, ignore, rules, oxcOptions = {}, importLoaders: overridesImportLoaders, ...rest } = overrides;
79
+ const defaultFeatures = {
80
+ dangerousCodeRemover: true,
81
+ globalCache: true,
82
+ happyDOM: true,
83
+ softErrors: false,
84
+ staticImportValues: false,
85
+ useWeakRefInEval: true
86
+ };
87
+ const defaultEval = {
88
+ mode: "strict",
89
+ require: "warn-and-run",
90
+ resolver: "bundler"
91
+ };
92
+ const config = (() => {
93
+ if (configFile === false) {
94
+ return {};
95
+ }
96
+ if (configFile !== undefined) {
97
+ return loadConfigFromFile(configFile);
98
+ }
99
+ return searchConfig();
100
+ })();
101
+ const configImportLoaders = config.importLoaders;
102
+ const configFeatures = config.features;
103
+ const configEval = config.eval;
104
+ const options = {
105
+ displayName: false,
106
+ evaluate: true,
107
+ evalConsole: "pipe",
108
+ extensions: [
109
+ ".cjs",
110
+ ".cts",
111
+ ".js",
112
+ ".jsx",
113
+ ".mjs",
114
+ ".mts",
115
+ ".ts",
116
+ ".tsx"
117
+ ],
118
+ outputMetadata: false,
119
+ rules: rules ?? [
120
+ { action: shaker },
121
+ {
122
+ // The old `ignore` option is used as a default value for `ignore` rule.
123
+ test: ignore ?? nodeModulesRegExp,
124
+ action: "ignore"
125
+ },
126
+ {
127
+ // Do not ignore ES-modules
128
+ test: (filename, code) => {
129
+ if (!nodeModulesRegExp.test(filename)) {
130
+ return false;
131
+ }
132
+ // If a file contains `export` or `import` keywords, we assume it's an ES-module
133
+ return /(?:^|\*\/|;|})\s*(?:export|import)[\s{]/m.test(code);
134
+ },
135
+ action: shaker
136
+ }
137
+ ],
138
+ highPriorityPlugins: ["module-resolver"],
139
+ oxcOptions,
140
+ ...config,
141
+ ...rest,
142
+ eval: {
143
+ ...defaultEval,
144
+ ...configEval ?? {},
145
+ ...rest.eval ?? {}
146
+ },
147
+ importLoaders: {
148
+ ...defaultImportLoaders,
149
+ ...configImportLoaders ?? {},
150
+ ...overridesImportLoaders ?? {}
151
+ },
152
+ features: {
153
+ ...defaultFeatures,
154
+ ...configFeatures ?? {},
155
+ ...rest.features
156
+ }
157
+ };
158
+ cache.set(overrides, options);
159
+ return options;
79
160
  }
80
- //# sourceMappingURL=loadWywOptions.js.map
161
+ //# sourceMappingURL=loadWywOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadWywOptions.js","names":["cosmiconfigSync","shaker","searchPlaces","explorerSync","cache","WeakMap","defaultOverrides","nodeModulesRegExp","defaultImportLoaders","raw","url","loadWywOptions","overrides","has","get","configFile","ignore","rules","babelOptions","importLoaders","overridesImportLoaders","rest","result","undefined","load","search","defaultFeatures","dangerousCodeRemover","globalCache","happyDOM","softErrors","useBabelConfigs","useWeakRefInEval","config","configImportLoaders","configFeatures","features","options","displayName","evaluate","extensions","action","test","filename","code","highPriorityPlugins","set"],"sources":["../../../src/transform/helpers/loadWywOptions.ts"],"sourcesContent":["import { cosmiconfigSync } from 'cosmiconfig';\n\nimport type {\n FeatureFlags,\n ImportLoaders,\n StrictOptions,\n} from '@wyw-in-js/shared';\n\nimport { shaker } from '../../shaker';\nimport type { PluginOptions } from '../../types';\n\nconst searchPlaces = [\n `.wyw-in-jsrc`,\n `.wyw-in-jsrc.json`,\n `.wyw-in-jsrc.yaml`,\n `.wyw-in-jsrc.yml`,\n `.wyw-in-jsrc.js`,\n `.wyw-in-jsrc.cjs`,\n `.config/wyw-in-jsrc`,\n `.config/wyw-in-jsrc.json`,\n `.config/wyw-in-jsrc.yaml`,\n `.config/wyw-in-jsrc.yml`,\n `.config/wyw-in-jsrc.js`,\n `.config/wyw-in-jsrc.cjs`,\n `wyw-in-js.config.js`,\n `wyw-in-js.config.cjs`,\n];\n\nconst explorerSync = cosmiconfigSync('wyw-in-js', { searchPlaces });\n\nexport type PartialOptions = Partial<Omit<PluginOptions, 'features'>> & {\n features?: Partial<FeatureFlags>;\n};\n\nconst cache = new WeakMap<Partial<PartialOptions>, StrictOptions>();\nconst defaultOverrides = {};\nconst nodeModulesRegExp = /[\\\\/]node_modules[\\\\/]/;\nconst defaultImportLoaders: ImportLoaders = {\n raw: 'raw',\n url: 'url',\n};\n\nexport function loadWywOptions(\n overrides: PartialOptions = defaultOverrides\n): StrictOptions {\n if (cache.has(overrides)) {\n return cache.get(overrides)!;\n }\n\n const {\n configFile,\n ignore,\n rules,\n babelOptions = {},\n importLoaders: overridesImportLoaders,\n ...rest\n } = overrides;\n\n const result =\n // eslint-disable-next-line no-nested-ternary\n configFile === false\n ? undefined\n : configFile !== undefined\n ? explorerSync.load(configFile)\n : explorerSync.search();\n\n const defaultFeatures: FeatureFlags = {\n dangerousCodeRemover: true,\n globalCache: true,\n happyDOM: true,\n softErrors: false,\n useBabelConfigs: true,\n useWeakRefInEval: true,\n };\n\n const config = (result?.config ?? {}) as Partial<StrictOptions>;\n const configImportLoaders = config.importLoaders;\n const configFeatures = config.features;\n\n const options: StrictOptions = {\n displayName: false,\n evaluate: true,\n extensions: ['.cjs', '.cts', '.js', '.jsx', '.mjs', '.mts', '.ts', '.tsx'],\n rules: rules ?? [\n {\n action: shaker,\n },\n {\n // The old `ignore` option is used as a default value for `ignore` rule.\n test: ignore ?? nodeModulesRegExp,\n action: 'ignore',\n },\n {\n // Do not ignore ES-modules\n test: (filename, code) => {\n if (!nodeModulesRegExp.test(filename)) {\n return false;\n }\n\n // If a file contains `export` or `import` keywords, we assume it's an ES-module\n return /(?:^|\\*\\/|;|})\\s*(?:export|import)[\\s{]/m.test(code);\n },\n action: shaker,\n },\n ],\n babelOptions,\n highPriorityPlugins: ['module-resolver'],\n ...config,\n ...rest,\n importLoaders: {\n ...defaultImportLoaders,\n ...(configImportLoaders ?? {}),\n ...(overridesImportLoaders ?? {}),\n },\n features: {\n ...defaultFeatures,\n ...(configFeatures ?? {}),\n ...rest.features,\n },\n };\n\n cache.set(overrides, options);\n\n return options;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"mappings":"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","names":[],"sources":["../../../src/transform/helpers/loadWywOptions.ts"],"version":3,"sourcesContent":["import { existsSync } from 'fs';\nimport { createRequire } from 'module';\nimport path from 'path';\n\nimport { cosmiconfigSync } from 'cosmiconfig';\n\nimport type {\n EvalOptionsV2,\n FeatureFlags,\n ImportLoaders,\n StrictOptions,\n} from '@wyw-in-js/shared';\n\nimport { shaker } from '../../shaker';\nimport type { PluginOptions } from '../../types';\n\nconst searchPlaces = [\n `.wyw-in-jsrc`,\n `.wyw-in-jsrc.json`,\n `.wyw-in-jsrc.yaml`,\n `.wyw-in-jsrc.yml`,\n `.wyw-in-jsrc.mjs`,\n `.wyw-in-jsrc.js`,\n `.wyw-in-jsrc.cjs`,\n `.config/wyw-in-jsrc`,\n `.config/wyw-in-jsrc.json`,\n `.config/wyw-in-jsrc.yaml`,\n `.config/wyw-in-jsrc.yml`,\n `.config/wyw-in-jsrc.mjs`,\n `.config/wyw-in-jsrc.js`,\n `.config/wyw-in-jsrc.cjs`,\n `wyw-in-js.config.mjs`,\n `wyw-in-js.config.js`,\n `wyw-in-js.config.cjs`,\n];\n\nconst explorerSync = cosmiconfigSync('wyw-in-js', {\n searchPlaces: searchPlaces.filter(\n (searchPlace) => !searchPlace.endsWith('.mjs')\n ),\n});\n\nexport type PartialOptions = Partial<Omit<PluginOptions, 'features'>> & {\n features?: Partial<FeatureFlags>;\n};\n\nconst cache = new WeakMap<Partial<PartialOptions>, StrictOptions>();\nconst defaultOverrides = {};\nconst nodeModulesRegExp = /[\\\\/]node_modules[\\\\/]/;\nconst defaultImportLoaders: ImportLoaders = {\n raw: 'raw',\n url: 'url',\n};\nconst resolveConfigFilePath = (configFile: string): string =>\n path.isAbsolute(configFile)\n ? configFile\n : path.resolve(process.cwd(), configFile);\n\nconst normalizeLoadedConfig = (loadedConfig: unknown): Partial<StrictOptions> =>\n (loadedConfig && typeof loadedConfig === 'object' && 'default' in loadedConfig\n ? (loadedConfig as { default: unknown }).default\n : loadedConfig) as Partial<StrictOptions>;\n\nconst loadMjsConfig = (configFile: string): Partial<StrictOptions> => {\n const resolvedConfigFile = resolveConfigFilePath(configFile);\n const configRequire = createRequire(resolvedConfigFile);\n\n try {\n const cacheKey = configRequire.resolve(resolvedConfigFile);\n delete configRequire.cache[cacheKey];\n } catch {\n // Ignore cache cleanup failures and let the require call surface the real error.\n }\n\n try {\n return normalizeLoadedConfig(configRequire(resolvedConfigFile));\n } catch (error) {\n const code =\n error && typeof error === 'object' && 'code' in error\n ? (error as { code?: string }).code\n : undefined;\n const message = error instanceof Error ? error.message : String(error);\n\n if (\n code === 'ERR_REQUIRE_ASYNC_MODULE' ||\n message.includes('require() async module') ||\n message.includes('top-level await')\n ) {\n throw new Error(\n `[wyw-in-js] Failed to load ${resolvedConfigFile}. ` +\n 'WyW config loading is synchronous, so .mjs config files must not use top-level await ' +\n 'or depend on async ESM modules. Remove top-level await or switch to a synchronous config.'\n );\n }\n\n throw error;\n }\n};\n\nconst loadConfigFromFile = (configFile: string): Partial<StrictOptions> => {\n const resolvedConfigFile = resolveConfigFilePath(configFile);\n if (path.extname(resolvedConfigFile) === '.mjs') {\n return loadMjsConfig(resolvedConfigFile);\n }\n\n return (explorerSync.load(resolvedConfigFile)?.config ??\n {}) as Partial<StrictOptions>;\n};\n\nconst searchConfig = (): Partial<StrictOptions> => {\n let currentDir: string | null = process.cwd();\n\n while (currentDir) {\n for (const searchPlace of searchPlaces) {\n const candidate = path.join(currentDir, searchPlace);\n if (existsSync(candidate)) {\n return loadConfigFromFile(candidate);\n }\n }\n\n const parentDir = path.dirname(currentDir);\n currentDir = parentDir === currentDir ? null : parentDir;\n }\n\n return {};\n};\n\nexport function loadWywOptions(\n overrides: PartialOptions = defaultOverrides\n): StrictOptions {\n if (cache.has(overrides)) {\n return cache.get(overrides)!;\n }\n\n const {\n configFile,\n ignore,\n rules,\n oxcOptions = {},\n importLoaders: overridesImportLoaders,\n ...rest\n } = overrides;\n\n const defaultFeatures = {\n dangerousCodeRemover: true,\n globalCache: true,\n happyDOM: true,\n softErrors: false,\n staticImportValues: false,\n useWeakRefInEval: true,\n } satisfies FeatureFlags & { staticImportValues: boolean };\n const defaultEval: EvalOptionsV2 = {\n mode: 'strict',\n require: 'warn-and-run',\n resolver: 'bundler',\n };\n\n const config = (() => {\n if (configFile === false) {\n return {};\n }\n\n if (configFile !== undefined) {\n return loadConfigFromFile(configFile);\n }\n\n return searchConfig();\n })();\n const configImportLoaders = config.importLoaders;\n const configFeatures = config.features;\n const configEval = config.eval;\n\n const options: StrictOptions = {\n displayName: false,\n evaluate: true,\n evalConsole: 'pipe',\n extensions: ['.cjs', '.cts', '.js', '.jsx', '.mjs', '.mts', '.ts', '.tsx'],\n outputMetadata: false,\n rules: rules ?? [\n {\n action: shaker,\n },\n {\n // The old `ignore` option is used as a default value for `ignore` rule.\n test: ignore ?? nodeModulesRegExp,\n action: 'ignore',\n },\n {\n // Do not ignore ES-modules\n test: (filename, code) => {\n if (!nodeModulesRegExp.test(filename)) {\n return false;\n }\n\n // If a file contains `export` or `import` keywords, we assume it's an ES-module\n return /(?:^|\\*\\/|;|})\\s*(?:export|import)[\\s{]/m.test(code);\n },\n action: shaker,\n },\n ],\n highPriorityPlugins: ['module-resolver'],\n oxcOptions,\n ...config,\n ...rest,\n eval: {\n ...defaultEval,\n ...(configEval ?? {}),\n ...(rest.eval ?? {}),\n },\n importLoaders: {\n ...defaultImportLoaders,\n ...(configImportLoaders ?? {}),\n ...(overridesImportLoaders ?? {}),\n },\n features: {\n ...defaultFeatures,\n ...(configFeatures ?? {}),\n ...rest.features,\n },\n };\n\n cache.set(overrides, options);\n\n return options;\n}\n"],"file":"loadWywOptions.js"}
@@ -1,23 +1,14 @@
1
- import * as babelCore from '@babel/core';
2
- import { TransformCacheCollection } from '../../cache';
3
- import { EventEmitter } from '../../utils/EventEmitter';
4
- import { loadAndParse } from '../Entrypoint.helpers';
5
- import { rootLog } from '../rootLog';
6
- export const withDefaultServices = ({
7
- babel = babelCore,
8
- cache = new TransformCacheCollection(),
9
- emitWarning,
10
- eventEmitter = EventEmitter.dummy,
11
- loadAndParseFn = loadAndParse,
12
- log = rootLog,
13
- options
14
- }) => ({
15
- babel,
16
- cache,
17
- emitWarning,
18
- eventEmitter,
19
- loadAndParseFn,
20
- log,
21
- options
1
+ import { TransformCacheCollection } from "../../cache.js";
2
+ import { EventEmitter } from "../../utils/EventEmitter.js";
3
+ import { loadAndParse } from "../Entrypoint.helpers.js";
4
+ import { rootLog } from "../rootLog.js";
5
+ export const withDefaultServices = ({ cache = new TransformCacheCollection(), emitWarning, eventEmitter = EventEmitter.dummy, loadAndParseFn = loadAndParse, log = rootLog, options, asyncResolveKey }) => ({
6
+ cache,
7
+ emitWarning,
8
+ eventEmitter,
9
+ loadAndParseFn,
10
+ log,
11
+ options,
12
+ asyncResolveKey
22
13
  });
23
- //# sourceMappingURL=withDefaultServices.js.map
14
+ //# sourceMappingURL=withDefaultServices.js.map