@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,102 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.extract = extract;
7
- var _sourceMap = require("source-map");
8
- var _createStylisPreprocessor = require("./createStylisPreprocessor");
9
- function extractCssFromAst(rules, originalCode, options) {
10
- const mappings = [];
11
- let cssText = '';
12
- let preprocessor;
13
- if (typeof options.preprocessor === 'function') {
14
- // eslint-disable-next-line prefer-destructuring
15
- preprocessor = options.preprocessor;
16
- } else {
17
- switch (options.preprocessor) {
18
- case 'none':
19
- preprocessor = (selector, text) => `${selector} {${text}}\n`;
20
- break;
21
- case 'stylis':
22
- default:
23
- preprocessor = (0, _createStylisPreprocessor.createStylisPreprocessor)(options);
24
- }
25
- }
26
- Object.keys(rules).forEach((selector, index) => {
27
- mappings.push({
28
- generated: {
29
- line: index + 1,
30
- column: 0
31
- },
32
- original: rules[selector].start,
33
- name: selector,
34
- source: ''
35
- });
36
- if (rules[selector].atom) {
37
- // For atoms, we just directly insert cssText, to give the atomizer full control over the rules
38
- cssText += `${rules[selector].cssText}\n`;
39
- } else {
40
- // Run each rule through stylis to support nesting
41
- cssText += `${preprocessor(selector, rules[selector].cssText)}\n`;
42
- }
43
- });
44
- return {
45
- cssText,
46
- rules,
47
- get cssSourceMapText() {
48
- if (mappings !== null && mappings !== void 0 && mappings.length) {
49
- const generator = new _sourceMap.SourceMapGenerator({
50
- file: options.filename.replace(/\.js$/, '.css')
51
- });
52
- mappings.forEach(mapping => generator.addMapping({
53
- ...mapping,
54
- source: options.filename
55
- }));
56
- generator.setSourceContent(options.filename, originalCode);
57
- return generator.toString();
58
- }
59
- return '';
60
- }
61
- };
62
- }
63
-
64
- /**
65
- * Extract artifacts (e.g. CSS) from processors
66
- */
67
- // eslint-disable-next-line require-yield
68
- function* extract() {
69
- const {
70
- options
71
- } = this.services;
72
- const {
73
- entrypoint
74
- } = this;
75
- const {
76
- processors
77
- } = this.data;
78
- const {
79
- loadedAndParsed
80
- } = entrypoint;
81
- if (loadedAndParsed.evaluator === 'ignored') {
82
- throw new Error('entrypoint was ignored');
83
- }
84
- let allRules = {};
85
- const allReplacements = [];
86
- processors.forEach(processor => {
87
- processor.artifacts.forEach(artifact => {
88
- if (artifact[0] !== 'css') return;
89
- const [rules, replacements] = artifact[1];
90
- allRules = {
91
- ...allRules,
92
- ...rules
93
- };
94
- allReplacements.push(...replacements);
95
- });
96
- });
97
- return {
98
- ...extractCssFromAst(allRules, loadedAndParsed.code, options),
99
- replacements: allReplacements
100
- };
101
- }
102
- //# sourceMappingURL=extract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extract.js","names":["_sourceMap","require","_createStylisPreprocessor","extractCssFromAst","rules","originalCode","options","mappings","cssText","preprocessor","selector","text","createStylisPreprocessor","Object","keys","forEach","index","push","generated","line","column","original","start","name","source","atom","cssSourceMapText","length","generator","SourceMapGenerator","file","filename","replace","mapping","addMapping","setSourceContent","toString","extract","services","entrypoint","processors","data","loadedAndParsed","evaluator","Error","allRules","allReplacements","processor","artifacts","artifact","replacements","code"],"sources":["../../../src/transform/generators/extract.ts"],"sourcesContent":["import type { Mapping } from 'source-map';\nimport { SourceMapGenerator } from 'source-map';\n\nimport type { Replacements, Rules } from '@wyw-in-js/shared';\n\nimport type { Options, PreprocessorFn } from '../../types';\nimport type { IExtractAction, SyncScenarioForAction } from '../types';\nimport { createStylisPreprocessor } from './createStylisPreprocessor';\n\nfunction extractCssFromAst(\n rules: Rules,\n originalCode: string,\n options: Pick<\n Options,\n 'preprocessor' | 'filename' | 'outputFilename' | 'prefixer' | 'keepComments'\n >\n): { cssSourceMapText: string; cssText: string; rules: Rules } {\n const mappings: Mapping[] = [];\n\n let cssText = '';\n\n let preprocessor: PreprocessorFn;\n if (typeof options.preprocessor === 'function') {\n // eslint-disable-next-line prefer-destructuring\n preprocessor = options.preprocessor;\n } else {\n switch (options.preprocessor) {\n case 'none':\n preprocessor = (selector, text) => `${selector} {${text}}\\n`;\n break;\n case 'stylis':\n default:\n preprocessor = createStylisPreprocessor(options);\n }\n }\n\n Object.keys(rules).forEach((selector, index) => {\n mappings.push({\n generated: {\n line: index + 1,\n column: 0,\n },\n original: rules[selector].start!,\n name: selector,\n source: '',\n });\n\n if (rules[selector].atom) {\n // For atoms, we just directly insert cssText, to give the atomizer full control over the rules\n cssText += `${rules[selector].cssText}\\n`;\n } else {\n // Run each rule through stylis to support nesting\n cssText += `${preprocessor(selector, rules[selector].cssText)}\\n`;\n }\n });\n\n return {\n cssText,\n rules,\n\n get cssSourceMapText() {\n if (mappings?.length) {\n const generator = new SourceMapGenerator({\n file: options.filename.replace(/\\.js$/, '.css'),\n });\n\n mappings.forEach((mapping) =>\n generator.addMapping({ ...mapping, source: options.filename })\n );\n\n generator.setSourceContent(options.filename, originalCode);\n\n return generator.toString();\n }\n\n return '';\n },\n };\n}\n\n/**\n * Extract artifacts (e.g. CSS) from processors\n */\n// eslint-disable-next-line require-yield\nexport function* extract(\n this: IExtractAction\n): SyncScenarioForAction<IExtractAction> {\n const { options } = this.services;\n const { entrypoint } = this;\n const { processors } = this.data;\n const { loadedAndParsed } = entrypoint;\n if (loadedAndParsed.evaluator === 'ignored') {\n throw new Error('entrypoint was ignored');\n }\n\n let allRules: Rules = {};\n const allReplacements: Replacements = [];\n processors.forEach((processor) => {\n processor.artifacts.forEach((artifact) => {\n if (artifact[0] !== 'css') return;\n const [rules, replacements] = artifact[1] as [\n rules: Rules,\n sourceMapReplacements: Replacements,\n ];\n\n allRules = {\n ...allRules,\n ...rules,\n };\n\n allReplacements.push(...replacements);\n });\n });\n\n return {\n ...extractCssFromAst(allRules, loadedAndParsed.code, options),\n replacements: allReplacements,\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,85 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.findExportsInImports = findExportsInImports;
7
- exports.getExports = getExports;
8
- var _collectExportsAndImports = require("../../utils/collectExportsAndImports");
9
- function findExportsInImports(entrypoint, imports) {
10
- const results = [];
11
- for (const imp of imports) {
12
- const {
13
- resolved
14
- } = imp;
15
- if (!resolved) {
16
- throw new Error(`Could not resolve import ${imp.source}`);
17
- }
18
- const newEntrypoint = entrypoint.createChild(resolved, []);
19
- if (newEntrypoint === 'loop') {
20
- // eslint-disable-next-line no-continue
21
- continue;
22
- }
23
- results.push({
24
- entrypoint: newEntrypoint,
25
- import: imp.source
26
- });
27
- }
28
- return results;
29
- }
30
- function* getExports() {
31
- const {
32
- entrypoint,
33
- services: {
34
- cache
35
- }
36
- } = this;
37
- const {
38
- loadedAndParsed
39
- } = entrypoint;
40
- if (loadedAndParsed.ast === undefined) {
41
- return [];
42
- }
43
- entrypoint.log(`get exports from %s`, entrypoint.name);
44
- if (cache.has('exports', entrypoint.name)) {
45
- return cache.get('exports', entrypoint.name);
46
- }
47
- let withWildcardReexport = [];
48
- const result = [];
49
- this.services.babel.traverse(loadedAndParsed.ast, {
50
- Program(path) {
51
- const {
52
- exports,
53
- reexports
54
- } = (0, _collectExportsAndImports.collectExportsAndImports)(path, 'disabled');
55
- Object.keys(exports).forEach(token => {
56
- result.push(token);
57
- });
58
- reexports.forEach(e => {
59
- if (e.exported !== '*') {
60
- result.push(e.exported);
61
- }
62
- });
63
- withWildcardReexport = reexports.filter(e => e.exported === '*');
64
- }
65
- });
66
- if (withWildcardReexport.length) {
67
- const resolvedImports = yield* this.getNext('resolveImports', entrypoint, {
68
- imports: new Map(withWildcardReexport.map(i => [i.source, []]))
69
- });
70
- const dependencyFilenames = resolvedImports.flatMap(dependency => dependency.resolved ? [dependency.resolved] : []);
71
- const importedEntrypoints = findExportsInImports(entrypoint, resolvedImports);
72
- for (const importedEntrypoint of importedEntrypoints) {
73
- const exports = yield* this.getNext('getExports', importedEntrypoint.entrypoint, undefined);
74
- result.push(...exports);
75
- }
76
- cache.add('exports', entrypoint.name, result);
77
- cache.setCacheDependencies('exports', entrypoint.name, dependencyFilenames);
78
- entrypoint.log(`exports: %o`, result);
79
- return result;
80
- }
81
- entrypoint.log(`exports: %o`, result);
82
- cache.add('exports', entrypoint.name, result);
83
- return result;
84
- }
85
- //# sourceMappingURL=getExports.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getExports.js","names":["_collectExportsAndImports","require","findExportsInImports","entrypoint","imports","results","imp","resolved","Error","source","newEntrypoint","createChild","push","import","getExports","services","cache","loadedAndParsed","ast","undefined","log","name","has","get","withWildcardReexport","result","babel","traverse","Program","path","exports","reexports","collectExportsAndImports","Object","keys","forEach","token","e","exported","filter","length","resolvedImports","getNext","Map","map","i","dependencyFilenames","flatMap","dependency","importedEntrypoints","importedEntrypoint","add","setCacheDependencies"],"sources":["../../../src/transform/generators/getExports.ts"],"sourcesContent":["import type { IReexport } from '../../utils/collectExportsAndImports';\nimport { collectExportsAndImports } from '../../utils/collectExportsAndImports';\nimport type { Entrypoint } from '../Entrypoint';\nimport type { IEntrypointDependency } from '../Entrypoint.types';\nimport type { IGetExportsAction, SyncScenarioForAction } from '../types';\n\nexport function findExportsInImports(\n entrypoint: Entrypoint,\n imports: IEntrypointDependency[]\n): { entrypoint: Entrypoint; import: string }[] {\n const results: {\n entrypoint: Entrypoint;\n import: string;\n }[] = [];\n\n for (const imp of imports) {\n const { resolved } = imp;\n if (!resolved) {\n throw new Error(`Could not resolve import ${imp.source}`);\n }\n\n const newEntrypoint = entrypoint.createChild(resolved, []);\n\n if (newEntrypoint === 'loop') {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n results.push({\n entrypoint: newEntrypoint,\n import: imp.source,\n });\n }\n\n return results;\n}\n\nexport function* getExports(\n this: IGetExportsAction\n): SyncScenarioForAction<IGetExportsAction> {\n const {\n entrypoint,\n services: { cache },\n } = this;\n const { loadedAndParsed } = entrypoint;\n if (loadedAndParsed.ast === undefined) {\n return [];\n }\n\n entrypoint.log(`get exports from %s`, entrypoint.name);\n\n if (cache.has('exports', entrypoint.name)) {\n return cache.get('exports', entrypoint.name)!;\n }\n\n let withWildcardReexport: IReexport[] = [];\n const result: string[] = [];\n\n this.services.babel.traverse(loadedAndParsed.ast!, {\n Program(path) {\n const { exports, reexports } = collectExportsAndImports(path, 'disabled');\n Object.keys(exports).forEach((token) => {\n result.push(token);\n });\n\n reexports.forEach((e) => {\n if (e.exported !== '*') {\n result.push(e.exported);\n }\n });\n\n withWildcardReexport = reexports.filter((e) => e.exported === '*');\n },\n });\n\n if (withWildcardReexport.length) {\n const resolvedImports = yield* this.getNext('resolveImports', entrypoint, {\n imports: new Map(withWildcardReexport.map((i) => [i.source, []])),\n });\n const dependencyFilenames = resolvedImports.flatMap((dependency) =>\n dependency.resolved ? [dependency.resolved] : []\n );\n\n const importedEntrypoints = findExportsInImports(\n entrypoint,\n resolvedImports\n );\n\n for (const importedEntrypoint of importedEntrypoints) {\n const exports = yield* this.getNext(\n 'getExports',\n importedEntrypoint.entrypoint,\n undefined\n );\n\n result.push(...exports);\n }\n\n cache.add('exports', entrypoint.name, result);\n cache.setCacheDependencies('exports', entrypoint.name, dependencyFilenames);\n\n entrypoint.log(`exports: %o`, result);\n\n return result;\n }\n\n entrypoint.log(`exports: %o`, result);\n\n cache.add('exports', entrypoint.name, result);\n\n return result;\n}\n"],"mappings":";;;;;;;AACA,IAAAA,yBAAA,GAAAC,OAAA;AAKO,SAASC,oBAAoBA,CAClCC,UAAsB,EACtBC,OAAgC,EACc;EAC9C,MAAMC,OAGH,GAAG,EAAE;EAER,KAAK,MAAMC,GAAG,IAAIF,OAAO,EAAE;IACzB,MAAM;MAAEG;IAAS,CAAC,GAAGD,GAAG;IACxB,IAAI,CAACC,QAAQ,EAAE;MACb,MAAM,IAAIC,KAAK,CAAC,4BAA4BF,GAAG,CAACG,MAAM,EAAE,CAAC;IAC3D;IAEA,MAAMC,aAAa,GAAGP,UAAU,CAACQ,WAAW,CAACJ,QAAQ,EAAE,EAAE,CAAC;IAE1D,IAAIG,aAAa,KAAK,MAAM,EAAE;MAC5B;MACA;IACF;IAEAL,OAAO,CAACO,IAAI,CAAC;MACXT,UAAU,EAAEO,aAAa;MACzBG,MAAM,EAAEP,GAAG,CAACG;IACd,CAAC,CAAC;EACJ;EAEA,OAAOJ,OAAO;AAChB;AAEO,UAAUS,UAAUA,CAAA,EAEiB;EAC1C,MAAM;IACJX,UAAU;IACVY,QAAQ,EAAE;MAAEC;IAAM;EACpB,CAAC,GAAG,IAAI;EACR,MAAM;IAAEC;EAAgB,CAAC,GAAGd,UAAU;EACtC,IAAIc,eAAe,CAACC,GAAG,KAAKC,SAAS,EAAE;IACrC,OAAO,EAAE;EACX;EAEAhB,UAAU,CAACiB,GAAG,CAAC,qBAAqB,EAAEjB,UAAU,CAACkB,IAAI,CAAC;EAEtD,IAAIL,KAAK,CAACM,GAAG,CAAC,SAAS,EAAEnB,UAAU,CAACkB,IAAI,CAAC,EAAE;IACzC,OAAOL,KAAK,CAACO,GAAG,CAAC,SAAS,EAAEpB,UAAU,CAACkB,IAAI,CAAC;EAC9C;EAEA,IAAIG,oBAAiC,GAAG,EAAE;EAC1C,MAAMC,MAAgB,GAAG,EAAE;EAE3B,IAAI,CAACV,QAAQ,CAACW,KAAK,CAACC,QAAQ,CAACV,eAAe,CAACC,GAAG,EAAG;IACjDU,OAAOA,CAACC,IAAI,EAAE;MACZ,MAAM;QAAEC,OAAO;QAAEC;MAAU,CAAC,GAAG,IAAAC,kDAAwB,EAACH,IAAI,EAAE,UAAU,CAAC;MACzEI,MAAM,CAACC,IAAI,CAACJ,OAAO,CAAC,CAACK,OAAO,CAAEC,KAAK,IAAK;QACtCX,MAAM,CAACb,IAAI,CAACwB,KAAK,CAAC;MACpB,CAAC,CAAC;MAEFL,SAAS,CAACI,OAAO,CAAEE,CAAC,IAAK;QACvB,IAAIA,CAAC,CAACC,QAAQ,KAAK,GAAG,EAAE;UACtBb,MAAM,CAACb,IAAI,CAACyB,CAAC,CAACC,QAAQ,CAAC;QACzB;MACF,CAAC,CAAC;MAEFd,oBAAoB,GAAGO,SAAS,CAACQ,MAAM,CAAEF,CAAC,IAAKA,CAAC,CAACC,QAAQ,KAAK,GAAG,CAAC;IACpE;EACF,CAAC,CAAC;EAEF,IAAId,oBAAoB,CAACgB,MAAM,EAAE;IAC/B,MAAMC,eAAe,GAAG,OAAO,IAAI,CAACC,OAAO,CAAC,gBAAgB,EAAEvC,UAAU,EAAE;MACxEC,OAAO,EAAE,IAAIuC,GAAG,CAACnB,oBAAoB,CAACoB,GAAG,CAAEC,CAAC,IAAK,CAACA,CAAC,CAACpC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC;IACF,MAAMqC,mBAAmB,GAAGL,eAAe,CAACM,OAAO,CAAEC,UAAU,IAC7DA,UAAU,CAACzC,QAAQ,GAAG,CAACyC,UAAU,CAACzC,QAAQ,CAAC,GAAG,EAChD,CAAC;IAED,MAAM0C,mBAAmB,GAAG/C,oBAAoB,CAC9CC,UAAU,EACVsC,eACF,CAAC;IAED,KAAK,MAAMS,kBAAkB,IAAID,mBAAmB,EAAE;MACpD,MAAMnB,OAAO,GAAG,OAAO,IAAI,CAACY,OAAO,CACjC,YAAY,EACZQ,kBAAkB,CAAC/C,UAAU,EAC7BgB,SACF,CAAC;MAEDM,MAAM,CAACb,IAAI,CAAC,GAAGkB,OAAO,CAAC;IACzB;IAEAd,KAAK,CAACmC,GAAG,CAAC,SAAS,EAAEhD,UAAU,CAACkB,IAAI,EAAEI,MAAM,CAAC;IAC7CT,KAAK,CAACoC,oBAAoB,CAAC,SAAS,EAAEjD,UAAU,CAACkB,IAAI,EAAEyB,mBAAmB,CAAC;IAE3E3C,UAAU,CAACiB,GAAG,CAAC,aAAa,EAAEK,MAAM,CAAC;IAErC,OAAOA,MAAM;EACf;EAEAtB,UAAU,CAACiB,GAAG,CAAC,aAAa,EAAEK,MAAM,CAAC;EAErCT,KAAK,CAACmC,GAAG,CAAC,SAAS,EAAEhD,UAAU,CAACkB,IAAI,EAAEI,MAAM,CAAC;EAE7C,OAAOA,MAAM;AACf","ignoreList":[]}
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.baseHandlers = void 0;
7
- var _baseProcessingHandlers = require("./baseProcessingHandlers");
8
- var _collect = require("./collect");
9
- var _evalFile = require("./evalFile");
10
- var _extract = require("./extract");
11
- var _workflow = require("./workflow");
12
- const baseHandlers = exports.baseHandlers = {
13
- ..._baseProcessingHandlers.baseProcessingHandlers,
14
- collect: _collect.collect,
15
- evalFile: _evalFile.evalFile,
16
- extract: _extract.extract,
17
- workflow: _workflow.workflow
18
- };
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_baseProcessingHandlers","require","_collect","_evalFile","_extract","_workflow","baseHandlers","exports","baseProcessingHandlers","collect","evalFile","extract","workflow"],"sources":["../../../src/transform/generators/index.ts"],"sourcesContent":["import { baseProcessingHandlers } from './baseProcessingHandlers';\nimport { collect } from './collect';\nimport { evalFile } from './evalFile';\nimport { extract } from './extract';\nimport { workflow } from './workflow';\n\nexport const baseHandlers = {\n ...baseProcessingHandlers,\n collect,\n evalFile,\n extract,\n workflow,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAEO,MAAMK,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1B,GAAGE,8CAAsB;EACzBC,OAAO,EAAPA,gBAAO;EACPC,QAAQ,EAARA,kBAAQ;EACRC,OAAO,EAAPA,gBAAO;EACPC,QAAQ,EAARA;AACF,CAAC","ignoreList":[]}
@@ -1,76 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.processEntrypoint = processEntrypoint;
7
- var _shaker = require("../../shaker");
8
- var _AbortError = require("../actions/AbortError");
9
- var _barrelManifest = require("../barrelManifest");
10
- function _usingCtx2() { var r = "function" == typeof SuppressedError ? SuppressedError : function (r, e) { var n = Error(); return n.name = "SuppressedError", n.error = r, n.suppressed = e, n; }, e = {}, n = []; function using(r, e) { if (null != e) { if (Object(e) !== e) throw new TypeError("using declarations can only be used with objects, functions, null, or undefined."); if (r) var o = e[Symbol.asyncDispose || Symbol.for("Symbol.asyncDispose")]; if (void 0 === o && (o = e[Symbol.dispose || Symbol.for("Symbol.dispose")], r)) var t = o; if ("function" != typeof o) throw new TypeError("Object is not disposable."); t && (o = function () { try { t.call(e); } catch (r) { return Promise.reject(r); } }), n.push({ v: e, d: o, a: r }); } else r && n.push({ d: e, a: r }); return e; } return { e: e, u: using.bind(null, !1), a: using.bind(null, !0), d: function () { var o, t = this.e, s = 0; function next() { for (; o = n.pop();) try { if (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next); if (o.d) { var r = o.d.call(o.v); if (o.a) return s |= 2, Promise.resolve(r).then(next, err); } else s |= 1; } catch (r) { return err(r); } if (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve(); if (t !== e) throw t; } function err(n) { return t = t !== e ? new r(n, t) : n, next(); } return next(); } }; }
11
- const shouldSkipExplodeReexports = action => {
12
- const {
13
- loadedAndParsed,
14
- only
15
- } = action.entrypoint;
16
- if (only.length === 1 && only[0] === '__wywPreval') {
17
- return true;
18
- }
19
- if (loadedAndParsed.evaluator !== _shaker.shaker || !loadedAndParsed.ast) {
20
- return false;
21
- }
22
- const barrelAnalysis = (0, _barrelManifest.analyzeBarrelFile)(loadedAndParsed.ast);
23
- return barrelAnalysis.kind === 'barrel' && barrelAnalysis.complete;
24
- };
25
-
26
- /**
27
- * The first stage of processing an entrypoint.
28
- * This stage is responsible for:
29
- * - scheduling the explodeReexports action
30
- * - scheduling the transform action
31
- * - rescheduling itself if the entrypoint is superseded
32
- */
33
- function* processEntrypoint() {
34
- const {
35
- only,
36
- log
37
- } = this.entrypoint;
38
- log('start processing (only: %o)', only);
39
- this.entrypoint.beginProcessing();
40
- try {
41
- try {
42
- var _usingCtx = _usingCtx2();
43
- const abortSignal = _usingCtx.u(this.createAbortSignal());
44
- if (shouldSkipExplodeReexports(this)) {
45
- log('skip explodeReexports for pure barrel');
46
- } else {
47
- yield ['explodeReexports', this.entrypoint, undefined, abortSignal];
48
- }
49
- const result = yield* this.getNext('transform', this.entrypoint, undefined, abortSignal);
50
- this.entrypoint.assertNotSuperseded();
51
- this.entrypoint.setTransformResult(result);
52
- const supersededWith = this.entrypoint.applyDeferredSupersede();
53
- if (supersededWith) {
54
- log('processing finished, deferred only detected; schedule next attempt');
55
- yield* this.getNext('processEntrypoint', supersededWith, undefined, null);
56
- return;
57
- }
58
- log('entrypoint processing finished');
59
- } catch (_) {
60
- _usingCtx.e = _;
61
- } finally {
62
- _usingCtx.d();
63
- }
64
- } catch (e) {
65
- if ((0, _AbortError.isAborted)(e) && this.entrypoint.supersededWith) {
66
- log('processing aborted, schedule the next attempt');
67
- yield* this.getNext('processEntrypoint', this.entrypoint.supersededWith, undefined, null);
68
- return;
69
- }
70
- log(`Unhandled error: %O`, e);
71
- throw e;
72
- } finally {
73
- this.entrypoint.endProcessing();
74
- }
75
- }
76
- //# sourceMappingURL=processEntrypoint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processEntrypoint.js","names":["_shaker","require","_AbortError","_barrelManifest","_usingCtx2","r","SuppressedError","e","n","Error","name","error","suppressed","using","Object","TypeError","o","Symbol","asyncDispose","for","dispose","t","call","Promise","reject","push","v","d","a","u","bind","s","next","pop","resolve","then","err","shouldSkipExplodeReexports","action","loadedAndParsed","only","entrypoint","length","evaluator","shaker","ast","barrelAnalysis","analyzeBarrelFile","kind","complete","processEntrypoint","log","beginProcessing","_usingCtx","abortSignal","createAbortSignal","undefined","result","getNext","assertNotSuperseded","setTransformResult","supersededWith","applyDeferredSupersede","_","isAborted","endProcessing"],"sources":["../../../src/transform/generators/processEntrypoint.ts"],"sourcesContent":["import { shaker } from '../../shaker';\nimport { isAborted } from '../actions/AbortError';\nimport { analyzeBarrelFile } from '../barrelManifest';\nimport type { IProcessEntrypointAction, SyncScenarioForAction } from '../types';\n\nconst shouldSkipExplodeReexports = (\n action: IProcessEntrypointAction\n): boolean => {\n const { loadedAndParsed, only } = action.entrypoint;\n if (only.length === 1 && only[0] === '__wywPreval') {\n return true;\n }\n\n if (loadedAndParsed.evaluator !== shaker || !loadedAndParsed.ast) {\n return false;\n }\n\n const barrelAnalysis = analyzeBarrelFile(loadedAndParsed.ast);\n return barrelAnalysis.kind === 'barrel' && barrelAnalysis.complete;\n};\n\n/**\n * The first stage of processing an entrypoint.\n * This stage is responsible for:\n * - scheduling the explodeReexports action\n * - scheduling the transform action\n * - rescheduling itself if the entrypoint is superseded\n */\nexport function* processEntrypoint(\n this: IProcessEntrypointAction\n): SyncScenarioForAction<IProcessEntrypointAction> {\n const { only, log } = this.entrypoint;\n log('start processing (only: %o)', only);\n\n this.entrypoint.beginProcessing();\n\n try {\n using abortSignal = this.createAbortSignal();\n\n if (shouldSkipExplodeReexports(this)) {\n log('skip explodeReexports for pure barrel');\n } else {\n yield ['explodeReexports', this.entrypoint, undefined, abortSignal];\n }\n const result = yield* this.getNext(\n 'transform',\n this.entrypoint,\n undefined,\n abortSignal\n );\n\n this.entrypoint.assertNotSuperseded();\n\n this.entrypoint.setTransformResult(result);\n\n const supersededWith = this.entrypoint.applyDeferredSupersede();\n if (supersededWith) {\n log('processing finished, deferred only detected; schedule next attempt');\n yield* this.getNext('processEntrypoint', supersededWith, undefined, null);\n return;\n }\n\n log('entrypoint processing finished');\n } catch (e) {\n if (isAborted(e) && this.entrypoint.supersededWith) {\n log('processing aborted, schedule the next attempt');\n yield* this.getNext(\n 'processEntrypoint',\n this.entrypoint.supersededWith,\n undefined,\n null\n );\n\n return;\n }\n\n log(`Unhandled error: %O`, e);\n throw e;\n } finally {\n this.entrypoint.endProcessing();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,82 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.processImports = processImports;
7
- var _importOverrides = require("../../utils/importOverrides");
8
- /* eslint-disable no-continue */
9
-
10
- const warnedSlowImportsByServices = new WeakMap();
11
- function emitWarning(services, message) {
12
- if (services.emitWarning) {
13
- services.emitWarning(message);
14
- return;
15
- }
16
-
17
- // eslint-disable-next-line no-console
18
- console.warn(message);
19
- }
20
- function getWarnedSlowImports(services) {
21
- const cached = warnedSlowImportsByServices.get(services);
22
- if (cached) return cached;
23
- const created = new Set();
24
- warnedSlowImportsByServices.set(services, created);
25
- return created;
26
- }
27
- function isWarningEnabled(value) {
28
- return Boolean(value) && value !== '0' && value !== 'false';
29
- }
30
-
31
- /**
32
- * Creates new entrypoints and emits processEntrypoint for each resolved import
33
- */
34
- function* processImports() {
35
- const slowImportWarningsEnabled = isWarningEnabled(process.env.WYW_WARN_SLOW_IMPORTS);
36
- const slowImportThresholdMs = (() => {
37
- const raw = process.env.WYW_WARN_SLOW_IMPORTS_MS;
38
- if (!raw) return 50;
39
- const parsed = Number(raw);
40
- if (!Number.isFinite(parsed)) return 50;
41
- return parsed;
42
- })();
43
- const warnedSlowImports = slowImportWarningsEnabled ? getWarnedSlowImports(this.services) : null;
44
- const {
45
- root
46
- } = this.services.options;
47
- for (const dependency of this.data.resolved) {
48
- const {
49
- resolved,
50
- only
51
- } = dependency;
52
- if (!resolved) {
53
- continue;
54
- }
55
- this.entrypoint.addDependency(dependency);
56
- const nextEntrypoint = this.entrypoint.createChild(resolved, only);
57
- if (nextEntrypoint === 'loop' || nextEntrypoint.ignored) {
58
- continue;
59
- }
60
- const startedAt = slowImportWarningsEnabled ? performance.now() : 0;
61
- yield* this.getNext('processEntrypoint', nextEntrypoint, undefined, null);
62
- if (slowImportWarningsEnabled && warnedSlowImports && slowImportThresholdMs > 0) {
63
- const durationMs = performance.now() - startedAt;
64
- if (durationMs >= slowImportThresholdMs) {
65
- const {
66
- key: importKey
67
- } = (0, _importOverrides.toImportKey)({
68
- source: dependency.source,
69
- resolved,
70
- root
71
- });
72
- const dedupeKey = `${this.entrypoint.name}::${importKey}`;
73
- if (!warnedSlowImports.has(dedupeKey)) {
74
- warnedSlowImports.add(dedupeKey);
75
- const warning = [`[wyw-in-js] Slow import during prepare stage`, ``, `file: ${this.entrypoint.name}`, `import: ${dependency.source}`, `resolved: ${resolved}`, `duration: ${durationMs.toFixed(1)}ms`, ``, `tip: if this import is runtime-only or heavy, mock it during evaluation via importOverrides:`, ` importOverrides: {`, ` '${importKey}': { mock: './path/to/mock' },`, ` }`, ``, `note: importOverrides affects only build-time evaluation (it does not change your bundler runtime behavior)`, ``, `note: configure threshold with WYW_WARN_SLOW_IMPORTS_MS (current: ${slowImportThresholdMs}ms)`].join('\n');
76
- emitWarning(this.services, warning);
77
- }
78
- }
79
- }
80
- }
81
- }
82
- //# sourceMappingURL=processImports.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processImports.js","names":["_importOverrides","require","warnedSlowImportsByServices","WeakMap","emitWarning","services","message","console","warn","getWarnedSlowImports","cached","get","created","Set","set","isWarningEnabled","value","Boolean","processImports","slowImportWarningsEnabled","process","env","WYW_WARN_SLOW_IMPORTS","slowImportThresholdMs","raw","WYW_WARN_SLOW_IMPORTS_MS","parsed","Number","isFinite","warnedSlowImports","root","options","dependency","data","resolved","only","entrypoint","addDependency","nextEntrypoint","createChild","ignored","startedAt","performance","now","getNext","undefined","durationMs","key","importKey","toImportKey","source","dedupeKey","name","has","add","warning","toFixed","join"],"sources":["../../../src/transform/generators/processImports.ts"],"sourcesContent":["/* eslint-disable no-continue */\nimport type {\n IProcessImportsAction,\n Services,\n SyncScenarioForAction,\n} from '../types';\n\nimport { toImportKey } from '../../utils/importOverrides';\n\nconst warnedSlowImportsByServices = new WeakMap<Services, Set<string>>();\n\nfunction emitWarning(services: Services, message: string) {\n if (services.emitWarning) {\n services.emitWarning(message);\n return;\n }\n\n // eslint-disable-next-line no-console\n console.warn(message);\n}\n\nfunction getWarnedSlowImports(services: Services): Set<string> {\n const cached = warnedSlowImportsByServices.get(services);\n if (cached) return cached;\n\n const created = new Set<string>();\n warnedSlowImportsByServices.set(services, created);\n return created;\n}\n\nfunction isWarningEnabled(value: string | undefined): boolean {\n return Boolean(value) && value !== '0' && value !== 'false';\n}\n\n/**\n * Creates new entrypoints and emits processEntrypoint for each resolved import\n */\nexport function* processImports(\n this: IProcessImportsAction\n): SyncScenarioForAction<IProcessImportsAction> {\n const slowImportWarningsEnabled = isWarningEnabled(\n process.env.WYW_WARN_SLOW_IMPORTS\n );\n const slowImportThresholdMs = (() => {\n const raw = process.env.WYW_WARN_SLOW_IMPORTS_MS;\n if (!raw) return 50;\n\n const parsed = Number(raw);\n if (!Number.isFinite(parsed)) return 50;\n return parsed;\n })();\n\n const warnedSlowImports = slowImportWarningsEnabled\n ? getWarnedSlowImports(this.services)\n : null;\n\n const { root } = this.services.options;\n\n for (const dependency of this.data.resolved) {\n const { resolved, only } = dependency;\n if (!resolved) {\n continue;\n }\n\n this.entrypoint.addDependency(dependency);\n\n const nextEntrypoint = this.entrypoint.createChild(resolved, only);\n if (nextEntrypoint === 'loop' || nextEntrypoint.ignored) {\n continue;\n }\n\n const startedAt = slowImportWarningsEnabled ? performance.now() : 0;\n yield* this.getNext('processEntrypoint', nextEntrypoint, undefined, null);\n\n if (\n slowImportWarningsEnabled &&\n warnedSlowImports &&\n slowImportThresholdMs > 0\n ) {\n const durationMs = performance.now() - startedAt;\n if (durationMs >= slowImportThresholdMs) {\n const { key: importKey } = toImportKey({\n source: dependency.source,\n resolved,\n root,\n });\n const dedupeKey = `${this.entrypoint.name}::${importKey}`;\n\n if (!warnedSlowImports.has(dedupeKey)) {\n warnedSlowImports.add(dedupeKey);\n\n const warning = [\n `[wyw-in-js] Slow import during prepare stage`,\n ``,\n `file: ${this.entrypoint.name}`,\n `import: ${dependency.source}`,\n `resolved: ${resolved}`,\n `duration: ${durationMs.toFixed(1)}ms`,\n ``,\n `tip: if this import is runtime-only or heavy, mock it during evaluation via importOverrides:`,\n ` importOverrides: {`,\n ` '${importKey}': { mock: './path/to/mock' },`,\n ` }`,\n ``,\n `note: importOverrides affects only build-time evaluation (it does not change your bundler runtime behavior)`,\n ``,\n `note: configure threshold with WYW_WARN_SLOW_IMPORTS_MS (current: ${slowImportThresholdMs}ms)`,\n ].join('\\n');\n\n emitWarning(this.services, warning);\n }\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,221 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.asyncResolveImports = asyncResolveImports;
7
- exports.syncResolveImports = syncResolveImports;
8
- var _getFileIdx = require("../../utils/getFileIdx");
9
- var _Entrypoint = require("../Entrypoint.helpers");
10
- var _importOverrides = require("../../utils/importOverrides");
11
- /* eslint-disable no-continue,no-await-in-loop,require-yield */
12
-
13
- function applyImportOverrides(services, entrypoint, resolvedImports) {
14
- const overrides = services.options.pluginOptions.importOverrides;
15
- if (!overrides || Object.keys(overrides).length === 0) {
16
- return resolvedImports;
17
- }
18
- const {
19
- root
20
- } = services.options;
21
- const importer = entrypoint.name;
22
- const stack = (0, _Entrypoint.getStack)(entrypoint);
23
- return resolvedImports.map(dependency => {
24
- const {
25
- key
26
- } = (0, _importOverrides.toImportKey)({
27
- source: dependency.source,
28
- resolved: dependency.resolved,
29
- root
30
- });
31
- const override = (0, _importOverrides.getImportOverride)(overrides, key);
32
- if (!override) {
33
- return dependency;
34
- }
35
- const nextOnly = (0, _importOverrides.applyImportOverrideToOnly)(dependency.only, override);
36
- const nextResolved = override.mock ? (0, _importOverrides.resolveMockSpecifier)({
37
- mock: override.mock,
38
- importer,
39
- root,
40
- stack
41
- }) : dependency.resolved;
42
- return {
43
- ...dependency,
44
- only: nextOnly,
45
- resolved: nextResolved
46
- };
47
- });
48
- }
49
- function emitDependency(emitter, entrypoint, imports, phase) {
50
- emitter.single({
51
- type: 'dependency',
52
- file: entrypoint.name,
53
- only: entrypoint.only,
54
- phase,
55
- imports: imports.map(({
56
- resolved,
57
- only
58
- }) => ({
59
- from: resolved,
60
- what: only
61
- })),
62
- fileIdx: (0, _getFileIdx.getFileIdx)(entrypoint.name)
63
- });
64
- }
65
- function filterUnresolved(entrypoint, resolvedImports) {
66
- return resolvedImports.filter(i => {
67
- if (i.resolved === null) {
68
- entrypoint.log(`[resolve] ✅ %s in %s is ignored`, i.source, entrypoint.name);
69
- return false;
70
- }
71
- return true;
72
- });
73
- }
74
- function getPreResolvedImports(preResolved) {
75
- return new Map((preResolved !== null && preResolved !== void 0 ? preResolved : []).map(dependency => [dependency.source, dependency]));
76
- }
77
-
78
- /**
79
- * Synchronously resolves specified imports with a provided resolver.
80
- */
81
- function* syncResolveImports(resolve) {
82
- var _imports$entries;
83
- const {
84
- data: {
85
- imports
86
- },
87
- entrypoint,
88
- services: {
89
- eventEmitter
90
- }
91
- } = this;
92
- const listOfImports = Array.from((_imports$entries = imports === null || imports === void 0 ? void 0 : imports.entries()) !== null && _imports$entries !== void 0 ? _imports$entries : []);
93
- const preResolvedImports = getPreResolvedImports(this.data.preResolved);
94
- const {
95
- log
96
- } = entrypoint;
97
- if (listOfImports.length === 0) {
98
- emitDependency(eventEmitter, entrypoint, [], this.data.phase);
99
- log('%s has no imports', entrypoint.name);
100
- return [];
101
- }
102
- const resolvedImports = listOfImports.map(([source, only]) => {
103
- const preResolved = preResolvedImports.get(source);
104
- if (preResolved) {
105
- const mergedOnly = (0, _Entrypoint.mergeOnly)(preResolved.only, only);
106
- log('[sync-resolve] ♻️ %s -> %s (only: %o)', source, preResolved.resolved, mergedOnly);
107
- return {
108
- ...preResolved,
109
- only: mergedOnly
110
- };
111
- }
112
- let resolved = null;
113
- try {
114
- resolved = resolve(source, entrypoint.name, (0, _Entrypoint.getStack)(entrypoint));
115
- log('[sync-resolve] ✅ %s -> %s (only: %o)', source, resolved, only);
116
- } catch (err) {
117
- log('[sync-resolve] ❌ cannot resolve %s: %O', source, err);
118
- }
119
- return {
120
- source,
121
- only,
122
- resolved
123
- };
124
- });
125
- const overriddenImports = applyImportOverrides(this.services, entrypoint, resolvedImports);
126
- const filteredImports = filterUnresolved(entrypoint, overriddenImports);
127
- emitDependency(eventEmitter, entrypoint, filteredImports, this.data.phase);
128
- return filteredImports;
129
- }
130
-
131
- /**
132
- * Asynchronously resolves specified imports with a provided resolver.
133
- */
134
- async function* asyncResolveImports(resolve) {
135
- var _imports$entries2;
136
- const {
137
- data: {
138
- imports
139
- },
140
- entrypoint,
141
- services: {
142
- eventEmitter
143
- }
144
- } = this;
145
- const listOfImports = Array.from((_imports$entries2 = imports === null || imports === void 0 ? void 0 : imports.entries()) !== null && _imports$entries2 !== void 0 ? _imports$entries2 : []);
146
- const preResolvedImports = getPreResolvedImports(this.data.preResolved);
147
- const {
148
- log
149
- } = entrypoint;
150
- if (listOfImports.length === 0) {
151
- emitDependency(eventEmitter, entrypoint, [], this.data.phase);
152
- log('%s has no imports', entrypoint.name);
153
- return [];
154
- }
155
- log('resolving %d imports', listOfImports.length);
156
- const getResolveTask = async (source, only) => {
157
- let resolved = null;
158
- try {
159
- resolved = await resolve(source, entrypoint.name, (0, _Entrypoint.getStack)(entrypoint));
160
- } catch (err) {
161
- log('[async-resolve] ❌ cannot resolve %s in %s: %O', source, entrypoint.name, err);
162
- }
163
- if (resolved !== null) {
164
- log('[async-resolve] ✅ %s (%o) in %s -> %s', source, only, entrypoint.name, resolved);
165
- }
166
- return {
167
- source,
168
- only,
169
- resolved
170
- };
171
- };
172
- const resolvedImports = await Promise.all(listOfImports.map(([source, importsOnly]) => {
173
- const preResolved = preResolvedImports.get(source);
174
- if (preResolved) {
175
- const mergedOnly = (0, _Entrypoint.mergeOnly)(preResolved.only, importsOnly);
176
- log('[async-resolve] ♻️ %s (%o) in %s -> %s', source, mergedOnly, entrypoint.name, preResolved.resolved);
177
- return {
178
- ...preResolved,
179
- only: mergedOnly
180
- };
181
- }
182
- const cached = entrypoint.getDependency(source);
183
- if (cached) {
184
- return {
185
- source,
186
- only: (0, _Entrypoint.mergeOnly)(cached.only, importsOnly),
187
- resolved: cached.resolved
188
- };
189
- }
190
- const task = entrypoint.getResolveTask(source);
191
- if (task) {
192
- // If we have cached task, we need to merge only…
193
- const newTask = task.then(res => {
194
- if ((0, _Entrypoint.isSuperSet)(res.only, importsOnly)) {
195
- return res;
196
- }
197
-
198
- // Is this branch even possible?
199
- const merged = (0, _Entrypoint.mergeOnly)(res.only, importsOnly);
200
- log('merging imports %o and %o: %o', importsOnly, res.only, merged);
201
- return {
202
- ...res,
203
- only: merged
204
- };
205
- });
206
-
207
- // … and update the cache
208
- entrypoint.addResolveTask(source, newTask);
209
- return newTask;
210
- }
211
- const resolveTask = getResolveTask(source, importsOnly);
212
- entrypoint.addResolveTask(source, resolveTask);
213
- return resolveTask;
214
- }));
215
- log('resolved %d imports', resolvedImports.length);
216
- const overriddenImports = applyImportOverrides(this.services, entrypoint, resolvedImports);
217
- const filteredImports = filterUnresolved(entrypoint, overriddenImports);
218
- emitDependency(eventEmitter, entrypoint, filteredImports, this.data.phase);
219
- return filteredImports;
220
- }
221
- //# sourceMappingURL=resolveImports.js.map