vite-plugin-react-server 1.2.0-alpha.0 → 1.2.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 (1165) hide show
  1. package/README.md +211 -59
  2. package/dist/client.d.ts +4 -0
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +4 -4
  5. package/dist/index.d.ts +3 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +7 -10
  8. package/dist/package.json +102 -27
  9. package/dist/plugin/bundle/bundles.d.ts +11 -0
  10. package/dist/plugin/bundle/bundles.d.ts.map +1 -0
  11. package/dist/plugin/bundle/bundles.js +11 -0
  12. package/dist/plugin/bundle/deferredStaticGeneration.d.ts +31 -0
  13. package/dist/plugin/bundle/deferredStaticGeneration.d.ts.map +1 -0
  14. package/dist/plugin/bundle/deferredStaticGeneration.js +44 -0
  15. package/dist/plugin/bundle/manifests.d.ts +20 -0
  16. package/dist/plugin/bundle/manifests.d.ts.map +1 -0
  17. package/dist/plugin/bundle/manifests.js +54 -0
  18. package/dist/plugin/components/css.d.ts +2 -5
  19. package/dist/plugin/components/css.d.ts.map +1 -1
  20. package/dist/plugin/components/css.js +7 -9
  21. package/dist/plugin/components/html.d.ts +2 -3
  22. package/dist/plugin/components/html.d.ts.map +1 -1
  23. package/dist/plugin/components/html.js +3 -3
  24. package/dist/plugin/components/index.d.ts +1 -1
  25. package/dist/plugin/components/index.d.ts.map +1 -1
  26. package/dist/plugin/components/root.d.ts.map +1 -1
  27. package/dist/plugin/components/root.js +4 -4
  28. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.d.ts.map +1 -1
  29. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js +6 -6
  30. package/dist/plugin/config/autoDiscover/pageAndPropFiles.d.ts.map +1 -1
  31. package/dist/plugin/config/autoDiscover/pageAndPropFiles.js +1 -1
  32. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts +6 -5
  33. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
  34. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +34 -51
  35. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts +5 -1
  36. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts.map +1 -1
  37. package/dist/plugin/config/autoDiscover/resolveBuildPages.js +124 -52
  38. package/dist/plugin/config/createHandlerOptions.client.d.ts +4 -0
  39. package/dist/plugin/config/createHandlerOptions.client.d.ts.map +1 -0
  40. package/dist/plugin/config/createHandlerOptions.client.js +293 -0
  41. package/dist/plugin/config/createHandlerOptions.d.ts +4 -0
  42. package/dist/plugin/config/createHandlerOptions.d.ts.map +1 -0
  43. package/dist/plugin/config/createHandlerOptions.js +13 -0
  44. package/dist/plugin/config/createHandlerOptions.server.d.ts +4 -0
  45. package/dist/plugin/config/createHandlerOptions.server.d.ts.map +1 -0
  46. package/dist/plugin/config/createHandlerOptions.server.js +344 -0
  47. package/dist/plugin/config/createHandlerOptions.types.d.ts +114 -0
  48. package/dist/plugin/config/createHandlerOptions.types.d.ts.map +1 -0
  49. package/dist/plugin/config/createModuleID.d.ts +1 -1
  50. package/dist/plugin/config/createModuleID.d.ts.map +1 -1
  51. package/dist/plugin/config/createModuleID.js +121 -8
  52. package/dist/plugin/config/defaults.d.ts +152 -17
  53. package/dist/plugin/config/defaults.d.ts.map +1 -1
  54. package/dist/plugin/config/defaults.js +69 -25
  55. package/dist/plugin/config/envPrefixFromConfig.d.ts +3 -0
  56. package/dist/plugin/config/envPrefixFromConfig.d.ts.map +1 -0
  57. package/dist/plugin/config/envPrefixFromConfig.js +8 -0
  58. package/dist/plugin/config/getCondition.d.ts +54 -3
  59. package/dist/plugin/config/getCondition.d.ts.map +1 -1
  60. package/dist/plugin/config/getCondition.js +158 -6
  61. package/dist/plugin/{getNodeEnv.d.ts → config/getNodeEnv.d.ts} +1 -1
  62. package/dist/plugin/config/getNodeEnv.d.ts.map +1 -0
  63. package/dist/plugin/config/getNodeEnv.js +17 -0
  64. package/dist/plugin/config/index.d.ts +43 -1
  65. package/dist/plugin/config/index.d.ts.map +1 -1
  66. package/dist/plugin/config/index.js +9 -4
  67. package/dist/plugin/config/resolveDirectiveMatcher.d.ts +6 -6
  68. package/dist/plugin/config/resolveDirectiveMatcher.d.ts.map +1 -1
  69. package/dist/plugin/config/resolveDirectiveMatcher.js +7 -23
  70. package/dist/plugin/config/resolveEnv.d.ts +1 -1
  71. package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
  72. package/dist/plugin/config/resolveEnv.js +32 -28
  73. package/dist/plugin/config/resolveOptions.d.ts +3 -2
  74. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  75. package/dist/plugin/config/resolveOptions.js +195 -61
  76. package/dist/plugin/config/resolvePages.d.ts +1 -1
  77. package/dist/plugin/config/resolvePages.d.ts.map +1 -1
  78. package/dist/plugin/config/resolvePages.js +1 -1
  79. package/dist/plugin/config/resolvePatternWithValues.d.ts.map +1 -1
  80. package/dist/plugin/config/resolvePatternWithValues.js +7 -26
  81. package/dist/plugin/config/resolveUrlOption.d.ts +1 -1
  82. package/dist/plugin/config/resolveUrlOption.d.ts.map +1 -1
  83. package/dist/plugin/config/resolveUrlOption.js +2 -2
  84. package/dist/plugin/config/resolveUserConfig.d.ts +5 -3
  85. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  86. package/dist/plugin/config/resolveUserConfig.js +221 -70
  87. package/dist/plugin/config/stashedOptionsState.d.ts +66 -0
  88. package/dist/plugin/config/stashedOptionsState.d.ts.map +1 -0
  89. package/dist/plugin/config/stashedOptionsState.js +25 -0
  90. package/dist/plugin/dev-server/cleanupServerAction.client.d.ts +6 -0
  91. package/dist/plugin/dev-server/cleanupServerAction.client.d.ts.map +1 -0
  92. package/dist/plugin/dev-server/cleanupServerAction.client.js +28 -0
  93. package/dist/plugin/dev-server/cleanupServerAction.d.ts +2 -0
  94. package/dist/plugin/dev-server/cleanupServerAction.d.ts.map +1 -0
  95. package/dist/plugin/dev-server/cleanupServerAction.js +4 -0
  96. package/dist/plugin/dev-server/cleanupServerAction.server.d.ts +8 -0
  97. package/dist/plugin/dev-server/cleanupServerAction.server.d.ts.map +1 -0
  98. package/dist/plugin/dev-server/cleanupServerAction.server.js +15 -0
  99. package/dist/plugin/dev-server/configureReactServer.client.d.ts +7 -0
  100. package/dist/plugin/dev-server/configureReactServer.client.d.ts.map +1 -0
  101. package/dist/plugin/dev-server/configureReactServer.client.js +85 -0
  102. package/dist/plugin/dev-server/configureReactServer.d.ts +2 -0
  103. package/dist/plugin/dev-server/configureReactServer.d.ts.map +1 -0
  104. package/dist/plugin/dev-server/configureReactServer.js +13 -0
  105. package/dist/plugin/dev-server/configureReactServer.server.d.ts +3 -0
  106. package/dist/plugin/dev-server/configureReactServer.server.d.ts.map +1 -0
  107. package/dist/plugin/dev-server/configureReactServer.server.js +444 -0
  108. package/dist/plugin/dev-server/configureRequestHandler.client.d.ts +13 -0
  109. package/dist/plugin/dev-server/configureRequestHandler.client.d.ts.map +1 -0
  110. package/dist/plugin/dev-server/configureRequestHandler.client.js +307 -0
  111. package/dist/plugin/dev-server/configureRequestHandler.d.ts +2 -0
  112. package/dist/plugin/dev-server/configureRequestHandler.d.ts.map +1 -0
  113. package/dist/plugin/dev-server/configureRequestHandler.js +4 -0
  114. package/dist/plugin/dev-server/configureRequestHandler.server.d.ts +6 -0
  115. package/dist/plugin/dev-server/configureRequestHandler.server.d.ts.map +1 -0
  116. package/dist/plugin/dev-server/configureRequestHandler.server.js +44 -0
  117. package/dist/plugin/dev-server/handleServerAction.client.d.ts +11 -0
  118. package/dist/plugin/dev-server/handleServerAction.client.d.ts.map +1 -0
  119. package/dist/plugin/dev-server/handleServerAction.client.js +97 -0
  120. package/dist/plugin/dev-server/handleServerAction.d.ts +2 -0
  121. package/dist/plugin/dev-server/handleServerAction.d.ts.map +1 -0
  122. package/dist/plugin/dev-server/handleServerAction.js +13 -0
  123. package/dist/plugin/dev-server/handleServerAction.server.d.ts +3 -0
  124. package/dist/plugin/dev-server/handleServerAction.server.d.ts.map +1 -0
  125. package/dist/plugin/dev-server/handleServerAction.server.js +15 -0
  126. package/dist/plugin/dev-server/index.client.d.ts +7 -0
  127. package/dist/plugin/dev-server/index.client.d.ts.map +1 -0
  128. package/dist/plugin/dev-server/index.client.js +11 -0
  129. package/dist/plugin/dev-server/index.d.ts +4 -0
  130. package/dist/plugin/dev-server/index.d.ts.map +1 -0
  131. package/dist/plugin/dev-server/index.js +19 -0
  132. package/dist/plugin/dev-server/index.server.d.ts +7 -0
  133. package/dist/plugin/dev-server/index.server.d.ts.map +1 -0
  134. package/dist/plugin/dev-server/index.server.js +11 -0
  135. package/dist/plugin/dev-server/plugin.client.d.ts +7 -0
  136. package/dist/plugin/dev-server/plugin.client.d.ts.map +1 -0
  137. package/dist/plugin/dev-server/plugin.client.js +122 -0
  138. package/dist/plugin/dev-server/plugin.server.d.ts +8 -0
  139. package/dist/plugin/dev-server/plugin.server.d.ts.map +1 -0
  140. package/dist/plugin/dev-server/plugin.server.js +108 -0
  141. package/dist/plugin/dev-server/restartWorker.client.d.ts +3 -0
  142. package/dist/plugin/dev-server/restartWorker.client.d.ts.map +1 -0
  143. package/dist/plugin/dev-server/restartWorker.client.js +131 -0
  144. package/dist/plugin/dev-server/restartWorker.d.ts +2 -0
  145. package/dist/plugin/dev-server/restartWorker.d.ts.map +1 -0
  146. package/dist/plugin/dev-server/restartWorker.js +4 -0
  147. package/dist/plugin/dev-server/restartWorker.server.d.ts +3 -0
  148. package/dist/plugin/dev-server/restartWorker.server.d.ts.map +1 -0
  149. package/dist/plugin/dev-server/restartWorker.server.js +88 -0
  150. package/dist/plugin/dev-server/types.d.ts +38 -0
  151. package/dist/plugin/dev-server/types.d.ts.map +1 -0
  152. package/dist/plugin/dev-server/virtualRscHmrPlugin.d.ts +7 -0
  153. package/dist/plugin/dev-server/virtualRscHmrPlugin.d.ts.map +1 -0
  154. package/dist/plugin/dev-server/virtualRscHmrPlugin.js +80 -0
  155. package/dist/plugin/env/createConfigEnv.d.ts +13 -0
  156. package/dist/plugin/env/createConfigEnv.d.ts.map +1 -0
  157. package/dist/plugin/env/createConfigEnv.js +43 -0
  158. package/dist/plugin/env/createEnvPlugin.d.ts +3 -0
  159. package/dist/plugin/env/createEnvPlugin.d.ts.map +1 -0
  160. package/dist/plugin/env/createEnvPlugin.js +59 -0
  161. package/dist/plugin/env/getArgValue.d.ts +8 -0
  162. package/dist/plugin/env/getArgValue.d.ts.map +1 -0
  163. package/dist/plugin/env/getArgValue.js +52 -0
  164. package/dist/plugin/env/getEnvKey.d.ts +46 -0
  165. package/dist/plugin/env/getEnvKey.d.ts.map +1 -0
  166. package/dist/plugin/env/getEnvKey.js +32 -0
  167. package/dist/plugin/env/index.d.ts +5 -0
  168. package/dist/plugin/env/index.d.ts.map +1 -1
  169. package/dist/plugin/env/index.js +7 -0
  170. package/dist/plugin/env/plugin.client.d.ts +2 -0
  171. package/dist/plugin/env/plugin.client.d.ts.map +1 -0
  172. package/dist/plugin/env/plugin.client.js +2 -0
  173. package/dist/plugin/env/plugin.d.ts +4 -34
  174. package/dist/plugin/env/plugin.d.ts.map +1 -1
  175. package/dist/plugin/env/plugin.js +27 -102
  176. package/dist/plugin/env/plugin.server.d.ts +2 -0
  177. package/dist/plugin/env/plugin.server.d.ts.map +1 -0
  178. package/dist/plugin/env/plugin.server.js +2 -0
  179. package/dist/plugin/env/userConfigEnv.d.ts +2 -0
  180. package/dist/plugin/env/userConfigEnv.d.ts.map +1 -0
  181. package/dist/plugin/env/userConfigEnv.js +12 -0
  182. package/dist/plugin/environments/createBuildEventPlugin.d.ts +4 -0
  183. package/dist/plugin/environments/createBuildEventPlugin.d.ts.map +1 -0
  184. package/dist/plugin/environments/createBuildEventPlugin.js +100 -0
  185. package/dist/plugin/environments/createEnvironmentPlugin.d.ts +19 -0
  186. package/dist/plugin/environments/createEnvironmentPlugin.d.ts.map +1 -0
  187. package/dist/plugin/environments/createEnvironmentPlugin.js +257 -0
  188. package/dist/plugin/environments/hashCoordination.d.ts +14 -0
  189. package/dist/plugin/environments/hashCoordination.d.ts.map +1 -0
  190. package/dist/plugin/environments/hashCoordination.js +35 -0
  191. package/dist/plugin/environments/resolveEnvironmentConfig.d.ts +41 -0
  192. package/dist/plugin/environments/resolveEnvironmentConfig.d.ts.map +1 -0
  193. package/dist/plugin/environments/resolveEnvironmentConfig.js +232 -0
  194. package/dist/plugin/error/assertPanic.d.ts +2 -0
  195. package/dist/plugin/error/assertPanic.d.ts.map +1 -0
  196. package/dist/plugin/error/assertPanic.js +15 -0
  197. package/dist/plugin/error/handleError.d.ts +9 -0
  198. package/dist/plugin/error/handleError.d.ts.map +1 -0
  199. package/dist/plugin/error/handleError.js +51 -0
  200. package/dist/plugin/error/index.d.ts +3 -0
  201. package/dist/plugin/error/index.d.ts.map +1 -1
  202. package/dist/plugin/error/index.js +4 -1
  203. package/dist/plugin/error/logError.d.ts +6 -2
  204. package/dist/plugin/error/logError.d.ts.map +1 -1
  205. package/dist/plugin/error/logError.js +35 -34
  206. package/dist/plugin/error/panicThresholdHandler.d.ts +27 -0
  207. package/dist/plugin/error/panicThresholdHandler.d.ts.map +1 -0
  208. package/dist/plugin/error/panicThresholdHandler.js +13 -0
  209. package/dist/plugin/error/serializeError.d.ts +6 -2
  210. package/dist/plugin/error/serializeError.d.ts.map +1 -1
  211. package/dist/plugin/error/serializeError.js +30 -10
  212. package/dist/plugin/error/serializeErrorInfo.d.ts +5 -0
  213. package/dist/plugin/error/serializeErrorInfo.d.ts.map +1 -0
  214. package/dist/plugin/error/serializeErrorInfo.js +19 -0
  215. package/dist/plugin/error/setupGlobalErrorHandler.d.ts +4 -0
  216. package/dist/plugin/error/setupGlobalErrorHandler.d.ts.map +1 -0
  217. package/dist/plugin/error/setupGlobalErrorHandler.js +52 -0
  218. package/dist/plugin/error/shouldPanic.d.ts +6 -0
  219. package/dist/plugin/error/shouldPanic.d.ts.map +1 -0
  220. package/dist/plugin/error/shouldPanic.js +15 -0
  221. package/dist/plugin/error/toError.d.ts +5 -1
  222. package/dist/plugin/error/toError.d.ts.map +1 -1
  223. package/dist/plugin/error/toError.js +43 -19
  224. package/dist/plugin/error/types.d.ts +28 -0
  225. package/dist/plugin/error/types.d.ts.map +1 -0
  226. package/dist/plugin/helpers/collectManifestCss.d.ts.map +1 -1
  227. package/dist/plugin/helpers/collectManifestCss.js +19 -5
  228. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +3 -3
  229. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
  230. package/dist/plugin/helpers/collectViteModuleGraphCss.js +64 -3
  231. package/dist/plugin/helpers/createBufferedRscStream.d.ts +52 -0
  232. package/dist/plugin/helpers/createBufferedRscStream.d.ts.map +1 -0
  233. package/dist/plugin/helpers/createBufferedRscStream.js +147 -0
  234. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
  235. package/dist/plugin/helpers/createCssProps.js +15 -25
  236. package/dist/plugin/helpers/createElementWithReact.d.ts +9 -0
  237. package/dist/plugin/helpers/createElementWithReact.d.ts.map +1 -0
  238. package/dist/plugin/helpers/createElementWithReact.js +87 -0
  239. package/dist/plugin/helpers/createPatternMatcher.d.ts +24 -0
  240. package/dist/plugin/helpers/createPatternMatcher.d.ts.map +1 -0
  241. package/dist/plugin/helpers/createPatternMatcher.js +50 -0
  242. package/dist/plugin/helpers/createRscRenderHelpers.d.ts +16 -0
  243. package/dist/plugin/helpers/createRscRenderHelpers.d.ts.map +1 -0
  244. package/dist/plugin/helpers/createRscRenderHelpers.js +60 -0
  245. package/dist/plugin/helpers/createSafePageComponent.d.ts +36 -0
  246. package/dist/plugin/helpers/createSafePageComponent.d.ts.map +1 -0
  247. package/dist/plugin/helpers/createSafePageComponent.js +50 -0
  248. package/dist/plugin/helpers/createSerializableHandlerOptions.d.ts +60 -0
  249. package/dist/plugin/helpers/createSerializableHandlerOptions.d.ts.map +1 -0
  250. package/dist/plugin/helpers/createSerializableHandlerOptions.js +94 -0
  251. package/dist/plugin/helpers/createSharedLoader.d.ts +44 -0
  252. package/dist/plugin/helpers/createSharedLoader.d.ts.map +1 -0
  253. package/dist/plugin/helpers/createSharedLoader.js +137 -0
  254. package/dist/plugin/helpers/createUnifiedCssProcessor.d.ts +70 -0
  255. package/dist/plugin/helpers/createUnifiedCssProcessor.d.ts.map +1 -0
  256. package/dist/plugin/helpers/createUnifiedCssProcessor.js +89 -0
  257. package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
  258. package/dist/plugin/helpers/getBundleManifest.js +2 -3
  259. package/dist/plugin/helpers/getRouteFiles.d.ts +2 -2
  260. package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
  261. package/dist/plugin/helpers/getRouteFiles.js +67 -36
  262. package/dist/plugin/helpers/handleServerAction.client.d.ts +29 -0
  263. package/dist/plugin/helpers/handleServerAction.client.d.ts.map +1 -0
  264. package/dist/plugin/helpers/handleServerAction.client.js +93 -0
  265. package/dist/plugin/helpers/handleServerAction.d.ts +2 -34
  266. package/dist/plugin/helpers/handleServerAction.d.ts.map +1 -1
  267. package/dist/plugin/helpers/handleServerAction.js +15 -44
  268. package/dist/plugin/helpers/handleServerAction.server.d.ts +25 -0
  269. package/dist/plugin/helpers/handleServerAction.server.d.ts.map +1 -0
  270. package/dist/plugin/helpers/handleServerAction.server.js +80 -0
  271. package/dist/plugin/helpers/handleServerActionHelper.d.ts +61 -0
  272. package/dist/plugin/helpers/handleServerActionHelper.d.ts.map +1 -0
  273. package/dist/plugin/helpers/handleServerActionHelper.js +183 -0
  274. package/dist/plugin/helpers/headlessStreamReuseHandler.d.ts +12 -0
  275. package/dist/plugin/helpers/headlessStreamReuseHandler.d.ts.map +1 -0
  276. package/dist/plugin/helpers/headlessStreamReuseHandler.js +29 -0
  277. package/dist/plugin/helpers/headlessStreamState.d.ts +71 -0
  278. package/dist/plugin/helpers/headlessStreamState.d.ts.map +1 -0
  279. package/dist/plugin/helpers/headlessStreamState.js +81 -0
  280. package/dist/plugin/helpers/hydrateUserOptions.d.ts +1 -1
  281. package/dist/plugin/helpers/hydrateUserOptions.d.ts.map +1 -1
  282. package/dist/plugin/helpers/hydrateUserOptions.js +2 -2
  283. package/dist/plugin/helpers/index.d.ts +12 -5
  284. package/dist/plugin/helpers/index.d.ts.map +1 -1
  285. package/dist/plugin/helpers/index.js +18 -4
  286. package/dist/plugin/helpers/logRenderStart.d.ts +17 -0
  287. package/dist/plugin/helpers/logRenderStart.d.ts.map +1 -0
  288. package/dist/plugin/helpers/logRenderStart.js +13 -0
  289. package/dist/plugin/helpers/mergeMessageWithDefaults.d.ts +90 -0
  290. package/dist/plugin/helpers/mergeMessageWithDefaults.d.ts.map +1 -0
  291. package/dist/plugin/helpers/mergeMessageWithDefaults.js +67 -0
  292. package/dist/plugin/helpers/pipeToResponse.d.ts +19 -0
  293. package/dist/plugin/helpers/pipeToResponse.d.ts.map +1 -0
  294. package/dist/plugin/helpers/pipeToResponse.js +55 -0
  295. package/dist/plugin/helpers/requestInfo.d.ts +6 -4
  296. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  297. package/dist/plugin/helpers/requestInfo.js +48 -30
  298. package/dist/plugin/helpers/resolveComponents.client.d.ts +34 -0
  299. package/dist/plugin/helpers/resolveComponents.client.d.ts.map +1 -0
  300. package/dist/plugin/helpers/resolveComponents.client.js +126 -0
  301. package/dist/plugin/helpers/resolveModuleFromManifest.d.ts +36 -0
  302. package/dist/plugin/helpers/resolveModuleFromManifest.d.ts.map +1 -0
  303. package/dist/plugin/helpers/resolveModuleFromManifest.js +60 -0
  304. package/dist/plugin/helpers/resolvePageAndProps.d.ts +23 -2
  305. package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
  306. package/dist/plugin/helpers/resolvePageAndProps.js +150 -9
  307. package/dist/plugin/helpers/resolveRenderUrl.d.ts +11 -0
  308. package/dist/plugin/helpers/resolveRenderUrl.d.ts.map +1 -0
  309. package/dist/plugin/helpers/resolveRenderUrl.js +19 -0
  310. package/dist/plugin/helpers/resolveStreamElements.client.d.ts +14 -0
  311. package/dist/plugin/helpers/resolveStreamElements.client.d.ts.map +1 -0
  312. package/dist/plugin/helpers/resolveStreamElements.client.js +36 -0
  313. package/dist/plugin/helpers/resolveStreamElements.d.ts +3 -0
  314. package/dist/plugin/helpers/resolveStreamElements.d.ts.map +1 -0
  315. package/dist/plugin/helpers/resolveStreamElements.js +13 -0
  316. package/dist/plugin/helpers/resolveStreamElements.server.d.ts +15 -0
  317. package/dist/plugin/helpers/resolveStreamElements.server.d.ts.map +1 -0
  318. package/dist/plugin/helpers/resolveStreamElements.server.js +35 -0
  319. package/dist/plugin/helpers/resolveStreamElements.types.d.ts +22 -0
  320. package/dist/plugin/helpers/resolveStreamElements.types.d.ts.map +1 -0
  321. package/dist/plugin/helpers/resolveStreamElements.types.js +1 -0
  322. package/dist/plugin/helpers/resolveVirtualAndNodeModules.d.ts +15 -0
  323. package/dist/plugin/helpers/resolveVirtualAndNodeModules.d.ts.map +1 -0
  324. package/dist/plugin/helpers/resolveVirtualAndNodeModules.js +45 -0
  325. package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.d.ts +18 -0
  326. package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.d.ts.map +1 -0
  327. package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.js +17 -0
  328. package/dist/plugin/helpers/serializeUserOptions.d.ts +2 -2
  329. package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
  330. package/dist/plugin/helpers/serializeUserOptions.js +28 -13
  331. package/dist/plugin/helpers/tryManifest.d.ts +2 -2
  332. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
  333. package/dist/plugin/helpers/tryManifest.js +12 -6
  334. package/dist/plugin/helpers/validateRscRenderMessage.d.ts +9 -0
  335. package/dist/plugin/helpers/validateRscRenderMessage.d.ts.map +1 -0
  336. package/dist/plugin/helpers/validateRscRenderMessage.js +13 -0
  337. package/dist/plugin/helpers/workerCleanup.d.ts +29 -0
  338. package/dist/plugin/helpers/workerCleanup.d.ts.map +1 -0
  339. package/dist/plugin/helpers/workerCleanup.js +28 -0
  340. package/dist/plugin/helpers/workerManager.d.ts +5 -0
  341. package/dist/plugin/helpers/workerManager.d.ts.map +1 -0
  342. package/dist/plugin/helpers/workerManager.js +18 -0
  343. package/dist/plugin/index.d.ts +4 -1
  344. package/dist/plugin/index.d.ts.map +1 -1
  345. package/dist/plugin/index.js +5 -2
  346. package/dist/plugin/loader/createDefaultLoader.d.ts +1 -1
  347. package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -1
  348. package/dist/plugin/loader/createDefaultLoader.js +2 -22
  349. package/dist/plugin/loader/createTransformer.d.ts.map +1 -1
  350. package/dist/plugin/loader/createTransformer.js +157 -32
  351. package/dist/plugin/loader/directives/analyzeDirectives.d.ts +3 -2
  352. package/dist/plugin/loader/directives/analyzeDirectives.d.ts.map +1 -1
  353. package/dist/plugin/loader/directives/analyzeDirectives.js +53 -26
  354. package/dist/plugin/loader/directives/analyzeModule.d.ts +2 -6
  355. package/dist/plugin/loader/directives/analyzeModule.d.ts.map +1 -1
  356. package/dist/plugin/loader/directives/analyzeModule.js +32 -11
  357. package/dist/plugin/loader/env-loader.d.ts +3 -2
  358. package/dist/plugin/loader/env-loader.d.ts.map +1 -1
  359. package/dist/plugin/loader/env-loader.js +32 -9
  360. package/dist/plugin/loader/parse.d.ts +3 -2
  361. package/dist/plugin/loader/parse.d.ts.map +1 -1
  362. package/dist/plugin/loader/parse.js +2 -2
  363. package/dist/plugin/loader/react-loader.d.ts +4 -4
  364. package/dist/plugin/loader/react-loader.d.ts.map +1 -1
  365. package/dist/plugin/loader/react-loader.js +101 -73
  366. package/dist/plugin/loader/transformClientModule.d.ts +4 -5
  367. package/dist/plugin/loader/transformClientModule.d.ts.map +1 -1
  368. package/dist/plugin/loader/transformClientModule.js +63 -18
  369. package/dist/plugin/loader/transformModule.d.ts.map +1 -1
  370. package/dist/plugin/loader/transformModule.js +82 -14
  371. package/dist/plugin/loader/transformModuleIfNeeded.d.ts +6 -1
  372. package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -1
  373. package/dist/plugin/loader/transformModuleIfNeeded.js +10 -18
  374. package/dist/plugin/loader/transformNonServerEnvironment.d.ts +10 -0
  375. package/dist/plugin/loader/transformNonServerEnvironment.d.ts.map +1 -0
  376. package/dist/plugin/loader/transformNonServerEnvironment.js +74 -0
  377. package/dist/plugin/loader/transformServerModule.d.ts +2 -3
  378. package/dist/plugin/loader/transformServerModule.d.ts.map +1 -1
  379. package/dist/plugin/loader/transformServerModule.js +80 -22
  380. package/dist/plugin/loader/transformWithAcornLoose.js +1 -3
  381. package/dist/plugin/loader/types.d.ts +37 -32
  382. package/dist/plugin/loader/types.d.ts.map +1 -1
  383. package/dist/plugin/metrics/collectStreamMetrics.d.ts +1 -2
  384. package/dist/plugin/metrics/collectStreamMetrics.d.ts.map +1 -1
  385. package/dist/plugin/metrics/collectStreamMetrics.js +1 -1
  386. package/dist/plugin/metrics/convertStreamMetrics.d.ts +3 -0
  387. package/dist/plugin/metrics/convertStreamMetrics.d.ts.map +1 -0
  388. package/dist/plugin/metrics/convertStreamMetrics.js +26 -0
  389. package/dist/plugin/metrics/createModuleResolutionMetrics.d.ts +12 -0
  390. package/dist/plugin/metrics/createModuleResolutionMetrics.d.ts.map +1 -0
  391. package/dist/plugin/metrics/createModuleResolutionMetrics.js +32 -0
  392. package/dist/plugin/metrics/createRenderMetrics.d.ts +2 -2
  393. package/dist/plugin/metrics/createRenderMetrics.d.ts.map +1 -1
  394. package/dist/plugin/metrics/createRenderMetrics.js +45 -13
  395. package/dist/plugin/metrics/createStreamMetrics.d.ts +2 -2
  396. package/dist/plugin/metrics/createStreamMetrics.d.ts.map +1 -1
  397. package/dist/plugin/metrics/createStreamMetrics.js +15 -4
  398. package/dist/plugin/metrics/createWorkerStartupMetrics.d.ts +12 -0
  399. package/dist/plugin/metrics/createWorkerStartupMetrics.d.ts.map +1 -0
  400. package/dist/plugin/metrics/createWorkerStartupMetrics.js +14 -0
  401. package/dist/plugin/metrics/formatMetrics.d.ts +0 -6
  402. package/dist/plugin/metrics/formatMetrics.d.ts.map +1 -1
  403. package/dist/plugin/metrics/formatMetrics.js +7 -29
  404. package/dist/plugin/metrics/index.d.ts +6 -3
  405. package/dist/plugin/metrics/index.d.ts.map +1 -1
  406. package/dist/plugin/metrics/index.js +6 -3
  407. package/dist/plugin/metrics/metricWatcher.d.ts +9 -0
  408. package/dist/plugin/metrics/metricWatcher.d.ts.map +1 -0
  409. package/dist/plugin/metrics/metricWatcher.js +141 -0
  410. package/dist/plugin/metrics/types.d.ts +72 -6
  411. package/dist/plugin/metrics/types.d.ts.map +1 -1
  412. package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts +3 -0
  413. package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts.map +1 -0
  414. package/dist/plugin/orchestrator/createPluginOrchestrator.client.js +36 -0
  415. package/dist/plugin/orchestrator/createPluginOrchestrator.d.ts +19 -0
  416. package/dist/plugin/orchestrator/createPluginOrchestrator.d.ts.map +1 -0
  417. package/dist/plugin/orchestrator/createPluginOrchestrator.js +13 -0
  418. package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts +3 -0
  419. package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts.map +1 -0
  420. package/dist/plugin/orchestrator/createPluginOrchestrator.server.js +44 -0
  421. package/dist/plugin/orchestrator/index.d.ts +2 -0
  422. package/dist/plugin/orchestrator/index.d.ts.map +1 -0
  423. package/dist/plugin/orchestrator/index.js +1 -0
  424. package/dist/plugin/orchestrator/plugin.js +7 -0
  425. package/dist/plugin/orchestrator/resolveStrategy.d.ts +19 -0
  426. package/dist/plugin/orchestrator/resolveStrategy.d.ts.map +1 -0
  427. package/dist/plugin/orchestrator/resolveStrategy.js +35 -0
  428. package/dist/plugin/orchestrator/types.d.ts +21 -0
  429. package/dist/plugin/orchestrator/types.d.ts.map +1 -0
  430. package/dist/plugin/orchestrator/types.js +1 -0
  431. package/dist/plugin/plugin.client.d.ts +11 -19
  432. package/dist/plugin/plugin.client.d.ts.map +1 -1
  433. package/dist/plugin/plugin.client.js +28 -29
  434. package/dist/plugin/plugin.d.ts +2 -1
  435. package/dist/plugin/plugin.d.ts.map +1 -1
  436. package/dist/plugin/plugin.js +4 -2
  437. package/dist/plugin/plugin.server.d.ts +13 -11
  438. package/dist/plugin/plugin.server.d.ts.map +1 -1
  439. package/dist/plugin/plugin.server.js +19 -22
  440. package/dist/plugin/process-env.d.ts +19 -6
  441. package/dist/plugin/process-env.d.ts.map +1 -1
  442. package/dist/plugin/process-env.js +17 -0
  443. package/dist/plugin/react-client/createMessageHandlers.d.ts +2 -10
  444. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  445. package/dist/plugin/react-client/createMessageHandlers.js +42 -69
  446. package/dist/plugin/react-client/index.client.d.ts +2 -0
  447. package/dist/plugin/react-client/index.client.d.ts.map +1 -0
  448. package/dist/plugin/react-client/index.client.js +1 -0
  449. package/dist/plugin/react-client/index.d.ts +3 -4
  450. package/dist/plugin/react-client/index.d.ts.map +1 -1
  451. package/dist/plugin/react-client/index.js +10 -5
  452. package/dist/plugin/react-client/index.server.d.ts +2 -0
  453. package/dist/plugin/react-client/index.server.d.ts.map +1 -0
  454. package/dist/plugin/react-client/index.server.js +1 -0
  455. package/dist/plugin/react-client/plugin.client.d.ts +15 -0
  456. package/dist/plugin/react-client/plugin.client.d.ts.map +1 -0
  457. package/dist/plugin/react-client/plugin.client.js +98 -0
  458. package/dist/plugin/react-client/plugin.d.ts +2 -5
  459. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  460. package/dist/plugin/react-client/plugin.js +6 -121
  461. package/dist/plugin/react-client/plugin.server.d.ts +15 -0
  462. package/dist/plugin/react-client/plugin.server.d.ts.map +1 -0
  463. package/dist/plugin/react-client/plugin.server.js +93 -0
  464. package/dist/plugin/react-client/types.d.ts +60 -0
  465. package/dist/plugin/react-client/types.d.ts.map +1 -0
  466. package/dist/plugin/react-client/types.js +1 -0
  467. package/dist/plugin/react-server/index.client.d.ts +2 -0
  468. package/dist/plugin/react-server/index.client.d.ts.map +1 -0
  469. package/dist/plugin/react-server/index.client.js +1 -0
  470. package/dist/plugin/react-server/index.d.ts +3 -1
  471. package/dist/plugin/react-server/index.d.ts.map +1 -1
  472. package/dist/plugin/react-server/index.js +13 -1
  473. package/dist/plugin/react-server/index.server.d.ts +2 -0
  474. package/dist/plugin/react-server/index.server.d.ts.map +1 -0
  475. package/dist/plugin/react-server/index.server.js +1 -0
  476. package/dist/plugin/react-server/plugin.client.d.ts +3 -0
  477. package/dist/plugin/react-server/plugin.client.d.ts.map +1 -0
  478. package/dist/plugin/react-server/plugin.client.js +40 -0
  479. package/dist/plugin/react-server/plugin.d.ts +2 -5
  480. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  481. package/dist/plugin/react-server/plugin.js +5 -141
  482. package/dist/plugin/react-server/plugin.server.d.ts +3 -0
  483. package/dist/plugin/react-server/plugin.server.d.ts.map +1 -0
  484. package/dist/plugin/react-server/plugin.server.js +18 -0
  485. package/dist/plugin/react-server/types.d.ts +11 -0
  486. package/dist/plugin/react-server/types.d.ts.map +1 -0
  487. package/dist/plugin/react-server/types.js +1 -0
  488. package/dist/plugin/react-static/collectHtmlContent.d.ts +15 -0
  489. package/dist/plugin/react-static/collectHtmlContent.d.ts.map +1 -0
  490. package/dist/plugin/react-static/collectHtmlContent.js +104 -0
  491. package/dist/plugin/react-static/collectRscContent.d.ts +10 -15
  492. package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
  493. package/dist/plugin/react-static/collectRscContent.js +71 -20
  494. package/dist/plugin/react-static/configurePreviewServer.d.ts +1 -7
  495. package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
  496. package/dist/plugin/react-static/configurePreviewServer.js +15 -29
  497. package/dist/plugin/react-static/createBuildLoader.client.d.ts +2 -0
  498. package/dist/plugin/react-static/createBuildLoader.client.d.ts.map +1 -0
  499. package/dist/plugin/react-static/createBuildLoader.client.js +7 -0
  500. package/dist/plugin/react-static/createBuildLoader.d.ts +3 -19
  501. package/dist/plugin/react-static/createBuildLoader.d.ts.map +1 -1
  502. package/dist/plugin/react-static/createBuildLoader.js +4 -226
  503. package/dist/plugin/react-static/createBuildLoader.server.d.ts +9 -0
  504. package/dist/plugin/react-static/createBuildLoader.server.d.ts.map +1 -0
  505. package/dist/plugin/react-static/createBuildLoader.server.js +253 -0
  506. package/dist/plugin/react-static/fileWriter.d.ts +3 -14
  507. package/dist/plugin/react-static/fileWriter.d.ts.map +1 -1
  508. package/dist/plugin/react-static/fileWriter.js +233 -42
  509. package/dist/plugin/react-static/index.client.d.ts +7 -0
  510. package/dist/plugin/react-static/index.client.d.ts.map +1 -0
  511. package/dist/plugin/react-static/index.client.js +6 -0
  512. package/dist/plugin/react-static/index.d.ts +7 -1
  513. package/dist/plugin/react-static/index.d.ts.map +1 -1
  514. package/dist/plugin/react-static/index.js +19 -1
  515. package/dist/plugin/react-static/index.server.d.ts +7 -0
  516. package/dist/plugin/react-static/index.server.d.ts.map +1 -0
  517. package/dist/plugin/react-static/index.server.js +6 -0
  518. package/dist/plugin/react-static/plugin.client.d.ts +32 -0
  519. package/dist/plugin/react-static/plugin.client.d.ts.map +1 -0
  520. package/dist/plugin/react-static/plugin.client.js +801 -0
  521. package/dist/plugin/react-static/plugin.d.ts +3 -20
  522. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  523. package/dist/plugin/react-static/plugin.js +4 -365
  524. package/dist/plugin/react-static/plugin.server.d.ts +18 -0
  525. package/dist/plugin/react-static/plugin.server.d.ts.map +1 -0
  526. package/dist/plugin/react-static/plugin.server.js +615 -0
  527. package/dist/plugin/react-static/processCssFilesForPages.d.ts +16 -0
  528. package/dist/plugin/react-static/processCssFilesForPages.d.ts.map +1 -0
  529. package/dist/plugin/react-static/processCssFilesForPages.js +94 -0
  530. package/dist/plugin/react-static/renderPage.client.d.ts +49 -0
  531. package/dist/plugin/react-static/renderPage.client.d.ts.map +1 -0
  532. package/dist/plugin/react-static/renderPage.client.js +555 -0
  533. package/dist/plugin/react-static/renderPage.d.ts +3 -4
  534. package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
  535. package/dist/plugin/react-static/renderPage.js +6 -131
  536. package/dist/plugin/react-static/renderPage.server.d.ts +24 -0
  537. package/dist/plugin/react-static/renderPage.server.d.ts.map +1 -0
  538. package/dist/plugin/react-static/renderPage.server.js +533 -0
  539. package/dist/plugin/react-static/renderPages.d.ts +11 -3
  540. package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
  541. package/dist/plugin/react-static/renderPages.js +533 -92
  542. package/dist/plugin/react-static/renderPagesBatched.d.ts +6 -0
  543. package/dist/plugin/react-static/renderPagesBatched.d.ts.map +1 -0
  544. package/dist/plugin/react-static/renderPagesBatched.js +195 -0
  545. package/dist/plugin/react-static/renderStreams.d.ts +2 -5
  546. package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
  547. package/dist/plugin/react-static/renderStreams.js +36 -24
  548. package/dist/plugin/react-static/rscToHtmlStream.client.d.ts +12 -0
  549. package/dist/plugin/react-static/rscToHtmlStream.client.d.ts.map +1 -0
  550. package/dist/plugin/react-static/rscToHtmlStream.client.js +32 -0
  551. package/dist/plugin/react-static/rscToHtmlStream.d.ts +3 -21
  552. package/dist/plugin/react-static/rscToHtmlStream.d.ts.map +1 -1
  553. package/dist/plugin/react-static/rscToHtmlStream.js +4 -53
  554. package/dist/plugin/react-static/rscToHtmlStream.server.d.ts +3 -0
  555. package/dist/plugin/react-static/rscToHtmlStream.server.d.ts.map +1 -0
  556. package/dist/plugin/react-static/rscToHtmlStream.server.js +39 -0
  557. package/dist/plugin/react-static/temporaryReferences.client.d.ts +2 -0
  558. package/dist/plugin/react-static/temporaryReferences.client.d.ts.map +1 -0
  559. package/dist/plugin/react-static/temporaryReferences.client.js +1 -0
  560. package/dist/plugin/react-static/temporaryReferences.d.ts +2 -1
  561. package/dist/plugin/react-static/temporaryReferences.d.ts.map +1 -1
  562. package/dist/plugin/react-static/temporaryReferences.js +6 -10
  563. package/dist/plugin/react-static/temporaryReferences.server.d.ts +2 -0
  564. package/dist/plugin/react-static/temporaryReferences.server.d.ts.map +1 -0
  565. package/dist/plugin/react-static/temporaryReferences.server.js +3 -0
  566. package/dist/plugin/react-static/types.d.ts +83 -9
  567. package/dist/plugin/react-static/types.d.ts.map +1 -1
  568. package/dist/plugin/root.d.ts.map +1 -1
  569. package/dist/plugin/root.js +2 -5
  570. package/dist/plugin/stream/MessagePortReadable.d.ts +22 -0
  571. package/dist/plugin/stream/MessagePortReadable.d.ts.map +1 -0
  572. package/dist/plugin/stream/MessagePortReadable.js +101 -0
  573. package/dist/plugin/stream/MessagePortWritable.d.ts +22 -0
  574. package/dist/plugin/stream/MessagePortWritable.d.ts.map +1 -0
  575. package/dist/plugin/stream/MessagePortWritable.js +85 -0
  576. package/dist/plugin/stream/client.js +12 -0
  577. package/dist/plugin/stream/createFromNodeStream.client.d.ts +9 -0
  578. package/dist/plugin/stream/createFromNodeStream.client.d.ts.map +1 -0
  579. package/dist/plugin/stream/createFromNodeStream.client.js +76 -0
  580. package/dist/plugin/stream/createFromNodeStream.d.ts +3 -0
  581. package/dist/plugin/stream/createFromNodeStream.d.ts.map +1 -0
  582. package/dist/plugin/stream/createFromNodeStream.js +6 -0
  583. package/dist/plugin/stream/createFromNodeStream.server.d.ts +9 -0
  584. package/dist/plugin/stream/createFromNodeStream.server.d.ts.map +1 -0
  585. package/dist/plugin/stream/createFromNodeStream.server.js +27 -0
  586. package/dist/plugin/stream/createFromNodeStream.types.d.ts +37 -0
  587. package/dist/plugin/stream/createFromNodeStream.types.d.ts.map +1 -0
  588. package/dist/plugin/stream/createFromNodeStream.types.js +1 -0
  589. package/dist/plugin/stream/createHtmlStream.client.d.ts +3 -0
  590. package/dist/plugin/stream/createHtmlStream.client.d.ts.map +1 -0
  591. package/dist/plugin/stream/createHtmlStream.client.js +42 -0
  592. package/dist/plugin/stream/createHtmlStream.d.ts +3 -0
  593. package/dist/plugin/stream/createHtmlStream.d.ts.map +1 -0
  594. package/dist/plugin/stream/createHtmlStream.js +6 -0
  595. package/dist/plugin/stream/createHtmlStream.server.d.ts +6 -0
  596. package/dist/plugin/stream/createHtmlStream.server.d.ts.map +1 -0
  597. package/dist/plugin/stream/createHtmlStream.server.js +224 -0
  598. package/dist/plugin/stream/createHtmlStream.types.d.ts +43 -0
  599. package/dist/plugin/stream/createHtmlStream.types.d.ts.map +1 -0
  600. package/dist/plugin/stream/createHtmlStream.types.js +1 -0
  601. package/dist/plugin/stream/createMainThreadHandlers.d.ts +11 -0
  602. package/dist/plugin/stream/createMainThreadHandlers.d.ts.map +1 -0
  603. package/dist/plugin/stream/createMainThreadHandlers.js +32 -0
  604. package/dist/plugin/stream/createMessageChannels.d.ts +29 -0
  605. package/dist/plugin/stream/createMessageChannels.d.ts.map +1 -0
  606. package/dist/plugin/stream/createMessageChannels.js +35 -0
  607. package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.d.ts +10 -0
  608. package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.d.ts.map +1 -0
  609. package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.js +188 -0
  610. package/dist/plugin/stream/createRenderToPipeableStreamHandler.d.ts +3 -0
  611. package/dist/plugin/stream/createRenderToPipeableStreamHandler.d.ts.map +1 -0
  612. package/dist/plugin/stream/createRenderToPipeableStreamHandler.js +6 -0
  613. package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.d.ts +45 -0
  614. package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.d.ts.map +1 -0
  615. package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.js +249 -0
  616. package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.d.ts +17 -0
  617. package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.d.ts.map +1 -0
  618. package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.js +1 -0
  619. package/dist/plugin/stream/createRscStream.client.d.ts +18 -0
  620. package/dist/plugin/stream/createRscStream.client.d.ts.map +1 -0
  621. package/dist/plugin/stream/createRscStream.client.js +79 -0
  622. package/dist/plugin/stream/createRscStream.d.ts +2 -0
  623. package/dist/plugin/stream/createRscStream.d.ts.map +1 -0
  624. package/dist/plugin/stream/createRscStream.js +13 -0
  625. package/dist/plugin/stream/createRscStream.server.d.ts +46 -0
  626. package/dist/plugin/stream/createRscStream.server.d.ts.map +1 -0
  627. package/dist/plugin/stream/createRscStream.server.js +113 -0
  628. package/dist/plugin/stream/createRscStream.types.d.ts +134 -0
  629. package/dist/plugin/stream/createRscStream.types.d.ts.map +1 -0
  630. package/dist/plugin/stream/createRscStream.types.js +1 -0
  631. package/dist/plugin/stream/createRscStream.utils.d.ts +54 -0
  632. package/dist/plugin/stream/createRscStream.utils.d.ts.map +1 -0
  633. package/dist/plugin/stream/createRscStream.utils.js +91 -0
  634. package/dist/plugin/stream/createRscWorkerStream.d.ts +41 -0
  635. package/dist/plugin/stream/createRscWorkerStream.d.ts.map +1 -0
  636. package/dist/plugin/stream/createRscWorkerStream.js +120 -0
  637. package/dist/plugin/stream/handleRscStream.client.d.ts +17 -0
  638. package/dist/plugin/stream/handleRscStream.client.d.ts.map +1 -0
  639. package/dist/plugin/stream/handleRscStream.client.js +163 -0
  640. package/dist/plugin/stream/handleRscStream.d.ts +3 -0
  641. package/dist/plugin/stream/handleRscStream.d.ts.map +1 -0
  642. package/dist/plugin/stream/handleRscStream.js +13 -0
  643. package/dist/plugin/stream/handleRscStream.server.d.ts +6 -0
  644. package/dist/plugin/stream/handleRscStream.server.d.ts.map +1 -0
  645. package/dist/plugin/stream/handleRscStream.server.js +70 -0
  646. package/dist/plugin/stream/handleRscStream.types.d.ts +28 -0
  647. package/dist/plugin/stream/handleRscStream.types.d.ts.map +1 -0
  648. package/dist/plugin/stream/handleRscStream.types.js +1 -0
  649. package/dist/plugin/stream/index.client.d.ts +7 -0
  650. package/dist/plugin/stream/index.client.d.ts.map +1 -0
  651. package/dist/plugin/stream/index.client.js +11 -0
  652. package/dist/plugin/stream/index.d.ts +95 -0
  653. package/dist/plugin/stream/index.d.ts.map +1 -0
  654. package/dist/plugin/stream/index.js +21 -0
  655. package/dist/plugin/stream/index.server.d.ts +7 -0
  656. package/dist/plugin/stream/index.server.d.ts.map +1 -0
  657. package/dist/plugin/stream/index.server.js +11 -0
  658. package/dist/plugin/stream/renderRscStream.server.d.ts +21 -0
  659. package/dist/plugin/stream/renderRscStream.server.d.ts.map +1 -0
  660. package/dist/plugin/stream/renderRscStream.server.js +153 -0
  661. package/dist/plugin/stream/renderRscStream.types.d.ts +36 -0
  662. package/dist/plugin/stream/renderRscStream.types.d.ts.map +1 -0
  663. package/dist/plugin/stream/renderRscStream.types.js +1 -0
  664. package/dist/plugin/stream/renderRscStreamHelpers.server.d.ts +9 -0
  665. package/dist/plugin/stream/renderRscStreamHelpers.server.d.ts.map +1 -0
  666. package/dist/plugin/stream/renderRscStreamHelpers.server.js +63 -0
  667. package/dist/plugin/stream/server.js +12 -0
  668. package/dist/plugin/stream/setMaxListeners.d.ts +16 -0
  669. package/dist/plugin/stream/setMaxListeners.d.ts.map +1 -0
  670. package/dist/plugin/stream/setMaxListeners.js +16 -0
  671. package/dist/plugin/transformer/createTransformerPlugin.d.ts +18 -0
  672. package/dist/plugin/transformer/createTransformerPlugin.d.ts.map +1 -0
  673. package/dist/plugin/transformer/createTransformerPlugin.js +269 -0
  674. package/dist/plugin/transformer/plugin.client.d.ts +3 -0
  675. package/dist/plugin/transformer/plugin.client.d.ts.map +1 -0
  676. package/dist/plugin/transformer/plugin.client.js +5 -0
  677. package/dist/plugin/transformer/plugin.server.d.ts +2 -29
  678. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
  679. package/dist/plugin/transformer/plugin.server.js +5 -104
  680. package/dist/plugin/transformer/transformerEnv.d.ts +15 -0
  681. package/dist/plugin/transformer/transformerEnv.d.ts.map +1 -0
  682. package/dist/plugin/transformer/transformerEnv.js +26 -0
  683. package/dist/plugin/types.d.ts +368 -143
  684. package/dist/plugin/types.d.ts.map +1 -1
  685. package/dist/plugin/types.js +1 -2
  686. package/dist/plugin/utils/callServer.d.ts +1 -1
  687. package/dist/plugin/utils/callServer.d.ts.map +1 -1
  688. package/dist/plugin/utils/createCallServer.d.ts +1 -1
  689. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  690. package/dist/plugin/utils/createCallServer.js +4 -9
  691. package/dist/plugin/utils/createReactFetcher.d.ts +43 -2
  692. package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -1
  693. package/dist/plugin/utils/createReactFetcher.js +14 -3
  694. package/dist/plugin/utils/envUrls.node.d.ts.map +1 -1
  695. package/dist/plugin/utils/envUrls.node.js +11 -11
  696. package/dist/plugin/utils/index.client.d.ts +8 -0
  697. package/dist/plugin/utils/index.client.d.ts.map +1 -0
  698. package/dist/plugin/utils/index.client.js +8 -0
  699. package/dist/plugin/utils/index.d.ts +1 -0
  700. package/dist/plugin/utils/index.d.ts.map +1 -1
  701. package/dist/plugin/utils/index.js +3 -2
  702. package/dist/plugin/utils/index.server.d.ts +6 -0
  703. package/dist/plugin/utils/index.server.d.ts.map +1 -0
  704. package/dist/plugin/utils/index.server.js +8 -0
  705. package/dist/plugin/utils/routeToURL.d.ts.map +1 -1
  706. package/dist/plugin/utils/routeToURL.js +4 -4
  707. package/dist/plugin/utils/urls.d.ts +1 -1
  708. package/dist/plugin/utils/urls.d.ts.map +1 -1
  709. package/dist/plugin/utils/urls.js +29 -8
  710. package/dist/plugin/utils/useRscHmr.d.ts +39 -0
  711. package/dist/plugin/utils/useRscHmr.d.ts.map +1 -0
  712. package/dist/plugin/utils/useRscHmr.js +27 -0
  713. package/dist/plugin/vendor/vendor.client.d.ts +3 -3
  714. package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
  715. package/dist/plugin/vendor/vendor.client.js +7 -6
  716. package/dist/plugin/vendor/vendor.d.ts +1 -1
  717. package/dist/plugin/vendor/vendor.d.ts.map +1 -1
  718. package/dist/plugin/vendor/vendor.js +4 -6
  719. package/dist/plugin/vendor/vendor.server.d.ts +4 -2
  720. package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
  721. package/dist/plugin/vendor/vendor.server.js +2 -3
  722. package/dist/plugin/vendor/vendor.static.d.ts +4 -0
  723. package/dist/plugin/vendor/vendor.static.d.ts.map +1 -0
  724. package/dist/plugin/vendor/vendor.static.js +15 -0
  725. package/dist/plugin/worker/createWorker.d.ts +16 -5
  726. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  727. package/dist/plugin/worker/createWorker.js +207 -30
  728. package/dist/plugin/worker/html/handleHtmlRender.d.ts +14 -0
  729. package/dist/plugin/worker/html/handleHtmlRender.d.ts.map +1 -0
  730. package/dist/plugin/worker/html/handleHtmlRender.js +190 -0
  731. package/dist/plugin/worker/html/html-worker.development.js +9 -26
  732. package/dist/plugin/worker/html/html-worker.js +4 -4
  733. package/dist/plugin/worker/html/html-worker.production.js +7 -13
  734. package/dist/plugin/worker/html/index.d.ts +1 -1
  735. package/dist/plugin/worker/html/index.js +6 -2
  736. package/dist/plugin/worker/html/messageHandler.d.ts +1 -1
  737. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  738. package/dist/plugin/worker/html/messageHandler.js +291 -104
  739. package/dist/plugin/worker/html/state.d.ts +10 -0
  740. package/dist/plugin/worker/html/state.d.ts.map +1 -0
  741. package/dist/plugin/worker/html/state.js +28 -0
  742. package/dist/plugin/worker/html/types.d.ts +52 -23
  743. package/dist/plugin/worker/html/types.d.ts.map +1 -1
  744. package/dist/plugin/worker/index.js +1 -1
  745. package/dist/plugin/worker/rsc/createBundleLoader.d.ts +22 -0
  746. package/dist/plugin/worker/rsc/createBundleLoader.d.ts.map +1 -0
  747. package/dist/plugin/worker/rsc/createBundleLoader.js +55 -0
  748. package/dist/plugin/worker/rsc/createRscWorkerLoader.d.ts +23 -0
  749. package/dist/plugin/worker/rsc/createRscWorkerLoader.d.ts.map +1 -0
  750. package/dist/plugin/worker/rsc/createRscWorkerLoader.js +79 -0
  751. package/dist/plugin/worker/rsc/handleRscRender.d.ts +32 -0
  752. package/dist/plugin/worker/rsc/handleRscRender.d.ts.map +1 -0
  753. package/dist/plugin/worker/rsc/handleRscRender.js +349 -0
  754. package/dist/plugin/worker/rsc/handlers.d.ts +8 -2
  755. package/dist/plugin/worker/rsc/handlers.d.ts.map +1 -1
  756. package/dist/plugin/worker/rsc/handlers.js +137 -200
  757. package/dist/plugin/worker/rsc/hydrateRscRenderMessage.d.ts +118 -0
  758. package/dist/plugin/worker/rsc/hydrateRscRenderMessage.d.ts.map +1 -0
  759. package/dist/plugin/worker/rsc/hydrateRscRenderMessage.js +61 -0
  760. package/dist/plugin/worker/rsc/messageHandler.d.ts +1 -1
  761. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  762. package/dist/plugin/worker/rsc/messageHandler.js +927 -47
  763. package/dist/plugin/worker/rsc/rsc-worker.development.js +153 -148
  764. package/dist/plugin/worker/rsc/rsc-worker.js +2 -3
  765. package/dist/plugin/worker/rsc/rsc-worker.production.js +240 -15
  766. package/dist/plugin/worker/rsc/state.d.ts +6 -0
  767. package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
  768. package/dist/plugin/worker/rsc/state.js +37 -5
  769. package/dist/plugin/worker/rsc/types.d.ts +73 -12
  770. package/dist/plugin/worker/rsc/types.d.ts.map +1 -1
  771. package/dist/plugin/worker/rsc/workerUserOptions.d.ts +10 -0
  772. package/dist/plugin/worker/rsc/workerUserOptions.d.ts.map +1 -0
  773. package/dist/plugin/worker/rsc/workerUserOptions.js +39 -0
  774. package/dist/plugin/worker/sendMessage.d.ts +2 -3
  775. package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
  776. package/dist/plugin/worker/sendMessage.js +24 -38
  777. package/dist/plugin/worker/types.d.ts +42 -56
  778. package/dist/plugin/worker/types.d.ts.map +1 -1
  779. package/dist/plugin/worker/worker-handlers.server.d.ts +2 -0
  780. package/dist/plugin/worker/worker-handlers.server.d.ts.map +1 -0
  781. package/dist/plugin/worker/worker-handlers.server.js +1 -0
  782. package/dist/server.d.ts +5 -1
  783. package/dist/server.d.ts.map +1 -1
  784. package/dist/server.js +4 -6
  785. package/dist/static.js +11 -0
  786. package/dist/tsconfig.tsbuildinfo +1 -1
  787. package/package.json +102 -27
  788. package/plugin/bundle/bundles.ts +22 -0
  789. package/plugin/bundle/deferredStaticGeneration.ts +48 -0
  790. package/plugin/bundle/manifests.ts +73 -0
  791. package/plugin/components/css.tsx +3 -7
  792. package/plugin/components/html.tsx +4 -3
  793. package/plugin/components/index.ts +1 -1
  794. package/plugin/components/root.tsx +3 -3
  795. package/plugin/config/autoDiscover/createGlobAutoDiscover.ts +10 -5
  796. package/plugin/config/autoDiscover/pageAndPropFiles.ts +4 -2
  797. package/plugin/config/autoDiscover/resolveAutoDiscover.ts +64 -79
  798. package/plugin/config/autoDiscover/resolveBuildPages.ts +181 -69
  799. package/plugin/config/createHandlerOptions.client.ts +403 -0
  800. package/plugin/config/createHandlerOptions.server.ts +477 -0
  801. package/plugin/config/createHandlerOptions.ts +46 -0
  802. package/plugin/config/createHandlerOptions.types.ts +119 -0
  803. package/plugin/config/createModuleID.ts +201 -10
  804. package/plugin/config/defaults.tsx +108 -55
  805. package/plugin/config/envPrefixFromConfig.ts +10 -0
  806. package/plugin/config/getCondition.ts +267 -10
  807. package/plugin/{getNodeEnv.ts → config/getNodeEnv.ts} +4 -2
  808. package/plugin/config/index.ts +60 -1
  809. package/plugin/config/resolveDirectiveMatcher.ts +13 -34
  810. package/plugin/config/resolveEnv.ts +37 -33
  811. package/plugin/config/resolveOptions.ts +375 -154
  812. package/plugin/config/resolvePages.ts +1 -1
  813. package/plugin/config/resolvePatternWithValues.ts +6 -26
  814. package/plugin/config/resolveUrlOption.ts +2 -2
  815. package/plugin/config/resolveUserConfig.ts +359 -124
  816. package/plugin/config/stashedOptionsState.ts +144 -0
  817. package/plugin/dev-server/cleanupServerAction.client.ts +47 -0
  818. package/plugin/dev-server/cleanupServerAction.server.ts +24 -0
  819. package/plugin/dev-server/cleanupServerAction.ts +8 -0
  820. package/plugin/dev-server/configureReactServer.client.ts +107 -0
  821. package/plugin/dev-server/configureReactServer.server.ts +558 -0
  822. package/plugin/dev-server/configureReactServer.ts +8 -0
  823. package/plugin/dev-server/configureRequestHandler.client.ts +382 -0
  824. package/plugin/dev-server/configureRequestHandler.server.ts +46 -0
  825. package/plugin/dev-server/configureRequestHandler.ts +8 -0
  826. package/plugin/dev-server/handleServerAction.client.ts +126 -0
  827. package/plugin/dev-server/handleServerAction.server.ts +10 -0
  828. package/plugin/dev-server/handleServerAction.ts +8 -0
  829. package/plugin/dev-server/index.client.ts +6 -0
  830. package/plugin/dev-server/index.server.ts +6 -0
  831. package/plugin/dev-server/index.ts +20 -0
  832. package/plugin/dev-server/plugin.client.ts +160 -0
  833. package/plugin/dev-server/plugin.server.ts +133 -0
  834. package/plugin/dev-server/restartWorker.client.ts +155 -0
  835. package/plugin/dev-server/restartWorker.server.ts +108 -0
  836. package/plugin/dev-server/restartWorker.ts +8 -0
  837. package/plugin/dev-server/types.ts +78 -0
  838. package/plugin/dev-server/virtualRscHmrPlugin.ts +82 -0
  839. package/plugin/env/createConfigEnv.ts +59 -0
  840. package/plugin/env/createEnvPlugin.ts +76 -0
  841. package/plugin/env/getArgValue.ts +56 -0
  842. package/plugin/env/getEnvKey.ts +80 -0
  843. package/plugin/env/index.ts +14 -1
  844. package/plugin/env/plugin.client.ts +3 -0
  845. package/plugin/env/plugin.server.ts +4 -0
  846. package/plugin/env/plugin.ts +40 -164
  847. package/plugin/env/userConfigEnv.ts +22 -0
  848. package/plugin/environments/createBuildEventPlugin.ts +117 -0
  849. package/plugin/environments/createEnvironmentPlugin.ts +332 -0
  850. package/plugin/environments/hashCoordination.ts +39 -0
  851. package/plugin/environments/resolveEnvironmentConfig.ts +320 -0
  852. package/plugin/error/assertPanic.ts +9 -0
  853. package/plugin/error/handleError.ts +63 -0
  854. package/plugin/error/index.ts +4 -1
  855. package/plugin/error/logError.ts +64 -40
  856. package/plugin/error/panicThresholdHandler.ts +52 -0
  857. package/plugin/error/serializeError.ts +36 -11
  858. package/plugin/error/serializeErrorInfo.ts +17 -0
  859. package/plugin/error/setupGlobalErrorHandler.ts +71 -0
  860. package/plugin/error/shouldPanic.ts +14 -0
  861. package/plugin/error/toError.ts +59 -19
  862. package/plugin/error/types.ts +32 -0
  863. package/plugin/helpers/README.md +112 -0
  864. package/plugin/helpers/collectManifestCss.ts +24 -5
  865. package/plugin/helpers/collectViteModuleGraphCss.ts +83 -9
  866. package/plugin/helpers/createBufferedRscStream.ts +194 -0
  867. package/plugin/helpers/createCssProps.tsx +22 -41
  868. package/plugin/helpers/createElementWithReact.tsx +121 -0
  869. package/plugin/helpers/createPatternMatcher.ts +100 -0
  870. package/plugin/helpers/createRscRenderHelpers.ts +77 -0
  871. package/plugin/helpers/createSafePageComponent.ts +64 -0
  872. package/plugin/helpers/createSerializableHandlerOptions.ts +183 -0
  873. package/plugin/helpers/createSharedLoader.ts +207 -0
  874. package/plugin/helpers/createUnifiedCssProcessor.ts +175 -0
  875. package/plugin/helpers/getBundleManifest.ts +2 -3
  876. package/plugin/helpers/getRouteFiles.ts +94 -48
  877. package/plugin/helpers/handleServerAction.client.ts +145 -0
  878. package/plugin/helpers/handleServerAction.server.ts +151 -0
  879. package/plugin/helpers/handleServerAction.ts +19 -78
  880. package/plugin/helpers/handleServerActionHelper.ts +270 -0
  881. package/plugin/helpers/headlessStreamReuseHandler.ts +48 -0
  882. package/plugin/helpers/headlessStreamState.ts +122 -0
  883. package/plugin/helpers/hydrateUserOptions.ts +2 -2
  884. package/plugin/helpers/index.ts +32 -5
  885. package/plugin/helpers/logRenderStart.ts +26 -0
  886. package/plugin/helpers/mergeMessageWithDefaults.ts +80 -0
  887. package/plugin/helpers/pipeToResponse.ts +77 -0
  888. package/plugin/helpers/requestInfo.ts +59 -39
  889. package/plugin/helpers/resolveComponents.client.ts +183 -0
  890. package/plugin/helpers/resolveModuleFromManifest.ts +99 -0
  891. package/plugin/helpers/resolvePageAndProps.ts +237 -50
  892. package/plugin/helpers/resolveRenderUrl.ts +26 -0
  893. package/plugin/helpers/resolveStreamElements.client.ts +50 -0
  894. package/plugin/helpers/resolveStreamElements.server.ts +43 -0
  895. package/plugin/helpers/resolveStreamElements.ts +13 -0
  896. package/plugin/helpers/resolveStreamElements.types.ts +29 -0
  897. package/plugin/helpers/resolveVirtualAndNodeModules.ts +75 -0
  898. package/plugin/helpers/resolveWithDefaultRootAndHtml.ts +25 -0
  899. package/plugin/helpers/serializeUserOptions.ts +37 -15
  900. package/plugin/helpers/tryManifest.ts +15 -6
  901. package/plugin/helpers/validateRscRenderMessage.ts +13 -0
  902. package/plugin/helpers/workerCleanup.ts +85 -0
  903. package/plugin/helpers/workerManager.ts +16 -0
  904. package/plugin/index.ts +6 -2
  905. package/plugin/loader/createDefaultLoader.ts +0 -21
  906. package/plugin/loader/createTransformer.ts +232 -46
  907. package/plugin/loader/directives/analyzeDirectives.ts +163 -73
  908. package/plugin/loader/directives/analyzeModule.ts +46 -19
  909. package/plugin/loader/env-loader.ts +56 -14
  910. package/plugin/loader/parse.ts +2 -2
  911. package/plugin/loader/react-loader.ts +133 -85
  912. package/plugin/loader/transformClientModule.ts +84 -26
  913. package/plugin/loader/transformModule.ts +103 -18
  914. package/plugin/loader/transformModuleIfNeeded.ts +20 -23
  915. package/plugin/loader/transformNonServerEnvironment.ts +103 -0
  916. package/plugin/loader/transformServerModule.ts +132 -37
  917. package/plugin/loader/types.ts +31 -23
  918. package/plugin/metrics/collectStreamMetrics.ts +1 -2
  919. package/plugin/metrics/convertStreamMetrics.ts +28 -0
  920. package/plugin/metrics/createModuleResolutionMetrics.ts +38 -0
  921. package/plugin/metrics/createRenderMetrics.ts +46 -13
  922. package/plugin/metrics/createStreamMetrics.ts +16 -6
  923. package/plugin/metrics/createWorkerStartupMetrics.ts +38 -0
  924. package/plugin/metrics/formatMetrics.ts +5 -33
  925. package/plugin/metrics/index.ts +6 -3
  926. package/plugin/metrics/metricWatcher.ts +216 -0
  927. package/plugin/metrics/types.ts +87 -8
  928. package/plugin/orchestrator/createPluginOrchestrator.client.ts +47 -0
  929. package/plugin/orchestrator/createPluginOrchestrator.server.ts +55 -0
  930. package/plugin/orchestrator/createPluginOrchestrator.ts +29 -0
  931. package/plugin/orchestrator/index.ts +1 -0
  932. package/plugin/orchestrator/resolveStrategy.ts +53 -0
  933. package/plugin/orchestrator/types.ts +24 -0
  934. package/plugin/plugin.client.ts +30 -32
  935. package/plugin/plugin.server.ts +38 -45
  936. package/plugin/plugin.ts +8 -2
  937. package/plugin/process-env.ts +30 -6
  938. package/plugin/react-client/createMessageHandlers.ts +9 -34
  939. package/plugin/react-client/index.client.ts +1 -0
  940. package/plugin/react-client/index.server.ts +1 -0
  941. package/plugin/react-client/index.ts +13 -4
  942. package/plugin/react-client/plugin.client.ts +124 -0
  943. package/plugin/react-client/plugin.server.ts +108 -0
  944. package/plugin/react-client/plugin.ts +13 -152
  945. package/plugin/react-client/types.ts +95 -0
  946. package/plugin/react-server/index.client.ts +1 -0
  947. package/plugin/react-server/index.server.ts +1 -0
  948. package/plugin/react-server/index.ts +13 -1
  949. package/plugin/react-server/plugin.client.ts +54 -0
  950. package/plugin/react-server/plugin.server.ts +27 -0
  951. package/plugin/react-server/plugin.ts +8 -183
  952. package/plugin/react-server/types.ts +24 -0
  953. package/plugin/react-static/collectHtmlContent.ts +131 -0
  954. package/plugin/react-static/collectRscContent.ts +92 -49
  955. package/plugin/react-static/configurePreviewServer.ts +20 -41
  956. package/plugin/react-static/createBuildLoader.client.ts +7 -0
  957. package/plugin/react-static/createBuildLoader.server.ts +333 -0
  958. package/plugin/react-static/createBuildLoader.ts +8 -300
  959. package/plugin/react-static/fileWriter.ts +303 -64
  960. package/plugin/react-static/index.client.ts +6 -0
  961. package/plugin/react-static/index.server.ts +6 -0
  962. package/plugin/react-static/index.ts +25 -1
  963. package/plugin/react-static/plugin.client.ts +932 -0
  964. package/plugin/react-static/plugin.server.ts +713 -0
  965. package/plugin/react-static/plugin.ts +8 -446
  966. package/plugin/react-static/processCssFilesForPages.ts +148 -0
  967. package/plugin/react-static/renderPage.client.ts +640 -0
  968. package/plugin/react-static/renderPage.server.ts +655 -0
  969. package/plugin/react-static/renderPage.ts +10 -172
  970. package/plugin/react-static/renderPages.ts +736 -139
  971. package/plugin/react-static/renderPagesBatched.ts +264 -0
  972. package/plugin/react-static/renderStreams.ts +12 -16
  973. package/plugin/react-static/rscToHtmlStream.client.ts +61 -0
  974. package/plugin/react-static/rscToHtmlStream.server.ts +66 -0
  975. package/plugin/react-static/rscToHtmlStream.ts +8 -80
  976. package/plugin/react-static/temporaryReferences.client.ts +1 -0
  977. package/plugin/react-static/temporaryReferences.server.ts +5 -0
  978. package/plugin/react-static/temporaryReferences.ts +11 -2
  979. package/plugin/react-static/types.ts +202 -8
  980. package/plugin/root.ts +1 -3
  981. package/plugin/stream/MessagePortReadable.ts +131 -0
  982. package/plugin/stream/MessagePortWritable.ts +104 -0
  983. package/plugin/stream/createFromNodeStream.client.ts +90 -0
  984. package/plugin/stream/createFromNodeStream.server.ts +30 -0
  985. package/plugin/stream/createFromNodeStream.ts +13 -0
  986. package/plugin/stream/createFromNodeStream.types.ts +53 -0
  987. package/plugin/stream/createHtmlStream.client.ts +47 -0
  988. package/plugin/stream/createHtmlStream.server.ts +312 -0
  989. package/plugin/stream/createHtmlStream.ts +13 -0
  990. package/plugin/stream/createHtmlStream.types.ts +63 -0
  991. package/plugin/stream/createMainThreadHandlers.ts +44 -0
  992. package/plugin/stream/createMessageChannels.ts +52 -0
  993. package/plugin/stream/createRenderToPipeableStreamHandler.client.ts +224 -0
  994. package/plugin/stream/createRenderToPipeableStreamHandler.server.ts +358 -0
  995. package/plugin/stream/createRenderToPipeableStreamHandler.ts +13 -0
  996. package/plugin/stream/createRenderToPipeableStreamHandler.types.ts +69 -0
  997. package/plugin/stream/createRscStream.client.ts +122 -0
  998. package/plugin/stream/createRscStream.server.ts +188 -0
  999. package/plugin/stream/createRscStream.ts +8 -0
  1000. package/plugin/stream/createRscStream.types.ts +168 -0
  1001. package/plugin/stream/createRscStream.utils.ts +171 -0
  1002. package/plugin/stream/createRscWorkerStream.ts +178 -0
  1003. package/plugin/stream/handleRscStream.client.ts +214 -0
  1004. package/plugin/stream/handleRscStream.server.ts +82 -0
  1005. package/plugin/stream/handleRscStream.ts +11 -0
  1006. package/plugin/stream/handleRscStream.types.ts +70 -0
  1007. package/plugin/stream/index.client.ts +15 -0
  1008. package/plugin/stream/index.server.ts +15 -0
  1009. package/plugin/stream/index.ts +137 -0
  1010. package/plugin/stream/renderRscStream.server.ts +182 -0
  1011. package/plugin/stream/renderRscStream.types.ts +43 -0
  1012. package/plugin/stream/renderRscStreamHelpers.server.ts +88 -0
  1013. package/plugin/stream/setMaxListeners.ts +30 -0
  1014. package/plugin/transformer/README.md +2 -381
  1015. package/plugin/transformer/createTransformerPlugin.ts +388 -0
  1016. package/plugin/transformer/plugin.client.ts +7 -0
  1017. package/plugin/transformer/plugin.server.ts +6 -140
  1018. package/plugin/transformer/transformerEnv.ts +49 -0
  1019. package/plugin/types/react-server-dom-esm.d.ts +269 -110
  1020. package/plugin/types/virtual-rsc-hmr.d.ts +21 -0
  1021. package/plugin/types.ts +637 -225
  1022. package/plugin/utils/createCallServer.ts +8 -18
  1023. package/plugin/utils/createReactFetcher.ts +87 -5
  1024. package/plugin/utils/env.ts +1 -1
  1025. package/plugin/utils/envUrls.node.ts +15 -10
  1026. package/plugin/utils/index.client.ts +8 -0
  1027. package/plugin/utils/index.server.ts +8 -0
  1028. package/plugin/utils/index.ts +5 -1
  1029. package/plugin/utils/routeToURL.ts +3 -4
  1030. package/plugin/utils/urls.ts +41 -9
  1031. package/plugin/utils/useRscHmr.ts +72 -0
  1032. package/plugin/vendor/vendor.client.ts +9 -7
  1033. package/plugin/vendor/vendor.server.ts +5 -4
  1034. package/plugin/vendor/vendor.static.ts +12 -0
  1035. package/plugin/vendor/vendor.ts +10 -5
  1036. package/plugin/worker/createWorker.ts +283 -41
  1037. package/plugin/worker/html/README.md +2 -65
  1038. package/plugin/worker/html/handleHtmlRender.ts +245 -0
  1039. package/plugin/worker/html/html-worker.development.tsx +5 -17
  1040. package/plugin/worker/html/html-worker.production.tsx +1 -1
  1041. package/plugin/worker/html/html-worker.ts +5 -5
  1042. package/plugin/worker/html/index.ts +6 -6
  1043. package/plugin/worker/html/messageHandler.tsx +317 -98
  1044. package/plugin/worker/html/state.ts +38 -0
  1045. package/plugin/worker/html/types.ts +108 -35
  1046. package/plugin/worker/rsc/README.md +2 -257
  1047. package/plugin/worker/rsc/createBundleLoader.ts +92 -0
  1048. package/plugin/worker/rsc/createRscWorkerLoader.ts +104 -0
  1049. package/plugin/worker/rsc/handleRscRender.ts +510 -0
  1050. package/plugin/worker/rsc/handlers.ts +159 -238
  1051. package/plugin/worker/rsc/hydrateRscRenderMessage.ts +118 -0
  1052. package/plugin/worker/rsc/messageHandler.tsx +1289 -56
  1053. package/plugin/worker/rsc/rsc-worker.development.ts +198 -185
  1054. package/plugin/worker/rsc/rsc-worker.production.ts +306 -21
  1055. package/plugin/worker/rsc/rsc-worker.tsx +3 -5
  1056. package/plugin/worker/rsc/state.ts +54 -2
  1057. package/plugin/worker/rsc/types.ts +110 -32
  1058. package/plugin/worker/rsc/workerUserOptions.ts +63 -0
  1059. package/plugin/worker/sendMessage.ts +33 -53
  1060. package/plugin/worker/types.ts +94 -91
  1061. package/scripts/generate-toc.mjs +311 -0
  1062. package/scripts/remove-toc.mjs +51 -0
  1063. package/scripts/test-both.sh +82 -0
  1064. package/dist/plugin/config/resolveDevServerConfig.d.ts +0 -2
  1065. package/dist/plugin/config/resolveDevServerConfig.d.ts.map +0 -1
  1066. package/dist/plugin/getNodeEnv.d.ts.map +0 -1
  1067. package/dist/plugin/getNodeEnv.js +0 -17
  1068. package/dist/plugin/helpers/collectBundleManifestCss.d.ts +0 -2
  1069. package/dist/plugin/helpers/collectBundleManifestCss.d.ts.map +0 -1
  1070. package/dist/plugin/helpers/collectBundleManifestCss.js +0 -2
  1071. package/dist/plugin/helpers/createEventHandler.d.ts +0 -22
  1072. package/dist/plugin/helpers/createEventHandler.d.ts.map +0 -1
  1073. package/dist/plugin/helpers/createEventHandler.js +0 -36
  1074. package/dist/plugin/helpers/createHandler.d.ts +0 -14
  1075. package/dist/plugin/helpers/createHandler.d.ts.map +0 -1
  1076. package/dist/plugin/helpers/createHandler.js +0 -75
  1077. package/dist/plugin/helpers/createRscStream.d.ts +0 -26
  1078. package/dist/plugin/helpers/createRscStream.d.ts.map +0 -1
  1079. package/dist/plugin/helpers/createRscStream.js +0 -174
  1080. package/dist/plugin/helpers/defaultFileWriter.d.ts +0 -2
  1081. package/dist/plugin/helpers/defaultFileWriter.d.ts.map +0 -1
  1082. package/dist/plugin/helpers/resolveComponents.d.ts +0 -27
  1083. package/dist/plugin/helpers/resolveComponents.d.ts.map +0 -1
  1084. package/dist/plugin/helpers/resolveComponents.js +0 -137
  1085. package/dist/plugin/helpers/resolveUserComponents.d.ts +0 -33
  1086. package/dist/plugin/helpers/resolveUserComponents.d.ts.map +0 -1
  1087. package/dist/plugin/helpers/resolveUserComponents.js +0 -163
  1088. package/dist/plugin/preserver/index.d.ts +0 -2
  1089. package/dist/plugin/preserver/index.d.ts.map +0 -1
  1090. package/dist/plugin/preserver/index.js +0 -1
  1091. package/dist/plugin/preserver/plugin.d.ts +0 -3
  1092. package/dist/plugin/preserver/plugin.d.ts.map +0 -1
  1093. package/dist/plugin/preserver/plugin.js +0 -134
  1094. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts +0 -11
  1095. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts.map +0 -1
  1096. package/dist/plugin/react-client/cleanupWorkerServerAction.js +0 -18
  1097. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts +0 -17
  1098. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +0 -1
  1099. package/dist/plugin/react-client/configureWorkerRequestHandler.js +0 -209
  1100. package/dist/plugin/react-client/createWorkerStream.d.ts +0 -26
  1101. package/dist/plugin/react-client/createWorkerStream.d.ts.map +0 -1
  1102. package/dist/plugin/react-client/createWorkerStream.js +0 -163
  1103. package/dist/plugin/react-client/handleWorkerRscStream.d.ts +0 -24
  1104. package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +0 -1
  1105. package/dist/plugin/react-client/handleWorkerRscStream.js +0 -99
  1106. package/dist/plugin/react-client/handleWorkerServerAction.d.ts +0 -13
  1107. package/dist/plugin/react-client/handleWorkerServerAction.d.ts.map +0 -1
  1108. package/dist/plugin/react-client/handleWorkerServerAction.js +0 -62
  1109. package/dist/plugin/react-client/restartWorker.d.ts +0 -12
  1110. package/dist/plugin/react-client/restartWorker.d.ts.map +0 -1
  1111. package/dist/plugin/react-client/restartWorker.js +0 -70
  1112. package/dist/plugin/react-server/configureReactServer.d.ts +0 -10
  1113. package/dist/plugin/react-server/configureReactServer.d.ts.map +0 -1
  1114. package/dist/plugin/react-server/configureReactServer.js +0 -205
  1115. package/dist/plugin/react-server/handleServerAction.d.ts +0 -6
  1116. package/dist/plugin/react-server/handleServerAction.d.ts.map +0 -1
  1117. package/dist/plugin/react-server/handleServerAction.js +0 -159
  1118. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +0 -25
  1119. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +0 -1
  1120. package/dist/plugin/react-static/collectHtmlWorkerContent.js +0 -94
  1121. package/dist/plugin/react-static/streamHandler.d.ts +0 -2
  1122. package/dist/plugin/react-static/streamHandler.d.ts.map +0 -1
  1123. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts +0 -12
  1124. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +0 -1
  1125. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +0 -130
  1126. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts +0 -3
  1127. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts.map +0 -1
  1128. package/dist/plugin/worker/html/sendHtmlWorkerMessage.js +0 -2
  1129. package/dist/plugin/worker/rsc/handleRender.d.ts +0 -5
  1130. package/dist/plugin/worker/rsc/handleRender.d.ts.map +0 -1
  1131. package/dist/plugin/worker/rsc/handleRender.js +0 -140
  1132. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts +0 -3
  1133. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts.map +0 -1
  1134. package/dist/plugin/worker/rsc/sendRscWorkerMessage.js +0 -11
  1135. package/dist/plugin/worker/rsc/userOptions.d.ts +0 -2
  1136. package/dist/plugin/worker/rsc/userOptions.d.ts.map +0 -1
  1137. package/dist/plugin/worker/rsc/userOptions.js +0 -16
  1138. package/plugin/helpers/collectBundleManifestCss.ts +0 -1
  1139. package/plugin/helpers/createEventHandler.ts +0 -44
  1140. package/plugin/helpers/createHandler.ts +0 -97
  1141. package/plugin/helpers/createRscStream.tsx +0 -221
  1142. package/plugin/helpers/defaultFileWriter.ts +0 -0
  1143. package/plugin/helpers/resolveComponents.ts +0 -185
  1144. package/plugin/helpers/resolveUserComponents.ts +0 -190
  1145. package/plugin/preserver/index.ts +0 -1
  1146. package/plugin/preserver/plugin.ts +0 -178
  1147. package/plugin/react-client/cleanupWorkerServerAction.ts +0 -33
  1148. package/plugin/react-client/configureWorkerRequestHandler.ts +0 -255
  1149. package/plugin/react-client/createWorkerStream.ts +0 -210
  1150. package/plugin/react-client/handleWorkerRscStream.ts +0 -156
  1151. package/plugin/react-client/handleWorkerServerAction.ts +0 -96
  1152. package/plugin/react-client/restartWorker.ts +0 -91
  1153. package/plugin/react-server/configureReactServer.ts +0 -231
  1154. package/plugin/react-server/handleServerAction.ts +0 -192
  1155. package/plugin/react-static/collectHtmlWorkerContent.ts +0 -147
  1156. package/plugin/react-static/streamHandler.ts +0 -0
  1157. package/plugin/worker/html/createHtmlWorkerRenderState.tsx +0 -142
  1158. package/plugin/worker/html/sendHtmlWorkerMessage.ts +0 -8
  1159. package/plugin/worker/rsc/handleRender.ts +0 -175
  1160. package/plugin/worker/rsc/sendRscWorkerMessage.ts +0 -7
  1161. package/plugin/worker/rsc/userOptions.ts +0 -7
  1162. /package/dist/plugin/config/{resolveDevServerConfig.js → createHandlerOptions.types.js} +0 -0
  1163. /package/dist/plugin/{helpers/defaultFileWriter.js → dev-server/types.js} +0 -0
  1164. /package/dist/plugin/{react-static/streamHandler.js → error/types.js} +0 -0
  1165. /package/plugin/{config/resolveDevServerConfig.tsx → worker/worker-handlers.server.ts} +0 -0
@@ -0,0 +1,79 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ import { createSerializableHandlerOptions } from '../helpers/createSerializableHandlerOptions.js';
7
+ import { assertNonReactServer } from '../config/getCondition.js';
8
+ import { validateRscStreamOptions } from './createRscStream.utils.js';
9
+ import { toError } from '../error/toError.js';
10
+ import { createStreamMetrics } from '../metrics/createStreamMetrics.js';
11
+ import { createMessageChannels } from './createMessageChannels.js';
12
+ import { MessagePortReadable } from './MessagePortReadable.js';
13
+
14
+ assertNonReactServer();
15
+ const createRscStream = function _createRscStreamClient(options) {
16
+ validateRscStreamOptions(options, "createRscStream.client");
17
+ if (!options.rscWorker) {
18
+ throw new Error("RSC worker is required for client-side RSC streaming");
19
+ }
20
+ const { dataPort1, dataPort2, controlPort1, controlPort2 } = createMessageChannels();
21
+ const rscStream = new MessagePortReadable(dataPort1, controlPort1);
22
+ controlPort1.on("message", (message) => {
23
+ switch (message.type) {
24
+ case "ERROR":
25
+ const error = toError(message.error, message.errorInfo);
26
+ if (options.onEvent) {
27
+ options.onEvent({
28
+ type: "route.error",
29
+ data: {
30
+ error,
31
+ route: options.route,
32
+ panicThreshold: options.panicThreshold
33
+ }
34
+ });
35
+ }
36
+ rscStream.destroy();
37
+ break;
38
+ }
39
+ });
40
+ const serializedOptions = createSerializableHandlerOptions({
41
+ ...options,
42
+ dataPort: dataPort2,
43
+ controlPort: controlPort2
44
+ });
45
+ options.rscWorker.postMessage({
46
+ type: "INIT",
47
+ id: options.route,
48
+ dataPort: dataPort2,
49
+ controlPort: controlPort2,
50
+ options: serializedOptions
51
+ }, [dataPort2, controlPort2]);
52
+ const metrics = createStreamMetrics({
53
+ route: options.route,
54
+ startTime: Date.now()
55
+ });
56
+ const clientResult = {
57
+ type: "client",
58
+ id: options.id || `${options.route}-${Date.now()}`,
59
+ rscStream,
60
+ metrics,
61
+ pipe: (destination) => {
62
+ return rscStream.pipe(destination);
63
+ },
64
+ abort: (reason) => {
65
+ try {
66
+ controlPort1.postMessage({ type: "ABORT", reason });
67
+ } catch (error) {
68
+ }
69
+ try {
70
+ rscStream.destroy();
71
+ } catch (error) {
72
+ }
73
+ }
74
+ };
75
+ return clientResult;
76
+ };
77
+
78
+ export { createRscStream };
79
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUnNjU3RyZWFtLmNsaWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3N0cmVhbS9jcmVhdGVSc2NTdHJlYW0uY2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVNlcmlhbGl6YWJsZUhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIi4uL2hlbHBlcnMvY3JlYXRlU2VyaWFsaXphYmxlSGFuZGxlck9wdGlvbnMuanNcIjtcbmltcG9ydCB0eXBlIHsgQ3JlYXRlUnNjU3RyZWFtRm4sIENsaWVudFJzY1N0cmVhbVJlc3VsdCB9IGZyb20gXCIuL2NyZWF0ZVJzY1N0cmVhbS50eXBlcy5qc1wiO1xuaW1wb3J0IHsgYXNzZXJ0Tm9uUmVhY3RTZXJ2ZXIgfSBmcm9tIFwiLi4vY29uZmlnL2dldENvbmRpdGlvbi5qc1wiO1xuaW1wb3J0IHsgdmFsaWRhdGVSc2NTdHJlYW1PcHRpb25zIH0gZnJvbSBcIi4vY3JlYXRlUnNjU3RyZWFtLnV0aWxzLmpzXCI7XG5pbXBvcnQgeyB0b0Vycm9yIH0gZnJvbSBcIi4uL2Vycm9yL3RvRXJyb3IuanNcIjtcbmltcG9ydCB7IGNyZWF0ZVN0cmVhbU1ldHJpY3MgfSBmcm9tIFwiLi4vbWV0cmljcy9jcmVhdGVTdHJlYW1NZXRyaWNzLmpzXCI7XG5pbXBvcnQgeyBjcmVhdGVNZXNzYWdlQ2hhbm5lbHMgfSBmcm9tIFwiLi9jcmVhdGVNZXNzYWdlQ2hhbm5lbHMuanNcIjtcbmltcG9ydCB7IE1lc3NhZ2VQb3J0UmVhZGFibGUgfSBmcm9tIFwiLi9NZXNzYWdlUG9ydFJlYWRhYmxlLmpzXCI7XG5cbmFzc2VydE5vblJlYWN0U2VydmVyKCk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBSU0Mgc3RyZWFtIGJ5IGNvbW11bmljYXRpbmcgd2l0aCB0aGUgUlNDIHdvcmtlci5cbiAqIFxuICogKipQdXJwb3NlKio6IENyZWF0ZXMgUlNDIHN0cmVhbXMgYnkgb2ZmbG9hZGluZyBSZWFjdCByZW5kZXJpbmcgdG8gYSBzZXBhcmF0ZSB3b3JrZXIgdGhyZWFkLlxuICogKipXaGVuIHRvIHVzZSoqOiBcbiAqIC0gWW91IG5lZWQgdG8gY3JlYXRlIFJTQyBzdHJlYW1zIGluIGEgY2xpZW50IGVudmlyb25tZW50XG4gKiAtIFlvdSB3YW50IHRvIGF2b2lkIGJsb2NraW5nIHRoZSBtYWluIHRocmVhZCBkdXJpbmcgUmVhY3QgcmVuZGVyaW5nXG4gKiAtIFlvdSdyZSBidWlsZGluZyBzdGF0aWMgc2l0ZXMgYW5kIG5lZWQgUlNDIGNvbnRlbnQgZm9yIG11bHRpcGxlIHJvdXRlc1xuICogLSBZb3UgbmVlZCB0byBjcmVhdGUgLnJzYyBmaWxlcyBmb3IgY2xpZW50LXNpZGUgbmF2aWdhdGlvblxuICogXG4gKiAqKkZsb3cqKjogUm91dGUgKyBDb21wb25lbnRzIOKGkiBSU0MgV29ya2VyIOKGkiBSU0MgU3RyZWFtXG4gKiBcbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyBmb3IgUlNDIHN0cmVhbSBjcmVhdGlvblxuICogQHJldHVybnMgUlNDIHN0cmVhbSB3aXRoIHBpcGUvYWJvcnQgaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVSc2NTdHJlYW06IENyZWF0ZVJzY1N0cmVhbUZuPFwiY2xpZW50XCI+ID0gZnVuY3Rpb24gX2NyZWF0ZVJzY1N0cmVhbUNsaWVudChvcHRpb25zKSB7XG4gIC8vIFZhbGlkYXRlIG9wdGlvbnNcbiAgdmFsaWRhdGVSc2NTdHJlYW1PcHRpb25zKG9wdGlvbnMsIFwiY3JlYXRlUnNjU3RyZWFtLmNsaWVudFwiKTtcblxuICBpZiAoIW9wdGlvbnMucnNjV29ya2VyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiUlNDIHdvcmtlciBpcyByZXF1aXJlZCBmb3IgY2xpZW50LXNpZGUgUlNDIHN0cmVhbWluZ1wiKTtcbiAgfVxuXG4gIC8vIENyZWF0ZSB0d28gc2VwYXJhdGUgTWVzc2FnZVBvcnRzIGZvciBjbGVhbiBzZXBhcmF0aW9uIG9mIGNvbmNlcm5zXG4gIGNvbnN0IHsgZGF0YVBvcnQxLCBkYXRhUG9ydDIsIGNvbnRyb2xQb3J0MSwgY29udHJvbFBvcnQyIH0gPSBjcmVhdGVNZXNzYWdlQ2hhbm5lbHMoKTtcblxuICAvLyBDcmVhdGUgdGhlIFJTQyBvdXRwdXQgc3RyZWFtXG4gIGNvbnN0IHJzY1N0cmVhbSA9IG5ldyBNZXNzYWdlUG9ydFJlYWRhYmxlKGRhdGFQb3J0MSwgY29udHJvbFBvcnQxKTtcblxuICAvLyBDb250cm9sIHBvcnQgLSBoYW5kbGVzIGNvbnRyb2wgbWVzc2FnZXNcbiAgY29udHJvbFBvcnQxLm9uKCdtZXNzYWdlJywgKG1lc3NhZ2U6IGFueSkgPT4ge1xuICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICBjYXNlICdFUlJPUic6XG4gICAgICAgIGNvbnN0IGVycm9yID0gdG9FcnJvcihtZXNzYWdlLmVycm9yLCBtZXNzYWdlLmVycm9ySW5mbyk7XG4gICAgICAgIFxuICAgICAgICAvLyBFbWl0IHJvdXRlLmVycm9yIGV2ZW50IGZvciBwYW5pYyBoYW5kbGluZ1xuICAgICAgICBpZiAob3B0aW9ucy5vbkV2ZW50KSB7XG4gICAgICAgICAgb3B0aW9ucy5vbkV2ZW50KHtcbiAgICAgICAgICAgIHR5cGU6IFwicm91dGUuZXJyb3JcIixcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgZXJyb3I6IGVycm9yLFxuICAgICAgICAgICAgICByb3V0ZTogb3B0aW9ucy5yb3V0ZSxcbiAgICAgICAgICAgICAgcGFuaWNUaHJlc2hvbGQ6IG9wdGlvbnMucGFuaWNUaHJlc2hvbGRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy8gRW5kIHRoZSBzdHJlYW0gbm9ybWFsbHlcbiAgICAgICAgcnNjU3RyZWFtLmRlc3Ryb3koKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdSU0NfRU5EJzpcbiAgICAgICAgLy8gV29ya2VyIGhhcyBmaW5pc2hlZCBzZW5kaW5nIGRhdGEgLSBkb24ndCBjbG9zZSBwb3J0cyB5ZXRcbiAgICAgICAgLy8gTGV0IHRoZSBNZXNzYWdlUG9ydFJlYWRhYmxlIGhhbmRsZSB0aGUgbmF0dXJhbCBlbmQgb2Ygc3RyZWFtXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTUVUUklDUyc6XG4gICAgICAgIC8vIE1ldHJpY3MgYXJlIGhhbmRsZWQgYnkgdGhlIHdvcmtlciBpbnRlcm5hbGx5XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gQ3JlYXRlIHNlcmlhbGl6YWJsZSBoYW5kbGVyIG9wdGlvbnMgZm9yIHRoZSB3b3JrZXJcbiAgY29uc3Qgc2VyaWFsaXplZE9wdGlvbnMgPSBjcmVhdGVTZXJpYWxpemFibGVIYW5kbGVyT3B0aW9ucyh7XG4gICAgLi4ub3B0aW9ucyxcbiAgICBkYXRhUG9ydDogZGF0YVBvcnQyLFxuICAgIGNvbnRyb2xQb3J0OiBjb250cm9sUG9ydDIsXG4gIH0pO1xuXG4gIC8vIFNlbmQgaW5pdGlhbGl6YXRpb24gdG8gd29ya2VyXG4gIG9wdGlvbnMucnNjV29ya2VyLnBvc3RNZXNzYWdlKHtcbiAgICB0eXBlOiBcIklOSVRcIixcbiAgICBpZDogb3B0aW9ucy5yb3V0ZSxcbiAgICBkYXRhUG9ydDogZGF0YVBvcnQyLFxuICAgIGNvbnRyb2xQb3J0OiBjb250cm9sUG9ydDIsXG4gICAgb3B0aW9uczogc2VyaWFsaXplZE9wdGlvbnMsXG4gIH0sIFtkYXRhUG9ydDIsIGNvbnRyb2xQb3J0Ml0gYXMgYW55KTtcblxuICAvLyBDcmVhdGUgc3RyZWFtIG1ldHJpY3NcbiAgY29uc3QgbWV0cmljcyA9IGNyZWF0ZVN0cmVhbU1ldHJpY3Moe1xuICAgIHJvdXRlOiBvcHRpb25zLnJvdXRlLFxuICAgIHN0YXJ0VGltZTogRGF0ZS5ub3coKSxcbiAgfSk7XG5cbiAgLy8gUmV0dXJuIGNsaWVudCByZXN1bHQgd2l0aCBjb25zaXN0ZW50IGludGVyZmFjZVxuICBjb25zdCBjbGllbnRSZXN1bHQ6IENsaWVudFJzY1N0cmVhbVJlc3VsdCA9IHtcbiAgICB0eXBlOiBcImNsaWVudFwiIGFzIGNvbnN0LFxuICAgIGlkOiBvcHRpb25zLmlkIHx8IGAke29wdGlvbnMucm91dGV9LSR7RGF0ZS5ub3coKX1gLFxuICAgIHJzY1N0cmVhbSxcbiAgICBtZXRyaWNzLFxuICAgIHBpcGU6IDxXcml0YWJsZSBleHRlbmRzIE5vZGVKUy5Xcml0YWJsZVN0cmVhbT4oZGVzdGluYXRpb246IFdyaXRhYmxlKSA9PiB7XG4gICAgICByZXR1cm4gcnNjU3RyZWFtLnBpcGUoZGVzdGluYXRpb24pO1xuICAgIH0sXG4gICAgYWJvcnQ6IChyZWFzb24/OiB1bmtub3duKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb250cm9sUG9ydDEucG9zdE1lc3NhZ2UoeyB0eXBlOiBcIkFCT1JUXCIsIHJlYXNvbiB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIFBvcnQgbWF5IGFscmVhZHkgYmUgY2xvc2VkXG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIEltbWVkaWF0ZSBjbGVhbnVwIGZvciBhYm9ydCB0byBwcmV2ZW50IGhhbmdpbmdcbiAgICAgIHRyeSB7XG4gICAgICAgIHJzY1N0cmVhbS5kZXN0cm95KCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBTdHJlYW0gbWF5IGFscmVhZHkgYmUgZGVzdHJveWVkLCBpZ25vcmVcbiAgICAgIH1cbiAgICAgIC8vIERvbid0IGNsb3NlIHBvcnRzIC0gbGV0IFJlYWN0IGhhbmRsZSBjbGVhbnVwIHRvIHByZXZlbnQgXCJDb25uZWN0aW9uIGNsb3NlZFwiIGVycm9yc1xuICAgICAgLy8gUG9ydHMgd2lsbCBiZSBjbGVhbmVkIHVwIHdoZW4gd29ya2VyIHRlcm1pbmF0ZXNcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBjbGllbnRSZXN1bHQ7XG59OyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBU0Esb0JBQXFCLEVB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
@@ -0,0 +1,2 @@
1
+ export declare const createRscStream: any;
2
+ //# sourceMappingURL=createRscStream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRscStream.d.ts","sourceRoot":"","sources":["../../../plugin/stream/createRscStream.ts"],"names":[],"mappings":"AAKA,eAAO,MAAQ,eAAe,KAE7B,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ import { getCondition } from '../config/getCondition.js';
7
+
8
+ const dir = new URL("./", import.meta.url).pathname.replace(/\/$/, "");
9
+ const condition = getCondition("");
10
+ const { createRscStream } = await import(`${dir}/createRscStream.${condition}.js`);
11
+
12
+ export { createRscStream };
13
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUnNjU3RyZWFtLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vc3RyZWFtL2NyZWF0ZVJzY1N0cmVhbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRDb25kaXRpb24gfSBmcm9tIFwiLi4vY29uZmlnL2dldENvbmRpdGlvbi5qc1wiO1xuXG5jb25zdCBkaXIgPSBuZXcgVVJMKFwiLi9cIiwgaW1wb3J0Lm1ldGEudXJsKS5wYXRobmFtZS5yZXBsYWNlKC9cXC8kLywgXCJcIik7XG5jb25zdCBjb25kaXRpb24gPSBnZXRDb25kaXRpb24oXCJcIik7XG5cbmV4cG9ydCBjb25zdCB7IGNyZWF0ZVJzY1N0cmVhbSB9ID0gKGF3YWl0IGltcG9ydChgJHtkaXJ9L2NyZWF0ZVJzY1N0cmVhbS4ke2NvbmRpdGlvbn0uanNgKSkgYXMge1xuICBjcmVhdGVSc2NTdHJlYW06IGFueTtcbn07ICJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUEsTUFBTSxHQUFBLEdBQU0sSUFBSSxHQUFBLENBQUksSUFBTSxFQUFBLE1BQUEsQ0FBQSxJQUFBLENBQVksR0FBRyxDQUFFLENBQUEsUUFBQSxDQUFTLE9BQVEsQ0FBQSxLQUFBLEVBQU8sRUFBRSxDQUFBO0FBQ3JFLE1BQU0sU0FBQSxHQUFZLGFBQWEsRUFBRSxDQUFBO0FBRXBCLE1BQUEsRUFBRSxpQkFBcUIsR0FBQSxNQUFNLE9BQU8sQ0FBRyxFQUFBLEdBQUcsb0JBQW9CLFNBQVMsQ0FBQSxHQUFBLENBQUE7Ozs7In0=
@@ -0,0 +1,46 @@
1
+ import type { CreateRscStreamFn } from "./createRscStream.types.js";
2
+ /**
3
+ * Creates an RSC stream using the server-side render handler.
4
+ *
5
+ * **Purpose**: Creates RSC streams directly in the server environment without worker threads.
6
+ * **When to use**:
7
+ * - You're in a server environment (Node.js server)
8
+ * - You want to create RSC streams synchronously without worker overhead
9
+ * - You need RSC streams for server-side rendering or API responses
10
+ * - You're in a development server and want direct RSC generation
11
+ *
12
+ * **Flow**: Route + Components → RSC Stream (direct server rendering)
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * // Create RSC stream for server-side rendering
17
+ * const rscStream = createRscStream({
18
+ * route: "/api/data",
19
+ * PageComponent: DataPage,
20
+ * RootComponent: RootLayout,
21
+ * HtmlComponent: React.Fragment, // Headless for API
22
+ * pageProps: { data: apiData },
23
+ * logger: myLogger,
24
+ * });
25
+ *
26
+ * // Pipe to response
27
+ * rscStream.pipe(response);
28
+ * ```
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // Create full RSC with HTML wrapper
33
+ * const rscFull = createRscStream({
34
+ * route: "/about",
35
+ * PageComponent: AboutPage,
36
+ * RootComponent: RootLayout,
37
+ * HtmlComponent: HtmlDocument, // Full HTML wrapper
38
+ * pageProps: { title: "About Us" },
39
+ * });
40
+ * ```
41
+ *
42
+ * @param options - Options for RSC stream creation
43
+ * @returns RSC stream with pipe/abort interface
44
+ */
45
+ export declare const createRscStream: CreateRscStreamFn<"server">;
46
+ //# sourceMappingURL=createRscStream.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRscStream.server.d.ts","sourceRoot":"","sources":["../../../plugin/stream/createRscStream.server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,4BAA4B,CAAC;AAapC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,QAAQ,CA+HrD,CAAC"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ import { createRenderToPipeableStreamHandler } from './createRenderToPipeableStreamHandler.server.js';
7
+ import { assertReactServer } from '../config/getCondition.js';
8
+ import { validateRscStreamOptions, createBaseRscStreamResult, handleRscStreamError } from './createRscStream.utils.js';
9
+ import { createStreamMetrics } from '../metrics/createStreamMetrics.js';
10
+ import { createRscWorkerStream } from './createRscWorkerStream.js';
11
+
12
+ assertReactServer();
13
+ const createRscStream = function _createRscStreamServer(options) {
14
+ const logger = options.logger;
15
+ const verbose = options.verbose || false;
16
+ validateRscStreamOptions(options, "createRscStream.server");
17
+ if (verbose) {
18
+ logger?.info(
19
+ `[createRscStream.server:${options.route}] Creating RSC stream for route: ${options.route}`
20
+ );
21
+ }
22
+ try {
23
+ if (verbose) {
24
+ logger?.info(`[createRscStream.server:${options.route}] Checking for rscWorker: ${!!options.rscWorker}`);
25
+ }
26
+ if (options.rscWorker) {
27
+ if (verbose) {
28
+ logger?.info(
29
+ `[createRscStream.server:${options.route}] Using worker-based RSC stream`
30
+ );
31
+ }
32
+ const workerStreamResult = createRscWorkerStream({
33
+ worker: options.rscWorker,
34
+ route: options.route,
35
+ url: options.url,
36
+ moduleBasePath: options.moduleBasePath,
37
+ moduleBaseURL: options.moduleBaseURL,
38
+ moduleRootPath: options.moduleRootPath,
39
+ projectRoot: options.projectRoot,
40
+ verbose,
41
+ logger,
42
+ panicThreshold: options.panicThreshold,
43
+ rscTimeout: options.rscTimeout,
44
+ serverPipeableStreamOptions: options.serverPipeableStreamOptions,
45
+ build: options.build,
46
+ pagePath: options.pagePath,
47
+ propsPath: options.propsPath,
48
+ rootPath: options.rootPath,
49
+ htmlPath: options.htmlPath
50
+ });
51
+ const { stream: workerStream, dataPort1, controlPort1 } = workerStreamResult;
52
+ const serverResult2 = {
53
+ type: "server",
54
+ rscStream: workerStream,
55
+ id: options.id || options.route,
56
+ pipe: (destination) => {
57
+ workerStream.pipe(destination);
58
+ return destination;
59
+ },
60
+ abort: () => {
61
+ try {
62
+ workerStream.destroy();
63
+ } catch (error) {
64
+ }
65
+ try {
66
+ dataPort1.onmessage = null;
67
+ controlPort1.onmessage = null;
68
+ dataPort1.close();
69
+ controlPort1.close();
70
+ } catch (error) {
71
+ }
72
+ },
73
+ metrics: createStreamMetrics()
74
+ // Worker will provide real metrics
75
+ };
76
+ return serverResult2;
77
+ }
78
+ const result = createRenderToPipeableStreamHandler(options);
79
+ if (!result || typeof result.pipe !== "function") {
80
+ throw new Error(
81
+ "createHandler returned invalid result - missing pipe function"
82
+ );
83
+ }
84
+ if (!result.rscStream) {
85
+ throw new Error(
86
+ "createHandler returned invalid result - missing stream"
87
+ );
88
+ }
89
+ const baseResult = createBaseRscStreamResult(
90
+ result.rscStream,
91
+ result.pipe,
92
+ result.abort,
93
+ result.metrics,
94
+ options.id || options.route
95
+ );
96
+ const serverResult = {
97
+ ...baseResult,
98
+ type: "server"
99
+ };
100
+ if (verbose) {
101
+ logger?.info(
102
+ `[createRscStream.server:${options.route}] RSC stream created successfully`
103
+ );
104
+ }
105
+ return serverResult;
106
+ } catch (error) {
107
+ handleRscStreamError(error, options, "RSC stream creation error");
108
+ throw error;
109
+ }
110
+ };
111
+
112
+ export { createRscStream };
113
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUnNjU3RyZWFtLnNlcnZlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3N0cmVhbS9jcmVhdGVSc2NTdHJlYW0uc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlbmRlclRvUGlwZWFibGVTdHJlYW1IYW5kbGVyIH0gZnJvbSBcIi4vY3JlYXRlUmVuZGVyVG9QaXBlYWJsZVN0cmVhbUhhbmRsZXIuc2VydmVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIENyZWF0ZVJzY1N0cmVhbUZuLFxuICBTZXJ2ZXJSc2NTdHJlYW1SZXN1bHQsXG59IGZyb20gXCIuL2NyZWF0ZVJzY1N0cmVhbS50eXBlcy5qc1wiO1xuaW1wb3J0IHsgYXNzZXJ0UmVhY3RTZXJ2ZXIgfSBmcm9tIFwiLi4vY29uZmlnL2dldENvbmRpdGlvbi5qc1wiO1xuaW1wb3J0IHtcbiAgdmFsaWRhdGVSc2NTdHJlYW1PcHRpb25zLFxuICBjcmVhdGVCYXNlUnNjU3RyZWFtUmVzdWx0LFxuICBoYW5kbGVSc2NTdHJlYW1FcnJvcixcbn0gZnJvbSBcIi4vY3JlYXRlUnNjU3RyZWFtLnV0aWxzLmpzXCI7XG5cbmltcG9ydCB7IGNyZWF0ZVN0cmVhbU1ldHJpY3MgfSBmcm9tIFwiLi4vbWV0cmljcy9jcmVhdGVTdHJlYW1NZXRyaWNzLmpzXCI7XG5pbXBvcnQgeyBjcmVhdGVSc2NXb3JrZXJTdHJlYW0gfSBmcm9tIFwiLi9jcmVhdGVSc2NXb3JrZXJTdHJlYW0uanNcIjtcblxuYXNzZXJ0UmVhY3RTZXJ2ZXIoKTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIFJTQyBzdHJlYW0gdXNpbmcgdGhlIHNlcnZlci1zaWRlIHJlbmRlciBoYW5kbGVyLlxuICpcbiAqICoqUHVycG9zZSoqOiBDcmVhdGVzIFJTQyBzdHJlYW1zIGRpcmVjdGx5IGluIHRoZSBzZXJ2ZXIgZW52aXJvbm1lbnQgd2l0aG91dCB3b3JrZXIgdGhyZWFkcy5cbiAqICoqV2hlbiB0byB1c2UqKjpcbiAqIC0gWW91J3JlIGluIGEgc2VydmVyIGVudmlyb25tZW50IChOb2RlLmpzIHNlcnZlcilcbiAqIC0gWW91IHdhbnQgdG8gY3JlYXRlIFJTQyBzdHJlYW1zIHN5bmNocm9ub3VzbHkgd2l0aG91dCB3b3JrZXIgb3ZlcmhlYWRcbiAqIC0gWW91IG5lZWQgUlNDIHN0cmVhbXMgZm9yIHNlcnZlci1zaWRlIHJlbmRlcmluZyBvciBBUEkgcmVzcG9uc2VzXG4gKiAtIFlvdSdyZSBpbiBhIGRldmVsb3BtZW50IHNlcnZlciBhbmQgd2FudCBkaXJlY3QgUlNDIGdlbmVyYXRpb25cbiAqXG4gKiAqKkZsb3cqKjogUm91dGUgKyBDb21wb25lbnRzIOKGkiBSU0MgU3RyZWFtIChkaXJlY3Qgc2VydmVyIHJlbmRlcmluZylcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gQ3JlYXRlIFJTQyBzdHJlYW0gZm9yIHNlcnZlci1zaWRlIHJlbmRlcmluZ1xuICogY29uc3QgcnNjU3RyZWFtID0gY3JlYXRlUnNjU3RyZWFtKHtcbiAqICAgcm91dGU6IFwiL2FwaS9kYXRhXCIsXG4gKiAgIFBhZ2VDb21wb25lbnQ6IERhdGFQYWdlLFxuICogICBSb290Q29tcG9uZW50OiBSb290TGF5b3V0LFxuICogICBIdG1sQ29tcG9uZW50OiBSZWFjdC5GcmFnbWVudCwgLy8gSGVhZGxlc3MgZm9yIEFQSVxuICogICBwYWdlUHJvcHM6IHsgZGF0YTogYXBpRGF0YSB9LFxuICogICBsb2dnZXI6IG15TG9nZ2VyLFxuICogfSk7XG4gKlxuICogLy8gUGlwZSB0byByZXNwb25zZVxuICogcnNjU3RyZWFtLnBpcGUocmVzcG9uc2UpO1xuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENyZWF0ZSBmdWxsIFJTQyB3aXRoIEhUTUwgd3JhcHBlclxuICogY29uc3QgcnNjRnVsbCA9IGNyZWF0ZVJzY1N0cmVhbSh7XG4gKiAgIHJvdXRlOiBcIi9hYm91dFwiLFxuICogICBQYWdlQ29tcG9uZW50OiBBYm91dFBhZ2UsXG4gKiAgIFJvb3RDb21wb25lbnQ6IFJvb3RMYXlvdXQsXG4gKiAgIEh0bWxDb21wb25lbnQ6IEh0bWxEb2N1bWVudCwgLy8gRnVsbCBIVE1MIHdyYXBwZXJcbiAqICAgcGFnZVByb3BzOiB7IHRpdGxlOiBcIkFib3V0IFVzXCIgfSxcbiAqIH0pO1xuICogYGBgXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25zIGZvciBSU0Mgc3RyZWFtIGNyZWF0aW9uXG4gKiBAcmV0dXJucyBSU0Mgc3RyZWFtIHdpdGggcGlwZS9hYm9ydCBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVJzY1N0cmVhbTogQ3JlYXRlUnNjU3RyZWFtRm48XCJzZXJ2ZXJcIj4gPVxuICBmdW5jdGlvbiBfY3JlYXRlUnNjU3RyZWFtU2VydmVyKG9wdGlvbnMpIHtcbiAgICBjb25zdCBsb2dnZXIgPSBvcHRpb25zLmxvZ2dlcjtcbiAgICBjb25zdCB2ZXJib3NlID0gb3B0aW9ucy52ZXJib3NlIHx8IGZhbHNlO1xuXG4gICAgLy8gVmFsaWRhdGUgY29tbW9uIG9wdGlvbnNcbiAgICB2YWxpZGF0ZVJzY1N0cmVhbU9wdGlvbnMob3B0aW9ucywgXCJjcmVhdGVSc2NTdHJlYW0uc2VydmVyXCIpO1xuXG4gICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgIGxvZ2dlcj8uaW5mbyhcbiAgICAgICAgYFtjcmVhdGVSc2NTdHJlYW0uc2VydmVyOiR7b3B0aW9ucy5yb3V0ZX1dIENyZWF0aW5nIFJTQyBzdHJlYW0gZm9yIHJvdXRlOiAke29wdGlvbnMucm91dGV9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgLy8gSWYgd29ya2VyIGlzIHByb3ZpZGVkLCB1c2Ugd29ya2VyLWJhc2VkIFJTQyBzdHJlYW1cbiAgICAgIC8vIG5vdGU6IGRvbid0IHVzZSB0aGUgbWFpbiBcIndvcmtlclwiIHByb3AgaGVyZSwgd2hpY2ggaXMgYWx3YXlzIHRoZSBpbnZlcnNlIHdvcmtlciAoaHRtbC13b3JrZXIgaW4gc2VydmVyIGNhc2UpXG4gICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICBsb2dnZXI/LmluZm8oYFtjcmVhdGVSc2NTdHJlYW0uc2VydmVyOiR7b3B0aW9ucy5yb3V0ZX1dIENoZWNraW5nIGZvciByc2NXb3JrZXI6ICR7ISFvcHRpb25zLnJzY1dvcmtlcn1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zLnJzY1dvcmtlcikge1xuICAgICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICAgIGxvZ2dlcj8uaW5mbyhcbiAgICAgICAgICAgIGBbY3JlYXRlUnNjU3RyZWFtLnNlcnZlcjoke29wdGlvbnMucm91dGV9XSBVc2luZyB3b3JrZXItYmFzZWQgUlNDIHN0cmVhbWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgd29ya2VyU3RyZWFtUmVzdWx0ID0gY3JlYXRlUnNjV29ya2VyU3RyZWFtKHtcbiAgICAgICAgICB3b3JrZXI6IG9wdGlvbnMucnNjV29ya2VyLFxuICAgICAgICAgIHJvdXRlOiBvcHRpb25zLnJvdXRlLFxuICAgICAgICAgIHVybDogb3B0aW9ucy51cmwsXG4gICAgICAgICAgbW9kdWxlQmFzZVBhdGg6IG9wdGlvbnMubW9kdWxlQmFzZVBhdGgsXG4gICAgICAgICAgbW9kdWxlQmFzZVVSTDogb3B0aW9ucy5tb2R1bGVCYXNlVVJMLFxuICAgICAgICAgIG1vZHVsZVJvb3RQYXRoOiBvcHRpb25zLm1vZHVsZVJvb3RQYXRoLFxuICAgICAgICAgIHByb2plY3RSb290OiBvcHRpb25zLnByb2plY3RSb290LFxuICAgICAgICAgIHZlcmJvc2UsXG4gICAgICAgICAgbG9nZ2VyLFxuICAgICAgICAgIHBhbmljVGhyZXNob2xkOiBvcHRpb25zLnBhbmljVGhyZXNob2xkLFxuICAgICAgICAgIHJzY1RpbWVvdXQ6IG9wdGlvbnMucnNjVGltZW91dCxcbiAgICAgICAgICBzZXJ2ZXJQaXBlYWJsZVN0cmVhbU9wdGlvbnM6IG9wdGlvbnMuc2VydmVyUGlwZWFibGVTdHJlYW1PcHRpb25zLFxuICAgICAgICAgIGJ1aWxkOiBvcHRpb25zLmJ1aWxkLFxuICAgICAgICAgIHBhZ2VQYXRoOiBvcHRpb25zLnBhZ2VQYXRoLFxuICAgICAgICAgIHByb3BzUGF0aDogb3B0aW9ucy5wcm9wc1BhdGgsXG4gICAgICAgICAgcm9vdFBhdGg6IG9wdGlvbnMucm9vdFBhdGgsXG4gICAgICAgICAgaHRtbFBhdGg6IG9wdGlvbnMuaHRtbFBhdGgsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHsgc3RyZWFtOiB3b3JrZXJTdHJlYW0sIGRhdGFQb3J0MSwgY29udHJvbFBvcnQxIH0gPSB3b3JrZXJTdHJlYW1SZXN1bHQ7XG5cbiAgICAgICAgLy8gUmV0dXJuIHdvcmtlciBzdHJlYW0gd2l0aCBjb25zaXN0ZW50IGludGVyZmFjZVxuICAgICAgICBjb25zdCBzZXJ2ZXJSZXN1bHQ6IFNlcnZlclJzY1N0cmVhbVJlc3VsdCA9IHtcbiAgICAgICAgICB0eXBlOiBcInNlcnZlclwiIGFzIGNvbnN0LFxuICAgICAgICAgIHJzY1N0cmVhbTogd29ya2VyU3RyZWFtLFxuICAgICAgICAgIGlkOiBvcHRpb25zLmlkIHx8IG9wdGlvbnMucm91dGUsXG4gICAgICAgICAgcGlwZTogPFdyaXRhYmxlIGV4dGVuZHMgTm9kZUpTLldyaXRhYmxlU3RyZWFtPihcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uOiBXcml0YWJsZVxuICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgd29ya2VyU3RyZWFtLnBpcGUoZGVzdGluYXRpb24pO1xuICAgICAgICAgICAgcmV0dXJuIGRlc3RpbmF0aW9uO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgYWJvcnQ6ICgpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHdvcmtlclN0cmVhbS5kZXN0cm95KCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAvLyBTdHJlYW0gbWF5IGFscmVhZHkgYmUgZGVzdHJveWVkLCBpZ25vcmVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIENsZWFuIHVwIE1lc3NhZ2VQb3J0IGxpc3RlbmVycyB0byBwcmV2ZW50IG1lbW9yeSBsZWFrc1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgLy8gUmVtb3ZlIG9ubWVzc2FnZSBoYW5kbGVycyAocHJvcGVydHkgYXNzaWdubWVudCBjbGVhbnVwKVxuICAgICAgICAgICAgICBkYXRhUG9ydDEub25tZXNzYWdlID0gbnVsbDtcbiAgICAgICAgICAgICAgY29udHJvbFBvcnQxLm9ubWVzc2FnZSA9IG51bGw7XG4gICAgICAgICAgICAgIC8vIENsb3NlIE1lc3NhZ2VQb3J0c1xuICAgICAgICAgICAgICBkYXRhUG9ydDEuY2xvc2UoKTtcbiAgICAgICAgICAgICAgY29udHJvbFBvcnQxLmNsb3NlKCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAvLyBJZ25vcmUgY2xlYW51cCBlcnJvcnNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIG1ldHJpY3M6IGNyZWF0ZVN0cmVhbU1ldHJpY3MoKSwgLy8gV29ya2VyIHdpbGwgcHJvdmlkZSByZWFsIG1ldHJpY3NcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gc2VydmVyUmVzdWx0O1xuICAgICAgfVxuXG4gICAgICAvLyBPdGhlcndpc2UsIHVzZSBkaXJlY3Qgc2VydmVyIHJlbmRlcmluZ1xuICAgICAgY29uc3QgcmVzdWx0ID0gY3JlYXRlUmVuZGVyVG9QaXBlYWJsZVN0cmVhbUhhbmRsZXIob3B0aW9ucyk7XG5cbiAgICAgIC8vIFZhbGlkYXRlIHRoZSByZXN1bHRcbiAgICAgIGlmICghcmVzdWx0IHx8IHR5cGVvZiByZXN1bHQucGlwZSAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcImNyZWF0ZUhhbmRsZXIgcmV0dXJuZWQgaW52YWxpZCByZXN1bHQgLSBtaXNzaW5nIHBpcGUgZnVuY3Rpb25cIlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJlc3VsdC5yc2NTdHJlYW0pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiY3JlYXRlSGFuZGxlciByZXR1cm5lZCBpbnZhbGlkIHJlc3VsdCAtIG1pc3Npbmcgc3RyZWFtXCJcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gQ3JlYXRlIGJhc2UgcmVzdWx0IHN0cnVjdHVyZVxuICAgICAgY29uc3QgYmFzZVJlc3VsdCA9IGNyZWF0ZUJhc2VSc2NTdHJlYW1SZXN1bHQoXG4gICAgICAgIHJlc3VsdC5yc2NTdHJlYW0sXG4gICAgICAgIHJlc3VsdC5waXBlLFxuICAgICAgICByZXN1bHQuYWJvcnQsXG4gICAgICAgIHJlc3VsdC5tZXRyaWNzLFxuICAgICAgICBvcHRpb25zLmlkIHx8IG9wdGlvbnMucm91dGVcbiAgICAgICk7XG5cbiAgICAgIC8vIFJldHVybiBzZXJ2ZXItc3BlY2lmaWMgcmVzdWx0c1xuICAgICAgY29uc3Qgc2VydmVyUmVzdWx0OiBTZXJ2ZXJSc2NTdHJlYW1SZXN1bHQgPSB7XG4gICAgICAgIC4uLmJhc2VSZXN1bHQsXG4gICAgICAgIHR5cGU6IFwic2VydmVyXCIgYXMgY29uc3QsXG4gICAgICB9O1xuXG4gICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICBsb2dnZXI/LmluZm8oXG4gICAgICAgICAgYFtjcmVhdGVSc2NTdHJlYW0uc2VydmVyOiR7b3B0aW9ucy5yb3V0ZX1dIFJTQyBzdHJlYW0gY3JlYXRlZCBzdWNjZXNzZnVsbHlgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzZXJ2ZXJSZXN1bHQ7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGhhbmRsZVJzY1N0cmVhbUVycm9yKGVycm9yLCBvcHRpb25zLCBcIlJTQyBzdHJlYW0gY3JlYXRpb24gZXJyb3JcIik7XG4gICAgICAvLyBUaGlzIHdpbGwgbmV2ZXIgYmUgcmVhY2hlZCBhcyBoYW5kbGVSc2NTdHJlYW1FcnJvciBlaXRoZXIgdGhyb3dzIG9yIHJlLXRocm93c1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9O1xuIl0sIm5hbWVzIjpbInNlcnZlclJlc3VsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFlQSxpQkFBa0IsRUFBQTtBQTZDTCxNQUFBLGVBQUEsR0FDWCxTQUFTLHNCQUFBLENBQXVCLE9BQVMsRUFBQTtBQUN2QyxFQUFBLE1BQU0sU0FBUyxPQUFRLENBQUEsTUFBQTtBQUN2QixFQUFNLE1BQUEsT0FBQSxHQUFVLFFBQVEsT0FBVyxJQUFBLEtBQUE7QUFHbkMsRUFBQSx3QkFBQSxDQUF5QixTQUFTLHdCQUF3QixDQUFBO0FBRTFELEVBQUEsSUFBSSxPQUFTLEVBQUE7QUFDWCxJQUFRLE1BQUEsRUFBQSxJQUFBO0FBQUEsTUFDTixDQUEyQix3QkFBQSxFQUFBLE9BQUEsQ0FBUSxLQUFLLENBQUEsaUNBQUEsRUFBb0MsUUFBUSxLQUFLLENBQUE7QUFBQSxLQUMzRjtBQUFBO0FBR0YsRUFBSSxJQUFBO0FBR0YsSUFBQSxJQUFJLE9BQVMsRUFBQTtBQUNYLE1BQVEsTUFBQSxFQUFBLElBQUEsQ0FBSywyQkFBMkIsT0FBUSxDQUFBLEtBQUssNkJBQTZCLENBQUMsQ0FBQyxPQUFRLENBQUEsU0FBUyxDQUFFLENBQUEsQ0FBQTtBQUFBO0FBRXpHLElBQUEsSUFBSSxRQUFRLFNBQVcsRUFBQTtBQUNyQixNQUFBLElBQUksT0FBUyxFQUFBO0FBQ1gsUUFBUSxNQUFBLEVBQUEsSUFBQTtBQUFBLFVBQ04sQ0FBQSx3QkFBQSxFQUEyQixRQUFRLEtBQUssQ0FBQSwrQkFBQTtBQUFBLFNBQzFDO0FBQUE7QUFHRixNQUFBLE1BQU0scUJBQXFCLHFCQUFzQixDQUFBO0FBQUEsUUFDL0MsUUFBUSxPQUFRLENBQUEsU0FBQTtBQUFBLFFBQ2hCLE9B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
@@ -0,0 +1,134 @@
1
+ import type { StreamMetrics } from "../helpers/metrics.js";
2
+ import type { Stream } from "node:stream";
3
+ import type { OnMetrics, PanicThreshold } from "../types.js";
4
+ import type { SerializableHandlerOptions } from "../helpers/createSerializableHandlerOptions.js";
5
+ /**
6
+ * Base RSC Stream Result - common interface for both client and server
7
+ */
8
+ export interface BaseRscStreamResult {
9
+ id: string;
10
+ rscStream: Stream.Readable;
11
+ pipe: <Writable extends NodeJS.WritableStream>(destination: Writable) => Writable;
12
+ abort: (reason?: unknown) => void;
13
+ metrics: StreamMetrics;
14
+ }
15
+ /**
16
+ * Client-specific RSC Stream Result
17
+ */
18
+ export interface ClientRscStreamResult extends BaseRscStreamResult {
19
+ type: "client";
20
+ }
21
+ /**
22
+ * Server-specific RSC Stream Result
23
+ */
24
+ export interface ServerRscStreamResult extends BaseRscStreamResult {
25
+ type: "server";
26
+ }
27
+ /**
28
+ * RSC Stream Result - union type for both environments
29
+ */
30
+ export type RscStreamResult = ClientRscStreamResult | ServerRscStreamResult;
31
+ /**
32
+ * Client-specific RSC Stream Options
33
+ */
34
+ export type ClientRscStreamOptions = SerializableHandlerOptions & {
35
+ route: string;
36
+ pagePath: string | undefined;
37
+ projectRoot: string;
38
+ moduleBaseURL: string;
39
+ build: SerializableHandlerOptions['build'];
40
+ dev: SerializableHandlerOptions['dev'];
41
+ cssFiles: Map<string, any>;
42
+ globalCss: Map<string, any>;
43
+ manifest: any;
44
+ id?: string;
45
+ moduleRootPath?: string;
46
+ moduleBasePath?: string;
47
+ verbose?: boolean;
48
+ panicThreshold?: PanicThreshold;
49
+ propsPath?: string;
50
+ rootPath?: string;
51
+ htmlPath?: string;
52
+ pageExportName: string;
53
+ propsExportName: string;
54
+ rootExportName: string;
55
+ htmlExportName: string;
56
+ moduleBase: string;
57
+ publicOrigin: string;
58
+ rscTimeout: number;
59
+ rscWorker?: any;
60
+ htmlWorker?: any;
61
+ htmlWorkerPath?: string;
62
+ rscWorkerPath?: string;
63
+ worker?: any;
64
+ clientPipeableStreamOptions?: any;
65
+ serverPipeableStreamOptions?: any;
66
+ url: string;
67
+ onMetrics?: OnMetrics;
68
+ onEvent?: (event: any) => void;
69
+ reuseHeadlessStreamId?: string;
70
+ };
71
+ /**
72
+ * Server-specific RSC Stream Options
73
+ */
74
+ export interface ServerRscStreamOptions {
75
+ route: string;
76
+ pagePath: string;
77
+ logger: any;
78
+ loader: any;
79
+ build: any;
80
+ id?: string;
81
+ projectRoot: string;
82
+ moduleRootPath: string;
83
+ moduleBasePath: string;
84
+ moduleBaseURL: string;
85
+ verbose: boolean;
86
+ panicThreshold?: PanicThreshold;
87
+ propsPath?: string;
88
+ rootPath?: string;
89
+ htmlPath?: string;
90
+ pageExportName: string;
91
+ propsExportName: string;
92
+ rootExportName: string;
93
+ htmlExportName: string;
94
+ moduleBase: string;
95
+ publicOrigin: string;
96
+ rscTimeout: number;
97
+ cssFiles: Map<string, any>;
98
+ globalCss: Map<string, any>;
99
+ manifest: any;
100
+ worker?: any;
101
+ rscWorker?: any;
102
+ rscWorkerPath?: string;
103
+ htmlWorker?: any;
104
+ htmlWorkerPath?: string;
105
+ clientPipeableStreamOptions?: any;
106
+ serverPipeableStreamOptions?: any;
107
+ url: string;
108
+ htmlTimeout?: number;
109
+ fileWriteTimeout?: number;
110
+ workerShutdownTimeout?: number;
111
+ css?: any;
112
+ onEvent?: (event: any) => void;
113
+ }
114
+ /**
115
+ * Environment-specific RSC Stream Options
116
+ */
117
+ export type CreateRscStreamOptions<Env extends "client" | "server" = "client" | "server"> = Env extends "client" ? ClientRscStreamOptions : ServerRscStreamOptions;
118
+ /**
119
+ * RSC Stream Function - creates React Server Components streams
120
+ *
121
+ * **Purpose**: Creates RSC streams for both client and server environments
122
+ * **When to use**:
123
+ * - You need to create RSC streams for static generation or server-side rendering
124
+ * - You want environment-specific optimizations (worker-based vs direct rendering)
125
+ * - You need to serialize React components for client-side hydration
126
+ *
127
+ * **Flow**: Route + Components → RSC Stream (with environment-specific processing)
128
+ */
129
+ export type CreateRscStreamFn<Env extends "client" | "server" = "client" | "server"> = <Opt extends CreateRscStreamOptions<Env> = CreateRscStreamOptions<Env>>(options: Opt) => Env extends "client" ? ClientRscStreamResult : ServerRscStreamResult;
130
+ /**
131
+ * Unified RSC Stream Function - automatically chooses environment
132
+ */
133
+ export type CreateRscStreamFnUnified = <Env extends "client" | "server", Opt extends CreateRscStreamOptions<Env>>(options: Opt) => RscStreamResult;
134
+ //# sourceMappingURL=createRscStream.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRscStream.types.d.ts","sourceRoot":"","sources":["../../../plugin/stream/createRscStream.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gDAAgD,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,IAAI,EAAE,CAAC,QAAQ,SAAS,MAAM,CAAC,cAAc,EAC3C,WAAW,EAAE,QAAQ,KAClB,QAAQ,CAAC;IACd,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,aAAa,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,GAAI;IAEjE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC3C,GAAG,EAAE,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAEvC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC;IAGd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IAGnB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,2BAA2B,CAAC,EAAE,GAAG,CAAC;IAClC,2BAA2B,CAAC,EAAE,GAAG,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IAErC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC;IAGZ,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IAGX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC;IAGd,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2BAA2B,CAAC,EAAE,GAAG,CAAC;IAClC,2BAA2B,CAAC,EAAE,GAAG,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,CAChC,GAAG,SAAS,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,IACnD,GAAG,SAAS,QAAQ,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;AAE3E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,CAC3B,GAAG,SAAS,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,IACnD,CAAC,GAAG,SAAS,sBAAsB,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,GAAG,CAAC,EACxE,OAAO,EAAE,GAAG,KACT,GAAG,SAAS,QAAQ,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CACrC,GAAG,SAAS,QAAQ,GAAG,QAAQ,EAC/B,GAAG,SAAS,sBAAsB,CAAC,GAAG,CAAC,EAEvC,OAAO,EAAE,GAAG,KACT,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,54 @@
1
+ import { createStreamMetrics } from "../helpers/metrics.js";
2
+ import type { ClientRscStreamOptions, ServerRscStreamOptions, BaseRscStreamResult } from "./createRscStream.types.js";
3
+ import type { PassThrough } from "node:stream";
4
+ import { type Logger } from "vite";
5
+ /**
6
+ * Validates common RSC stream options
7
+ *
8
+ * @param options - RSC stream options to validate
9
+ * @param context - Context for error messages
10
+ * @throws Error if validation fails
11
+ */
12
+ export declare function validateRscStreamOptions(options: ClientRscStreamOptions | ServerRscStreamOptions, context: string): void;
13
+ /**
14
+ * Creates common RSC stream result structure
15
+ *
16
+ * @param rscStream - The RSC stream
17
+ * @param elements - React elements
18
+ * @param pipe - Pipe function
19
+ * @param abort - Abort function
20
+ * @param metrics - Stream metrics
21
+ * @returns Base RSC stream result
22
+ */
23
+ export declare function createBaseRscStreamResult(rscStream: PassThrough, pipe: <Writable extends NodeJS.WritableStream>(destination: Writable) => Writable, abort: (reason?: unknown) => void, metrics: ReturnType<typeof createStreamMetrics>, id: string): BaseRscStreamResult;
24
+ /**
25
+ * Handles RSC stream errors with consistent error handling
26
+ *
27
+ * @param error - The error that occurred
28
+ * @param options - RSC stream options for context
29
+ * @param context - Additional context for error handling
30
+ * @throws Error if panic threshold is met
31
+ */
32
+ export declare function handleRscStreamError(error: unknown, options: ClientRscStreamOptions | ServerRscStreamOptions, context: string): void;
33
+ /**
34
+ * Creates stream metrics with common setup
35
+ *
36
+ * @param route - Route for logging context
37
+ * @param verbose - Whether to enable verbose logging
38
+ * @returns Stream metrics instance
39
+ */
40
+ export declare function createRscStreamMetrics(): ReturnType<typeof createStreamMetrics>;
41
+ /**
42
+ * Sets up common stream event handlers for metrics collection
43
+ *
44
+ * @param stream - The stream to monitor
45
+ * @param metrics - Metrics to update
46
+ * @param options - Configuration options
47
+ * @returns Cleanup function
48
+ */
49
+ export declare function setupRscStreamEventHandlers(stream: PassThrough, metrics: ReturnType<typeof createStreamMetrics>, options: {
50
+ route: string;
51
+ verbose?: boolean;
52
+ logger?: Logger;
53
+ }): () => void;
54
+ //# sourceMappingURL=createRscStream.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRscStream.utils.d.ts","sourceRoot":"","sources":["../../../plugin/stream/createRscStream.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAEjD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,sBAAsB,GAAG,sBAAsB,EACxD,OAAO,EAAE,MAAM,GACd,IAAI,CAQN;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,CAAC,QAAQ,SAAS,MAAM,CAAC,cAAc,EAC3C,WAAW,EAAE,QAAQ,KAClB,QAAQ,EACb,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,EACjC,OAAO,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAC/C,EAAE,EAAE,MAAM,GACT,mBAAmB,CAQrB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,sBAAsB,GAAG,sBAAsB,EACxD,OAAO,EAAE,MAAM,GACd,IAAI,CAcN;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAI/E;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAC/C,OAAO,EAAE;IACP,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,MAAM,IAAI,CAsDZ"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ import { createStreamMetrics } from '../metrics/createStreamMetrics.js';
7
+ import { handleError } from '../error/handleError.js';
8
+ import { getNodeEnv } from '../config/getNodeEnv.js';
9
+ import { createLogger } from 'vite';
10
+
11
+ function validateRscStreamOptions(options, context) {
12
+ if (!options.route) {
13
+ throw new Error(`${context}: Route is required for RSC stream creation`);
14
+ }
15
+ if (!options.pagePath) {
16
+ throw new Error(`${context}: pagePath is required for RSC stream creation`);
17
+ }
18
+ }
19
+ function createBaseRscStreamResult(rscStream, pipe, abort, metrics, id) {
20
+ return {
21
+ id,
22
+ rscStream,
23
+ pipe,
24
+ abort,
25
+ metrics
26
+ };
27
+ }
28
+ function handleRscStreamError(error, options, context) {
29
+ const panicError = handleError({
30
+ error,
31
+ logger: options.logger,
32
+ mode: getNodeEnv(),
33
+ panicThreshold: options.panicThreshold || "none",
34
+ context: `${context} for route ${options.route}`
35
+ });
36
+ if (panicError != null) {
37
+ throw panicError;
38
+ }
39
+ throw error;
40
+ }
41
+ function createRscStreamMetrics() {
42
+ const metrics = createStreamMetrics();
43
+ metrics.startTime = performance.now();
44
+ return metrics;
45
+ }
46
+ function setupRscStreamEventHandlers(stream, metrics, options) {
47
+ const { route, verbose = false, logger = createLogger() } = options;
48
+ stream.on("data", (chunk) => {
49
+ if (verbose) {
50
+ logger.info(
51
+ `[createRscStream:${route}] Received data chunk: ${chunk.length} bytes`
52
+ );
53
+ }
54
+ metrics.chunks++;
55
+ metrics.bytes += chunk.length;
56
+ });
57
+ stream.on("end", () => {
58
+ if (verbose) {
59
+ logger.info(`[createRscStream:${route}] Stream ended`);
60
+ }
61
+ metrics.duration = performance.now() - metrics.startTime;
62
+ metrics.endTime = performance.now();
63
+ });
64
+ stream.on("error", (error) => {
65
+ logger.error(`[createRscStream:${route}] Stream error: ${error}`);
66
+ });
67
+ stream.on("drain", () => {
68
+ if (verbose) {
69
+ logger.info(
70
+ `[createRscStream:${route}] Stream drain - backpressure resolved`
71
+ );
72
+ }
73
+ });
74
+ const originalWrite = stream.write.bind(stream);
75
+ stream.write = function(chunk, encoding, callback) {
76
+ const result = originalWrite(chunk, encoding, callback);
77
+ if (!result) {
78
+ metrics.backpressureCount++;
79
+ if (verbose) {
80
+ logger.warn(`[createRscStream:${route}] Backpressure detected`);
81
+ }
82
+ }
83
+ return result;
84
+ };
85
+ return () => {
86
+ stream.removeAllListeners();
87
+ };
88
+ }
89
+
90
+ export { createBaseRscStreamResult, createRscStreamMetrics, handleRscStreamError, setupRscStreamEventHandlers, validateRscStreamOptions };
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUnNjU3RyZWFtLnV0aWxzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vc3RyZWFtL2NyZWF0ZVJzY1N0cmVhbS51dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTdHJlYW1NZXRyaWNzIH0gZnJvbSBcIi4uL2hlbHBlcnMvbWV0cmljcy5qc1wiO1xuaW1wb3J0IHsgaGFuZGxlRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3IvaGFuZGxlRXJyb3IuanNcIjtcbmltcG9ydCB7IGdldE5vZGVFbnYgfSBmcm9tIFwiLi4vY29uZmlnL2dldE5vZGVFbnYuanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgQ2xpZW50UnNjU3RyZWFtT3B0aW9ucyxcbiAgU2VydmVyUnNjU3RyZWFtT3B0aW9ucyxcbiAgQmFzZVJzY1N0cmVhbVJlc3VsdCxcbn0gZnJvbSBcIi4vY3JlYXRlUnNjU3RyZWFtLnR5cGVzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFBhc3NUaHJvdWdoIH0gZnJvbSBcIm5vZGU6c3RyZWFtXCI7XG5pbXBvcnQgeyBjcmVhdGVMb2dnZXIsIHR5cGUgTG9nZ2VyIH0gZnJvbSBcInZpdGVcIjtcblxuLyoqXG4gKiBWYWxpZGF0ZXMgY29tbW9uIFJTQyBzdHJlYW0gb3B0aW9uc1xuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gUlNDIHN0cmVhbSBvcHRpb25zIHRvIHZhbGlkYXRlXG4gKiBAcGFyYW0gY29udGV4dCAtIENvbnRleHQgZm9yIGVycm9yIG1lc3NhZ2VzXG4gKiBAdGhyb3dzIEVycm9yIGlmIHZhbGlkYXRpb24gZmFpbHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUnNjU3RyZWFtT3B0aW9ucyhcbiAgb3B0aW9uczogQ2xpZW50UnNjU3RyZWFtT3B0aW9ucyB8IFNlcnZlclJzY1N0cmVhbU9wdGlvbnMsXG4gIGNvbnRleHQ6IHN0cmluZ1xuKTogdm9pZCB7XG4gIGlmICghb3B0aW9ucy5yb3V0ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtjb250ZXh0fTogUm91dGUgaXMgcmVxdWlyZWQgZm9yIFJTQyBzdHJlYW0gY3JlYXRpb25gKTtcbiAgfVxuXG4gIGlmICghb3B0aW9ucy5wYWdlUGF0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtjb250ZXh0fTogcGFnZVBhdGggaXMgcmVxdWlyZWQgZm9yIFJTQyBzdHJlYW0gY3JlYXRpb25gKTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgY29tbW9uIFJTQyBzdHJlYW0gcmVzdWx0IHN0cnVjdHVyZVxuICpcbiAqIEBwYXJhbSByc2NTdHJlYW0gLSBUaGUgUlNDIHN0cmVhbVxuICogQHBhcmFtIGVsZW1lbnRzIC0gUmVhY3QgZWxlbWVudHNcbiAqIEBwYXJhbSBwaXBlIC0gUGlwZSBmdW5jdGlvblxuICogQHBhcmFtIGFib3J0IC0gQWJvcnQgZnVuY3Rpb25cbiAqIEBwYXJhbSBtZXRyaWNzIC0gU3RyZWFtIG1ldHJpY3NcbiAqIEByZXR1cm5zIEJhc2UgUlNDIHN0cmVhbSByZXN1bHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJhc2VSc2NTdHJlYW1SZXN1bHQoXG4gIHJzY1N0cmVhbTogUGFzc1Rocm91Z2gsXG4gIHBpcGU6IDxXcml0YWJsZSBleHRlbmRzIE5vZGVKUy5Xcml0YWJsZVN0cmVhbT4oXG4gICAgZGVzdGluYXRpb246IFdyaXRhYmxlXG4gICkgPT4gV3JpdGFibGUsXG4gIGFib3J0OiAocmVhc29uPzogdW5rbm93bikgPT4gdm9pZCxcbiAgbWV0cmljczogUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlU3RyZWFtTWV0cmljcz4sXG4gIGlkOiBzdHJpbmdcbik6IEJhc2VSc2NTdHJlYW1SZXN1bHQge1xuICByZXR1cm4ge1xuICAgIGlkLFxuICAgIHJzY1N0cmVhbSxcbiAgICBwaXBlLFxuICAgIGFib3J0LFxuICAgIG1ldHJpY3MsXG4gIH07XG59XG5cbi8qKlxuICogSGFuZGxlcyBSU0Mgc3RyZWFtIGVycm9ycyB3aXRoIGNvbnNpc3RlbnQgZXJyb3IgaGFuZGxpbmdcbiAqXG4gKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3IgdGhhdCBvY2N1cnJlZFxuICogQHBhcmFtIG9wdGlvbnMgLSBSU0Mgc3RyZWFtIG9wdGlvbnMgZm9yIGNvbnRleHRcbiAqIEBwYXJhbSBjb250ZXh0IC0gQWRkaXRpb25hbCBjb250ZXh0IGZvciBlcnJvciBoYW5kbGluZ1xuICogQHRocm93cyBFcnJvciBpZiBwYW5pYyB0aHJlc2hvbGQgaXMgbWV0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVSc2NTdHJlYW1FcnJvcihcbiAgZXJyb3I6IHVua25vd24sXG4gIG9wdGlvbnM6IENsaWVudFJzY1N0cmVhbU9wdGlvbnMgfCBTZXJ2ZXJSc2NTdHJlYW1PcHRpb25zLFxuICBjb250ZXh0OiBzdHJpbmdcbik6IHZvaWQge1xuICBjb25zdCBwYW5pY0Vycm9yID0gaGFuZGxlRXJyb3Ioe1xuICAgIGVycm9yLFxuICAgIGxvZ2dlcjogKG9wdGlvbnMgYXMgYW55KS5sb2dnZXIsXG4gICAgbW9kZTogZ2V0Tm9kZUVudigpLFxuICAgIHBhbmljVGhyZXNob2xkOiBvcHRpb25zLnBhbmljVGhyZXNob2xkIHx8IFwibm9uZVwiLFxuICAgIGNvbnRleHQ6IGAke2NvbnRleHR9IGZvciByb3V0ZSAke29wdGlvbnMucm91dGV9YCxcbiAgfSk7XG5cbiAgaWYgKHBhbmljRXJyb3IgIT0gbnVsbCkge1xuICAgIHRocm93IHBhbmljRXJyb3I7XG4gIH1cblxuICB0aHJvdyBlcnJvcjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHN0cmVhbSBtZXRyaWNzIHdpdGggY29tbW9uIHNldHVwXG4gKlxuICogQHBhcmFtIHJvdXRlIC0gUm91dGUgZm9yIGxvZ2dpbmcgY29udGV4dFxuICogQHBhcmFtIHZlcmJvc2UgLSBXaGV0aGVyIHRvIGVuYWJsZSB2ZXJib3NlIGxvZ2dpbmdcbiAqIEByZXR1cm5zIFN0cmVhbSBtZXRyaWNzIGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSc2NTdHJlYW1NZXRyaWNzKCk6IFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZVN0cmVhbU1ldHJpY3M+IHtcbiAgY29uc3QgbWV0cmljcyA9IGNyZWF0ZVN0cmVhbU1ldHJpY3MoKTtcbiAgbWV0cmljcy5zdGFydFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgcmV0dXJuIG1ldHJpY3M7XG59XG5cbi8qKlxuICogU2V0cyB1cCBjb21tb24gc3RyZWFtIGV2ZW50IGhhbmRsZXJzIGZvciBtZXRyaWNzIGNvbGxlY3Rpb25cbiAqXG4gKiBAcGFyYW0gc3RyZWFtIC0gVGhlIHN0cmVhbSB0byBtb25pdG9yXG4gKiBAcGFyYW0gbWV0cmljcyAtIE1ldHJpY3MgdG8gdXBkYXRlXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9uc1xuICogQHJldHVybnMgQ2xlYW51cCBmdW5jdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBSc2NTdHJlYW1FdmVudEhhbmRsZXJzKFxuICBzdHJlYW06IFBhc3NUaHJvdWdoLFxuICBtZXRyaWNzOiBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVTdHJlYW1NZXRyaWNzPixcbiAgb3B0aW9uczoge1xuICAgIHJvdXRlOiBzdHJpbmc7XG4gICAgdmVyYm9zZT86IGJvb2xlYW47XG4gICAgbG9nZ2VyPzogTG9nZ2VyO1xuICB9XG4pOiAoKSA9PiB2b2lkIHtcbiAgY29uc3QgeyByb3V0ZSwgdmVyYm9zZSA9IGZhbHNlLCBsb2dnZXIgPSBjcmVhdGVMb2dnZXIoKSB9ID0gb3B0aW9ucztcblxuICBzdHJlYW0ub24oXCJkYXRhXCIsIChjaHVuazogQnVmZmVyKSA9PiB7XG4gICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgIGxvZ2dlci5pbmZvKFxuICAgICAgICBgW2NyZWF0ZVJzY1N0cmVhbToke3JvdXRlfV0gUmVjZWl2ZWQgZGF0YSBjaHVuazogJHtjaHVuay5sZW5ndGh9IGJ5dGVzYFxuICAgICAgKTtcbiAgICB9XG4gICAgbWV0cmljcy5jaHVua3MrKztcbiAgICBtZXRyaWNzLmJ5dGVzICs9IGNodW5rLmxlbmd0aDtcbiAgfSk7XG5cbiAgc3RyZWFtLm9uKFwiZW5kXCIsICgpID0+IHtcbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgbG9nZ2VyLmluZm8oYFtjcmVhdGVSc2NTdHJlYW06JHtyb3V0ZX1dIFN0cmVhbSBlbmRlZGApO1xuICAgIH1cbiAgICBtZXRyaWNzLmR1cmF0aW9uID0gcGVyZm9ybWFuY2Uubm93KCkgLSBtZXRyaWNzLnN0YXJ0VGltZTtcbiAgICBtZXRyaWNzLmVuZFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgfSk7XG5cbiAgc3RyZWFtLm9uKFwiZXJyb3JcIiwgKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgbG9nZ2VyLmVycm9yKGBbY3JlYXRlUnNjU3RyZWFtOiR7cm91dGV9XSBTdHJlYW0gZXJyb3I6ICR7ZXJyb3J9YCk7XG4gIH0pO1xuXG4gIHN0cmVhbS5vbihcImRyYWluXCIsICgpID0+IHtcbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgIGBbY3JlYXRlUnNjU3RyZWFtOiR7cm91dGV9XSBTdHJlYW0gZHJhaW4gLSBiYWNrcHJlc3N1cmUgcmVzb2x2ZWRgXG4gICAgICApO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gVHJhY2sgYmFja3ByZXNzdXJlIHdoZW4gd3JpdGUgYnVmZmVyIGlzIGZ1bGxcbiAgY29uc3Qgb3JpZ2luYWxXcml0ZSA9IHN0cmVhbS53cml0ZS5iaW5kKHN0cmVhbSk7XG4gIHN0cmVhbS53cml0ZSA9IGZ1bmN0aW9uIChcbiAgICBjaHVuazogYW55LFxuICAgIGVuY29kaW5nPzogQnVmZmVyRW5jb2RpbmcgfCAoKGVycm9yOiBFcnJvciB8IG51bGwgfCB1bmRlZmluZWQpID0+IHZvaWQpLFxuICAgIGNhbGxiYWNrPzogKGVycm9yOiBFcnJvciB8IG51bGwgfCB1bmRlZmluZWQpID0+IHZvaWRcbiAgKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gb3JpZ2luYWxXcml0ZShjaHVuaywgZW5jb2RpbmcgYXMgYW55LCBjYWxsYmFjayk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIG1ldHJpY3MuYmFja3ByZXNzdXJlQ291bnQrKztcbiAgICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICAgIGxvZ2dlci53YXJuKGBbY3JlYXRlUnNjU3RyZWFtOiR7cm91dGV9XSBCYWNrcHJlc3N1cmUgZGV0ZWN0ZWRgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcblxuICByZXR1cm4gKCkgPT4ge1xuICAgIC8vIE5vIGNsZWFudXAgbmVlZGVkIHNpbmNlIHdlIHJlbW92ZWQgdGhlIHRpbWVvdXRcbiAgICBzdHJlYW0ucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQWtCTyxTQUFTLHdCQUFBLENBQ2QsU0FDQSxPQUNNLEVBQUE7QUFDTixFQUFJLElBQUEsQ0FBQyxRQUFRLEtBQU8sRUFBQTtBQUNsQixJQUFBLE1BQU0sSUFBSSxLQUFBLENBQU0sQ0FBRyxFQUFBLE9BQU8sQ0FBNkMsMkNBQUEsQ0FBQSxDQUFBO0FBQUE7QUFHekUsRUFBSSxJQUFBLENBQUMsUUFBUSxRQUFVLEVBQUE7QUFDckIsSUFBQSxNQUFNLElBQUksS0FBQSxDQUFNLENBQUcsRUFBQSxPQUFPLENBQWdELDhDQUFBLENBQUEsQ0FBQTtBQUFBO0FBRTlFO0FBWU8sU0FBUyx5QkFDZCxDQUFBLFNBQUEsRUFDQSxJQUdBLEVBQUEsS0FBQSxFQUNBLFNBQ0EsRUFDcUIsRUFBQTtBQUNyQixFQUFPLE9BQUE7QUFBQSxJQUNMLEVBQUE7QUFBQSxJQUNBLFNBQUE7QUFBQSxJQUNBLElBQUE7QUFBQSxJQUNBLEtBQUE7QUFBQSxJQUNBO0FBQUEsR0FDRjtBQUNGO0FBVU8sU0FBUyxvQkFBQSxDQUNkLEtBQ0EsRUFBQSxPQUFBLEVBQ0EsT0FDTSxFQUFBO0FBQ04sRUFBQSxNQUFNLGFB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