vite-plugin-react-server 1.1.19 → 1.2.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 (783) hide show
  1. package/README.md +102 -395
  2. package/dist/_virtual/dynamic-import-helper.js +1 -1
  3. package/dist/client.d.ts +1 -1
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +5 -2
  6. package/dist/index.js +1 -1
  7. package/dist/package.json +58 -25
  8. package/dist/plugin/components/{css-collector-elements.d.ts → css.d.ts} +2 -2
  9. package/dist/plugin/components/css.d.ts.map +1 -0
  10. package/dist/plugin/components/css.js +33 -0
  11. package/dist/plugin/components/html.d.ts +1 -1
  12. package/dist/plugin/components/html.d.ts.map +1 -1
  13. package/dist/plugin/components/html.js +5 -5
  14. package/dist/plugin/components/index.d.ts +3 -3
  15. package/dist/plugin/components/index.d.ts.map +1 -1
  16. package/dist/plugin/components/index.js +9 -3
  17. package/dist/plugin/components/root.d.ts +7 -0
  18. package/dist/plugin/components/root.d.ts.map +1 -0
  19. package/dist/plugin/components/root.js +18 -0
  20. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js +1 -1
  21. package/dist/plugin/config/autoDiscover/customWorkerFiles.js +1 -1
  22. package/dist/plugin/config/autoDiscover/pageAndPropFiles.js +1 -1
  23. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts +5 -4
  24. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
  25. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +26 -7
  26. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts +25 -2
  27. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts.map +1 -1
  28. package/dist/plugin/config/autoDiscover/resolveBuildPages.js +84 -5
  29. package/dist/plugin/config/createModuleID.d.ts +3 -6
  30. package/dist/plugin/config/createModuleID.d.ts.map +1 -1
  31. package/dist/plugin/config/createModuleID.js +42 -32
  32. package/dist/plugin/config/defaults.d.ts +199 -121
  33. package/dist/plugin/config/defaults.d.ts.map +1 -1
  34. package/dist/plugin/config/defaults.js +155 -89
  35. package/dist/plugin/config/extMap.d.ts +6 -2
  36. package/dist/plugin/config/extMap.d.ts.map +1 -1
  37. package/dist/plugin/config/extMap.js +38 -48
  38. package/dist/plugin/config/flightBindings.d.ts +4 -0
  39. package/dist/plugin/config/flightBindings.d.ts.map +1 -0
  40. package/dist/plugin/config/flightBindings.js +215 -0
  41. package/dist/plugin/config/getCondition.d.ts +2 -0
  42. package/dist/plugin/config/getCondition.d.ts.map +1 -1
  43. package/dist/plugin/config/getCondition.js +4 -2
  44. package/dist/plugin/config/getPaths.js +1 -1
  45. package/dist/plugin/config/index.d.ts +17 -4
  46. package/dist/plugin/config/index.d.ts.map +1 -1
  47. package/dist/plugin/config/index.js +29 -7
  48. package/dist/plugin/config/interpolatePattern.d.ts +13 -0
  49. package/dist/plugin/config/interpolatePattern.d.ts.map +1 -0
  50. package/dist/plugin/config/interpolatePattern.js +13 -0
  51. package/dist/plugin/config/mimeTypes.js +1 -1
  52. package/dist/plugin/config/parsePattern.d.ts +25 -0
  53. package/dist/plugin/config/parsePattern.d.ts.map +1 -0
  54. package/dist/plugin/config/parsePattern.js +30 -0
  55. package/dist/plugin/config/resolveAllowedDirectives.d.ts +26 -0
  56. package/dist/plugin/config/resolveAllowedDirectives.d.ts.map +1 -0
  57. package/dist/plugin/config/resolveAllowedDirectives.js +35 -0
  58. package/dist/plugin/config/resolveDirectiveMatcher.d.ts +25 -0
  59. package/dist/plugin/config/resolveDirectiveMatcher.d.ts.map +1 -0
  60. package/dist/plugin/config/resolveDirectiveMatcher.js +33 -0
  61. package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
  62. package/dist/plugin/config/resolveEnv.js +14 -4
  63. package/dist/plugin/config/resolveOptions.d.ts +13 -3
  64. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  65. package/dist/plugin/config/resolveOptions.js +228 -206
  66. package/dist/plugin/config/resolvePages.js +1 -1
  67. package/dist/plugin/config/resolvePatternWithValues.d.ts +39 -0
  68. package/dist/plugin/config/resolvePatternWithValues.d.ts.map +1 -0
  69. package/dist/plugin/config/resolvePatternWithValues.js +36 -0
  70. package/dist/plugin/config/resolveRegExp.d.ts +29 -0
  71. package/dist/plugin/config/resolveRegExp.d.ts.map +1 -0
  72. package/dist/plugin/config/resolveRegExp.js +39 -0
  73. package/dist/plugin/config/resolveUrlOption.d.ts +37 -6
  74. package/dist/plugin/config/resolveUrlOption.d.ts.map +1 -1
  75. package/dist/plugin/config/resolveUrlOption.js +42 -12
  76. package/dist/plugin/config/resolveUserConfig.d.ts +5 -4
  77. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  78. package/dist/plugin/config/resolveUserConfig.js +86 -40
  79. package/dist/plugin/env/plugin.d.ts +6 -0
  80. package/dist/plugin/env/plugin.d.ts.map +1 -1
  81. package/dist/plugin/env/plugin.js +111 -93
  82. package/dist/plugin/error/directiveError.d.ts +13 -0
  83. package/dist/plugin/error/directiveError.d.ts.map +1 -0
  84. package/dist/plugin/error/directiveError.js +21 -0
  85. package/dist/plugin/error/enhanceError.d.ts +14 -0
  86. package/dist/plugin/error/enhanceError.d.ts.map +1 -0
  87. package/dist/plugin/error/enhanceError.js +24 -0
  88. package/dist/plugin/error/index.d.ts +4 -0
  89. package/dist/plugin/error/index.d.ts.map +1 -0
  90. package/dist/plugin/error/index.js +9 -0
  91. package/dist/plugin/error/logError.d.ts +3 -0
  92. package/dist/plugin/error/logError.d.ts.map +1 -0
  93. package/dist/plugin/error/logError.js +47 -0
  94. package/dist/plugin/error/serializeError.d.ts +7 -0
  95. package/dist/plugin/error/serializeError.d.ts.map +1 -0
  96. package/dist/plugin/error/serializeError.js +37 -0
  97. package/dist/plugin/error/toError.d.ts +1 -8
  98. package/dist/plugin/error/toError.d.ts.map +1 -1
  99. package/dist/plugin/error/toError.js +62 -34
  100. package/dist/plugin/file-preserver/plugin.js +93 -105
  101. package/dist/plugin/getNodeEnv.d.ts +11 -0
  102. package/dist/plugin/getNodeEnv.d.ts.map +1 -0
  103. package/dist/plugin/getNodeEnv.js +17 -0
  104. package/dist/plugin/helpers/cleanObject.d.ts.map +1 -1
  105. package/dist/plugin/helpers/cleanObject.js +2 -1
  106. package/dist/plugin/helpers/collectManifestCss.js +1 -1
  107. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +6 -4
  108. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
  109. package/dist/plugin/helpers/collectViteModuleGraphCss.js +15 -9
  110. package/dist/plugin/helpers/createCssProps.d.ts +3 -4
  111. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
  112. package/dist/plugin/helpers/createCssProps.js +16 -4
  113. package/dist/plugin/helpers/createEventHandler.d.ts +2 -2
  114. package/dist/plugin/helpers/createEventHandler.d.ts.map +1 -1
  115. package/dist/plugin/helpers/createEventHandler.js +1 -1
  116. package/dist/plugin/helpers/createHandler.d.ts +10 -8
  117. package/dist/plugin/helpers/createHandler.d.ts.map +1 -1
  118. package/dist/plugin/helpers/createHandler.js +11 -5
  119. package/dist/plugin/helpers/createRscStream.d.ts +18 -5
  120. package/dist/plugin/helpers/createRscStream.d.ts.map +1 -1
  121. package/dist/plugin/helpers/createRscStream.js +48 -14
  122. package/dist/plugin/helpers/formatMetrics.d.ts +1 -5
  123. package/dist/plugin/helpers/formatMetrics.d.ts.map +1 -1
  124. package/dist/plugin/helpers/formatMetrics.js +2 -39
  125. package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
  126. package/dist/plugin/helpers/getBundleManifest.js +9 -2
  127. package/dist/plugin/helpers/getRouteFiles.d.ts +30 -2
  128. package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
  129. package/dist/plugin/helpers/getRouteFiles.js +70 -7
  130. package/dist/plugin/helpers/handleServerAction.d.ts +8 -7
  131. package/dist/plugin/helpers/handleServerAction.d.ts.map +1 -1
  132. package/dist/plugin/helpers/handleServerAction.js +5 -2
  133. package/dist/plugin/helpers/hydrateUserOptions.d.ts +9 -0
  134. package/dist/plugin/helpers/hydrateUserOptions.d.ts.map +1 -0
  135. package/dist/plugin/helpers/hydrateUserOptions.js +22 -0
  136. package/dist/plugin/helpers/index.d.ts +2 -0
  137. package/dist/plugin/helpers/index.d.ts.map +1 -1
  138. package/dist/plugin/helpers/index.js +31 -31
  139. package/dist/plugin/helpers/inputNormalizer.d.ts +1 -1
  140. package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
  141. package/dist/plugin/helpers/inputNormalizer.js +33 -20
  142. package/dist/plugin/helpers/metrics.d.ts +4 -10
  143. package/dist/plugin/helpers/metrics.d.ts.map +1 -1
  144. package/dist/plugin/helpers/metrics.js +3 -59
  145. package/dist/plugin/helpers/moduleRefs.js +1 -1
  146. package/dist/plugin/helpers/moduleResolver.d.ts +24 -2
  147. package/dist/plugin/helpers/moduleResolver.d.ts.map +1 -1
  148. package/dist/plugin/helpers/moduleResolver.js +61 -22
  149. package/dist/plugin/helpers/requestInfo.d.ts +28 -1
  150. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  151. package/dist/plugin/helpers/requestInfo.js +43 -30
  152. package/dist/plugin/helpers/requestToRoute.d.ts +1 -1
  153. package/dist/plugin/helpers/requestToRoute.d.ts.map +1 -1
  154. package/dist/plugin/helpers/requestToRoute.js +17 -9
  155. package/dist/plugin/helpers/resolveComponent.d.ts +57 -0
  156. package/dist/plugin/helpers/resolveComponent.d.ts.map +1 -0
  157. package/dist/plugin/helpers/resolveComponent.js +71 -0
  158. package/dist/plugin/helpers/resolveComponents.d.ts +27 -0
  159. package/dist/plugin/helpers/resolveComponents.d.ts.map +1 -0
  160. package/dist/plugin/helpers/resolveComponents.js +137 -0
  161. package/dist/plugin/helpers/resolvePage.d.ts +15 -11
  162. package/dist/plugin/helpers/resolvePage.d.ts.map +1 -1
  163. package/dist/plugin/helpers/resolvePage.js +11 -7
  164. package/dist/plugin/helpers/resolvePageAndProps.d.ts +3 -10
  165. package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
  166. package/dist/plugin/helpers/resolvePageAndProps.js +28 -18
  167. package/dist/plugin/helpers/resolveProps.d.ts +13 -7
  168. package/dist/plugin/helpers/resolveProps.d.ts.map +1 -1
  169. package/dist/plugin/helpers/resolveProps.js +55 -25
  170. package/dist/plugin/helpers/resolveUserComponents.d.ts +33 -0
  171. package/dist/plugin/helpers/resolveUserComponents.d.ts.map +1 -0
  172. package/dist/plugin/helpers/resolveUserComponents.js +163 -0
  173. package/dist/plugin/helpers/serializeUserOptions.d.ts +7 -7
  174. package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
  175. package/dist/plugin/helpers/serializeUserOptions.js +127 -42
  176. package/dist/plugin/helpers/stashReturnValue.d.ts +2 -1
  177. package/dist/plugin/helpers/stashReturnValue.d.ts.map +1 -1
  178. package/dist/plugin/helpers/stashReturnValue.js +6 -3
  179. package/dist/plugin/helpers/tryManifest.d.ts +1 -2
  180. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
  181. package/dist/plugin/helpers/tryManifest.js +1 -1
  182. package/dist/plugin/loader/createDefaultLoader.d.ts +19 -8
  183. package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -1
  184. package/dist/plugin/loader/createDefaultLoader.js +69 -107
  185. package/dist/plugin/loader/createTransformer.d.ts +6 -0
  186. package/dist/plugin/loader/createTransformer.d.ts.map +1 -0
  187. package/dist/plugin/loader/createTransformer.js +97 -0
  188. package/dist/plugin/loader/{css-loader.development.d.ts → css-loader.d.ts} +6 -8
  189. package/dist/plugin/loader/css-loader.d.ts.map +1 -0
  190. package/dist/plugin/loader/css-loader.js +134 -0
  191. package/dist/plugin/loader/directives/addLocalExportedNames.d.ts +4 -0
  192. package/dist/plugin/loader/directives/addLocalExportedNames.d.ts.map +1 -0
  193. package/dist/plugin/loader/directives/addLocalExportedNames.js +57 -0
  194. package/dist/plugin/loader/directives/analyzeDirectives.d.ts +9 -0
  195. package/dist/plugin/loader/directives/analyzeDirectives.d.ts.map +1 -0
  196. package/dist/plugin/loader/directives/analyzeDirectives.js +221 -0
  197. package/dist/plugin/loader/directives/analyzeModule.d.ts +11 -0
  198. package/dist/plugin/loader/directives/analyzeModule.d.ts.map +1 -0
  199. package/dist/plugin/loader/directives/analyzeModule.js +34 -0
  200. package/dist/plugin/loader/directives/collectExports.d.ts +13 -0
  201. package/dist/plugin/loader/directives/collectExports.d.ts.map +1 -0
  202. package/dist/plugin/loader/directives/collectExports.js +116 -0
  203. package/dist/plugin/loader/directives/collectExportsFromModule.d.ts +6 -0
  204. package/dist/plugin/loader/directives/collectExportsFromModule.d.ts.map +1 -0
  205. package/dist/plugin/loader/directives/collectExportsFromModule.js +24 -0
  206. package/dist/plugin/loader/directives/findDirectiveMatches.d.ts +3 -0
  207. package/dist/plugin/loader/directives/findDirectiveMatches.d.ts.map +1 -0
  208. package/dist/plugin/loader/directives/findDirectiveMatches.js +46 -0
  209. package/dist/plugin/loader/directives/getExportedName.d.ts +3 -0
  210. package/dist/plugin/loader/directives/getExportedName.d.ts.map +1 -0
  211. package/dist/plugin/loader/directives/getExportedName.js +59 -0
  212. package/dist/plugin/loader/directives/getExports.d.ts +7 -0
  213. package/dist/plugin/loader/directives/getExports.d.ts.map +1 -0
  214. package/dist/plugin/loader/directives/getExports.js +28 -0
  215. package/dist/plugin/loader/directives/getFunctionBody.d.ts +3 -0
  216. package/dist/plugin/loader/directives/getFunctionBody.d.ts.map +1 -0
  217. package/dist/plugin/loader/directives/getFunctionBody.js +31 -0
  218. package/dist/plugin/loader/directives/getFunctionName.d.ts +10 -0
  219. package/dist/plugin/loader/directives/getFunctionName.d.ts.map +1 -0
  220. package/dist/plugin/loader/directives/getFunctionName.js +42 -0
  221. package/dist/plugin/loader/directives/getQualifiedName.d.ts +3 -0
  222. package/dist/plugin/loader/directives/getQualifiedName.d.ts.map +1 -0
  223. package/dist/plugin/loader/directives/getQualifiedName.js +65 -0
  224. package/dist/plugin/loader/directives/index.d.ts +14 -0
  225. package/dist/plugin/loader/directives/index.d.ts.map +1 -0
  226. package/dist/plugin/loader/directives/index.js +18 -0
  227. package/dist/plugin/loader/directives/processFunctionNode.d.ts +4 -0
  228. package/dist/plugin/loader/directives/processFunctionNode.d.ts.map +1 -0
  229. package/dist/plugin/loader/directives/processFunctionNode.js +86 -0
  230. package/dist/plugin/loader/directives/typeGuards.d.ts +37 -0
  231. package/dist/plugin/loader/directives/typeGuards.d.ts.map +1 -0
  232. package/dist/plugin/loader/directives/typeGuards.js +100 -0
  233. package/dist/plugin/loader/directives/types.d.ts +154 -0
  234. package/dist/plugin/loader/directives/types.d.ts.map +1 -0
  235. package/dist/plugin/loader/directives/utils.d.ts +14 -0
  236. package/dist/plugin/loader/directives/utils.d.ts.map +1 -0
  237. package/dist/plugin/loader/directives/utils.js +21 -0
  238. package/dist/plugin/loader/env-loader.d.ts +11 -0
  239. package/dist/plugin/loader/env-loader.d.ts.map +1 -0
  240. package/dist/plugin/loader/env-loader.js +65 -0
  241. package/dist/plugin/loader/index.d.ts +8 -1
  242. package/dist/plugin/loader/index.d.ts.map +1 -1
  243. package/dist/plugin/loader/index.js +13 -4
  244. package/dist/plugin/loader/parse.d.ts +11 -2
  245. package/dist/plugin/loader/parse.d.ts.map +1 -1
  246. package/dist/plugin/loader/parse.js +29 -6
  247. package/dist/plugin/loader/react-loader.d.ts +22 -1
  248. package/dist/plugin/loader/react-loader.d.ts.map +1 -1
  249. package/dist/plugin/loader/react-loader.js +169 -6
  250. package/dist/plugin/loader/removeDirectives.d.ts +5 -0
  251. package/dist/plugin/loader/removeDirectives.d.ts.map +1 -0
  252. package/dist/plugin/loader/removeDirectives.js +17 -0
  253. package/dist/plugin/loader/removeRanges.d.ts +5 -0
  254. package/dist/plugin/loader/removeRanges.d.ts.map +1 -0
  255. package/dist/plugin/loader/removeRanges.js +20 -0
  256. package/dist/plugin/loader/sourceMap.d.ts +16 -24
  257. package/dist/plugin/loader/sourceMap.d.ts.map +1 -1
  258. package/dist/plugin/loader/sourceMap.js +125 -97
  259. package/dist/plugin/loader/transformClientModule.d.ts +10 -0
  260. package/dist/plugin/loader/transformClientModule.d.ts.map +1 -0
  261. package/dist/plugin/loader/transformClientModule.js +46 -0
  262. package/dist/plugin/loader/transformModule.d.ts +6 -0
  263. package/dist/plugin/loader/transformModule.d.ts.map +1 -0
  264. package/dist/plugin/loader/transformModule.js +33 -0
  265. package/dist/plugin/loader/transformModuleIfNeeded.d.ts +12 -1
  266. package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -1
  267. package/dist/plugin/loader/transformModuleIfNeeded.js +9 -20
  268. package/dist/plugin/loader/transformServerModule.d.ts +11 -0
  269. package/dist/plugin/loader/transformServerModule.d.ts.map +1 -0
  270. package/dist/plugin/loader/transformServerModule.js +84 -0
  271. package/dist/plugin/loader/transformWithAcornLoose.d.ts +12 -0
  272. package/dist/plugin/loader/transformWithAcornLoose.d.ts.map +1 -0
  273. package/dist/plugin/loader/transformWithAcornLoose.js +18 -0
  274. package/dist/plugin/loader/types.d.ts +59 -12
  275. package/dist/plugin/loader/types.d.ts.map +1 -1
  276. package/dist/plugin/metrics/collectStreamMetrics.d.ts +9 -0
  277. package/dist/plugin/metrics/collectStreamMetrics.d.ts.map +1 -0
  278. package/dist/plugin/metrics/collectStreamMetrics.js +35 -0
  279. package/dist/plugin/metrics/createRenderMetrics.d.ts +3 -0
  280. package/dist/plugin/metrics/createRenderMetrics.d.ts.map +1 -0
  281. package/dist/plugin/metrics/createRenderMetrics.js +24 -0
  282. package/dist/plugin/metrics/createStreamMetrics.d.ts +3 -0
  283. package/dist/plugin/metrics/createStreamMetrics.d.ts.map +1 -0
  284. package/dist/plugin/metrics/createStreamMetrics.js +19 -0
  285. package/dist/plugin/metrics/formatMetrics.d.ts +6 -3
  286. package/dist/plugin/metrics/formatMetrics.d.ts.map +1 -1
  287. package/dist/plugin/metrics/formatMetrics.js +5 -2
  288. package/dist/plugin/metrics/index.d.ts +3 -1
  289. package/dist/plugin/metrics/index.d.ts.map +1 -1
  290. package/dist/plugin/metrics/index.js +9 -1
  291. package/dist/plugin/metrics/types.d.ts +23 -0
  292. package/dist/plugin/metrics/types.d.ts.map +1 -0
  293. package/dist/plugin/metrics/types.js +1 -0
  294. package/dist/plugin/plugin.client.d.ts +23 -2
  295. package/dist/plugin/plugin.client.d.ts.map +1 -1
  296. package/dist/plugin/plugin.client.js +30 -17
  297. package/dist/plugin/plugin.server.d.ts +13 -2
  298. package/dist/plugin/plugin.server.d.ts.map +1 -1
  299. package/dist/plugin/plugin.server.js +7 -4
  300. package/dist/plugin/preserver/plugin.d.ts +2 -2
  301. package/dist/plugin/preserver/plugin.d.ts.map +1 -1
  302. package/dist/plugin/preserver/plugin.js +33 -29
  303. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts +11 -0
  304. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts.map +1 -0
  305. package/dist/plugin/react-client/cleanupWorkerServerAction.js +18 -0
  306. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts +9 -9
  307. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +1 -1
  308. package/dist/plugin/react-client/configureWorkerRequestHandler.js +25 -14
  309. package/dist/plugin/react-client/createMessageHandlers.d.ts +1 -1
  310. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  311. package/dist/plugin/react-client/createMessageHandlers.js +15 -3
  312. package/dist/plugin/react-client/createWorkerStream.d.ts +12 -10
  313. package/dist/plugin/react-client/createWorkerStream.d.ts.map +1 -1
  314. package/dist/plugin/react-client/createWorkerStream.js +27 -29
  315. package/dist/plugin/react-client/handleWorkerRscStream.d.ts +13 -8
  316. package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +1 -1
  317. package/dist/plugin/react-client/handleWorkerRscStream.js +59 -24
  318. package/dist/plugin/react-client/handleWorkerServerAction.d.ts +2 -1
  319. package/dist/plugin/react-client/handleWorkerServerAction.d.ts.map +1 -1
  320. package/dist/plugin/react-client/handleWorkerServerAction.js +43 -28
  321. package/dist/plugin/react-client/index.d.ts +4 -1
  322. package/dist/plugin/react-client/index.d.ts.map +1 -1
  323. package/dist/plugin/react-client/index.js +10 -1
  324. package/dist/plugin/react-client/plugin.d.ts +5 -3
  325. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  326. package/dist/plugin/react-client/plugin.js +9 -11
  327. package/dist/plugin/react-client/restartWorker.d.ts +5 -4
  328. package/dist/plugin/react-client/restartWorker.d.ts.map +1 -1
  329. package/dist/plugin/react-client/restartWorker.js +12 -10
  330. package/dist/plugin/react-server/configureReactServer.d.ts +5 -4
  331. package/dist/plugin/react-server/configureReactServer.d.ts.map +1 -1
  332. package/dist/plugin/react-server/configureReactServer.js +98 -43
  333. package/dist/plugin/react-server/handleServerAction.d.ts +3 -2
  334. package/dist/plugin/react-server/handleServerAction.d.ts.map +1 -1
  335. package/dist/plugin/react-server/handleServerAction.js +14 -20
  336. package/dist/plugin/react-server/plugin.d.ts +3 -4
  337. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  338. package/dist/plugin/react-server/plugin.js +14 -17
  339. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +8 -6
  340. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +1 -1
  341. package/dist/plugin/react-static/collectHtmlWorkerContent.js +4 -4
  342. package/dist/plugin/react-static/collectRscContent.d.ts +8 -6
  343. package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
  344. package/dist/plugin/react-static/collectRscContent.js +4 -4
  345. package/dist/plugin/react-static/configurePreviewServer.d.ts +6 -4
  346. package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
  347. package/dist/plugin/react-static/configurePreviewServer.js +38 -31
  348. package/dist/plugin/react-static/createBuildLoader.d.ts +5 -5
  349. package/dist/plugin/react-static/createBuildLoader.d.ts.map +1 -1
  350. package/dist/plugin/react-static/createBuildLoader.js +122 -30
  351. package/dist/plugin/react-static/fileWriter.js +1 -1
  352. package/dist/plugin/react-static/plugin.d.ts +3 -4
  353. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  354. package/dist/plugin/react-static/plugin.js +62 -47
  355. package/dist/plugin/react-static/renderPage.d.ts +4 -2
  356. package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
  357. package/dist/plugin/react-static/renderPage.js +33 -17
  358. package/dist/plugin/react-static/renderPages.d.ts +4 -2
  359. package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
  360. package/dist/plugin/react-static/renderPages.js +7 -6
  361. package/dist/plugin/react-static/renderStreams.d.ts +5 -22
  362. package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
  363. package/dist/plugin/react-static/renderStreams.js +6 -6
  364. package/dist/plugin/react-static/rscToHtmlStream.d.ts.map +1 -1
  365. package/dist/plugin/react-static/rscToHtmlStream.js +1 -1
  366. package/dist/plugin/react-static/temporaryReferences.js +1 -1
  367. package/dist/plugin/react-static/types.d.ts +0 -1
  368. package/dist/plugin/react-static/types.d.ts.map +1 -1
  369. package/dist/plugin/root.js +1 -1
  370. package/dist/plugin/transformer/plugin.js +1 -1
  371. package/dist/plugin/transformer/plugin.server.d.ts +5 -3
  372. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
  373. package/dist/plugin/transformer/plugin.server.js +43 -44
  374. package/dist/plugin/types/css-tracking.d.ts +2 -2
  375. package/dist/plugin/types/css-tracking.d.ts.map +1 -1
  376. package/dist/plugin/types.d.ts +452 -192
  377. package/dist/plugin/types.d.ts.map +1 -1
  378. package/dist/plugin/types.js +2 -1
  379. package/dist/plugin/utils/callServer.js +1 -1
  380. package/dist/plugin/utils/createCallServer.d.ts +1 -1
  381. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  382. package/dist/plugin/utils/createCallServer.js +1 -1
  383. package/dist/plugin/utils/createReactFetcher.d.ts +2 -3
  384. package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -1
  385. package/dist/plugin/utils/createReactFetcher.js +1 -1
  386. package/dist/plugin/utils/env.js +1 -1
  387. package/dist/plugin/utils/envUrls.node.js +1 -1
  388. package/dist/plugin/utils/index.d.ts +1 -0
  389. package/dist/plugin/utils/index.d.ts.map +1 -1
  390. package/dist/plugin/utils/index.js +12 -5
  391. package/dist/plugin/utils/routeToURL.d.ts +12 -0
  392. package/dist/plugin/utils/routeToURL.d.ts.map +1 -0
  393. package/dist/plugin/utils/routeToURL.js +26 -0
  394. package/dist/plugin/utils/urls.d.ts.map +1 -1
  395. package/dist/plugin/utils/urls.js +5 -3
  396. package/dist/plugin/vendor/index.js +7 -1
  397. package/dist/plugin/vendor/vendor.client.js +1 -1
  398. package/dist/plugin/vendor/vendor.js +1 -1
  399. package/dist/plugin/vendor/vendor.server.js +1 -1
  400. package/dist/plugin/worker/createWorker.d.ts +31 -17
  401. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  402. package/dist/plugin/worker/createWorker.js +18 -12
  403. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts +2 -2
  404. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +1 -1
  405. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +5 -2
  406. package/dist/plugin/worker/html/html-worker.development.js +3 -3
  407. package/dist/plugin/worker/html/html-worker.production.js +1 -1
  408. package/dist/plugin/worker/html/index.d.ts +1 -1
  409. package/dist/plugin/worker/html/index.d.ts.map +1 -1
  410. package/dist/plugin/worker/html/index.js +1 -1
  411. package/dist/plugin/worker/html/messageHandler.d.ts +1 -1
  412. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  413. package/dist/plugin/worker/html/messageHandler.js +9 -11
  414. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts +3 -0
  415. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts.map +1 -0
  416. package/dist/plugin/worker/html/sendHtmlWorkerMessage.js +2 -0
  417. package/dist/plugin/worker/html/types.d.ts +20 -2
  418. package/dist/plugin/worker/html/types.d.ts.map +1 -1
  419. package/dist/plugin/worker/index.d.ts +3 -0
  420. package/dist/plugin/worker/index.d.ts.map +1 -0
  421. package/dist/plugin/worker/index.js +7 -0
  422. package/dist/plugin/worker/registerLoaders.js +2 -2
  423. package/dist/plugin/worker/rsc/handleRender.d.ts +4 -3
  424. package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -1
  425. package/dist/plugin/worker/rsc/handleRender.js +54 -32
  426. package/dist/plugin/worker/rsc/handlers.d.ts.map +1 -1
  427. package/dist/plugin/worker/rsc/handlers.js +19 -15
  428. package/dist/plugin/worker/rsc/index.d.ts +1 -1
  429. package/dist/plugin/worker/rsc/index.d.ts.map +1 -1
  430. package/dist/plugin/worker/rsc/index.js +1 -1
  431. package/dist/plugin/worker/rsc/messageHandler.d.ts +1 -1
  432. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  433. package/dist/plugin/worker/rsc/messageHandler.js +16 -4
  434. package/dist/plugin/worker/rsc/rsc-worker.development.js +77 -11
  435. package/dist/plugin/worker/rsc/rsc-worker.production.js +1 -1
  436. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts +3 -0
  437. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts.map +1 -0
  438. package/dist/plugin/worker/rsc/sendRscWorkerMessage.js +11 -0
  439. package/dist/plugin/worker/rsc/state.js +1 -1
  440. package/dist/plugin/worker/rsc/types.d.ts +95 -0
  441. package/dist/plugin/worker/rsc/types.d.ts.map +1 -0
  442. package/dist/plugin/worker/rsc/types.js +1 -0
  443. package/dist/plugin/worker/rsc/userOptions.d.ts +1 -1
  444. package/dist/plugin/worker/rsc/userOptions.d.ts.map +1 -1
  445. package/dist/plugin/worker/rsc/userOptions.js +3 -4
  446. package/dist/plugin/worker/sendMessage.d.ts +3 -4
  447. package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
  448. package/dist/plugin/worker/sendMessage.js +15 -5
  449. package/dist/plugin/worker/types.d.ts +109 -260
  450. package/dist/plugin/worker/types.d.ts.map +1 -1
  451. package/dist/server.js +1 -1
  452. package/dist/tsconfig.tsbuildinfo +1 -1
  453. package/package.json +58 -25
  454. package/plugin/components/{css-collector-elements.tsx → css.tsx} +3 -3
  455. package/plugin/components/html.tsx +4 -4
  456. package/plugin/components/index.ts +3 -3
  457. package/plugin/components/root.tsx +20 -0
  458. package/plugin/config/autoDiscover/resolveAutoDiscover.ts +173 -134
  459. package/plugin/config/autoDiscover/resolveBuildPages.ts +120 -7
  460. package/plugin/config/createModuleID.ts +60 -39
  461. package/plugin/config/defaults.tsx +184 -95
  462. package/plugin/config/extMap.ts +51 -56
  463. package/plugin/config/flightBindings.ts +221 -0
  464. package/plugin/config/getCondition.ts +6 -0
  465. package/plugin/config/index.ts +17 -4
  466. package/plugin/config/interpolatePattern.ts +19 -0
  467. package/plugin/config/parsePattern.ts +81 -0
  468. package/plugin/config/resolveAllowedDirectives.ts +59 -0
  469. package/plugin/config/resolveDirectiveMatcher.ts +57 -0
  470. package/plugin/config/resolveEnv.ts +5 -10
  471. package/plugin/config/resolveOptions.ts +415 -299
  472. package/plugin/config/resolvePatternWithValues.ts +70 -0
  473. package/plugin/config/resolveRegExp.ts +89 -0
  474. package/plugin/config/resolveUrlOption.ts +92 -20
  475. package/plugin/config/resolveUserConfig.ts +417 -351
  476. package/plugin/env/plugin.ts +71 -7
  477. package/plugin/error/directiveError.ts +29 -0
  478. package/plugin/error/enhanceError.ts +41 -0
  479. package/plugin/error/index.ts +3 -0
  480. package/plugin/error/logError.ts +45 -0
  481. package/plugin/error/serializeError.ts +34 -0
  482. package/plugin/error/toError.ts +75 -45
  483. package/plugin/file-preserver/plugin.ts +3 -3
  484. package/plugin/getNodeEnv.ts +24 -0
  485. package/plugin/helpers/cleanObject.ts +2 -1
  486. package/plugin/helpers/collectViteModuleGraphCss.ts +138 -118
  487. package/plugin/helpers/createCssProps.tsx +41 -20
  488. package/plugin/helpers/createEventHandler.ts +1 -1
  489. package/plugin/helpers/createHandler.ts +40 -12
  490. package/plugin/helpers/createRscStream.tsx +97 -35
  491. package/plugin/helpers/formatMetrics.ts +2 -37
  492. package/plugin/helpers/getBundleManifest.ts +10 -1
  493. package/plugin/helpers/getRouteFiles.ts +112 -8
  494. package/plugin/helpers/handleServerAction.ts +10 -6
  495. package/plugin/helpers/hydrateUserOptions.ts +23 -0
  496. package/plugin/helpers/index.ts +4 -0
  497. package/plugin/helpers/inputNormalizer.ts +44 -24
  498. package/plugin/helpers/metrics.ts +4 -64
  499. package/plugin/helpers/moduleResolver.ts +74 -19
  500. package/plugin/helpers/requestInfo.ts +72 -52
  501. package/plugin/helpers/requestToRoute.ts +38 -12
  502. package/plugin/helpers/resolveComponent.ts +173 -0
  503. package/plugin/helpers/resolveComponents.ts +185 -0
  504. package/plugin/helpers/resolvePage.ts +35 -29
  505. package/plugin/helpers/resolvePageAndProps.ts +82 -61
  506. package/plugin/helpers/resolveProps.ts +100 -37
  507. package/plugin/helpers/resolveUserComponents.ts +190 -0
  508. package/plugin/helpers/serializeUserOptions.ts +190 -69
  509. package/plugin/helpers/stashReturnValue.ts +7 -4
  510. package/plugin/helpers/tryManifest.ts +1 -1
  511. package/plugin/loader/createDefaultLoader.ts +119 -119
  512. package/plugin/loader/createTransformer.ts +118 -0
  513. package/plugin/loader/css-loader.ts +206 -0
  514. package/plugin/loader/directives/addLocalExportedNames.ts +78 -0
  515. package/plugin/loader/directives/analyzeDirectives.ts +298 -0
  516. package/plugin/loader/directives/analyzeModule.ts +39 -0
  517. package/plugin/loader/directives/collectExports.ts +181 -0
  518. package/plugin/loader/directives/collectExportsFromModule.ts +25 -0
  519. package/plugin/loader/directives/findDirectiveMatches.ts +58 -0
  520. package/plugin/loader/directives/getExportedName.ts +73 -0
  521. package/plugin/loader/directives/getExports.ts +27 -0
  522. package/plugin/loader/directives/getFunctionBody.ts +32 -0
  523. package/plugin/loader/directives/getFunctionName.ts +70 -0
  524. package/plugin/loader/directives/getQualifiedName.ts +76 -0
  525. package/plugin/loader/directives/index.ts +13 -0
  526. package/plugin/loader/directives/processFunctionNode.ts +97 -0
  527. package/plugin/loader/directives/typeGuards.ts +160 -0
  528. package/plugin/loader/directives/types.ts +174 -0
  529. package/plugin/loader/directives/utils.ts +35 -0
  530. package/plugin/loader/{env-loader.development.ts → env-loader.ts} +8 -22
  531. package/plugin/loader/index.ts +8 -6
  532. package/plugin/loader/parse.ts +42 -12
  533. package/plugin/loader/react-loader.ts +255 -4
  534. package/plugin/loader/removeDirectives.ts +14 -0
  535. package/plugin/loader/removeRanges.ts +21 -0
  536. package/plugin/loader/sourceMap.ts +174 -84
  537. package/plugin/loader/transformClientModule.ts +64 -0
  538. package/plugin/loader/transformModule.ts +54 -0
  539. package/plugin/loader/transformModuleIfNeeded.ts +40 -40
  540. package/plugin/loader/transformServerModule.ts +136 -0
  541. package/plugin/loader/transformWithAcornLoose.ts +27 -0
  542. package/plugin/loader/types.ts +65 -13
  543. package/plugin/metrics/collectStreamMetrics.ts +38 -0
  544. package/plugin/metrics/createRenderMetrics.ts +17 -0
  545. package/plugin/metrics/createStreamMetrics.ts +14 -0
  546. package/plugin/metrics/formatMetrics.ts +7 -3
  547. package/plugin/metrics/index.ts +3 -1
  548. package/plugin/metrics/types.ts +24 -0
  549. package/plugin/plugin.client.ts +39 -15
  550. package/plugin/plugin.server.ts +39 -18
  551. package/plugin/preserver/plugin.ts +42 -42
  552. package/plugin/react-client/cleanupWorkerServerAction.ts +33 -0
  553. package/plugin/react-client/configureWorkerRequestHandler.ts +212 -201
  554. package/plugin/react-client/createMessageHandlers.ts +17 -3
  555. package/plugin/react-client/createWorkerStream.ts +55 -51
  556. package/plugin/react-client/handleWorkerRscStream.ts +141 -61
  557. package/plugin/react-client/handleWorkerServerAction.ts +59 -37
  558. package/plugin/react-client/index.ts +4 -1
  559. package/plugin/react-client/plugin.ts +17 -18
  560. package/plugin/react-client/restartWorker.ts +75 -70
  561. package/plugin/react-server/configureReactServer.ts +200 -142
  562. package/plugin/react-server/handleServerAction.ts +156 -160
  563. package/plugin/react-server/plugin.ts +18 -25
  564. package/plugin/react-static/collectHtmlWorkerContent.ts +109 -102
  565. package/plugin/react-static/collectRscContent.ts +55 -51
  566. package/plugin/react-static/configurePreviewServer.ts +110 -100
  567. package/plugin/react-static/createBuildLoader.ts +157 -48
  568. package/plugin/react-static/plugin.ts +368 -357
  569. package/plugin/react-static/renderPage.ts +43 -24
  570. package/plugin/react-static/renderPages.ts +21 -14
  571. package/plugin/react-static/renderStreams.ts +13 -15
  572. package/plugin/react-static/rscToHtmlStream.ts +4 -6
  573. package/plugin/react-static/types.ts +0 -3
  574. package/plugin/transformer/README.md +82 -8
  575. package/plugin/transformer/plugin.server.ts +55 -82
  576. package/plugin/types/css-tracking.ts +1 -1
  577. package/plugin/types/global.d.ts +2 -2
  578. package/plugin/types/react-server-dom-esm.d.ts +12 -13
  579. package/plugin/types.ts +685 -309
  580. package/plugin/utils/createCallServer.ts +5 -5
  581. package/plugin/utils/createReactFetcher.ts +4 -6
  582. package/plugin/utils/index.ts +2 -1
  583. package/plugin/utils/routeToURL.ts +34 -0
  584. package/plugin/utils/urls.ts +9 -6
  585. package/plugin/worker/createWorker.ts +67 -34
  586. package/plugin/worker/html/README.md +10 -0
  587. package/plugin/worker/html/createHtmlWorkerRenderState.tsx +7 -4
  588. package/plugin/worker/html/html-worker.development.tsx +4 -3
  589. package/plugin/worker/html/index.ts +3 -1
  590. package/plugin/worker/html/messageHandler.tsx +10 -16
  591. package/plugin/worker/html/sendHtmlWorkerMessage.ts +8 -0
  592. package/plugin/worker/html/types.ts +67 -1
  593. package/plugin/worker/index.ts +2 -0
  594. package/plugin/worker/registerLoaders.ts +3 -3
  595. package/plugin/worker/rsc/README.md +203 -1
  596. package/plugin/worker/rsc/handleRender.ts +76 -39
  597. package/plugin/worker/rsc/handlers.ts +30 -22
  598. package/plugin/worker/rsc/index.ts +2 -0
  599. package/plugin/worker/rsc/messageHandler.tsx +17 -10
  600. package/plugin/worker/rsc/rsc-worker.development.ts +104 -17
  601. package/plugin/worker/rsc/sendRscWorkerMessage.ts +7 -0
  602. package/plugin/worker/rsc/state.ts +1 -1
  603. package/plugin/worker/rsc/types.ts +185 -0
  604. package/plugin/worker/rsc/userOptions.ts +2 -3
  605. package/plugin/worker/sendMessage.ts +23 -14
  606. package/plugin/worker/types.ts +131 -386
  607. package/scripts/check-react-version.mjs +3 -3
  608. package/scripts/fix-unused-imports.mjs +77 -0
  609. package/tsconfig.json +1 -1
  610. package/dist/_virtual/dynamic-import-helper.js.map +0 -1
  611. package/dist/client.js.map +0 -1
  612. package/dist/index.js.map +0 -1
  613. package/dist/plugin/components/css-collector-elements.d.ts.map +0 -1
  614. package/dist/plugin/components/css-collector-elements.js +0 -33
  615. package/dist/plugin/components/css-collector-elements.js.map +0 -1
  616. package/dist/plugin/components/css-collector.d.ts +0 -7
  617. package/dist/plugin/components/css-collector.d.ts.map +0 -1
  618. package/dist/plugin/components/css-collector.js +0 -18
  619. package/dist/plugin/components/css-collector.js.map +0 -1
  620. package/dist/plugin/components/html.js.map +0 -1
  621. package/dist/plugin/components.js +0 -9
  622. package/dist/plugin/components.js.map +0 -1
  623. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js.map +0 -1
  624. package/dist/plugin/config/autoDiscover/customWorkerFiles.js.map +0 -1
  625. package/dist/plugin/config/autoDiscover/pageAndPropFiles.js.map +0 -1
  626. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js.map +0 -1
  627. package/dist/plugin/config/autoDiscover/resolveBuildPages.js.map +0 -1
  628. package/dist/plugin/config/defaults.js.map +0 -1
  629. package/dist/plugin/config/extMap.js.map +0 -1
  630. package/dist/plugin/config/getCondition.js.map +0 -1
  631. package/dist/plugin/config/getPaths.js.map +0 -1
  632. package/dist/plugin/config/mimeTypes.js.map +0 -1
  633. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts +0 -5
  634. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts.map +0 -1
  635. package/dist/plugin/config/resolveAutoDiscoverMatcher.js +0 -25
  636. package/dist/plugin/config/resolveAutoDiscoverMatcher.js.map +0 -1
  637. package/dist/plugin/config/resolveEnv.js.map +0 -1
  638. package/dist/plugin/config/resolveOptions.js.map +0 -1
  639. package/dist/plugin/config/resolvePages.js.map +0 -1
  640. package/dist/plugin/config/resolveUrlOption.js.map +0 -1
  641. package/dist/plugin/config/resolveUserConfig.js.map +0 -1
  642. package/dist/plugin/config.js +0 -17
  643. package/dist/plugin/config.js.map +0 -1
  644. package/dist/plugin/env.js +0 -79
  645. package/dist/plugin/env.js.map +0 -1
  646. package/dist/plugin/error/toError.js.map +0 -1
  647. package/dist/plugin/file-preserver.js +0 -96
  648. package/dist/plugin/file-preserver.js.map +0 -1
  649. package/dist/plugin/helpers/cleanObject.js.map +0 -1
  650. package/dist/plugin/helpers/collectManifestCss.js.map +0 -1
  651. package/dist/plugin/helpers/collectViteModuleGraphCss.js.map +0 -1
  652. package/dist/plugin/helpers/createCssProps.js.map +0 -1
  653. package/dist/plugin/helpers/createEventHandler.js.map +0 -1
  654. package/dist/plugin/helpers/createHandler.js.map +0 -1
  655. package/dist/plugin/helpers/createRscStream.js.map +0 -1
  656. package/dist/plugin/helpers/formatMetrics.js.map +0 -1
  657. package/dist/plugin/helpers/getBundleManifest.js.map +0 -1
  658. package/dist/plugin/helpers/getRouteFiles.js.map +0 -1
  659. package/dist/plugin/helpers/handleServerAction.js.map +0 -1
  660. package/dist/plugin/helpers/inputNormalizer.js.map +0 -1
  661. package/dist/plugin/helpers/metrics.js.map +0 -1
  662. package/dist/plugin/helpers/moduleRefs.js.map +0 -1
  663. package/dist/plugin/helpers/requestInfo.js.map +0 -1
  664. package/dist/plugin/helpers/requestToRoute.js.map +0 -1
  665. package/dist/plugin/helpers/resolvePage.js.map +0 -1
  666. package/dist/plugin/helpers/resolvePageAndProps.js.map +0 -1
  667. package/dist/plugin/helpers/resolveProps.js.map +0 -1
  668. package/dist/plugin/helpers/serializeUserOptions.js.map +0 -1
  669. package/dist/plugin/helpers/sourceMap.d.ts +0 -8
  670. package/dist/plugin/helpers/sourceMap.d.ts.map +0 -1
  671. package/dist/plugin/helpers/sourceMap.js +0 -136
  672. package/dist/plugin/helpers/stashReturnValue.js.map +0 -1
  673. package/dist/plugin/helpers/tryManifest.js.map +0 -1
  674. package/dist/plugin/helpers.js +0 -27
  675. package/dist/plugin/helpers.js.map +0 -1
  676. package/dist/plugin/loader/css-loader.development.d.ts.map +0 -1
  677. package/dist/plugin/loader/css-loader.development.js +0 -76
  678. package/dist/plugin/loader/css-loader.development.js.map +0 -1
  679. package/dist/plugin/loader/css-loader.production.d.ts +0 -31
  680. package/dist/plugin/loader/css-loader.production.d.ts.map +0 -1
  681. package/dist/plugin/loader/css-loader.production.js +0 -45
  682. package/dist/plugin/loader/css-loader.production.js.map +0 -1
  683. package/dist/plugin/loader/env-loader.development.d.ts +0 -13
  684. package/dist/plugin/loader/env-loader.development.d.ts.map +0 -1
  685. package/dist/plugin/loader/env-loader.development.js +0 -68
  686. package/dist/plugin/loader/handleExports.d.ts +0 -40
  687. package/dist/plugin/loader/handleExports.d.ts.map +0 -1
  688. package/dist/plugin/loader/handleExports.js +0 -209
  689. package/dist/plugin/loader/handleExports.js.map +0 -1
  690. package/dist/plugin/loader/parse.js.map +0 -1
  691. package/dist/plugin/loader/react-loader.client.d.ts +0 -2
  692. package/dist/plugin/loader/react-loader.client.d.ts.map +0 -1
  693. package/dist/plugin/loader/react-loader.client.js +0 -2
  694. package/dist/plugin/loader/react-loader.js.map +0 -1
  695. package/dist/plugin/loader/react-loader.server.d.ts +0 -21
  696. package/dist/plugin/loader/react-loader.server.d.ts.map +0 -1
  697. package/dist/plugin/loader/react-loader.server.js +0 -131
  698. package/dist/plugin/loader/transformModuleIfNeeded.js.map +0 -1
  699. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts +0 -48
  700. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts.map +0 -1
  701. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js +0 -431
  702. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js.map +0 -1
  703. package/dist/plugin/metrics/formatMetrics.js.map +0 -1
  704. package/dist/plugin/metrics.js +0 -7
  705. package/dist/plugin/metrics.js.map +0 -1
  706. package/dist/plugin/plugin.client.js.map +0 -1
  707. package/dist/plugin/plugin.server.js.map +0 -1
  708. package/dist/plugin/preserver/plugin.js.map +0 -1
  709. package/dist/plugin/react-client/configureWorkerRequestHandler.js.map +0 -1
  710. package/dist/plugin/react-client/createMessageHandlers.js.map +0 -1
  711. package/dist/plugin/react-client/createWorkerStream.js.map +0 -1
  712. package/dist/plugin/react-client/handleWorkerRscStream.js.map +0 -1
  713. package/dist/plugin/react-client/handleWorkerServerAction.js.map +0 -1
  714. package/dist/plugin/react-client/plugin.js.map +0 -1
  715. package/dist/plugin/react-client/restartWorker.js.map +0 -1
  716. package/dist/plugin/react-server/configureReactServer.js.map +0 -1
  717. package/dist/plugin/react-server/handleServerAction.js.map +0 -1
  718. package/dist/plugin/react-server/plugin.js.map +0 -1
  719. package/dist/plugin/react-static/collectHtmlWorkerContent.js.map +0 -1
  720. package/dist/plugin/react-static/collectRscContent.js.map +0 -1
  721. package/dist/plugin/react-static/configurePreviewServer.js.map +0 -1
  722. package/dist/plugin/react-static/createBuildLoader.js.map +0 -1
  723. package/dist/plugin/react-static/fileWriter.js.map +0 -1
  724. package/dist/plugin/react-static/plugin.js.map +0 -1
  725. package/dist/plugin/react-static/renderPage.js.map +0 -1
  726. package/dist/plugin/react-static/renderPages.js.map +0 -1
  727. package/dist/plugin/react-static/renderStreams.js.map +0 -1
  728. package/dist/plugin/react-static/rscToHtmlStream.js.map +0 -1
  729. package/dist/plugin/react-static/temporaryReferences.js.map +0 -1
  730. package/dist/plugin/root.js.map +0 -1
  731. package/dist/plugin/source-map/createMappingsSerializer.d.ts +0 -2
  732. package/dist/plugin/source-map/createMappingsSerializer.d.ts.map +0 -1
  733. package/dist/plugin/source-map/createMappingsSerializer.js +0 -129
  734. package/dist/plugin/source-map/createMappingsSerializer.js.map +0 -1
  735. package/dist/plugin/source-map/readMappings.d.ts +0 -2
  736. package/dist/plugin/source-map/readMappings.d.ts.map +0 -1
  737. package/dist/plugin/source-map/readMappings.js +0 -200
  738. package/dist/plugin/transformer/plugin.client.d.ts +0 -2
  739. package/dist/plugin/transformer/plugin.client.d.ts.map +0 -1
  740. package/dist/plugin/transformer/plugin.js.map +0 -1
  741. package/dist/plugin/transformer/plugin.server.js.map +0 -1
  742. package/dist/plugin/utils/callServer.js.map +0 -1
  743. package/dist/plugin/utils/createCallServer.js.map +0 -1
  744. package/dist/plugin/utils/createReactFetcher.js.map +0 -1
  745. package/dist/plugin/utils/env.js.map +0 -1
  746. package/dist/plugin/utils/envUrls.node.js.map +0 -1
  747. package/dist/plugin/utils/urls.js.map +0 -1
  748. package/dist/plugin/utils.js +0 -11
  749. package/dist/plugin/utils.js.map +0 -1
  750. package/dist/plugin/vendor/vendor.client.js.map +0 -1
  751. package/dist/plugin/vendor/vendor.js.map +0 -1
  752. package/dist/plugin/vendor/vendor.server.js.map +0 -1
  753. package/dist/plugin/vendor.js +0 -7
  754. package/dist/plugin/vendor.js.map +0 -1
  755. package/dist/plugin/worker/createWorker.js.map +0 -1
  756. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js.map +0 -1
  757. package/dist/plugin/worker/html/html-worker.development.js.map +0 -1
  758. package/dist/plugin/worker/html/html-worker.production.js.map +0 -1
  759. package/dist/plugin/worker/html/index.js.map +0 -1
  760. package/dist/plugin/worker/html/messageHandler.js.map +0 -1
  761. package/dist/plugin/worker/rsc/handleRender.js.map +0 -1
  762. package/dist/plugin/worker/rsc/handlers.js.map +0 -1
  763. package/dist/plugin/worker/rsc/index.js.map +0 -1
  764. package/dist/plugin/worker/rsc/messageHandler.js.map +0 -1
  765. package/dist/plugin/worker/rsc/rsc-worker.development.js.map +0 -1
  766. package/dist/plugin/worker/rsc/rsc-worker.production.js.map +0 -1
  767. package/dist/plugin/worker/rsc/state.js.map +0 -1
  768. package/dist/plugin/worker/rsc/userOptions.js.map +0 -1
  769. package/dist/plugin/worker/sendMessage.js.map +0 -1
  770. package/dist/server.js.map +0 -1
  771. package/plugin/components/css-collector.tsx +0 -20
  772. package/plugin/config/resolveAutoDiscoverMatcher.ts +0 -23
  773. package/plugin/helpers/sourceMap.ts +0 -182
  774. package/plugin/loader/css-loader.development.ts +0 -135
  775. package/plugin/loader/css-loader.production.ts +0 -84
  776. package/plugin/loader/handleExports.ts +0 -309
  777. package/plugin/loader/react-loader.client.ts +0 -1
  778. package/plugin/loader/react-loader.server.ts +0 -185
  779. package/plugin/loader/transformModuleWithPreservedFunctions.ts +0 -596
  780. package/plugin/source-map/createMappingsSerializer.ts +0 -181
  781. package/plugin/source-map/readMappings.ts +0 -194
  782. package/plugin/transformer/plugin.client.ts +0 -0
  783. /package/dist/plugin/{transformer/plugin.client.js → loader/directives/types.js} +0 -0
@@ -8,16 +8,18 @@
8
8
  * 2. Returns the complete HTML content when the stream is done
9
9
  * 3. Provides a clean interface for HTML handling
10
10
  */
11
- import { PassThrough } from "node:stream";
12
- import type { CreateHandlerOptions, StreamMetrics, PagePropOpt, InlineCssOpt } from "../types.js";
11
+ import type { PassThrough } from "node:stream";
12
+ import type { CreateHandlerOptions, StreamMetrics } from "../types.js";
13
+ export type CollectHtmlWorkerContentReturn = Promise<{
14
+ stream: PassThrough;
15
+ metrics: StreamMetrics;
16
+ }>;
17
+ export type CollectHtmlWorkerContentFn = <Opt extends CreateHandlerOptions = CreateHandlerOptions>(rscStream: PassThrough, handlerOptions: Opt) => CollectHtmlWorkerContentReturn;
13
18
  /**
14
19
  * Collects RSC content from the rscFull stream
15
20
  *
16
21
  * @param rscFull The stream containing the RSC content
17
22
  * @returns A promise that resolves with the complete RSC content
18
23
  */
19
- export declare function collectHtmlWorkerContent<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt>(rscStream: PassThrough, handlerOptions: CreateHandlerOptions<T, InlineCSS>): Promise<{
20
- stream: PassThrough;
21
- metrics: StreamMetrics;
22
- }>;
24
+ export declare const collectHtmlWorkerContent: CollectHtmlWorkerContentFn;
23
25
  //# sourceMappingURL=collectHtmlWorkerContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectHtmlWorkerContent.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/collectHtmlWorkerContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAa,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AAKrB;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAE7C,SAAS,EAAE,WAAW,EACtB,cAAc,EAAE,oBAAoB,CAAC,CAAC,EAAE,SAAS,CAAC,GACjD,OAAO,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC,CAyG1D"}
1
+ {"version":3,"file":"collectHtmlWorkerContent.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/collectHtmlWorkerContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACd,MAAM,aAAa,CAAC;AAMrB,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAAC;IACnD,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CACvC,GAAG,SAAS,oBAAoB,GAAG,oBAAoB,EAEvD,SAAS,EAAE,WAAW,EACtB,cAAc,EAAE,GAAG,KAChB,8BAA8B,CAAC;AAEpC;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,0BA0GpC,CAAC"}
@@ -4,11 +4,11 @@
4
4
  * MIT License
5
5
  */
6
6
  import { Transform } from 'node:stream';
7
- import { createStreamMetrics } from '../helpers/metrics.js';
7
+ import { createStreamMetrics } from '../metrics/createStreamMetrics.js';
8
8
  import { createRscToHtmlStream } from './rscToHtmlStream.js';
9
9
  import { fileWriter } from './fileWriter.js';
10
10
 
11
- async function collectHtmlWorkerContent(rscStream, handlerOptions) {
11
+ const collectHtmlWorkerContent = async function _collectHtmlWorkerContent(rscStream, handlerOptions) {
12
12
  if (!handlerOptions.worker) {
13
13
  throw new Error("Worker is not a valid worker");
14
14
  }
@@ -88,7 +88,7 @@ async function collectHtmlWorkerContent(rscStream, handlerOptions) {
88
88
  rscToHtmlStream.destroy();
89
89
  throw error;
90
90
  }
91
- }
91
+ };
92
92
 
93
93
  export { collectHtmlWorkerContent };
94
- //# sourceMappingURL=collectHtmlWorkerContent.js.map
94
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdEh0bWxXb3JrZXJDb250ZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vcmVhY3Qtc3RhdGljL2NvbGxlY3RIdG1sV29ya2VyQ29udGVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHJzY0hhbmRsZXIudHNcbiAqXG4gKiBQVVJQT1NFOiBIYW5kbGVzIGNvbGxlY3RpbmcgSFRNTCBjb250ZW50IGZyb20gdGhlIGh0bWxDb21wYWN0IHN0cmVhbVxuICpcbiAqIFRoaXMgbW9kdWxlOlxuICogMS4gQ29sbGVjdHMgSFRNTCBjb250ZW50IGZyb20gdGhlIHJzY0Z1bGwgc3RyZWFtICh3aGljaCBpbmNsdWRlcyA8aHRtbD4gYW5kIDxib2R5PiB0YWdzKVxuICogMi4gUmV0dXJucyB0aGUgY29tcGxldGUgSFRNTCBjb250ZW50IHdoZW4gdGhlIHN0cmVhbSBpcyBkb25lXG4gKiAzLiBQcm92aWRlcyBhIGNsZWFuIGludGVyZmFjZSBmb3IgSFRNTCBoYW5kbGluZ1xuICovXG5cbmltcG9ydCB0eXBlIHsgUGFzc1Rocm91Z2ggfSBmcm9tIFwibm9kZTpzdHJlYW1cIjtcbmltcG9ydCB7IFRyYW5zZm9ybSB9IGZyb20gXCJub2RlOnN0cmVhbVwiO1xuaW1wb3J0IHR5cGUge1xuICBDcmVhdGVIYW5kbGVyT3B0aW9ucyxcbiAgU3RyZWFtTWV0cmljcywgIFxufSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNyZWF0ZVN0cmVhbU1ldHJpY3MgfSBmcm9tIFwiLi4vbWV0cmljcy9jcmVhdGVTdHJlYW1NZXRyaWNzLmpzXCI7XG5pbXBvcnQgeyBjcmVhdGVSc2NUb0h0bWxTdHJlYW0gfSBmcm9tIFwiLi9yc2NUb0h0bWxTdHJlYW0uanNcIjtcbmltcG9ydCB7IGZpbGVXcml0ZXIgfSBmcm9tIFwiLi9maWxlV3JpdGVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEh0bWxXb3JrZXJPdXRwdXRNZXNzYWdlIH0gZnJvbSBcIi4uL3dvcmtlci9odG1sL3R5cGVzLmpzXCI7XG5cbmV4cG9ydCB0eXBlIENvbGxlY3RIdG1sV29ya2VyQ29udGVudFJldHVybiA9IFByb21pc2U8e1xuICBzdHJlYW06IFBhc3NUaHJvdWdoO1xuICBtZXRyaWNzOiBTdHJlYW1NZXRyaWNzO1xufT47XG5cbmV4cG9ydCB0eXBlIENvbGxlY3RIdG1sV29ya2VyQ29udGVudEZuID0gPFxuICBPcHQgZXh0ZW5kcyBDcmVhdGVIYW5kbGVyT3B0aW9ucyA9IENyZWF0ZUhhbmRsZXJPcHRpb25zXG4+KFxuICByc2NTdHJlYW06IFBhc3NUaHJvdWdoLFxuICBoYW5kbGVyT3B0aW9uczogT3B0XG4pID0+IENvbGxlY3RIdG1sV29ya2VyQ29udGVudFJldHVybjtcblxuLyoqXG4gKiBDb2xsZWN0cyBSU0MgY29udGVudCBmcm9tIHRoZSByc2NGdWxsIHN0cmVhbVxuICpcbiAqIEBwYXJhbSByc2NGdWxsIFRoZSBzdHJlYW0gY29udGFpbmluZyB0aGUgUlNDIGNvbnRlbnRcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGNvbXBsZXRlIFJTQyBjb250ZW50XG4gKi9cbmV4cG9ydCBjb25zdCBjb2xsZWN0SHRtbFdvcmtlckNvbnRlbnQ6IENvbGxlY3RIdG1sV29ya2VyQ29udGVudEZuID1cbiAgYXN5bmMgZnVuY3Rpb24gX2NvbGxlY3RIdG1sV29ya2VyQ29udGVudChyc2NTdHJlYW0sIGhhbmRsZXJPcHRpb25zKSB7XG4gICAgaWYgKCFoYW5kbGVyT3B0aW9ucy53b3JrZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIldvcmtlciBpcyBub3QgYSB2YWxpZCB3b3JrZXJcIik7XG4gICAgfVxuICAgIGNvbnN0IG1ldHJpY3MgPSBjcmVhdGVTdHJlYW1NZXRyaWNzKCk7XG4gICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgICAvLyBDcmVhdGUgUlNDIHRvIEhUTUwgdHJhbnNmb3JtIHN0cmVhbVxuICAgIGNvbnN0IHJzY1RvSHRtbFN0cmVhbSA9IGNyZWF0ZVJzY1RvSHRtbFN0cmVhbSh7XG4gICAgICB3b3JrZXI6IGhhbmRsZXJPcHRpb25zLndvcmtlcixcbiAgICAgIHJvdXRlOiBoYW5kbGVyT3B0aW9ucy5yb3V0ZSxcbiAgICAgIG1vZHVsZVJvb3RQYXRoOiBoYW5kbGVyT3B0aW9ucy5tb2R1bGVSb290UGF0aCxcbiAgICAgIG1vZHVsZUJhc2VVUkw6IGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwsXG4gICAgICBwaXBlYWJsZVN0cmVhbU9wdGlvbnM6IGhhbmRsZXJPcHRpb25zLnBpcGVhYmxlU3RyZWFtT3B0aW9ucyxcbiAgICAgIGJ1aWxkOiBoYW5kbGVyT3B0aW9ucy5idWlsZCxcbiAgICAgIGNzc0ZpbGVzOiBoYW5kbGVyT3B0aW9ucy5jc3NGaWxlcyxcbiAgICAgIHByb2plY3RSb290OiBoYW5kbGVyT3B0aW9ucy5wcm9qZWN0Um9vdCxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSB0cmFuc2Zvcm0gc3RyZWFtIHRvIGhhbmRsZSBIVE1MIGNodW5rcyBhbmQgZmlsZSB3cml0aW5nXG4gICAgY29uc3QgaHRtbFRyYW5zZm9ybSA9IG5ldyBUcmFuc2Zvcm0oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBfZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gICAgICAgIG1ldHJpY3MuY2h1bmtzKys7XG4gICAgICAgIGNhbGxiYWNrKG51bGwsIGNodW5rKTtcbiAgICAgIH0sXG4gICAgICBmbHVzaChjYWxsYmFjaykge1xuICAgICAgICBtZXRyaWNzLmR1cmF0aW9uID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWU7XG4gICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgbGV0IGlzQ29tcGxldGUgPSBmYWxzZTtcblxuICAgIC8vIENyZWF0ZSBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSByb3V0ZSBpcyBjb21wbGV0ZVxuICAgIGNvbnN0IHJvdXRlQ29tcGxldGUgPSBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAoIWhhbmRsZXJPcHRpb25zLndvcmtlcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJXb3JrZXIgaXMgbm90IGEgdmFsaWQgd29ya2VyXCIpO1xuICAgICAgfVxuICAgICAgY29uc3QgbWVzc2FnZUhhbmRsZXIgPSAobXNnOiBIdG1sV29ya2VyT3V0cHV0TWVzc2FnZSkgPT4ge1xuICAgICAgICBpZiAoIWhhbmRsZXJPcHRpb25zLndvcmtlcikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIldvcmtlciBpcyBub3QgYSB2YWxpZCB3b3JrZXJcIik7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChtc2cudHlwZSkge1xuICAgICAgICAgIGNhc2UgXCJIVE1MX0NIVU5LXCI6XG4gICAgICAgICAgICBpZiAoIWlzQ29tcGxldGUpIHtcbiAgICAgICAgICAgICAgaHRtbFRyYW5zZm9ybS53cml0ZShtc2cuY2h1bmspO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkhUTUxfQ09NUExFVEVcIjpcbiAgICAgICAgICAgIGlzQ29tcGxldGUgPSB0cnVlO1xuICAgICAgICAgICAgLy8gRW5kIHRoZSB0cmFuc2Zvcm0gc3RyZWFtXG4gICAgICAgICAgICBodG1sVHJhbnNmb3JtLmVuZCgpO1xuICAgICAgICAgICAgLy8gU2VuZCBjbGVhbnVwIG1lc3NhZ2UgdG8gd29ya2VyXG4gICAgICAgICAgICBoYW5kbGVyT3B0aW9ucy53b3JrZXIucG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICB0eXBlOiBcIkNMRUFOVVBcIixcbiAgICAgICAgICAgICAgaWQ6IGhhbmRsZXJPcHRpb25zLnJvdXRlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiQ0xFQU5VUF9DT01QTEVURVwiOlxuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkVSUk9SXCI6XG4gICAgICAgICAgICBoYW5kbGVyT3B0aW9ucy53b3JrZXIucmVtb3ZlTGlzdGVuZXIoXCJtZXNzYWdlXCIsIG1lc3NhZ2VIYW5kbGVyKTtcbiAgICAgICAgICAgIHJlamVjdChtc2cuZXJyb3IpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBoYW5kbGVyT3B0aW9ucy53b3JrZXIub24oXCJtZXNzYWdlXCIsIG1lc3NhZ2VIYW5kbGVyKTtcbiAgICB9KTtcblxuICAgIHRyeSB7XG4gICAgICAvLyBTZXQgdXAgZXZlbnQgaGFuZGxlciB0byBjYXB0dXJlIGNvbnRlbnQgbGVuZ3RoXG4gICAgICBpZiAoaGFuZGxlck9wdGlvbnMub25FdmVudCkge1xuICAgICAgICBjb25zdCBvcmlnaW5hbE9uRXZlbnQgPSBoYW5kbGVyT3B0aW9ucy5vbkV2ZW50O1xuICAgICAgICBoYW5kbGVyT3B0aW9ucy5vbkV2ZW50ID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQudHlwZSA9PT0gXCJmaWxlLndyaXRlLmRvbmVcIiAmJlxuICAgICAgICAgICAgZXZlbnQuZGF0YS5maWxlVHlwZSA9PT0gXCJodG1sXCJcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG1ldHJpY3MuYnl0ZXMgPSBldmVudC5kYXRhLmNvbnRlbnQubGVuZ3RoO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvcmlnaW5hbE9uRXZlbnQoZXZlbnQpO1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyBQaXBlIFJTQyB0aHJvdWdoIHRyYW5zZm9ybSB0byBIVE1MXG4gICAgICByc2NTdHJlYW0ucGlwZShyc2NUb0h0bWxTdHJlYW0pO1xuXG4gICAgICAvLyBTZXQgdXAgZmlsZSB3cml0aW5nIHVzaW5nIGZpbGVXcml0ZXJcbiAgICAgIGNvbnN0IHdyaXRlUHJvbWlzZSA9IGZpbGVXcml0ZXIoaHRtbFRyYW5zZm9ybSwgXCJodG1sXCIsIGhhbmRsZXJPcHRpb25zKTtcblxuICAgICAgLy8gV2FpdCBmb3Igcm91dGUgdG8gY29tcGxldGVcbiAgICAgIGF3YWl0IHJvdXRlQ29tcGxldGU7XG5cbiAgICAgIC8vIFdhaXQgZm9yIGZpbGUgd3JpdGluZyB0byBjb21wbGV0ZVxuICAgICAgYXdhaXQgd3JpdGVQcm9taXNlO1xuXG4gICAgICByc2NUb0h0bWxTdHJlYW0uZGVzdHJveSgpO1xuXG4gICAgICByZXR1cm4geyBzdHJlYW06IHJzY1N0cmVhbSwgbWV0cmljcyB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBDbGVhbiB1cCBzdHJlYW1zIG9uIGVycm9yXG4gICAgICByc2NUb0h0bWxTdHJlYW0uZGVzdHJveSgpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUF3Q08sTUFBTSx3QkFDWCxHQUFBLGVBQWUseUJBQTBCLENBQUEsU0FBQSxFQUFXLGNBQWdCLEVBQUE7QUFDbEUsRUFBSSxJQUFBLENBQUMsZUFBZSxNQUFRLEVBQUE7QUFDMUIsSUFBTSxNQUFBLElBQUksTUFBTSw4QkFBOEIsQ0FBQTtBQUFBO0FBRWhELEVBQUEsTUFBTSxVQUFVLG1CQUFvQixFQUFBO0FBQ3BDLEVBQU0sTUFBQSxTQUFBLEdBQVksWUFBWSxHQUFJLEVBQUE7QUFHbEMsRUFBQSxNQUFNLGtCQUFrQixxQkFBc0IsQ0FBQTtBQUFBLElBQzVDLFFBQVEsY0FBZSxDQUFBLE1BQUE7QUFBQSxJQUN2QixPQUFPLGNBQWUsQ0FBQSxLQUFBO0FBQUEsSUFDdEIsZ0JBQWdCLGNBQWUsQ0FBQSxjQUFBO0FBQUEsSUFDL0IsZUFBZSxjQUFlLENBQUEsYUFBQTtBQUFBLElBQzlCLHVCQUF1QixjQUFlLENBQUEscUJBQUE7QUFBQSxJQUN0QyxPQUFPLGNBQWUsQ0FBQSxL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
@@ -8,8 +8,13 @@
8
8
  * 2. Returns the complete RSC content when the stream is done
9
9
  * 3. Provides a clean interface for RSC handling
10
10
  */
11
- import { PassThrough } from "node:stream";
12
- import type { CreateHandlerOptions, StreamMetrics, PagePropOpt, InlineCssOpt } from "../types.js";
11
+ import type { PassThrough } from "node:stream";
12
+ import type { CreateHandlerOptions, StreamMetrics } from "../types.js";
13
+ export type CollectRscContentReturn = Promise<{
14
+ stream: PassThrough;
15
+ metrics: StreamMetrics;
16
+ }>;
17
+ export type CollectRscContentFn = (rscStream: PassThrough, handlerOptions: CreateHandlerOptions) => CollectRscContentReturn;
13
18
  /**
14
19
  * Collects RSC content from the rscHeadless stream
15
20
  *
@@ -17,8 +22,5 @@ import type { CreateHandlerOptions, StreamMetrics, PagePropOpt, InlineCssOpt } f
17
22
  * @param handlerOptions The options for the handler
18
23
  * @returns A promise that resolves with the complete RSC content and metrics
19
24
  */
20
- export declare function collectRscContent<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt>(rscStream: PassThrough, handlerOptions: CreateHandlerOptions<T, InlineCSS>): Promise<{
21
- stream: PassThrough;
22
- metrics: StreamMetrics;
23
- }>;
25
+ export declare const collectRscContent: CollectRscContentFn;
24
26
  //# sourceMappingURL=collectRscContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectRscContent.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/collectRscContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAa,MAAM,aAAa,CAAC;AAGrD,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AAIrB;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAE7C,SAAS,EAAE,WAAW,EACtB,cAAc,EAAE,oBAAoB,CAAC,CAAC,EAAE,SAAS,CAAC,GACjD,OAAO,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CAAC,CAgD1D"}
1
+ {"version":3,"file":"collectRscContent.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/collectRscContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACd,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC;IAC5C,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAChC,SAAS,EAAE,WAAW,EACtB,cAAc,EAAE,oBAAoB,KACjC,uBAAuB,CAAC;AAE7B;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,mBAiD7B,CAAC"}
@@ -6,10 +6,10 @@
6
6
  import { Transform } from 'node:stream';
7
7
  import { join, dirname } from 'node:path';
8
8
  import { mkdir } from 'node:fs/promises';
9
- import { createStreamMetrics } from '../helpers/metrics.js';
9
+ import { createStreamMetrics } from '../metrics/createStreamMetrics.js';
10
10
  import { fileWriter } from './fileWriter.js';
11
11
 
12
- async function collectRscContent(rscStream, handlerOptions) {
12
+ const collectRscContent = async function _collectRscContent(rscStream, handlerOptions) {
13
13
  const metrics = createStreamMetrics();
14
14
  const startTime = performance.now();
15
15
  const outputPath = join(
@@ -43,7 +43,7 @@ async function collectRscContent(rscStream, handlerOptions) {
43
43
  metricsTransform.destroy();
44
44
  throw error;
45
45
  }
46
- }
46
+ };
47
47
 
48
48
  export { collectRscContent };
49
- //# sourceMappingURL=collectRscContent.js.map
49
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdFJzY0NvbnRlbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9yZWFjdC1zdGF0aWMvY29sbGVjdFJzY0NvbnRlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiByc2NIYW5kbGVyLnRzXG4gKlxuICogUFVSUE9TRTogSGFuZGxlcyBjb2xsZWN0aW5nIFJTQyBjb250ZW50IGZyb20gdGhlIHJzY0hlYWRsZXNzIHN0cmVhbVxuICpcbiAqIFRoaXMgbW9kdWxlOlxuICogMS4gQ29sbGVjdHMgUlNDIGNvbnRlbnQgZnJvbSB0aGUgcnNjSGVhZGxlc3Mgc3RyZWFtXG4gKiAyLiBSZXR1cm5zIHRoZSBjb21wbGV0ZSBSU0MgY29udGVudCB3aGVuIHRoZSBzdHJlYW0gaXMgZG9uZVxuICogMy4gUHJvdmlkZXMgYSBjbGVhbiBpbnRlcmZhY2UgZm9yIFJTQyBoYW5kbGluZ1xuICovXG5cbmltcG9ydCB0eXBlIHsgUGFzc1Rocm91Z2ggfSBmcm9tIFwibm9kZTpzdHJlYW1cIjtcbmltcG9ydCB7IFRyYW5zZm9ybSB9IGZyb20gXCJub2RlOnN0cmVhbVwiO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IG1rZGlyIH0gZnJvbSBcIm5vZGU6ZnMvcHJvbWlzZXNcIjtcbmltcG9ydCB0eXBlIHtcbiAgQ3JlYXRlSGFuZGxlck9wdGlvbnMsXG4gIFN0cmVhbU1ldHJpY3MsXG59IGZyb20gXCIuLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgY3JlYXRlU3RyZWFtTWV0cmljcyB9IGZyb20gXCIuLi9tZXRyaWNzL2NyZWF0ZVN0cmVhbU1ldHJpY3MuanNcIjtcbmltcG9ydCB7IGZpbGVXcml0ZXIgfSBmcm9tIFwiLi9maWxlV3JpdGVyLmpzXCI7XG5cbmV4cG9ydCB0eXBlIENvbGxlY3RSc2NDb250ZW50UmV0dXJuID0gUHJvbWlzZTx7XG4gIHN0cmVhbTogUGFzc1Rocm91Z2g7XG4gIG1ldHJpY3M6IFN0cmVhbU1ldHJpY3M7XG59PjtcblxuZXhwb3J0IHR5cGUgQ29sbGVjdFJzY0NvbnRlbnRGbiA9IChcbiAgcnNjU3RyZWFtOiBQYXNzVGhyb3VnaCxcbiAgaGFuZGxlck9wdGlvbnM6IENyZWF0ZUhhbmRsZXJPcHRpb25zXG4pID0+IENvbGxlY3RSc2NDb250ZW50UmV0dXJuO1xuXG4vKipcbiAqIENvbGxlY3RzIFJTQyBjb250ZW50IGZyb20gdGhlIHJzY0hlYWRsZXNzIHN0cmVhbVxuICpcbiAqIEBwYXJhbSByc2NTdHJlYW0gVGhlIHN0cmVhbSBjb250YWluaW5nIHRoZSBSU0MgY29udGVudFxuICogQHBhcmFtIGhhbmRsZXJPcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgaGFuZGxlclxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgY29tcGxldGUgUlNDIGNvbnRlbnQgYW5kIG1ldHJpY3NcbiAqL1xuZXhwb3J0IGNvbnN0IGNvbGxlY3RSc2NDb250ZW50OiBDb2xsZWN0UnNjQ29udGVudEZuID1cbiAgYXN5bmMgZnVuY3Rpb24gX2NvbGxlY3RSc2NDb250ZW50KHJzY1N0cmVhbSwgaGFuZGxlck9wdGlvbnMpIHtcbiAgICBjb25zdCBtZXRyaWNzID0gY3JlYXRlU3RyZWFtTWV0cmljcygpO1xuICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgY29uc3Qgb3V0cHV0UGF0aCA9IGpvaW4oXG4gICAgICBoYW5kbGVyT3B0aW9ucy5idWlsZC5vdXREaXIsXG4gICAgICBoYW5kbGVyT3B0aW9ucy5idWlsZC5zdGF0aWMsXG4gICAgICBoYW5kbGVyT3B0aW9ucy5yb3V0ZSxcbiAgICAgIGhhbmRsZXJPcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGhcbiAgICApO1xuXG4gICAgY29uc3QgZGlyID0gZGlybmFtZShvdXRwdXRQYXRoKTtcbiAgICAvLyBFbnN1cmUgZGlyZWN0b3J5IGV4aXN0c1xuICAgIGF3YWl0IG1rZGlyKGpvaW4oaGFuZGxlck9wdGlvbnMucHJvamVjdFJvb3QsIGRpciksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgLy8gQ3JlYXRlIHRyYW5zZm9ybSB0byB0cmFjayBtZXRyaWNzXG4gICAgY29uc3QgbWV0cmljc1RyYW5zZm9ybSA9IG5ldyBUcmFuc2Zvcm0oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBfZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gICAgICAgIG1ldHJpY3MuY2h1bmtzKys7XG4gICAgICAgIG1ldHJpY3MuYnl0ZXMgKz0gY2h1bmsubGVuZ3RoO1xuICAgICAgICBjYWxsYmFjayhudWxsLCBjaHVuayk7XG4gICAgICB9LFxuICAgICAgZmx1c2goY2FsbGJhY2spIHtcbiAgICAgICAgbWV0cmljcy5kdXJhdGlvbiA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRUaW1lO1xuICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRyeSB7XG4gICAgICAvLyBQaXBlIFJTQyBzdHJlYW0gdGhyb3VnaCBtZXRyaWNzIHRyYWNraW5nXG4gICAgICByc2NTdHJlYW0ucGlwZShtZXRyaWNzVHJhbnNmb3JtKTtcblxuICAgICAgLy8gU2V0IHVwIGZpbGUgd3JpdGluZyB1c2luZyBmaWxlV3JpdGVyXG4gICAgICBjb25zdCB3cml0ZVByb21pc2UgPSBmaWxlV3JpdGVyKG1ldHJpY3NUcmFuc2Zvcm0sIFwicnNjXCIsIGhhbmRsZXJPcHRpb25zKTtcblxuICAgICAgLy8gV2FpdCBmb3Igc3RyZWFtIHRvIGNvbXBsZXRlXG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICBtZXRyaWNzVHJhbnNmb3JtLm9uKFwiZW5kXCIsIHJlc29sdmUpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIFdhaXQgZm9yIGZpbGUgd3JpdGluZyB0byBjb21wbGV0ZVxuICAgICAgYXdhaXQgd3JpdGVQcm9taXNlO1xuXG4gICAgICByZXR1cm4geyBzdHJlYW06IHJzY1N0cmVhbSwgbWV0cmljcyB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBtZXRyaWNzVHJhbnNmb3JtLmRlc3Ryb3koKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQXVDTyxNQUFNLGlCQUNYLEdBQUEsZUFBZSxrQkFBbUIsQ0FBQSxTQUFBLEVBQVcsY0FBZ0IsRUFBQTtBQUMzRCxFQUFBLE1BQU0sVUFBVSxtQkFBb0IsRUFBQTtBQUNwQyxFQUFNLE1BQUEsU0FBQSxHQUFZLFlBQVksR0FBSSxFQUFBO0FBRWxDLEVBQUEsTUFBTSxVQUFhLEdBQUEsSUFBQTtBQUFBLElBQ2pCLGVBQWUsS0FBTSxDQUFBLE1BQUE7QUFBQSxJQUNyQixlQUFlLEtBQU0sQ0FBQSxNQUFBO0FBQUEsSUFDckIsY0FBZSxDQUFBLEtBQUE7QUFBQSxJQUNmLGVBQWUsS0FBTSxDQUFBO0FBQUEsR0FDdkI7QUFFQSxFQUFNLE1BQUEsR0FBQSxHQUFNLFFBQVEsVUFBVSxDQUFBO0FBRTlCLEVBQU0sTUFBQSxLQUFBLENBQU0sS0FBSyxjQUFlLENBQUEsV0FBQSxFQUFhLEdBQUcsQ0FBRyxFQUFBLEVBQUUsU0FBVyxFQUFBLElBQUEsRUFBTSxDQUFBO0FBR3RFLEVBQU0sTUFBQSxnQkFBQSxHQUFtQixJQUFJLFNBQVUsQ0FBQTtBQUFBLElBQ3JDLFNBQUEsQ0FBVSxLQUFPLEVBQUEsU0FBQSxFQUFXLFFBQVUsRUFBQTtBQUNwQyxNQUFRLE9BQUEsQ0FBQSxNQUFBLEVBQUE7QUFDUixNQUFBLE9BQUEsQ0FBUSxTQUFTLEtBQU0sQ0FBQSxNQUFBO0FBQ3ZCLE1BQUEsUUFBQSxDQUFTLE1BQU0sS0FBSyxDQUFBO0FBQUEsS0FDdEI7QUFBQSxJQUNBLE1BQU0sUUFBVSxFQUFBO0FBQ2QsTUFBUSxPQUFBLENBQUEsUUFBQSxHQUFXLFdBQVksQ0FBQSxHQUFBLEVBQVEsR0FBQSxTQUFBO0FBQ3ZDLE1BQVMsUUFBQSxFQUFBO0FBQUE7QUFDWCxHQUNELENBQUE7QUFFRCxFQUFJLElBQUE7QUFFRixJQUFBLFNBQUEsQ0FBVSxLQUFLLGdCQUFnQixDQUFBO0FBRy9CLElBQUEsTUFBTSxZQUFlLEdBQUEsVUFBQSxDQUFXLGdCQUFrQixFQUFBLEtBQUEsRUFBTyxjQUFjLENBQUE7QUFHdkUsSUFBTSxNQUFBLElBQUksT0FBYyxDQUFBLENBQUMsT0FBWSxLQUFBO0FBQ25DLE1BQWlCLGdCQUFBLENBQUEsRUFBQSxDQUFHLE9BQU8sT0FBTyxDQUFBO0FBQUEsS0FDbkMsQ0FBQTtBQUdELElBQU0sTUFBQSxZQUFBO0FBRU4sSUFBTyxPQUFBLEVBQUUsTUFBUSxFQUFBLFNBQUEsRUFBVyxPQUFRLEVBQUE7QUFBQSxXQUM3QixLQUFPLEVBQUE7QUFDZCxJQUFBLGdCQUFBLENBQWlCLE9BQVEsRUFBQTtBQUN6QixJQUFNLE1BQUEsS0FBQTtBQUFBO0FBRVY7Ozs7In0=
@@ -1,7 +1,9 @@
1
1
  import type { PreviewServer } from "vite";
2
- import type { ResolvedUserOptions, PagePropOpt, InlineCssOpt } from "../types.js";
3
- export declare function configurePreviewServer<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt>({ server, userOptions, }: {
2
+ import type { ResolvedUserOptions } from "../types.js";
3
+ export type ConfigurePreviewServerProps<Opt extends ResolvedUserOptions> = {
4
4
  server: PreviewServer;
5
- userOptions: ResolvedUserOptions<T, InlineCSS>;
6
- }): Promise<void>;
5
+ userOptions: Opt;
6
+ };
7
+ export type ConfigurePreviewServerFn = <Opt extends ResolvedUserOptions>(props: ConfigurePreviewServerProps<Opt>) => Promise<void>;
8
+ export declare const configurePreviewServer: ConfigurePreviewServerFn;
7
9
  //# sourceMappingURL=configurePreviewServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configurePreviewServer.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/configurePreviewServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AAWrB,wBAAsB,sBAAsB,CAC1C,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAC7C,EACA,MAAM,EACN,WAAW,GACZ,EAAE;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CAChD,iBAiGA"}
1
+ {"version":3,"file":"configurePreviewServer.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/configurePreviewServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EACV,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AAOrB,MAAM,MAAM,2BAA2B,CAAC,GAAG,SAAS,mBAAmB,IAAI;IACzE,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,GAAG,SAAS,mBAAmB,EACrE,KAAK,EAAE,2BAA2B,CAAC,GAAG,CAAC,KACpC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,eAAO,MAAM,sBAAsB,EAAE,wBAgHlC,CAAC"}
@@ -9,26 +9,24 @@ import { stat } from 'node:fs/promises';
9
9
  import { pipeline } from 'node:stream/promises';
10
10
  import { requestInfo } from '../helpers/requestInfo.js';
11
11
 
12
- async function configurePreviewServer({
13
- server,
14
- userOptions
15
- }) {
12
+ const configurePreviewServer = async function _configurePreviewServer({ server, userOptions }) {
16
13
  const staticHostDir = join(
17
14
  userOptions.projectRoot,
18
15
  userOptions.build.outDir,
19
16
  userOptions.build.static
20
17
  );
18
+ console.log(userOptions.moduleBaseURL, userOptions.moduleBasePath);
21
19
  server.middlewares.use(async (req, res, next) => {
22
20
  if (!req.url) {
23
21
  return next();
24
22
  }
25
- const { contentType, filePath } = requestInfo(
23
+ const { contentType, filePath, isRscRequest } = requestInfo(
26
24
  req,
27
25
  userOptions,
28
26
  staticHostDir,
29
27
  server.config.logger
30
28
  );
31
- if (filePath && contentType.includes("text/x-component")) {
29
+ if (filePath && isRscRequest) {
32
30
  try {
33
31
  const stats = await stat(filePath);
34
32
  if (stats.isFile()) {
@@ -49,30 +47,33 @@ async function configurePreviewServer({
49
47
  });
50
48
  await pipeline(readStream, res, { signal });
51
49
  } catch (error) {
52
- const streamError = error;
53
- if (streamError.code === "ERR_STREAM_PREMATURE_CLOSE" || streamError.name === "AbortError") {
54
- if (res.writable) {
55
- res.statusCode = 499;
56
- res.end("Client closed request");
57
- }
58
- } else if (streamError.code === "ENOENT") {
59
- res.statusCode = 404;
60
- server.config.logger.error(
61
- `File not found: ${filePath}. ${streamError.message}`,
62
- {
63
- error: streamError
64
- }
65
- );
66
- res.end("File not found");
67
- } else {
68
- server.config.logger.error(
69
- `Error loading file: ${filePath}. ${streamError.message}`,
70
- {
71
- error: streamError
50
+ if (error != null && typeof error === "object" && "code" in error) {
51
+ const streamError = error;
52
+ if (streamError.code === "ERR_STREAM_PREMATURE_CLOSE" || streamError.name === "AbortError") {
53
+ if (res.writable) {
54
+ res.statusCode = 499;
55
+ res.end("Client closed request");
72
56
  }
73
- );
74
- res.statusCode = 500;
75
- res.end("Internal server error");
57
+ } else if (streamError.code === "ENOENT") {
58
+ res.statusCode = 404;
59
+ server.config.logger.error(
60
+ `File not found: ${filePath}. ${streamError.message}`,
61
+ {
62
+ error: streamError
63
+ }
64
+ );
65
+ console.log("File not found: ", filePath);
66
+ res.end("File not found");
67
+ } else {
68
+ server.config.logger.error(
69
+ `Error loading file: ${filePath}. ${streamError.message}`,
70
+ {
71
+ error: streamError
72
+ }
73
+ );
74
+ res.statusCode = 500;
75
+ res.end("Internal server error");
76
+ }
76
77
  }
77
78
  return;
78
79
  }
@@ -81,6 +82,12 @@ async function configurePreviewServer({
81
82
  } catch (error) {
82
83
  const err = error;
83
84
  if (err.code === "ENOENT") {
85
+ server.config.logger.error(
86
+ `File not found: ${filePath}. ${err.message}`,
87
+ {
88
+ error: err
89
+ }
90
+ );
84
91
  res.statusCode = 404;
85
92
  res.end("File not found");
86
93
  } else {
@@ -95,7 +102,7 @@ async function configurePreviewServer({
95
102
  }
96
103
  next();
97
104
  });
98
- }
105
+ };
99
106
 
100
107
  export { configurePreviewServer };
101
- //# sourceMappingURL=configurePreviewServer.js.map
108
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlUHJldmlld1NlcnZlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3JlYWN0LXN0YXRpYy9jb25maWd1cmVQcmV2aWV3U2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJldmlld1NlcnZlciB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgdHlwZSB7XG4gIFJlc29sdmVkVXNlck9wdGlvbnMsXG4gIFN0cmVhbUVycm9yLFxufSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBjcmVhdGVSZWFkU3RyZWFtIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCB7IHN0YXQgfSBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHsgcGlwZWxpbmUgfSBmcm9tIFwibm9kZTpzdHJlYW0vcHJvbWlzZXNcIjtcbmltcG9ydCB7IHJlcXVlc3RJbmZvIH0gZnJvbSBcIi4uL2hlbHBlcnMvcmVxdWVzdEluZm8uanNcIjtcblxuZXhwb3J0IHR5cGUgQ29uZmlndXJlUHJldmlld1NlcnZlclByb3BzPE9wdCBleHRlbmRzIFJlc29sdmVkVXNlck9wdGlvbnM+ID0ge1xuICBzZXJ2ZXI6IFByZXZpZXdTZXJ2ZXI7XG4gIHVzZXJPcHRpb25zOiBPcHQ7XG59O1xuXG5leHBvcnQgdHlwZSBDb25maWd1cmVQcmV2aWV3U2VydmVyRm4gPSA8T3B0IGV4dGVuZHMgUmVzb2x2ZWRVc2VyT3B0aW9ucz4oXG4gIHByb3BzOiBDb25maWd1cmVQcmV2aWV3U2VydmVyUHJvcHM8T3B0PlxuKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG5leHBvcnQgY29uc3QgY29uZmlndXJlUHJldmlld1NlcnZlcjogQ29uZmlndXJlUHJldmlld1NlcnZlckZuID1cbiAgYXN5bmMgZnVuY3Rpb24gX2NvbmZpZ3VyZVByZXZpZXdTZXJ2ZXIoeyBzZXJ2ZXIsIHVzZXJPcHRpb25zIH0pIHtcbiAgICBjb25zdCBzdGF0aWNIb3N0RGlyID0gam9pbihcbiAgICAgIHVzZXJPcHRpb25zLnByb2plY3RSb290LFxuICAgICAgdXNlck9wdGlvbnMuYnVpbGQub3V0RGlyLFxuICAgICAgdXNlck9wdGlvbnMuYnVpbGQuc3RhdGljXG4gICAgKTtcbiAgICBjb25zb2xlLmxvZyh1c2VyT3B0aW9ucy5tb2R1bGVCYXNlVVJMLCB1c2VyT3B0aW9ucy5tb2R1bGVCYXNlUGF0aCk7XG4gICAgc2VydmVyLm1pZGRsZXdhcmVzLnVzZShhc3luYyAocmVxLCByZXMsIG5leHQpID0+IHtcbiAgICAgIGlmICghcmVxLnVybCkge1xuICAgICAgICByZXR1cm4gbmV4dCgpO1xuICAgICAgfVxuICAgICAgY29uc3QgeyBjb250ZW50VHlwZSwgZmlsZVBhdGgsIGlzUnNjUmVxdWVzdCB9ID0gcmVxdWVzdEluZm8oXG4gICAgICAgIHJlcSxcbiAgICAgICAgdXNlck9wdGlvbnMsXG4gICAgICAgIHN0YXRpY0hvc3REaXIsXG4gICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyXG4gICAgICApO1xuICAgICAgLy8gSGFuZGxlIHN0YXRpYyBmaWxlcyBpbmNsdWRpbmcgQ1NTXG4gICAgICBpZiAoZmlsZVBhdGggJiYgKGlzUnNjUmVxdWVzdCkpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBzdGF0cyA9IGF3YWl0IHN0YXQoZmlsZVBhdGgpO1xuICAgICAgICAgIGlmIChzdGF0cy5pc0ZpbGUoKSkge1xuICAgICAgICAgICAgcmVzLnNldEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiLCBjb250ZW50VHlwZSk7XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSBhYm9ydCBjb250cm9sbGVyIGZvciB0aGUgc3RyZWFtXG4gICAgICAgICAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgICAgICAgICAgY29uc3QgeyBzaWduYWwgfSA9IGNvbnRyb2xsZXI7XG5cbiAgICAgICAgICAgIC8vIENoZWNrIGlmIHJlc3BvbnNlIGlzIHN0aWxsIHdyaXRhYmxlIGJlZm9yZSBzdHJlYW1pbmdcbiAgICAgICAgICAgIGlmICghcmVzLndyaXRhYmxlKSB7XG4gICAgICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNDk5O1xuICAgICAgICAgICAgICByZXMuZW5kKFwiQ2xpZW50IGNsb3NlZCByZXF1ZXN0XCIpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlYWRTdHJlYW0gPSBjcmVhdGVSZWFkU3RyZWFtKGZpbGVQYXRoKTtcbiAgICAgICAgICAgICAgcmVhZFN0cmVhbS5vbihcImVycm9yXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlcy53cml0YWJsZSkge1xuICAgICAgICAgICAgICAgICAgY29udHJvbGxlci5hYm9ydCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGF3YWl0IHBpcGVsaW5lKHJlYWRTdHJlYW0sIHJlcywgeyBzaWduYWwgfSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgZXJyb3IgIT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHR5cGVvZiBlcnJvciA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICAgICAgICAgIFwiY29kZVwiIGluIGVycm9yXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0cmVhbUVycm9yID0gZXJyb3IgYXMgU3RyZWFtRXJyb3I7XG4gICAgICAgICAgICAgICAgLy8gSGFuZGxlIGRpZmZlcmVudCBlcnJvciBjYXNlc1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgIHN0cmVhbUVycm9yLmNvZGUgPT09IFwiRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0VcIiB8fFxuICAgICAgICAgICAgICAgICAgc3RyZWFtRXJyb3IubmFtZSA9PT0gXCJBYm9ydEVycm9yXCJcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIC8vIENsaWVudCBjbG9zZWQgdGhlIGNvbm5lY3Rpb25cbiAgICAgICAgICAgICAgICAgIGlmIChyZXMud3JpdGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0OTk7XG4gICAgICAgICAgICAgICAgICAgIHJlcy5lbmQoXCJDbGllbnQgY2xvc2VkIHJlcXVlc3RcIik7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzdHJlYW1FcnJvci5jb2RlID09PSBcIkVOT0VOVFwiKSB7XG4gICAgICAgICAgICAgICAgICAvLyBGaWxlIG5vdCBmb3VuZFxuICAgICAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgYEZpbGUgbm90IGZvdW5kOiAke2ZpbGVQYXRofS4gJHtzdHJlYW1FcnJvci5tZXNzYWdlfWAsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogc3RyZWFtRXJyb3IsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkZpbGUgbm90IGZvdW5kOiBcIiwgZmlsZVBhdGgpO1xuICAgICAgICAgICAgICAgICAgcmVzLmVuZChcIkZpbGUgbm90IGZvdW5kXCIpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAvLyBTZXJ2ZXIgZXJyb3JcbiAgICAgICAgICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICBgRXJyb3IgbG9hZGluZyBmaWxlOiAke2ZpbGVQYXRofS4gJHtzdHJlYW1FcnJvci5tZXNzYWdlfWAsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogc3RyZWFtRXJyb3IsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDUwMDtcbiAgICAgICAgICAgICAgICAgIHJlcy5lbmQoXCJJbnRlcm5hbCBzZXJ2ZXIgZXJyb3JcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3I7XG4gICAgICAgICAgLy8gSGFuZGxlIGZpbGUgc3lzdGVtIGVycm9yc1xuICAgICAgICAgIGlmICgoZXJyIGFzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbikuY29kZSA9PT0gXCJFTk9FTlRcIikge1xuICAgICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuZXJyb3IoXG4gICAgICAgICAgICAgIGBGaWxlIG5vdCBmb3VuZDogJHtmaWxlUGF0aH0uICR7ZXJyLm1lc3NhZ2V9YCxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGVycm9yOiBlcnIsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwNDtcbiAgICAgICAgICAgIHJlcy5lbmQoXCJGaWxlIG5vdCBmb3VuZFwiKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuZXJyb3IoYEVycm9yIGxvYWRpbmcgZmlsZTogJHtmaWxlUGF0aH0uYCwge1xuICAgICAgICAgICAgICBlcnJvcjogZXJyLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDUwMDtcbiAgICAgICAgICAgIHJlcy5lbmQoXCJJbnRlcm5hbCBzZXJ2ZXIgZXJyb3JcIik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBb0JPLE1BQU0seUJBQ1gsZUFBZSx1QkFBQSxDQUF3QixFQUFFLE1BQUEsRUFBUSxhQUFlLEVBQUE7QUFDOUQsRUFBQSxNQUFNLGFBQWdCLEdBQUEsSUFBQTtBQUFBLElBQ3BCLFdBQVksQ0FBQSxXQUFBO0FBQUEsSUFDWixZQUFZLEtBQU0sQ0FBQSxNQUFBO0FBQUEsSUFDbEIsWUFBWSxLQUFNLENBQUE7QUFBQSxHQUNwQjtBQUNBLEVBQUEsT0FBQSxDQUFRLEdBQUksQ0FBQSxXQUFBLENBQVksYUFBZSxFQUFBLFdBQUEsQ0FBWSxjQUFjLENBQUE7QUFDakUsRUFBQSxNQUFBLENBQU8sV0FBWSxDQUFBLEdBQUEsQ0FBSSxPQUFPLEdBQUEsRUFBSyxLQUFLLElBQVMsS0FBQTtBQUMvQyxJQUFJLElBQUEsQ0FBQyxJQUFJLEdBQUssRUFBQTtBQUNaLE1BQUEsT0FBTyxJQUFLLEVBQUE7QUFBQTtBQUVkLElBQUEsTUFBTSxFQUFFLFdBQUEsRUFBYSxRQUFVLEVBQUEsWUFBQSxFQUFpQixHQUFBLFdBQUE7QUFBQSxNQUM5QyxHQUFBO0FBQUEsTUFDQSxXQUFBO0FBQUEsTUFDQSxhQUFBO0FBQUEsTUFDQSxPQUFPLE1BQU8sQ0FBQTtBQUFBLEtBQ2hCO0FBRUEsSUFBQSxJQUFJLFlBQWEsWUFBZSxFQUFBO0FBQzlCLE1BQUksSUFBQTtBQUNGLFFBQU0sTUFBQSxLQUFBLEdBQVEsTUFBTSxJQUFBLENBQUss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
@@ -1,13 +1,13 @@
1
- import type { InlineCssOpt, PagePropOpt, ResolvedUserConfig, ResolvedUserOptions } from "../../server.js";
1
+ import type { BuildModuleLoader, ResolvedUserConfig, ResolvedUserOptions } from "../../server.js";
2
2
  import type { Manifest } from "vite";
3
3
  import type { OutputBundle } from "rollup";
4
- export interface BuildLoaderOptions<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt> {
4
+ export type CreateBuildLoaderFn = (props: {
5
5
  userConfig: ResolvedUserConfig;
6
- userOptions: ResolvedUserOptions<T, InlineCSS>;
6
+ userOptions: ResolvedUserOptions;
7
7
  serverManifest: Manifest;
8
8
  clientManifest: Manifest;
9
9
  staticManifest: Manifest;
10
- }
10
+ }, bundle: OutputBundle) => BuildModuleLoader;
11
11
  /**
12
12
  * Creates a loader function for handling module resolution during build.
13
13
  *
@@ -16,5 +16,5 @@ export interface BuildLoaderOptions<T extends PagePropOpt = PagePropOpt, InlineC
16
16
  * - For server components: Use server manifest and server.js
17
17
  * - For static assets: Use static manifest
18
18
  */
19
- export declare function createBuildLoader<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt>({ userOptions, serverManifest, clientManifest, staticManifest, }: BuildLoaderOptions<T, InlineCSS>, bundle: OutputBundle): Promise<(id: string) => Promise<any>>;
19
+ export declare const createBuildLoader: CreateBuildLoaderFn;
20
20
  //# sourceMappingURL=createBuildLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBuildLoader.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/createBuildLoader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAI3C,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY;IAE7C,UAAU,EAAE,kBAAkB,CAAC;IAC/B,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAE7C,EACE,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,GACf,EAAE,kBAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,EACnC,MAAM,EAAE,YAAY,gBAOkB,MAAM,mBAgJ7C"}
1
+ {"version":3,"file":"createBuildLoader.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/createBuildLoader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAM3C,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE;IACxC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,WAAW,EAAE,mBAAmB,CAAC;IACjC,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;CAC1B,EAAE,MAAM,EAAE,YAAY,KAAK,iBAAiB,CAAC;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,mBA+Q/B,CAAA"}
@@ -7,8 +7,10 @@ import { join } from 'node:path';
7
7
  import { getModuleRef } from '../helpers/moduleRefs.js';
8
8
  import { temporaryReferences } from './temporaryReferences.js';
9
9
  import { toError } from '../error/toError.js';
10
+ import { readFile, writeFile, unlink } from 'fs/promises';
11
+ import { existsSync } from 'fs';
10
12
 
11
- async function createBuildLoader({
13
+ const createBuildLoader = function _createBuildLoader({
12
14
  userOptions,
13
15
  serverManifest,
14
16
  clientManifest,
@@ -19,8 +21,12 @@ async function createBuildLoader({
19
21
  throw new Error("Server manifest is empty");
20
22
  }
21
23
  return async function buildLoader(id) {
24
+ if (userOptions.verbose) {
25
+ console.log("[buildLoader] id: ", id);
26
+ }
22
27
  const [withoutQuery, query] = id.split("?", 2);
23
- const [normalizedKey, normalizedValue] = userOptions.normalizer(withoutQuery);
28
+ const [moduleId, exportName] = withoutQuery.split("#", 2);
29
+ const [normalizedKey, normalizedValue] = userOptions.normalizer(moduleId);
24
30
  const moduleRef = getModuleRef(id);
25
31
  if (temporaryReferences?.has(moduleRef)) {
26
32
  const mod = temporaryReferences.get(moduleRef);
@@ -38,12 +44,12 @@ async function createBuildLoader({
38
44
  )?.[1];
39
45
  if (serverChunk) {
40
46
  if (serverChunk.type === "asset") {
41
- if (userOptions.autoDiscover.jsonPattern(normalizedValue)) {
47
+ if (userOptions.autoDiscover.jsonPattern.test(normalizedValue)) {
42
48
  const jsonContent = serverChunk.source;
43
49
  if (typeof jsonContent === "string") {
44
50
  return { default: JSON.parse(jsonContent) };
45
51
  }
46
- } else if (userOptions.autoDiscover.cssPattern(normalizedValue)) {
52
+ } else if (userOptions.autoDiscover.cssPattern.test(normalizedValue)) {
47
53
  const cssContent = serverChunk.source;
48
54
  if (typeof cssContent === "string") {
49
55
  return { default: cssContent };
@@ -57,12 +63,12 @@ async function createBuildLoader({
57
63
  console.warn("Could not find inline module for: " + normalizedValue);
58
64
  return null;
59
65
  }
60
- const isClientComponent = userOptions.autoDiscover.clientComponents(normalizedValue);
61
- const isServerAction = userOptions.autoDiscover.serverFunctions(normalizedValue);
62
- const isPage = userOptions.autoDiscover.pagePattern(normalizedValue);
63
- const isProps = userOptions.autoDiscover.propsPattern(normalizedValue);
66
+ const isClientComponent = userOptions.autoDiscover.clientPattern.test(normalizedValue);
64
67
  if (isClientComponent) {
65
68
  const clientEntry = clientManifest[normalizedValue];
69
+ if (userOptions.verbose) {
70
+ console.log("clientEntry", clientEntry);
71
+ }
66
72
  if (clientEntry) {
67
73
  try {
68
74
  const module = await import(join(
@@ -81,26 +87,6 @@ async function createBuildLoader({
81
87
  }
82
88
  }
83
89
  }
84
- if (isServerAction || isPage || isProps) {
85
- const serverEntry = serverManifest[normalizedValue];
86
- if (serverEntry) {
87
- try {
88
- const module = await import(join(
89
- userOptions.projectRoot,
90
- userOptions.build.outDir,
91
- userOptions.build.server,
92
- serverEntry.file
93
- ));
94
- temporaryReferences?.set(moduleRef, module);
95
- return module;
96
- } catch (error) {
97
- const err = toError(error);
98
- console.warn("Error loading server module:", err);
99
- temporaryReferences?.delete(moduleRef);
100
- throw err;
101
- }
102
- }
103
- }
104
90
  const staticEntry = staticManifest[normalizedValue];
105
91
  if (staticEntry) {
106
92
  try {
@@ -111,6 +97,9 @@ async function createBuildLoader({
111
97
  staticEntry.file
112
98
  ));
113
99
  temporaryReferences?.set(moduleRef, module);
100
+ if (exportName && !(exportName in module)) {
101
+ throw new Error(`Export ${exportName} not found in module ${normalizedValue}`);
102
+ }
114
103
  return module;
115
104
  } catch (error) {
116
105
  const err = toError(error);
@@ -119,6 +108,109 @@ async function createBuildLoader({
119
108
  throw err;
120
109
  }
121
110
  }
111
+ const serverEntry = serverManifest[normalizedValue];
112
+ if (serverEntry) {
113
+ try {
114
+ const module = await import(join(
115
+ userOptions.projectRoot,
116
+ userOptions.build.outDir,
117
+ userOptions.build.server,
118
+ serverEntry.file
119
+ ));
120
+ temporaryReferences?.set(moduleRef, module);
121
+ if (exportName && !(exportName in module)) {
122
+ throw new Error(`Export ${exportName} not found in module ${normalizedValue}`);
123
+ }
124
+ return module;
125
+ } catch (error) {
126
+ const err = toError(error);
127
+ if (userOptions.panicThreshold === "critical_errors") {
128
+ console.warn("Error loading server module:", err);
129
+ temporaryReferences?.delete(moduleRef);
130
+ } else {
131
+ console.error("Error loading server module:", err);
132
+ throw err;
133
+ }
134
+ }
135
+ }
136
+ const sourceFilePath = join(userOptions.projectRoot, normalizedValue);
137
+ if (userOptions.verbose) {
138
+ console.log("[buildLoader] Checking source file:", sourceFilePath, "exists:", existsSync(sourceFilePath));
139
+ }
140
+ if (existsSync(sourceFilePath)) {
141
+ try {
142
+ if (userOptions.verbose) {
143
+ console.log("[buildLoader] Loading source file:", sourceFilePath);
144
+ }
145
+ if (sourceFilePath.endsWith(".tsx") || sourceFilePath.endsWith(".ts") || sourceFilePath.endsWith(".mts")) {
146
+ const relativePath = normalizedValue.replace(/^src\//, "");
147
+ const staticBuiltPath = join(
148
+ userOptions.projectRoot,
149
+ userOptions.build.outDir,
150
+ userOptions.build.static,
151
+ relativePath.replace(/\.(tsx?|mts)$/, ".js")
152
+ );
153
+ const serverBuiltPath = join(
154
+ userOptions.projectRoot,
155
+ userOptions.build.outDir,
156
+ userOptions.build.server,
157
+ relativePath.replace(/\.(tsx?|mts)$/, ".js")
158
+ );
159
+ let builtModulePath = null;
160
+ if (existsSync(staticBuiltPath)) {
161
+ builtModulePath = staticBuiltPath;
162
+ } else if (existsSync(serverBuiltPath)) {
163
+ builtModulePath = serverBuiltPath;
164
+ }
165
+ if (builtModulePath) {
166
+ if (userOptions.verbose) {
167
+ console.log("[buildLoader] Found built module:", builtModulePath);
168
+ }
169
+ const module = await import(builtModulePath);
170
+ temporaryReferences?.set(moduleRef, module);
171
+ if (exportName && !(exportName in module)) {
172
+ throw new Error(`Export ${exportName} not found in module ${normalizedValue}`);
173
+ }
174
+ return module;
175
+ }
176
+ if (userOptions.verbose) {
177
+ console.log("[buildLoader] No built module found, trying to compile source file");
178
+ }
179
+ const { transformWithEsbuild } = await import('vite');
180
+ const sourceCode = await readFile(sourceFilePath, "utf-8");
181
+ const result = await transformWithEsbuild(sourceCode, sourceFilePath, {
182
+ format: "esm",
183
+ sourcemap: false
184
+ });
185
+ const tempFilePath = sourceFilePath.replace(/\.(tsx?|mts)$/, ".temp.js");
186
+ await writeFile(tempFilePath, result.code);
187
+ try {
188
+ const module = await import(tempFilePath);
189
+ temporaryReferences?.set(moduleRef, module);
190
+ if (exportName && !(exportName in module)) {
191
+ throw new Error(`Export ${exportName} not found in module ${normalizedValue}`);
192
+ }
193
+ return module;
194
+ } finally {
195
+ try {
196
+ await unlink(tempFilePath);
197
+ } catch (cleanupError) {
198
+ if (userOptions.verbose) {
199
+ console.warn("[buildLoader] Failed to cleanup temp file:", cleanupError);
200
+ }
201
+ }
202
+ }
203
+ } else {
204
+ const content = await readFile(sourceFilePath, "utf-8");
205
+ return { default: content };
206
+ }
207
+ } catch (error) {
208
+ const err = toError(error);
209
+ console.warn("Error loading source file:", err);
210
+ temporaryReferences?.delete(moduleRef);
211
+ throw err;
212
+ }
213
+ }
122
214
  throw new Error(`Module ${normalizedValue} not found during build`);
123
215
  } catch (error) {
124
216
  const emptyExports = {
@@ -129,7 +221,7 @@ async function createBuildLoader({
129
221
  return emptyExports;
130
222
  }
131
223
  };
132
- }
224
+ };
133
225
 
134
226
  export { createBuildLoader };
135
- //# sourceMappingURL=createBuildLoader.js.map
227
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQnVpbGRMb2FkZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9yZWFjdC1zdGF0aWMvY3JlYXRlQnVpbGRMb2FkZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHtcbiAgQnVpbGRNb2R1bGVMb2FkZXIsXG4gIFJlc29sdmVkVXNlckNvbmZpZyxcbiAgUmVzb2x2ZWRVc2VyT3B0aW9ucyxcbn0gZnJvbSBcIi4uLy4uL3NlcnZlci5qc1wiO1xuaW1wb3J0IHR5cGUgeyBNYW5pZmVzdCB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgeyBnZXRNb2R1bGVSZWYgfSBmcm9tIFwiLi4vaGVscGVycy9tb2R1bGVSZWZzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IE91dHB1dEJ1bmRsZSB9IGZyb20gXCJyb2xsdXBcIjtcbmltcG9ydCB7IHRlbXBvcmFyeVJlZmVyZW5jZXMgfSBmcm9tIFwiLi90ZW1wb3JhcnlSZWZlcmVuY2VzLmpzXCI7XG5pbXBvcnQgeyB0b0Vycm9yIH0gZnJvbSBcIi4uL2Vycm9yL3RvRXJyb3IuanNcIjtcbmltcG9ydCB7IHJlYWRGaWxlLCB3cml0ZUZpbGUsIHVubGluayB9IGZyb20gXCJmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gXCJmc1wiO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVCdWlsZExvYWRlckZuID0gKHByb3BzOiB7XG4gIHVzZXJDb25maWc6IFJlc29sdmVkVXNlckNvbmZpZztcbiAgdXNlck9wdGlvbnM6IFJlc29sdmVkVXNlck9wdGlvbnM7XG4gIHNlcnZlck1hbmlmZXN0OiBNYW5pZmVzdDtcbiAgY2xpZW50TWFuaWZlc3Q6IE1hbmlmZXN0O1xuICBzdGF0aWNNYW5pZmVzdDogTWFuaWZlc3Q7XG59LCBidW5kbGU6IE91dHB1dEJ1bmRsZSkgPT4gQnVpbGRNb2R1bGVMb2FkZXI7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGxvYWRlciBmdW5jdGlvbiBmb3IgaGFuZGxpbmcgbW9kdWxlIHJlc29sdXRpb24gZHVyaW5nIGJ1aWxkLlxuICpcbiAqIFRoZSBsb2FkZXIgaGFuZGxlcyB0aGUgZm9sbG93aW5nIHN0cmF0ZWd5OlxuICogIC0gRm9yIGNsaWVudCBjb21wb25lbnRzOiBVc2UgY2xpZW50IG1hbmlmZXN0IGFuZCBjbGllbnQuYnJvd3Nlci5qc1xuICogIC0gRm9yIHNlcnZlciBjb21wb25lbnRzOiBVc2Ugc2VydmVyIG1hbmlmZXN0IGFuZCBzZXJ2ZXIuanNcbiAqICAtIEZvciBzdGF0aWMgYXNzZXRzOiBVc2Ugc3RhdGljIG1hbmlmZXN0XG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVCdWlsZExvYWRlcjogQ3JlYXRlQnVpbGRMb2FkZXJGbiA9IGZ1bmN0aW9uIF9jcmVhdGVCdWlsZExvYWRlcihcbiAge1xuICAgIHVzZXJPcHRpb25zLFxuICAgIHNlcnZlck1hbmlmZXN0LFxuICAgIGNsaWVudE1hbmlmZXN0LFxuICAgIHN0YXRpY01hbmlmZXN0LFxuICB9LFxuICBidW5kbGVcbikge1xuICBjb25zdCBtYW5pZmVzdEtleXMgPSBPYmplY3Qua2V5cyhzZXJ2ZXJNYW5pZmVzdCk7XG4gIGlmICghbWFuaWZlc3RLZXlzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNlcnZlciBtYW5pZmVzdCBpcyBlbXB0eVwiKTtcbiAgfVxuXG4gIHJldHVybiBhc3luYyBmdW5jdGlvbiBidWlsZExvYWRlcihpZCkge1xuICAgIGlmICh1c2VyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIltidWlsZExvYWRlcl0gaWQ6IFwiLCBpZCk7XG4gICAgfVxuICAgIGNvbnN0IFt3aXRob3V0UXVlcnksIHF1ZXJ5XSA9IGlkLnNwbGl0KFwiP1wiLCAyKTtcbiAgICBjb25zdCBbbW9kdWxlSWQsIGV4cG9ydE5hbWVdID0gd2l0aG91dFF1ZXJ5LnNwbGl0KFwiI1wiLCAyKTtcbiAgICBjb25zdCBbbm9ybWFsaXplZEtleSwgbm9ybWFsaXplZFZhbHVlXSA9IHVzZXJPcHRpb25zLm5vcm1hbGl6ZXIobW9kdWxlSWQpO1xuICAgIGNvbnN0IG1vZHVsZVJlZiA9IGdldE1vZHVsZVJlZihpZCk7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGEgdGVtcG9yYXJ5IHJlZmVyZW5jZSAoY2FjaGVkIG1vZHVsZSlcbiAgICBpZiAodGVtcG9yYXJ5UmVmZXJlbmNlcz8uaGFzKG1vZHVsZVJlZikpIHtcbiAgICAgIGNvbnN0IG1vZCA9IHRlbXBvcmFyeVJlZmVyZW5jZXMuZ2V0KG1vZHVsZVJlZik7XG4gICAgICBpZiAodHlwZW9mIG1vZCA9PT0gXCJvYmplY3RcIiAmJiBtb2QgIT09IG51bGwgJiYgXCJlcnJvclwiIGluIG1vZCkge1xuICAgICAgICAvLyBpZ25vcmUgaXRcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBtb2Q7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIC8vIEZvciBpbmxpbmUgbW9kdWxlcywgaGFuZGxlIHRoZW0gZGlyZWN0bHlcbiAgICAgIGlmIChxdWVyeSA9PT0gXCJpbmxpbmVcIikge1xuICAgICAgICBjb25zdCBzdGFydHNXaXRoTWFya2VyID0gbm9ybWFsaXplZEtleS5zcGxpdChcIi1cIilbMF07XG4gICAgICAgIGNvbnN0IHNlcnZlckNodW5rID1cbiAgICAgICAgICBidW5kbGVbc2VydmVyTWFuaWZlc3Rbbm9ybWFsaXplZFZhbHVlXT8uZmlsZV0gPz9cbiAgICAgICAgICBidW5kbGVbc3RhdGljTWFuaWZlc3Rbbm9ybWFsaXplZFZhbHVlXT8uZmlsZV0gPz9cbiAgICAgICAgICBidW5kbGVbY2xpZW50TWFuaWZlc3Rbbm9ybWFsaXplZFZhbHVlXT8uZmlsZV0gPz9cbiAgICAgICAgICBidW5kbGVbd2l0aG91dFF1ZXJ5XSA/P1xuICAgICAgICAgIGJ1bmRsZVtub3JtYWxpemVkVmFsdWVdID8/XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoYnVuZGxlKS5maW5kKFxuICAgICAgICAgICAgKFssIHZhbHVlXSkgPT4gdmFsdWUubmFtZSA9PT0gbm9ybWFsaXplZFZhbHVlXG4gICAgICAgICAgKT8uWzFdID8/XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoYnVuZGxlKS5maW5kKChbX2tleV0pID0+XG4gICAgICAgICAgICBfa2V5LnN0YXJ0c1dpdGgoc3RhcnRzV2l0aE1hcmtlcilcbiAgICAgICAgICApPy5bMV07XG5cbiAgICAgICAgaWYgKHNlcnZlckNodW5rKSB7XG4gICAgICAgICAgaWYgKHNlcnZlckNodW5rLnR5cGUgPT09IFwiYXNzZXRcIikge1xuICAgICAgICAgICAgLy8gRm9yIENTUyBmaWxlcywgZW5zdXJlIHdlJ3JlIGluIHRoZSBSZWFjdCBTZXJ2ZXIgZW52aXJvbm1lbnRcbiAgICAgICAgICAgIGlmICh1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuanNvblBhdHRlcm4udGVzdChub3JtYWxpemVkVmFsdWUpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGpzb25Db250ZW50ID0gc2VydmVyQ2h1bmsuc291cmNlO1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIGpzb25Db250ZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZGVmYXVsdDogSlNPTi5wYXJzZShqc29uQ29udGVudCkgfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgdXNlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLmNzc1BhdHRlcm4udGVzdChub3JtYWxpemVkVmFsdWUpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgY29uc3QgY3NzQ29udGVudCA9IHNlcnZlckNodW5rLnNvdXJjZTtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjc3NDb250ZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZGVmYXVsdDogY3NzQ29udGVudCB9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4geyBkZWZhdWx0OiBzZXJ2ZXJDaHVuay5zb3VyY2UgfTtcbiAgICAgICAgICB9IGVsc2UgaWYgKFwiY29kZVwiIGluIHNlcnZlckNodW5rKSB7XG4gICAgICAgICAgICByZXR1cm4geyBkZWZhdWx0OiBzZXJ2ZXJDaHVuay5jb2RlIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUud2FybihcIkNvdWxkIG5vdCBmaW5kIGlubGluZSBtb2R1bGUgZm9yOiBcIiArIG5vcm1hbGl6ZWRWYWx1ZSk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICAvLyBEZXRlcm1pbmUgaWYgdGhpcyBpcyBhIGNsaWVudCBjb21wb25lbnRcbiAgICAgIGNvbnN0IGlzQ2xpZW50Q29tcG9uZW50ID1cbiAgICAgICAgdXNlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLmNsaWVudFBhdHRlcm4udGVzdChub3JtYWxpemVkVmFsdWUpO1xuXG4gICAgICAvLyBGb3IgY2xpZW50IGNvbXBvbmVudHMsIHVzZSBjbGllbnQgbWFuaWZlc3RcbiAgICAgIGlmIChpc0NsaWVudENvbXBvbmVudCkge1xuICAgICAgICBjb25zdCBjbGllbnRFbnRyeSA9IGNsaWVudE1hbmlmZXN0W25vcm1hbGl6ZWRWYWx1ZV07XG4gICAgICAgIGlmICh1c2VyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJjbGllbnRFbnRyeVwiLCBjbGllbnRFbnRyeSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNsaWVudEVudHJ5KSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG1vZHVsZSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgam9pbihcbiAgICAgICAgICAgICAgICB1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCxcbiAgICAgICAgICAgICAgICB1c2VyT3B0aW9ucy5idWlsZC5vdXREaXIsXG4gICAgICAgICAgICAgICAgdXNlck9wdGlvbnMuYnVpbGQuY2xpZW50LFxuICAgICAgICAgICAgICAgIGNsaWVudEVudHJ5LmZpbGVcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRlbXBvcmFyeVJlZmVyZW5jZXM/LnNldChtb2R1bGVSZWYsIG1vZHVsZSk7XG4gICAgICAgICAgICByZXR1cm4gbW9kdWxlO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zdCBlcnIgPSB0b0Vycm9yKGVycm9yKTtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkVycm9yIGxvYWRpbmcgY2xpZW50IG1vZHVsZTpcIiwgZXJyKTtcbiAgICAgICAgICAgIHRlbXBvcmFyeVJlZmVyZW5jZXM/LmRlbGV0ZShtb2R1bGVSZWYpO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBGb3Igc3RhdGljIGFzc2V0cywgdXNlIHN0YXRpYyBtYW5pZmVzdFxuICAgICAgY29uc3Qgc3RhdGljRW50cnkgPSBzdGF0aWNNYW5pZmVzdFtub3JtYWxpemVkVmFsdWVdO1xuICAgICAgaWYgKHN0YXRpY0VudHJ5KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgbW9kdWxlID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgam9pbihcbiAgICAgICAgICAgICAgdXNlck9wdGlvbnMucHJvamVjdFJvb3QsXG4gICAgICAgICAgICAgIHVzZXJPcHRpb25zLmJ1aWxkLm91dERpcixcbiAgICAgICAgICAgICAgdXNlck9wdGlvbnMuYnVpbGQuc3RhdGljLFxuICAgICAgICAgICAgICBzdGF0aWNFbnRyeS5maWxlXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0ZW1wb3JhcnlSZWZlcmVuY2VzPy5zZXQobW9kdWxlUmVmLCBtb2R1bGUpO1xuICAgICAgICAgIC8vIElmIHdlIGhhdmUgYW4gZXhwb3J0IG5hbWUsIG1ha2Ugc3VyZSBpdCdzIGEga2V5XG4gICAgICAgICAgaWYgKGV4cG9ydE5hbWUgJiYgIShleHBvcnROYW1lIGluIG1vZHVsZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwb3J0ICR7ZXhwb3J0TmFtZX0gbm90IGZvdW5kIGluIG1vZHVsZSAke25vcm1hbGl6ZWRWYWx1ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG1vZHVsZTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zdCBlcnIgPSB0b0Vycm9yKGVycm9yKTtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXCJFcnJvciBsb2FkaW5nIHN0YXRpYyBtb2R1bGU6XCIsIGVycik7XG4gICAgICAgICAgdGVtcG9yYXJ5UmVmZXJlbmNlcz8uZGVsZXRlKG1vZHVsZVJlZik7XG4gICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIHNlcnZlciBtYW5pZmVzdCBmb3IgYW55IHJlbWFpbmluZyBtb2R1bGVzIChpbmNsdWRpbmcgSHRtbC9Sb290IGNvbXBvbmVudHMpXG4gICAgICBjb25zdCBzZXJ2ZXJFbnRyeSA9IHNlcnZlck1hbmlmZXN0W25vcm1hbGl6ZWRWYWx1ZV07XG5cbiAgICAgIGlmIChzZXJ2ZXJFbnRyeSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IG1vZHVsZSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgIGpvaW4oXG4gICAgICAgICAgICAgIHVzZXJPcHRpb25zLnByb2plY3RSb290LFxuICAgICAgICAgICAgICB1c2VyT3B0aW9ucy5idWlsZC5vdXREaXIsXG4gICAgICAgICAgICAgIHVzZXJPcHRpb25zLmJ1aWxkLnNlcnZlcixcbiAgICAgICAgICAgICAgc2VydmVyRW50cnkuZmlsZVxuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGVtcG9yYXJ5UmVmZXJlbmNlcz8uc2V0KG1vZHVsZVJlZiwgbW9kdWxlKTtcbiAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGFuIGV4cG9ydCBuYW1lLCBtYWtlIHN1cmUgaXQncyBhIGtleVxuICAgICAgICAgIGlmIChleHBvcnROYW1lICYmICEoZXhwb3J0TmFtZSBpbiBtb2R1bGUpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cG9ydCAke2V4cG9ydE5hbWV9IG5vdCBmb3VuZCBpbiBtb2R1bGUgJHtub3JtYWxpemVkVmFsdWV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBtb2R1bGU7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29uc3QgZXJyID0gdG9FcnJvcihlcnJvcik7XG4gICAgICAgICAgaWYodXNlck9wdGlvbnMucGFuaWNUaHJlc2hvbGQgPT09IFwiY3JpdGljYWxfZXJyb3JzXCIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkVycm9yIGxvYWRpbmcgc2VydmVyIG1vZHVsZTpcIiwgZXJyKTtcbiAgICAgICAgICAgIHRlbXBvcmFyeVJlZmVyZW5jZXM/LmRlbGV0ZShtb2R1bGVSZWYpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgbG9hZGluZyBzZXJ2ZXIgbW9kdWxlOlwiLCBlcnIpO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBGb3Igc291cmNlIGZpbGVzIChsaWtlIGN1c3RvbSBSb290L0h0bWwgY29tcG9uZW50cyksIHRyeSB0byBsb2FkIGRpcmVjdGx5IGZyb20gZmlsZXN5c3RlbVxuICAgICAgY29uc3Qgc291cmNlRmlsZVBhdGggPSBqb2luKHVzZXJPcHRpb25zLnByb2plY3RSb290LCBub3JtYWxpemVkVmFsdWUpO1xuICAgICAgaWYgKHVzZXJPcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJbYnVpbGRMb2FkZXJdIENoZWNraW5nIHNvdXJjZSBmaWxlOlwiLCBzb3VyY2VGaWxlUGF0aCwgXCJleGlzdHM6XCIsIGV4aXN0c1N5bmMoc291cmNlRmlsZVBhdGgpKTtcbiAgICAgIH1cbiAgICAgIGlmIChleGlzdHNTeW5jKHNvdXJjZUZpbGVQYXRoKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmICh1c2VyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIltidWlsZExvYWRlcl0gTG9hZGluZyBzb3VyY2UgZmlsZTpcIiwgc291cmNlRmlsZVBhdGgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEZvciBUeXBlU2NyaXB0L1RTWCBmaWxlcywgZmlyc3QgY2hlY2sgaWYgdGhlcmUncyBhIGJ1aWx0IHZlcnNpb24gaW4gZGlzdFxuICAgICAgICAgIGlmIChzb3VyY2VGaWxlUGF0aC5lbmRzV2l0aCgnLnRzeCcpIHx8IHNvdXJjZUZpbGVQYXRoLmVuZHNXaXRoKCcudHMnKSB8fCBzb3VyY2VGaWxlUGF0aC5lbmRzV2l0aCgnLm10cycpKSB7XG4gICAgICAgICAgICAvLyBUcnkgdG8gZmluZCB0aGUgYnVpbHQgbW9kdWxlIGZpcnN0IC0gY2hlY2sgYm90aCBzdGF0aWMgYW5kIHNlcnZlciBkaXJlY3Rvcmllc1xuICAgICAgICAgICAgY29uc3QgcmVsYXRpdmVQYXRoID0gbm9ybWFsaXplZFZhbHVlLnJlcGxhY2UoL15zcmNcXC8vLCAnJyk7XG4gICAgICAgICAgICBjb25zdCBzdGF0aWNCdWlsdFBhdGggPSBqb2luKFxuICAgICAgICAgICAgICB1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCxcbiAgICAgICAgICAgICAgdXNlck9wdGlvbnMuYnVpbGQub3V0RGlyLFxuICAgICAgICAgICAgICB1c2VyT3B0aW9ucy5idWlsZC5zdGF0aWMsXG4gICAgICAgICAgICAgIHJlbGF0aXZlUGF0aC5yZXBsYWNlKC9cXC4odHN4P3xtdHMpJC8sICcuanMnKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IHNlcnZlckJ1aWx0UGF0aCA9IGpvaW4oXG4gICAgICAgICAgICAgIHVzZXJPcHRpb25zLnByb2plY3RSb290LFxuICAgICAgICAgICAgICB1c2VyT3B0aW9ucy5idWlsZC5vdXREaXIsXG4gICAgICAgICAgICAgIHVzZXJPcHRpb25zLmJ1aWxkLnNlcnZlcixcbiAgICAgICAgICAgICAgcmVsYXRpdmVQYXRoLnJlcGxhY2UoL1xcLih0c3g/fG10cykkLywgJy5qcycpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBDaGVjayBzdGF0aWMgZGlyZWN0b3J5IGZpcnN0LCB0aGVuIHNlcnZlciBkaXJlY3RvcnlcbiAgICAgICAgICAgIGxldCBidWlsdE1vZHVsZVBhdGg6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgICAgICAgICAgaWYgKGV4aXN0c1N5bmMoc3RhdGljQnVpbHRQYXRoKSkge1xuICAgICAgICAgICAgICBidWlsdE1vZHVsZVBhdGggPSBzdGF0aWNCdWlsdFBhdGg7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV4aXN0c1N5bmMoc2VydmVyQnVpbHRQYXRoKSkge1xuICAgICAgICAgICAgICBidWlsdE1vZHVsZVBhdGggPSBzZXJ2ZXJCdWlsdFBhdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChidWlsdE1vZHVsZVBhdGgpIHtcbiAgICAgICAgICAgICAgaWYgKHVzZXJPcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIltidWlsZExvYWRlcl0gRm91bmQgYnVpbHQgbW9kdWxlOlwiLCBidWlsdE1vZHVsZVBhdGgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnN0IG1vZHVsZSA9IGF3YWl0IGltcG9ydChidWlsdE1vZHVsZVBhdGgpO1xuICAgICAgICAgICAgICB0ZW1wb3JhcnlSZWZlcmVuY2VzPy5zZXQobW9kdWxlUmVmLCBtb2R1bGUpO1xuICAgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGFuIGV4cG9ydCBuYW1lLCBtYWtlIHN1cmUgaXQncyBhIGtleVxuICAgICAgICAgICAgICBpZiAoZXhwb3J0TmFtZSAmJiAhKGV4cG9ydE5hbWUgaW4gbW9kdWxlKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwb3J0ICR7ZXhwb3J0TmFtZX0gbm90IGZvdW5kIGluIG1vZHVsZSAke25vcm1hbGl6ZWRWYWx1ZX1gKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gbW9kdWxlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBJZiBubyBidWlsdCBtb2R1bGUgZm91bmQsIHRyeSB0byBjb21waWxlIHRoZSBzb3VyY2UgZmlsZVxuICAgICAgICAgICAgaWYgKHVzZXJPcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJbYnVpbGRMb2FkZXJdIE5vIGJ1aWx0IG1vZHVsZSBmb3VuZCwgdHJ5aW5nIHRvIGNvbXBpbGUgc291cmNlIGZpbGVcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFVzZSBlc2J1aWxkIHRvIGNvbXBpbGUgdGhlIFR5cGVTY3JpcHQvVFNYIGZpbGVcbiAgICAgICAgICAgIGNvbnN0IHsgdHJhbnNmb3JtV2l0aEVzYnVpbGQgfSA9IGF3YWl0IGltcG9ydCgndml0ZScpO1xuICAgICAgICAgICAgY29uc3Qgc291cmNlQ29kZSA9IGF3YWl0IHJlYWRGaWxlKHNvdXJjZUZpbGVQYXRoLCAndXRmLTgnKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRyYW5zZm9ybVdpdGhFc2J1aWxkKHNvdXJjZUNvZGUsIHNvdXJjZUZpbGVQYXRoLCB7XG4gICAgICAgICAgICAgIGZvcm1hdDogJ2VzbScsXG4gICAgICAgICAgICAgIHNvdXJjZW1hcDogZmFsc2UsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gQ3JlYXRlIGEgdGVtcG9yYXJ5IGZpbGUgd2l0aCB0aGUgY29tcGlsZWQgY29kZVxuICAgICAgICAgICAgY29uc3QgdGVtcEZpbGVQYXRoID0gc291cmNlRmlsZVBhdGgucmVwbGFjZSgvXFwuKHRzeD98bXRzKSQvLCAnLnRlbXAuanMnKTtcbiAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZSh0ZW1wRmlsZVBhdGgsIHJlc3VsdC5jb2RlKTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgY29uc3QgbW9kdWxlID0gYXdhaXQgaW1wb3J0KHRlbXBGaWxlUGF0aCk7XG4gICAgICAgICAgICAgIHRlbXBvcmFyeVJlZmVyZW5jZXM/LnNldChtb2R1bGVSZWYsIG1vZHVsZSk7XG4gICAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgYW4gZXhwb3J0IG5hbWUsIG1ha2Ugc3VyZSBpdCdzIGEga2V5XG4gICAgICAgICAgICAgIGlmIChleHBvcnROYW1lICYmICEoZXhwb3J0TmFtZSBpbiBtb2R1bGUpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBvcnQgJHtleHBvcnROYW1lfSBub3QgZm91bmQgaW4gbW9kdWxlICR7bm9ybWFsaXplZFZhbHVlfWApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiBtb2R1bGU7XG4gICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAvLyBDbGVhbiB1cCB0ZW1wb3JhcnkgZmlsZVxuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHVubGluayh0ZW1wRmlsZVBhdGgpO1xuICAgICAgICAgICAgICB9IGNhdGNoIChjbGVhbnVwRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAvLyBJZ25vcmUgY2xlYW51cCBlcnJvcnNcbiAgICAgICAgICAgICAgICBpZiAodXNlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiW2J1aWxkTG9hZGVyXSBGYWlsZWQgdG8gY2xlYW51cCB0ZW1wIGZpbGU6XCIsIGNsZWFudXBFcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEZvciBvdGhlciBmaWxlcywgcmVhZCBhcyB0ZXh0XG4gICAgICAgICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZEZpbGUoc291cmNlRmlsZVBhdGgsICd1dGYtOCcpO1xuICAgICAgICAgICAgcmV0dXJuIHsgZGVmYXVsdDogY29udGVudCB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zdCBlcnIgPSB0b0Vycm9yKGVycm9yKTtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXCJFcnJvciBsb2FkaW5nIHNvdXJjZSBmaWxlOlwiLCBlcnIpO1xuICAgICAgICAgIHRlbXBvcmFyeVJlZmVyZW5jZXM/LmRlbGV0ZShtb2R1bGVSZWYpO1xuICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1vZHVsZSAke25vcm1hbGl6ZWRWYWx1ZX0gbm90IGZvdW5kIGR1cmluZyBidWlsZGApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBlbXB0eUV4cG9ydHMgPSB7XG4gICAgICAgIGVycm9yOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IgOiBuZXcgRXJyb3IoU3RyaW5nKGVycm9yKSksXG4gICAgICAgIGlkOiBpZCxcbiAgICAgIH07XG4gICAgICB0ZW1wb3JhcnlSZWZlcmVuY2VzPy5kZWxldGUobW9kdWxlUmVmKTtcbiAgICAgIHJldHVybiBl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
@@ -66,4 +66,4 @@ async function fileWriter(stream, fileType, options) {
66
66
  }
67
67
 
68
68
  export { fileWriter };
69
- //# sourceMappingURL=fileWriter.js.map
69
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZVdyaXRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3JlYWN0LXN0YXRpYy9maWxlV3JpdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZmlsZVdyaXRlci50c1xuICpcbiAqIFBVUlBPU0U6IEhhbmRsZXMgZmlsZSB3cml0aW5nIG9wZXJhdGlvbnMgZm9yIFJlYWN0IFNlcnZlciBDb21wb25lbnRzIChSU0MpIHJlbmRlcmluZ1xuICpcbiAqIFRoaXMgbW9kdWxlOlxuICogMS4gV3JpdGVzIEhUTUwgYW5kIFJTQyBmaWxlcyB0byB0aGUgZmlsZXN5c3RlbSB1c2luZyBzdHJlYW1zXG4gKiAyLiBDcmVhdGVzIG5lY2Vzc2FyeSBkaXJlY3Rvcmllc1xuICogMy4gSGFuZGxlcyBmaWxlIHBhdGggY29uc3RydWN0aW9uXG4gKiA0LiBQcm92aWRlcyBhIGNsZWFuIGludGVyZmFjZSBmb3IgZmlsZSBvcGVyYXRpb25zXG4gKi9cbmltcG9ydCB0eXBlIHsgRmlsZVdyaXRlck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBjcmVhdGVXcml0ZVN0cmVhbSB9IGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyBta2RpciB9IGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCI7XG5pbXBvcnQgeyB0eXBlIFJlYWRhYmxlLCBUcmFuc2Zvcm0gfSBmcm9tIFwibm9kZTpzdHJlYW1cIjtcblxuLyoqXG4gKiBXcml0ZXMgSFRNTCBhbmQgUlNDIGZpbGVzIGZvciBhIHJvdXRlIHVzaW5nIHN0cmVhbXNcbiAqXG4gKiBAcGFyYW0gc3RyZWFtIFRoZSByZWFkYWJsZSBzdHJlYW0gY29udGFpbmluZyB0aGUgY29udGVudFxuICogQHBhcmFtIGZpbGVUeXBlIFRoZSB0eXBlIG9mIGZpbGUgYmVpbmcgd3JpdHRlbiAoXCJodG1sXCIgb3IgXCJyc2NcIilcbiAqIEBwYXJhbSBvcHRpb25zIFRoZSBmaWxlIHdyaXRlciBvcHRpb25zXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGlzIHdyaXR0ZW5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZpbGVXcml0ZXIoXG4gIHN0cmVhbTogUmVhZGFibGUsXG4gIGZpbGVUeXBlOiBcImh0bWxcIiB8IFwicnNjXCIsXG4gIG9wdGlvbnM6IEZpbGVXcml0ZXJPcHRpb25zXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBvbkV2ZW50IH0gPSBvcHRpb25zO1xuXG4gIC8vIFZhbGlkYXRlIHN0cmVhbVxuICBpZiAoIXN0cmVhbSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyBzdHJlYW0gZm9yIHJvdXRlOiAke29wdGlvbnMucm91dGV9YCk7XG4gIH1cblxuICBjb25zdCBvdXRwdXRQYXRoID0gam9pbihcbiAgICBvcHRpb25zLmJ1aWxkLm91dERpcixcbiAgICBvcHRpb25zLmJ1aWxkLnN0YXRpYyxcbiAgICBvcHRpb25zLnJvdXRlLFxuICAgIGZpbGVUeXBlID09PSBcImh0bWxcIiA/IG9wdGlvbnMuYnVpbGQuaHRtbE91dHB1dFBhdGggOiBvcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGhcbiAgKTtcblxuICAvLyBFbnN1cmUgZGlyZWN0b3J5IGV4aXN0c1xuICB0cnkge1xuICAgIGF3YWl0IG1rZGlyKGpvaW4ob3B0aW9ucy5idWlsZC5vdXREaXIsIG9wdGlvbnMuYnVpbGQuc3RhdGljLCBvcHRpb25zLnJvdXRlKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihgRXJyb3IgY3JlYXRpbmcgZGlyZWN0b3J5OiAke2Vycm9yfWApO1xuICB9XG5cbiAgLy8gQ3JlYXRlIHdyaXRlIHN0cmVhbVxuICBjb25zdCB3cml0ZVN0cmVhbSA9IGNyZWF0ZVdyaXRlU3RyZWFtKG91dHB1dFBhdGgpO1xuXG4gIC8vIENyZWF0ZSB0cmFuc2Zvcm0gc3RyZWFtIHRvIGNhcHR1cmUgY29udGVudFxuICBjb25zdCBjb250ZW50Q2FwdHVyZSA9IG5ldyBUcmFuc2Zvcm0oe1xuICAgIHRyYW5zZm9ybShjaHVuaywgX2VuY29kaW5nLCBjYWxsYmFjaykge1xuICAgICAgLy8gUGFzcyB0aHJvdWdoIHRoZSBjaHVua1xuICAgICAgY2FsbGJhY2sobnVsbCwgY2h1bmspO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gQ29sbGVjdCBjaHVua3MgZm9yIGNvbnRlbnRcbiAgY29uc3QgY2h1bmtzOiBCdWZmZXJbXSA9IFtdO1xuICBjb250ZW50Q2FwdHVyZS5vbignZGF0YScsIChjaHVuaykgPT4ge1xuICAgIGNodW5rcy5wdXNoKEJ1ZmZlci5mcm9tKGNodW5rKSk7XG4gIH0pO1xuXG4gIC8vIEVtaXQgZmlsZS53cml0ZSBldmVudHMgaWYgb25FdmVudCBpcyBwcm92aWRlZFxuICBpZiAob25FdmVudCkge1xuICAgIG9uRXZlbnQoe1xuICAgICAgdHlwZTogXCJmaWxlLndyaXRlXCIsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGZpbGVUeXBlOiBmaWxlVHlwZSxcbiAgICAgICAgcm91dGU6IG9wdGlvbnMucm91dGUsXG4gICAgICAgIHN0cmVhbTogc3RyZWFtLFxuICAgICAgICBwYXRoOiBvdXRwdXRQYXRoLFxuICAgICAgICBvbkNvbXBsZXRlOiBhc3luYyAoKSA9PiB7fSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvLyBQaXBlIHRoZSBzdHJlYW0gdGhyb3VnaCBjb250ZW50IGNhcHR1cmUgdG8gZmlsZVxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHN0cmVhbVxuICAgICAgLnBpcGUoY29udGVudENhcHR1cmUpXG4gICAgICAucGlwZSh3cml0ZVN0cmVhbSlcbiAgICAgIC5vbihcImZpbmlzaFwiLCAoKSA9PiB7XG4gICAgICAgIC8vIENvbWJpbmUgY2h1bmtzIGludG8gY29udGVudFxuICAgICAgICBjb25zdCBjb250ZW50ID0gQnVmZmVyLmNvbmNhdChjaHVua3MpLnRvU3RyaW5nKCd1dGYtOCcpO1xuICAgICAgICBcbiAgICAgICAgLy8gRW1pdCBmaWxlLndyaXRlLmRvbmUgZXZlbnQgd2l0aCBjb250ZW50XG4gICAgICAgIGlmIChvbkV2ZW50KSB7XG4gICAgICAgICAgb25FdmVudCh7XG4gICAgICAgICAgICB0eXBlOiBcImZpbGUud3JpdGUuZG9uZVwiLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICBmaWxlVHlwZTogZmlsZVR5cGUsXG4gICAgICAgICAgICAgIHJvdXRlOiBvcHRpb25zLnJvdXRlLFxuICAgICAgICAgICAgICBjb250ZW50OiBjb250ZW50XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH0pXG4gICAgICAub24oXCJlcnJvclwiLCByZWplY3QpO1xuICB9KTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBeUJBLGVBQXNCLFVBQUEsQ0FDcEIsTUFDQSxFQUFBLFFBQUEsRUFDQSxPQUNlLEVBQUE7QUFDZixFQUFNLE1BQUEsRUFBRSxTQUFZLEdBQUEsT0FBQTtBQUdwQixFQUFBLElBQUksQ0FBQyxNQUFRLEVBQUE7QUFDWCxJQUFBLE1BQU0sSUFBSSxLQUFBLENBQU0sQ0FBNkIsMEJBQUEsRUFBQSxPQUFBLENBQVEsS0FBSyxDQUFFLENBQUEsQ0FBQTtBQUFBO0FBRzlELEVBQUEsTUFBTSxVQUFhLEdBQUEsSUFBQTtBQUFBLElBQ2pCLFFBQVEsS0FBTSxDQUFBLE1BQUE7QUFBQSxJQUNkLFFBQVEsS0FBTSxDQUFBLE1BQUE7QUFBQSxJQUNkLE9BQVEsQ0FBQSxLQUFBO0FBQUEsSUFDUixhQUFhLE1BQVMsR0FBQSxPQUFBLENBQVEsS0FBTSxDQUFBLGNBQUEsR0FBaUIsUUFBUSxLQUFNLENBQUE7QUFBQSxHQUNyRTtBQUdBLEVBQUksSUFBQTtBQUNGLElBQUEsTUFBTSxLQUFNLENBQUEsSUFBQSxDQUFLLE9BQVEsQ0FBQSxLQUFBLENBQU0sUUFBUSxPQUFRLENBQUEsS0FBQSxDQUFNLE1BQVEsRUFBQSxPQUFBLENBQVEsS0FBSyxDQUFBLEVBQUcsRUFBRSxTQUFBLEVBQVcsTUFBTSxDQUFBO0FBQUEsV0FDekYsS0FBTyxFQUFBO0FBQ2QsSUFBUSxPQUFBLENBQUEsS0FBQSxDQUFNLENBQTZCLDBCQUFBLEVBQUEsS0FBSyxDQUFFLENBQUEsQ0FBQTtBQUFBO0FBSXBELEVBQU0sTUFBQSxXQUFBLEdBQWMsa0JBQWtCLFVBQVUsQ0FBQTtBQUdoRCxFQUFNLE1BQUEsY0FBQSxHQUFpQixJQUFJLFNBQVUsQ0FBQTtBQUFBLElBQ25DLFNBQUEsQ0FBVSxLQUFPLEVBQUEsU0FBQSxFQUFXLFFBQVUsRUFBQTtBQUVwQyxNQUFBLFFBQUEsQ0FBUyxNQUFNLEtBQUssQ0FBQTtBQUFBO0FBQ3RCLEdBQ0QsQ0FBQTtBQUdELEVBQUEsTUFBTSxTQUFtQixFQUFDO0FBQzFCLEVBQWUsY0FBQSxDQUFBLEVBQUEsQ0FBRyxNQUFRLEVBQUEsQ0FBQyxLQUFVLEtBQUE7QUFDbkMsSUFBQSxNQUFBLENBQU8sSUFBSyxDQUFBLE1BQUEsQ0FBTyxJQUFLLENBQUEsS0FBSyxDQUFDLENBQUE7QUFBQSxHQUMvQixDQUFBO0FBR0QsRUFBQSxJQUFJLE9BQVMsRUFBQTtBQUNYLElBQVEsT0FBQSxDQUFBO0FBQUEsTUFDTixJQUFNLEVBQUEsWUFBQTtBQUFBLE1BQ04sSUFBTSxFQUFBO0FBQUEsUUFDSixRQUFBO0FBQUEsUUFDQSxPQUFPLE9BQVEsQ0FBQSxLQUFBO0FBQUEsUUFDZixNQUFBO0FBQUEsUUFDQSxJQUFNLEVBQUEsVUFBQTtBQUFBLFFBQ04sWUFBWSxZQUFZO0FBQUE7QUFBQztBQUMzQixLQUNELENBQUE7QUFBQTtBQUlILEVBQUEsT0FBTyxJQUFJLE9BQUEsQ0FBUSxDQUFDLE9BQUEsRUFBUyxNQUFXLEtBQUE7QUFDdEMsSUFDRyxNQUFBLENBQUEsSUFBQSxDQUFLLGNBQWMsQ0FDbkIsQ0FBQSxJQUFBLENBQUssV0FBVyxDQUNoQixDQUFBLEVBQUEsQ0FBRyxVQUFVLE1BQU07QUFFbEIsTUFBQSxNQUFNLFVBQVUsTUFBTyxDQUFBLE1BQUEsQ0FBTyxNQUFNLENBQUEsQ0FBRSxTQUFTLE9BQU8sQ0FBQTtBQUd0RCxNQUFBLElBQUksT0FBUyxFQUFBO0FBQ1gsUUFBUSxPQUFBLENBQUE7QUFBQSxVQUNOLElBQU0sRUFBQSxpQkFBQTtBQUFBLFVBQ04sSUFBTSxFQUFBO0FBQUEsWUFDSixRQUFBO0FBQUEsWUFDQSxPQUFPLE9BQVEsQ0FBQSxLQUFBO0FBQUEsWUFDZjtBQUFBO0FBQ0YsU0FDRCxDQUFBO0FBQUE7QUFFSCxNQUFRLE9BQUEsRUFBQTtBQUFBLEtBQ1QsQ0FBQSxDQUNBLEVBQUcsQ0FBQSxPQUFBLEVBQVMsTUFBTSxDQUFBO0FBQUEsR0FDdEIsQ0FBQTtBQUNIOzs7OyJ9