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,224 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ import { PassThrough } from 'node:stream';
7
+ import { createLogger } from 'vite';
8
+ import { createSerializableHandlerOptions } from '../helpers/createSerializableHandlerOptions.js';
9
+ import { toError } from '../error/toError.js';
10
+ import { serializeError } from '../error/serializeError.js';
11
+ import { createMessageChannels } from './createMessageChannels.js';
12
+
13
+ const createHtmlStream = function _createHtmlStream(options) {
14
+ const {
15
+ route,
16
+ id = route,
17
+ rscStream,
18
+ htmlWorker,
19
+ verbose = false,
20
+ logger = createLogger(),
21
+ onError,
22
+ panicThreshold
23
+ } = options;
24
+ if (verbose) {
25
+ logger.info(
26
+ `[createHtmlStream.server:${route}] Creating HTML stream with MessagePort`
27
+ );
28
+ }
29
+ if (!htmlWorker) {
30
+ throw new Error("HTML worker is required for server-side HTML streaming");
31
+ }
32
+ const { dataPort1, dataPort2, controlPort1, controlPort2 } = createMessageChannels();
33
+ const htmlStream = new PassThrough();
34
+ let isStreamEnded = false;
35
+ let chunkCount = 0;
36
+ let isHtmlStreamReady = true;
37
+ let pendingRscChunks = [];
38
+ const processPendingRscChunks = () => {
39
+ if (verbose && pendingRscChunks.length > 0) {
40
+ logger.info(
41
+ `[createHtmlStream.server:${route}] Processing ${pendingRscChunks.length} pending RSC chunks`
42
+ );
43
+ }
44
+ while (pendingRscChunks.length > 0 && isHtmlStreamReady && !isStreamEnded) {
45
+ const chunk = pendingRscChunks.shift();
46
+ try {
47
+ dataPort1.postMessage(chunk);
48
+ chunkCount++;
49
+ if (verbose) {
50
+ logger.info(
51
+ `[createHtmlStream.server:${route}] Processed pending RSC chunk ${chunkCount}`
52
+ );
53
+ }
54
+ } catch (error) {
55
+ pendingRscChunks.unshift(chunk);
56
+ if (verbose) {
57
+ logger.info(
58
+ `[createHtmlStream.server:${route}] Still backpressure, stopping processing`
59
+ );
60
+ }
61
+ break;
62
+ }
63
+ }
64
+ };
65
+ const sendChunk = (chunk) => {
66
+ if (!isStreamEnded && isHtmlStreamReady) {
67
+ try {
68
+ dataPort1.postMessage(chunk);
69
+ chunkCount++;
70
+ if (verbose) {
71
+ logger.info(
72
+ `[createHtmlStream.server:${route}] Sent chunk ${chunkCount}`
73
+ );
74
+ }
75
+ } catch (error) {
76
+ if (verbose) {
77
+ logger.info(
78
+ `[createHtmlStream.server:${route}] MessagePort backpressure detected, RSC stream will naturally slow down`
79
+ );
80
+ }
81
+ }
82
+ } else if (!isStreamEnded) {
83
+ pendingRscChunks.push(chunk);
84
+ if (verbose) {
85
+ logger.info(
86
+ `[createHtmlStream.server:${route}] HTML stream backpressured, buffering RSC chunk (${pendingRscChunks.length} pending)`
87
+ );
88
+ }
89
+ }
90
+ };
91
+ const dataMessageHandler = (event) => {
92
+ const data = event;
93
+ if (data === void 0) {
94
+ return;
95
+ }
96
+ if (data === null) {
97
+ if (verbose) {
98
+ logger.info(`[createHtmlStream.server:${route}] HTML stream ended by worker`);
99
+ }
100
+ htmlStream.end();
101
+ cleanup();
102
+ htmlWorker.postMessage({ type: "CLEANUP", id, route });
103
+ } else {
104
+ if (verbose) {
105
+ logger.info(`[createHtmlStream.server:${route}] Writing HTML chunk: ${data.length} bytes`);
106
+ }
107
+ if (htmlStream.destroyed || htmlStream.writableEnded) {
108
+ if (verbose) {
109
+ logger.info(`[createHtmlStream.server:${route}] HTML stream already ended, ignoring data chunk`);
110
+ }
111
+ return;
112
+ }
113
+ const canWrite = htmlStream.write(data);
114
+ if (!canWrite) {
115
+ if (verbose) {
116
+ logger.info(
117
+ `[createHtmlStream.server:${route}] HTML stream backpressured, pausing worker`
118
+ );
119
+ }
120
+ isHtmlStreamReady = false;
121
+ controlPort1.postMessage({ type: "PAUSE", id });
122
+ htmlStream.once("drain", () => {
123
+ if (verbose) {
124
+ logger.info(
125
+ `[createHtmlStream.server:${route}] HTML stream drained, resuming worker`
126
+ );
127
+ }
128
+ isHtmlStreamReady = true;
129
+ processPendingRscChunks();
130
+ controlPort1.postMessage({ type: "RESUME", id });
131
+ });
132
+ }
133
+ }
134
+ };
135
+ dataPort1.on("message", dataMessageHandler);
136
+ const controlMessageHandler = (event) => {
137
+ const message = event;
138
+ if (!message || typeof message !== "object") {
139
+ return;
140
+ }
141
+ switch (message.type) {
142
+ case "READY":
143
+ if (verbose) {
144
+ logger.info(`[createHtmlStream.server:${route}] HTML worker ready for more data`);
145
+ }
146
+ processPendingRscChunks();
147
+ break;
148
+ case "END":
149
+ if (verbose) {
150
+ logger.info(
151
+ `[createHtmlStream.server:${route}] Received END message, waiting for null data to confirm completion`
152
+ );
153
+ }
154
+ break;
155
+ case "ERROR":
156
+ const error = toError(message.error, message.errorInfo);
157
+ htmlStream.destroy(error);
158
+ if (onError) {
159
+ const isPanic = panicThreshold === "all_errors";
160
+ onError(error, isPanic);
161
+ }
162
+ cleanup();
163
+ htmlWorker.postMessage({ type: "CLEANUP", id, route });
164
+ break;
165
+ case "METRICS":
166
+ break;
167
+ case "HTML_RENDER_START":
168
+ break;
169
+ case "CLEANUP_COMPLETE":
170
+ if (verbose) {
171
+ logger.info(`[createHtmlStream.server:${route}] Worker cleanup completed for route ${message.id}`);
172
+ }
173
+ break;
174
+ }
175
+ };
176
+ controlPort1.on("message", controlMessageHandler);
177
+ htmlWorker.postMessage(
178
+ {
179
+ type: "INIT",
180
+ id: route,
181
+ dataPort: dataPort2,
182
+ controlPort: controlPort2,
183
+ options: createSerializableHandlerOptions(options)
184
+ },
185
+ [dataPort2, controlPort2]
186
+ );
187
+ if (rscStream) {
188
+ if (verbose) {
189
+ logger.info(
190
+ `[createHtmlStream.server:${route}] Piping RSC stream to HTML worker`
191
+ );
192
+ }
193
+ rscStream.on("data", (chunk) => {
194
+ sendChunk(chunk);
195
+ });
196
+ rscStream.on("end", () => {
197
+ isStreamEnded = true;
198
+ });
199
+ rscStream.on("error", (error) => {
200
+ const serializedError = serializeError(error);
201
+ controlPort1.postMessage({ type: "ERROR", error: serializedError });
202
+ dataPort1.postMessage({ error: serializedError });
203
+ });
204
+ }
205
+ const cleanup = () => {
206
+ try {
207
+ dataPort1.removeListener("message", dataMessageHandler);
208
+ controlPort1.removeListener("message", controlMessageHandler);
209
+ } catch (error) {
210
+ }
211
+ };
212
+ return {
213
+ pipe: (destination) => htmlStream.pipe(destination),
214
+ abort: () => {
215
+ controlPort1.postMessage({ type: "ABORT", reason: "Stream aborted" });
216
+ htmlStream.end();
217
+ cleanup();
218
+ htmlWorker.postMessage({ type: "CLEANUP", id, route });
219
+ }
220
+ };
221
+ };
222
+
223
+ export { createHtmlStream };
224
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlSHRtbFN0cmVhbS5zZXJ2ZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9zdHJlYW0vY3JlYXRlSHRtbFN0cmVhbS5zZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFzc1Rocm91Z2ggfSBmcm9tIFwibm9kZTpzdHJlYW1cIjtcbmltcG9ydCB7IGNyZWF0ZUxvZ2dlciB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgdHlwZSB7IENyZWF0ZUh0bWxTdHJlYW1GbiB9IGZyb20gXCIuL2NyZWF0ZUh0bWxTdHJlYW0udHlwZXMuanNcIjtcbmltcG9ydCB7IGNyZWF0ZVNlcmlhbGl6YWJsZUhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIi4uL2hlbHBlcnMvY3JlYXRlU2VyaWFsaXphYmxlSGFuZGxlck9wdGlvbnMuanNcIjtcbmltcG9ydCB7IHRvRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3IvdG9FcnJvci5qc1wiO1xuaW1wb3J0IHsgc2VyaWFsaXplRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3Ivc2VyaWFsaXplRXJyb3IuanNcIjtcbmltcG9ydCB7IGNyZWF0ZU1lc3NhZ2VDaGFubmVscyB9IGZyb20gXCIuL2NyZWF0ZU1lc3NhZ2VDaGFubmVscy5qc1wiO1xuLyoqXG4gKiBDcmVhdGVzIGFuIEhUTUwgc3RyZWFtIHVzaW5nIGEgTWVzc2FnZVBvcnQgZm9yIGRpcmVjdCBjb21tdW5pY2F0aW9uIHdpdGggdGhlIEhUTUwgd29ya2VyXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVIdG1sU3RyZWFtOiBDcmVhdGVIdG1sU3RyZWFtRm4gPSBmdW5jdGlvbiBfY3JlYXRlSHRtbFN0cmVhbShcbiAgb3B0aW9uc1xuKSB7XG4gIGNvbnN0IHtcbiAgICByb3V0ZSxcbiAgICBpZCA9IHJvdXRlLFxuICAgIHJzY1N0cmVhbSxcbiAgICBodG1sV29ya2VyLFxuICAgIHZlcmJvc2UgPSBmYWxzZSxcbiAgICBsb2dnZXIgPSBjcmVhdGVMb2dnZXIoKSxcbiAgICBvbkVycm9yLFxuICAgIHBhbmljVGhyZXNob2xkLFxuICB9ID0gb3B0aW9ucztcblxuICBpZiAodmVyYm9zZSkge1xuICAgIGxvZ2dlci5pbmZvKFxuICAgICAgYFtjcmVhdGVIdG1sU3RyZWFtLnNlcnZlcjoke3JvdXRlfV0gQ3JlYXRpbmcgSFRNTCBzdHJlYW0gd2l0aCBNZXNzYWdlUG9ydGBcbiAgICApO1xuICB9XG5cbiAgaWYgKCFodG1sV29ya2VyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiSFRNTCB3b3JrZXIgaXMgcmVxdWlyZWQgZm9yIHNlcnZlci1zaWRlIEhUTUwgc3RyZWFtaW5nXCIpO1xuICB9XG5cbiAgLy8gQ3JlYXRlIHR3byBzZXBhcmF0ZSBNZXNzYWdlUG9ydHMgZm9yIGNsZWFuIHNlcGFyYXRpb24gb2YgY29uY2VybnNcbiAgY29uc3QgeyBkYXRhUG9ydDEsIGRhdGFQb3J0MiwgY29udHJvbFBvcnQxLCBjb250cm9sUG9ydDIgfSA9IGNyZWF0ZU1lc3NhZ2VDaGFubmVscygpO1xuXG4gIC8vIENyZWF0ZSB0aGUgSFRNTCBvdXRwdXQgc3RyZWFtXG4gIGNvbnN0IGh0bWxTdHJlYW0gPSBuZXcgUGFzc1Rocm91Z2goKTtcblxuICAvLyBGbG93IGNvbnRyb2wgc3RhdGUgZm9yIEhUTUwgb3V0cHV0IHN0cmVhbSBiYWNrcHJlc3N1cmUgaGFuZGxpbmdcbiAgbGV0IGlzU3RyZWFtRW5kZWQgPSBmYWxzZTtcbiAgbGV0IGNodW5rQ291bnQgPSAwOyAvLyBUcmFjayBudW1iZXIgb2YgY2h1bmtzIHNlbnRcbiAgbGV0IGlzSHRtbFN0cmVhbVJlYWR5ID0gdHJ1ZTsgLy8gVHJhY2sgaWYgSFRNTCBzdHJlYW0gY2FuIGFjY2VwdCBtb3JlIGRhdGFcbiAgbGV0IHBlbmRpbmdSc2NDaHVua3M6IGFueVtdID0gW107IC8vIEJ1ZmZlciBmb3IgUlNDIGNodW5rcyB3aGVuIEhUTUwgc3RyZWFtIGlzIGJhY2twcmVzc3VyZWRcbiAgLy8gTm8gbmVlZCB0byB0cmFjayBFTkQgbWVzc2FnZSBzdGF0ZSAtIHJlbHkgb24gbnVsbCBkYXRhIG1lc3NhZ2UgZm9yIGNvbXBsZXRpb25cblxuICAvLyBGdW5jdGlvbiB0byBwcm9jZXNzIHBlbmRpbmcgUlNDIGNodW5rcyB3aGVuIEhUTUwgc3RyZWFtIGJlY29tZXMgcmVhZHlcbiAgY29uc3QgcHJvY2Vzc1BlbmRpbmdSc2NDaHVua3MgPSAoKSA9PiB7XG4gICAgaWYgKHZlcmJvc2UgJiYgcGVuZGluZ1JzY0NodW5rcy5sZW5ndGggPiAwKSB7XG4gICAgICBsb2dnZXIuaW5mbyhcbiAgICAgICAgYFtjcmVhdGVIdG1sU3RyZWFtLnNlcnZlcjoke3JvdXRlfV0gUHJvY2Vzc2luZyAke3BlbmRpbmdSc2NDaHVua3MubGVuZ3RofSBwZW5kaW5nIFJTQyBjaHVua3NgXG4gICAgICApO1xuICAgIH1cblxuICAgIHdoaWxlIChwZW5kaW5nUnNjQ2h1bmtzLmxlbmd0aCA+IDAgJiYgaXNIdG1sU3RyZWFtUmVhZHkgJiYgIWlzU3RyZWFtRW5kZWQpIHtcbiAgICAgIGNvbnN0IGNodW5rID0gcGVuZGluZ1JzY0NodW5rcy5zaGlmdCgpITtcbiAgICAgIHRyeSB7XG4gICAgICAgIGRhdGFQb3J0MS5wb3N0TWVzc2FnZShjaHVuayk7XG4gICAgICAgIGNodW5rQ291bnQrKztcbiAgICAgICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgICAgICBsb2dnZXIuaW5mbyhcbiAgICAgICAgICAgIGBbY3JlYXRlSHRtbFN0cmVhbS5zZXJ2ZXI6JHtyb3V0ZX1dIFByb2Nlc3NlZCBwZW5kaW5nIFJTQyBjaHVuayAke2NodW5rQ291bnR9YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIFN0aWxsIGJhY2twcmVzc3VyZSwgcHV0IGNodW5rIGJhY2sgYW5kIHN0b3BcbiAgICAgICAgcGVuZGluZ1JzY0NodW5rcy51bnNoaWZ0KGNodW5rKTtcbiAgICAgICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgICAgICBsb2dnZXIuaW5mbyhcbiAgICAgICAgICAgIGBbY3JlYXRlSHRtbFN0cmVhbS5zZXJ2ZXI6JHtyb3V0ZX1dIFN0aWxsIGJhY2twcmVzc3VyZSwgc3RvcHBpbmcgcHJvY2Vzc2luZ2BcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICAvLyBGdW5jdGlvbiB0byBzZW5kIGEgY2h1bmsgdG8gdGhlIHdvcmtlclxuICAvLyBDaGVjayBpZiBIVE1MIHN0cmVhbSBpcyByZWFkeSBiZWZvcmUgc2VuZGluZyBSU0MgY2h1bmtzXG4gIGNvbnN0IHNlbmRDaHVuayA9IChjaHVuazogYW55KSA9PiB7XG4gICAgaWYgKCFpc1N0cmVhbUVuZGVkICYmIGlzSHRtbFN0cmVhbVJlYWR5KSB7XG4gICAgICB0cnkge1xuICAgICAgICBkYXRhUG9ydDEucG9zdE1lc3NhZ2UoY2h1bmspO1xuICAgICAgICBjaHVua0NvdW50Kys7XG4gICAgICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgICBgW2NyZWF0ZUh0bWxTdHJlYW0uc2VydmVyOiR7cm91dGV9XSBTZW50IGNodW5rICR7Y2h1bmtDb3VudH1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgLy8gTWVzc2FnZVBvcnQgZXJyb3IgLSB0aGlzIHdpbGwgbmF0dXJhbGx5IGJhY2twcmVzc3VyZSB0aGUgUlNDIHN0cmVhbVxuICAgICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICAgIGxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgYFtjcmVhdGVIdG1sU3RyZWFtLnNlcnZlcjoke3JvdXRlfV0gTWVzc2FnZVBvcnQgYmFja3ByZXNzdXJlIGRldGVjdGVkLCBSU0Mgc3RyZWFtIHdpbGwgbmF0dXJhbGx5IHNsb3cgZG93bmBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghaXNTdHJlYW1FbmRlZCkge1xuICAgICAgLy8gSFRNTCBzdHJlYW0gaXMgYmFja3ByZXNzdXJlZCwgYnVmZmVyIHRoaXMgUlNDIGNodW5rXG4gICAgICBwZW5kaW5nUnNjQ2h1bmtzLnB1c2goY2h1bmspO1xuICAgICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgYFtjcmVhdGVIdG1sU3RyZWFtLnNlcnZlcjoke3JvdXRlfV0gSFRNTCBzdHJlYW0gYmFja3ByZXNzdXJlZCwgYnVmZmVyaW5nIFJTQyBjaHVuayAoJHtwZW5kaW5nUnNjQ2h1bmtzLmxlbmd0aH0gcGVuZGluZylgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8vIERhdGEgcG9ydCAtIHJlY2VpdmVzIEhUTUwgZGF0YSBmcm9tIHdvcmtlclxuICBjb25zdCBkYXRhTWVzc2FnZUhhbmRsZXIgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgIGlmICh2ZXJib3NlKSB7XG4gICAgfVxuICAgIGNvbnN0IGRhdGEgPSBldmVudDsgLy8gTWVzc2FnZVBvcnQgZXZlbnRzIGNvbnRhaW4gdGhlIGRhdGEgZGlyZWN0bHlcbiAgICBcbiAgICBpZiAoZGF0YSA9PT0gdW5kZWZpbmVkKSB7XG5cbiAgICAgIHJldHVybjsgLy8gSWdub3JlIHVuZGVmaW5lZCBtZXNzYWdlc1xuICAgIH1cblxuICAgIGlmIChkYXRhID09PSBudWxsKSB7XG4gICAgICAvLyBFbmQgb2Ygc3RyZWFtXG4gICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICBsb2dnZXIuaW5mbyhgW2NyZWF0ZUh0bWxTdHJlYW0uc2VydmVyOiR7cm91dGV9XSBIVE1MIHN0cmVhbSBlbmRlZCBieSB3b3JrZXJgKTtcbiAgICAgIH1cbiAgICAgIGh0bWxTdHJlYW0uZW5kKCk7XG5cbiAgICAgIC8vIENsZWFuIHVwIGxpc3RlbmVycyBhbmQgY2xvc2UgcG9ydHMgd2hlbiBzdHJlYW0gZW5kcyBuYXR1cmFsbHlcbiAgICAgIGNsZWFudXAoKTtcblxuICAgICAgLy8gU2VuZCBjbGVhbnVwIG1lc3NhZ2UgdG8gd29ya2VyIHRvIHJlc2V0IGl0cyBpbnRlcm5hbCBzdGF0ZVxuICAgICAgLy8gVGhpcyBwcmV2ZW50cyByYWNlIGNvbmRpdGlvbnMgYmV0d2VlbiBwYWdlIHJlbmRlcnNcbiAgICAgIGh0bWxXb3JrZXIucG9zdE1lc3NhZ2UoeyB0eXBlOiBcIkNMRUFOVVBcIiwgaWQ6IGlkLCByb3V0ZTogcm91dGUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFJhdyBIVE1MIGRhdGEgZnJvbSB3b3JrZXIgLSB3cml0ZSB0byBzdHJlYW1cbiAgICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICAgIGxvZ2dlci5pbmZvKGBbY3JlYXRlSHRtbFN0cmVhbS5zZXJ2ZXI6JHtyb3V0ZX1dIFdyaXRpbmcgSFRNTCBjaHVuazogJHtkYXRhLmxlbmd0aH0gYnl0ZXNgKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8gQ2hlY2sgaWYgdGhlIEhUTUwgc3RyZWFtIGlzIHN0aWxsIHdyaXRhYmxlIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHdyaXRlXG4gICAgICBpZiAoaHRtbFN0cmVhbS5kZXN0cm95ZWQgfHwgaHRtbFN0cmVhbS53cml0YWJsZUVuZGVkKSB7XG4gICAgICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICAgICAgbG9nZ2VyLmluZm8oYFtjcmVhdGVIdG1sU3RyZWFtLnNlcnZlcjoke3JvdXRlfV0gSFRNTCBzdHJlYW0gYWxyZWFkeSBlbmRlZCwgaWdub3JpbmcgZGF0YSBjaHVua2ApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gRGF0YSByZWNlaXZlZCAtIHN0cmVhbSBpcyBzdGlsbCBhY3RpdmVcblxuICAgICAgLy8gQ2hlY2sgaWYgdGhlIEhUTUwgc3RyZWFtIGNhbiBhY2NlcHQgbW9yZSBkYXRhIChiYWNrcHJlc3N1cmUgaGFuZGxpbmcpXG4gICAgICBjb25zdCBjYW5Xcml0ZSA9IGh0bWxTdHJlYW0ud3JpdGUoZGF0YSk7XG5cbiAgICAgIGlmICghY2FuV3JpdGUpIHtcbiAgICAgICAgLy8gSFRNTCBzdHJlYW0gaXMgYmFja3ByZXNzdXJlZCwgcGF1c2UgdGhlIHdvcmtlclxuICAgICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICAgIGxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgYFtjcmVhdGVIdG1sU3RyZWFtLnNlcnZlcjoke3JvdXRlfV0gSFRNTCBzdHJlYW0gYmFja3ByZXNzdXJlZCwgcGF1c2luZyB3b3JrZXJgXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpc0h0bWxTdHJlYW1SZWFkeSA9IGZhbHNlO1xuICAgICAgICBcbiAgICAgICAgLy8gVGVsbCB0aGUgd29ya2VyIHRvIHBhdXNlIHNlbmRpbmcgbW9yZSBkYXRhXG4gICAgICAgIGNvbnRyb2xQb3J0MS5wb3N0TWVzc2FnZSh7IHR5cGU6IFwiUEFVU0VcIiwgaWQ6IGlkIH0pO1xuXG4gICAgICAgIC8vIExpc3RlbiBmb3IgZHJhaW4gZXZlbnQgdG8gcmVzdW1lXG4gICAgICAgIGh0bWxTdHJlYW0ub25jZShcImRyYWluXCIsICgpID0+IHtcbiAgICAgICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgICAgIGBbY3JlYXRlSHRtbFN0cmVhbS5zZXJ2ZXI6JHtyb3V0ZX1dIEhUTUwgc3RyZWFtIGRyYWluZWQsIHJlc3VtaW5nIHdvcmtlcmBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlzSHRtbFN0cmVhbVJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAvLyBQcm9jZXNzIGFueSBwZW5kaW5nIFJTQyBjaHVua3MgZmlyc3RcbiAgICAgICAgICBwcm9jZXNzUGVuZGluZ1JzY0NodW5rcygpO1xuICAgICAgICAgIC8vIFRlbGwgd29ya2VyIGl0IGNhbiByZXN1bWUgc2VuZGluZyBkYXRhXG4gICAgICAgICAgY29udHJvbFBvcnQxLnBvc3RNZXNzYWdlKHsgdHlwZTogXCJSRVNVTUVcIiwgaWQ6IGlkIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIFxuICAgIH1cbiAgfTtcbiAgXG4gIGRhdGFQb3J0MS5vbignbWVzc2FnZScsIGRhdGFNZXNzYWdlSGFuZGxlcik7XG5cbiAgLy8gQ29udHJvbCBwb3J0XG4gIGNvbnN0IGNvbnRyb2xNZXNzYWdlSGFuZGxlciA9IChldmVudDogYW55KSA9PiB7XG4gIFxuICAgIGNvbnN0IG1lc3NhZ2UgPSBldmVudDsgLy8gTWVzc2FnZVBvcnQgZXZlbnRzIGNvbnRhaW4gdGhlIGRhdGEgZGlyZWN0bHlcbiAgICBcbiAgICBpZiAoIW1lc3NhZ2UgfHwgdHlwZW9mIG1lc3NhZ2UgIT09ICdvYmplY3QnKSB7XG4gICAgIFxuICAgICAgcmV0dXJuOyAvLyBJZ25vcmUgaW52YWxpZCBtZXNzYWdlc1xuICAgIH1cbiAgICBcblxuICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICBjYXNlIFwiUkVBRFlcIjpcbiAgICAgICAgLy8gRmxvdyBjb250cm9sOiBIVE1MIHdvcmtlciBpcyByZWFkeSBmb3IgbW9yZSBkYXRhXG4gICAgICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICAgICAgbG9nZ2VyLmluZm8oYFtjcmVhdGVIdG1sU3RyZWFtLnNlcnZlcjoke3JvdXRlfV0gSFRNTCB3b3JrZXIgcmVhZHkgZm9yIG1vcmUgZGF0YWApO1xuICAgICAgICB9XG4gICAgICAgIC8vIFByb2Nlc3MgYW55IHBlbmRpbmcgUlNDIGNodW5rcyB0aGF0IHdlcmUgYnVmZmVyZWQgZHVlIHRvIGJhY2twcmVzc3VyZVxuICAgICAgICBwcm9jZXNzUGVuZGluZ1JzY0NodW5rcygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJFTkRcIjpcbiAgICAgICAgLy8gRG9uJ3QgZW5kIHRoZSBzdHJlYW0geWV0IC0gd2FpdCBmb3IgdGhlIG51bGwgZGF0YSBtZXNzYWdlXG4gICAgICAgIC8vIFRoZSB3b3JrZXIgd2lsbCBzZW5kIG51bGwgdGhyb3VnaCB0aGUgZGF0YSBwb3J0IHdoZW4gYWN0dWFsbHkgZG9uZVxuICAgICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICAgIGxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgYFtjcmVhdGVIdG1sU3RyZWFtLnNlcnZlcjoke3JvdXRlfV0gUmVjZWl2ZWQgRU5EIG1lc3NhZ2UsIHdhaXRpbmcgZm9yIG51bGwgZGF0YSB0byBjb25maXJtIGNvbXBsZXRpb25gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJFUlJPUlwiOlxuICAgICAgICBjb25zdCBlcnJvciA9IHRvRXJyb3IobWVzc2FnZS5lcnJvciwgbWVzc2FnZS5lcnJvckluZm8pO1xuICAgICAgICBodG1sU3RyZWFtLmRlc3Ryb3koZXJyb3IpO1xuXG4gICAgICAgIC8vIENhbGwgdGhlIGVycm9yIGNhbGxiYWNrIGlmIHByb3ZpZGVkXG4gICAgICAgIGlmIChvbkVycm9yKSB7XG4gICAgICAgICAgY29uc3QgaXNQYW5pYyA9IHBhbmljVGhyZXNob2xkID09PSBcImFsbF9lcnJvcnNcIjtcbiAgICAgICAgICBvbkVycm9yKGVycm9yLCBpc1BhbmljKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENsZWFuIHVwIGxpc3RlbmVycyBhbmQgY2xvc2UgcG9ydHMgd2hlbiBzdHJlYW0gaXMgZGVzdHJveWVkIGR1ZSB0byBlcnJvclxuICAgICAgICBjbGVhbnVwKCk7XG5cbiAgICAgICAgLy8gU2VuZCBjbGVhbnVwIG1lc3NhZ2UgdG8gd29ya2VyIHRvIHJlc2V0IGl0cyBpbnRlcm5hbCBzdGF0ZVxuICAgICAgICAvLyBUaGlzIHByZXZlbnRzIHJhY2UgY29uZGl0aW9ucyBiZXR3ZWVuIHBhZ2UgcmVuZGVyc1xuICAgICAgICBodG1sV29ya2VyLnBvc3RNZXNzYWdlKHsgdHlwZTogXCJDTEVBTlVQXCIsIGlkOiBpZCwgcm91dGU6IHJvdXRlIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJNRVRSSUNTXCI6XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIkhUTUxfUkVOREVSX1NUQVJUXCI6XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIkNMRUFOVVBfQ09NUExFVEVcIjpcbiAgICAgICAgLy8gV29ya2VyIGhhcyBjb21wbGV0ZWQgY2xlYW51cCAtIHRoaXMgaXMganVzdCBhIGNvbmZpcm1hdGlvblxuICAgICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICAgIGxvZ2dlci5pbmZvKGBbY3JlYXRlSHRtbFN0cmVhbS5zZXJ2ZXI6JHtyb3V0ZX1dIFdvcmtlciBjbGVhbnVwIGNvbXBsZXRlZCBmb3Igcm91dGUgJHttZXNzYWdlLmlkfWApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9O1xuICBcbiAgY29udHJvbFBvcnQxLm9uKCdtZXNzYWdlJywgY29udHJvbE1lc3NhZ2VIYW5kbGVyKTtcblxuICAvLyBTZW5kIHRoZSBIVE1MIHN0cmVhbSByZXF1ZXN0IHRvIHRoZSB3b3JrZXIgd2l0aCBib3RoIE1lc3NhZ2VQb3J0c1xuICBodG1sV29ya2VyLnBvc3RNZXNzYWdlKFxuICAgIHtcbiAgICAgIHR5cGU6IFwiSU5JVFwiLFxuICAgICAgaWQ6IHJvdXRlLFxuICAgICAgZGF0YVBvcnQ6IGRhdGFQb3J0MixcbiAgICAgIGNvbnRyb2xQb3J0OiBjb250cm9sUG9ydDIsXG4gICAgICBvcHRpb25zOiBjcmVhdGVTZXJpYWxpemFibGVIYW5kbGVyT3B0aW9ucyhvcHRpb25zKSxcbiAgICB9LFxuICAgIFtkYXRhUG9ydDIsIGNvbnRyb2xQb3J0Ml0gYXMgYW55XG4gICk7IC8vIFRyYW5zZmVyIGJvdGggcG9ydHMgdG8gdGhlIHdvcmtlclxuXG4gIC8vIElmIHdlIGhhdmUgYW4gUlNDIHN0cmVhbSwgcGlwZSBpdCB0byB0aGUgd29ya2VyIHZpYSBkYXRhUG9ydFxuICBpZiAocnNjU3RyZWFtKSB7XG4gICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgIGxvZ2dlci5pbmZvKFxuICAgICAgICBgW2NyZWF0ZUh0bWxTdHJlYW0uc2VydmVyOiR7cm91dGV9XSBQaXBpbmcgUlNDIHN0cmVhbSB0byBIVE1MIHdvcmtlcmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gUGlwZSB0aGUgUlNDIHN0cmVhbSBkYXRhIGRpcmVjdGx5IHRvIHRoZSB3b3JrZXIgdmlhIGRhdGFQb3J0XG4gICAgcnNjU3RyZWFtLm9uKFwiZGF0YVwiLCAoY2h1bmspID0+IHtcbiAgICAgIHNlbmRDaHVuayhjaHVuayk7XG4gICAgfSk7XG5cbiAgICByc2NTdHJlYW0ub24oXCJlbmRcIiwgKCkgPT4ge1xuICAgICAgaXNTdHJlYW1FbmRlZCA9IHRydWU7XG4gICAgfSk7XG5cbiAgICByc2NTdHJlYW0ub24oXCJlcnJvclwiLCAoZXJyb3IpID0+IHtcbiAgICAgIGNvbnN0IHNlcmlhbGl6ZWRFcnJvciA9IHNlcmlhbGl6ZUVycm9yKGVycm9yKTtcbiAgICAgIGNvbnRyb2xQb3J0MS5wb3N0TWVzc2FnZSh7IHR5cGU6IFwiRVJST1JcIiwgZXJyb3I6IHNlcmlhbGl6ZWRFcnJvciB9KTtcbiAgICAgIGRhdGFQb3J0MS5wb3N0TWVzc2FnZSh7IGVycm9yOiBzZXJpYWxpemVkRXJyb3IgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBVbmlmaWVkIGNsZWFudXAgZnVuY3Rpb24gdGhhdCBoYW5kbGVzIGxpc3RlbmVycyBvbmx5XG4gIC8vIExldCBSZWFjdCBtYW5hZ2UgdGhlIE1lc3NhZ2VQb3J0IGxpZmVjeWNsZSB0byBwcmV2ZW50IFwiQ29ubmVjdGlvbiBjbG9zZWRcIiBlcnJvcnNcbiAgY29uc3QgY2xlYW51cCA9ICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgZGF0YVBvcnQxLnJlbW92ZUxpc3RlbmVyKCdtZXNzYWdlJywgZGF0YU1lc3NhZ2VIYW5kbGVyKTtcbiAgICAgIGNvbnRyb2xQb3J0MS5yZW1vdmVMaXN0ZW5lcignbWVzc2FnZScsIGNvbnRyb2xNZXNzYWdlSGFuZGxlcik7XG4gICAgICAvLyBEb24ndCBjbG9zZSBwb3J0cyAtIGxldCBSZWFjdCBmaW5pc2ggY29uc3VtaW5nIGFuZCBjbG9zZSBuYXR1cmFsbHlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSWdub3JlIGNsZWFudXAgZXJyb3JzXG4gICAgfVxuICB9O1xuXG4gIC8vIE5vdGU6IFByb2Nlc3MtbGV2ZWwgY2xlYW51cCBpcyBoYW5kbGVkIGJ5IHdvcmtlciBzaHV0ZG93biBwcm90b2NvbFxuXG4gIHJldHVybiB7XG4gICAgcGlwZTogKGRlc3RpbmF0aW9uOiBhbnkpID0+IGh0bWxTdHJlYW0ucGlwZShkZXN0aW5hdGlvbiksXG4gICAgICBhYm9ydDogKCkgPT4ge1xuICAgIGNvbnRyb2xQb3J0MS5wb3N0TWVzc2FnZSh7IHR5cGU6IFwiQUJPUlRcIiwgcmVhc29uOiBcIlN0cmVhbSBhYm9ydGVkXCIgfSk7XG4gICAgaHRtbFN0cmVhbS5lbmQoKTtcblxuICAgIC8vIFVzZSB1bmlmaWVkIGNsZWFudXBcbiAgICBjbGVhbnVwKCk7XG5cbiAgICAvLyBTZW5kIGNsZWFudXAgbWVzc2FnZSB0byB3b3JrZXIgdG8gcmVzZXQgaXRzIGludGVybmFsIHN0YXRlXG4gICAgLy8gVGhpcyBwcmV2ZW50cyByYWNlIGNvbmRpdGlvbnMgYmV0d2VlbiBwYWdlIHJlbmRlcnNcbiAgICBodG1sV29ya2VyLnBvc3RNZXNzYWdlKHsgdHlwZTogXCJDTEVBTlVQXCIsIGlkOiBpZCwgcm91dGU6IHJvdXRlIH0pO1xuICB9LFxuICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFVYSxNQUFBLGdCQUFBLEdBQXVDLFNBQVMsaUJBQUEsQ0FDM0QsT0FDQSxFQUFBO0FBQ0EsRUFBTSxNQUFBO0FBQUEsSUFDSixLQUFBO0FBQUEsSUFDQSxFQUFLLEdBQUEsS0FBQTtBQUFBLElBQ0wsU0FBQTtBQUFBLElBQ0EsVUFB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
@@ -0,0 +1,43 @@
1
+ import type { Manifest } from "vite";
2
+ import type { CreateHandlerOptions, CssContent, PanicThreshold, ResolvedUserOptions } from "../types.js";
3
+ import type { PassThrough, Readable } from "node:stream";
4
+ /**
5
+ * HTML Stream Options - for client-rendered pipeable React
6
+ * HTML = what gets sent to the browser (client-rendered pipeable React)
7
+ */
8
+ export type CreateHtmlStreamOptions = Pick<CreateHandlerOptions<ResolvedUserOptions>, "moduleRootPath" | "moduleBasePath" | "moduleBaseURL" | "route" | "clientPipeableStreamOptions" | "projectRoot" | "verbose" | "logger" | "htmlWorker" | "id" | "children"> & {
9
+ worker?: any;
10
+ rscStream?: PassThrough | Readable;
11
+ url?: string;
12
+ cssFiles?: Map<string, CssContent>;
13
+ globalCss?: Map<string, CssContent>;
14
+ manifest?: Manifest;
15
+ panicThreshold?: PanicThreshold;
16
+ pagePath?: string;
17
+ propsPath?: string;
18
+ rootPath?: string;
19
+ htmlPath?: string;
20
+ pageExportName?: string;
21
+ propsExportName?: string;
22
+ rootExportName?: string;
23
+ htmlExportName?: string;
24
+ moduleBase?: string;
25
+ publicOrigin?: string;
26
+ rscTimeout?: number;
27
+ htmlTimeout?: number;
28
+ fileWriteTimeout?: number;
29
+ workerShutdownTimeout?: number;
30
+ css?: CreateHandlerOptions["css"];
31
+ build?: CreateHandlerOptions["build"];
32
+ children?: React.ReactNode;
33
+ onError?: (error: Error, isPanic: boolean) => void;
34
+ };
35
+ /**
36
+ * HTML Stream Function - creates client-rendered pipeable React
37
+ * HTML = what gets sent to the browser
38
+ */
39
+ export type CreateHtmlStreamFn = <Opt extends CreateHtmlStreamOptions = CreateHtmlStreamOptions>(options: Opt) => {
40
+ abort: (reason?: unknown) => void;
41
+ pipe: <Writable extends NodeJS.WritableStream>(destination: Writable) => Writable;
42
+ };
43
+ //# sourceMappingURL=createHtmlStream.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createHtmlStream.types.d.ts","sourceRoot":"","sources":["../../../plugin/stream/createHtmlStream.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACxC,oBAAoB,CAAC,mBAAmB,CAAC,EACvC,gBAAgB,GAChB,gBAAgB,GAChB,eAAe,GACf,OAAO,GACP,6BAA6B,GAC7B,aAAa,GACb,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,IAAI,GACJ,UAAU,CACb,GAAG;IACF,MAAM,CAAC,EAAE,GAAG,CAAC;IAEb,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAEnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,GAAG,CAAC,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,GAAG,SAAS,uBAAuB,GAAG,uBAAuB,EAE7D,OAAO,EAAE,GAAG,KACT;IACH,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,IAAI,EAAE,CAAC,QAAQ,SAAS,MAAM,CAAC,cAAc,EAAE,WAAW,EAAE,QAAQ,KAAK,QAAQ,CAAC;CACnF,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { CreateHandlerOptions } from "../types.js";
2
+ export declare function createMainThreadHandlers(handlerOptions: CreateHandlerOptions, onError?: (error: Error, isPanic: boolean) => void): {
3
+ onError: (_id: string, error: unknown, context?: {
4
+ route?: string;
5
+ context?: string;
6
+ }) => void;
7
+ onData: (_id: string, _data: Uint8Array) => void;
8
+ onEnd: (_id: string) => void;
9
+ onPostpone: (_id: string, _reason: string) => void;
10
+ };
11
+ //# sourceMappingURL=createMainThreadHandlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMainThreadHandlers.d.ts","sourceRoot":"","sources":["../../../plugin/stream/createMainThreadHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxD,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,oBAAoB,EACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI;mBAGjC,MAAM,SAAS,OAAO,YAAY;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;kBAyBvE,MAAM,SAAS,UAAU;iBAG1B,MAAM;sBAGD,MAAM,WAAW,MAAM;EAI5C"}
@@ -0,0 +1,32 @@
1
+ import { handleError } from "../error/handleError.js";
2
+ export function createMainThreadHandlers(handlerOptions, onError) {
3
+ return {
4
+ onError: (_id, error, context) => {
5
+ if (handlerOptions.verbose) {
6
+ handlerOptions.logger?.info(`[createMainThreadHandlers] onError called for route ${handlerOptions.route}: ${error}`);
7
+ }
8
+ const originalError = error instanceof Error ? error : new Error(String(error ?? "Unknown error"));
9
+ const panicError = handleError({
10
+ error: originalError,
11
+ critical: false,
12
+ logger: handlerOptions.logger,
13
+ panicThreshold: handlerOptions.panicThreshold,
14
+ context: `${context?.context || "Unknown"} for route ${handlerOptions.route}`,
15
+ });
16
+ if (handlerOptions.verbose) {
17
+ handlerOptions.logger?.info(`[createMainThreadHandlers] Calling onError callback for route ${handlerOptions.route} with panicError: ${!!panicError}`);
18
+ }
19
+ // Call the callback with the error and panic status
20
+ onError?.(panicError || originalError, !!panicError);
21
+ },
22
+ onData: (_id, _data) => {
23
+ // No-op for main thread
24
+ },
25
+ onEnd: (_id) => {
26
+ // No-op for main thread
27
+ },
28
+ onPostpone: (_id, _reason) => {
29
+ // No-op for main thread
30
+ },
31
+ };
32
+ }
@@ -0,0 +1,29 @@
1
+ import { MessageChannel } from "node:worker_threads";
2
+ /**
3
+ * Creates a pair of MessageChannels for two-port communication pattern.
4
+ *
5
+ * This is the standard pattern used throughout the codebase for worker communication:
6
+ * - Data channel: For streaming actual data (RSC chunks, HTML content, etc.)
7
+ * - Control channel: For control messages (completion signals, errors, metrics, etc.)
8
+ *
9
+ * @returns Object containing both channels with consistent naming
10
+ */
11
+ export declare function createMessageChannels(): {
12
+ dataChannel: MessageChannel;
13
+ controlChannel: MessageChannel;
14
+ dataPort1: import("worker_threads").MessagePort;
15
+ dataPort2: import("worker_threads").MessagePort;
16
+ controlPort1: import("worker_threads").MessagePort;
17
+ controlPort2: import("worker_threads").MessagePort;
18
+ };
19
+ /**
20
+ * Creates transfer list for MessagePort communication.
21
+ *
22
+ * Used when sending ports through postMessage with transferable objects.
23
+ *
24
+ * @param port1 - First port to transfer
25
+ * @param port2 - Second port to transfer
26
+ * @returns Array suitable for transferList parameter
27
+ */
28
+ export declare function createTransferList(port1: any, port2: any): any;
29
+ //# sourceMappingURL=createMessageChannels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMessageChannels.d.ts","sourceRoot":"","sources":["../../../plugin/stream/createMessageChannels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB;;;;;;;EA0BpC;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAC9B,GAAG,CAC7B"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ import { MessageChannel } from 'node:worker_threads';
7
+ import { setMaxListenersOnPort, unrefPort } from './setMaxListeners.js';
8
+
9
+ function createMessageChannels() {
10
+ const dataChannel = new MessageChannel();
11
+ const controlChannel = new MessageChannel();
12
+ setMaxListenersOnPort(dataChannel.port1, 500);
13
+ setMaxListenersOnPort(dataChannel.port2, 500);
14
+ setMaxListenersOnPort(controlChannel.port1, 500);
15
+ setMaxListenersOnPort(controlChannel.port2, 500);
16
+ unrefPort(dataChannel.port1);
17
+ unrefPort(dataChannel.port2);
18
+ unrefPort(controlChannel.port1);
19
+ unrefPort(controlChannel.port2);
20
+ return {
21
+ dataChannel,
22
+ controlChannel,
23
+ // Convenience destructuring for common usage pattern
24
+ dataPort1: dataChannel.port1,
25
+ dataPort2: dataChannel.port2,
26
+ controlPort1: controlChannel.port1,
27
+ controlPort2: controlChannel.port2
28
+ };
29
+ }
30
+ function createTransferList(port1, port2) {
31
+ return [port1, port2];
32
+ }
33
+
34
+ export { createMessageChannels, createTransferList };
35
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTWVzc2FnZUNoYW5uZWxzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vc3RyZWFtL2NyZWF0ZU1lc3NhZ2VDaGFubmVscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlQ2hhbm5lbCB9IGZyb20gXCJub2RlOndvcmtlcl90aHJlYWRzXCI7XG5pbXBvcnQgeyBzZXRNYXhMaXN0ZW5lcnNPblBvcnQsIHVucmVmUG9ydCB9IGZyb20gXCIuL3NldE1heExpc3RlbmVycy5qc1wiO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBwYWlyIG9mIE1lc3NhZ2VDaGFubmVscyBmb3IgdHdvLXBvcnQgY29tbXVuaWNhdGlvbiBwYXR0ZXJuLlxuICogXG4gKiBUaGlzIGlzIHRoZSBzdGFuZGFyZCBwYXR0ZXJuIHVzZWQgdGhyb3VnaG91dCB0aGUgY29kZWJhc2UgZm9yIHdvcmtlciBjb21tdW5pY2F0aW9uOlxuICogLSBEYXRhIGNoYW5uZWw6IEZvciBzdHJlYW1pbmcgYWN0dWFsIGRhdGEgKFJTQyBjaHVua3MsIEhUTUwgY29udGVudCwgZXRjLilcbiAqIC0gQ29udHJvbCBjaGFubmVsOiBGb3IgY29udHJvbCBtZXNzYWdlcyAoY29tcGxldGlvbiBzaWduYWxzLCBlcnJvcnMsIG1ldHJpY3MsIGV0Yy4pXG4gKiBcbiAqIEByZXR1cm5zIE9iamVjdCBjb250YWluaW5nIGJvdGggY2hhbm5lbHMgd2l0aCBjb25zaXN0ZW50IG5hbWluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWVzc2FnZUNoYW5uZWxzKCkge1xuICBjb25zdCBkYXRhQ2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpO1xuICBjb25zdCBjb250cm9sQ2hhbm5lbCA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpO1xuICBcbiAgLy8gSW5jcmVhc2UgbWF4IGxpc3RlbmVycyB0byBwcmV2ZW50IHdhcm5pbmdzIGR1cmluZyBkZXZlbG9wbWVudFxuICAvLyBNTUMgaGFzIDMwMCsgcm91dGVzLCBzbyB3ZSBuZWVkIGEgaGlnaCBsaW1pdFxuICBzZXRNYXhMaXN0ZW5lcnNPblBvcnQoZGF0YUNoYW5uZWwucG9ydDEsIDUwMCk7XG4gIHNldE1heExpc3RlbmVyc09uUG9ydChkYXRhQ2hhbm5lbC5wb3J0MiwgNTAwKTtcbiAgc2V0TWF4TGlzdGVuZXJzT25Qb3J0KGNvbnRyb2xDaGFubmVsLnBvcnQxLCA1MDApO1xuICBzZXRNYXhMaXN0ZW5lcnNPblBvcnQoY29udHJvbENoYW5uZWwucG9ydDIsIDUwMCk7XG5cbiAgLy8gVW5yZWYgYWxsIHBvcnRzIHNvIHRoZXkgZG9uJ3Qga2VlcCB0aGUgZXZlbnQgbG9vcCBhbGl2ZVxuICB1bnJlZlBvcnQoZGF0YUNoYW5uZWwucG9ydDEpO1xuICB1bnJlZlBvcnQoZGF0YUNoYW5uZWwucG9ydDIpO1xuICB1bnJlZlBvcnQoY29udHJvbENoYW5uZWwucG9ydDEpO1xuICB1bnJlZlBvcnQoY29udHJvbENoYW5uZWwucG9ydDIpO1xuICBcbiAgcmV0dXJuIHtcbiAgICBkYXRhQ2hhbm5lbCxcbiAgICBjb250cm9sQ2hhbm5lbCxcbiAgICAvLyBDb252ZW5pZW5jZSBkZXN0cnVjdHVyaW5nIGZvciBjb21tb24gdXNhZ2UgcGF0dGVyblxuICAgIGRhdGFQb3J0MTogZGF0YUNoYW5uZWwucG9ydDEsXG4gICAgZGF0YVBvcnQyOiBkYXRhQ2hhbm5lbC5wb3J0MixcbiAgICBjb250cm9sUG9ydDE6IGNvbnRyb2xDaGFubmVsLnBvcnQxLFxuICAgIGNvbnRyb2xQb3J0MjogY29udHJvbENoYW5uZWwucG9ydDIsXG4gIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0cmFuc2ZlciBsaXN0IGZvciBNZXNzYWdlUG9ydCBjb21tdW5pY2F0aW9uLlxuICogXG4gKiBVc2VkIHdoZW4gc2VuZGluZyBwb3J0cyB0aHJvdWdoIHBvc3RNZXNzYWdlIHdpdGggdHJhbnNmZXJhYmxlIG9iamVjdHMuXG4gKiBcbiAqIEBwYXJhbSBwb3J0MSAtIEZpcnN0IHBvcnQgdG8gdHJhbnNmZXJcbiAqIEBwYXJhbSBwb3J0MiAtIFNlY29uZCBwb3J0IHRvIHRyYW5zZmVyICBcbiAqIEByZXR1cm5zIEFycmF5IHN1aXRhYmxlIGZvciB0cmFuc2Zlckxpc3QgcGFyYW1ldGVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUcmFuc2Zlckxpc3QocG9ydDE6IGFueSwgcG9ydDI6IGFueSkge1xuICByZXR1cm4gW3BvcnQxLCBwb3J0Ml0gYXMgYW55OyAvLyBUeXBlIGFzc2VydGlvbiBuZWVkZWQgZHVlIHRvIHRyYW5zZmVyYWJsZSBvYmplY3QgY29tcGxleGl0eVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBWU8sU0FBUyxxQkFBd0IsR0FBQTtBQUN0QyxFQUFNLE1BQUEsV0FBQSxHQUFjLElBQUksY0FBZSxFQUFBO0FBQ3ZDLEVBQU0sTUFBQSxjQUFBLEdBQWlCLElBQUksY0FBZSxFQUFBO0FBSTFDLEVBQXNCLHFCQUFBLENBQUEsV0FBQSxDQUFZLE9BQU8sR0FBRyxDQUFBO0FBQzVDLEVBQXNCLHFCQUFBLENBQUEsV0FBQSxDQUFZLE9BQU8sR0FBRyxDQUFBO0FBQzVDLEVBQXNCLHFCQUFBLENBQUEsY0FBQSxDQUFlLE9BQU8sR0FBRyxDQUFBO0FBQy9DLEVBQXNCLHFCQUFBLENBQUEsY0FBQSxDQUFlLE9BQU8sR0FBRyxDQUFBO0FBRy9DLEVBQUEsU0FBQSxDQUFVLFlBQVksS0FBSyxDQUFBO0FBQzNCLEVBQUEsU0FBQSxDQUFVLFlBQVksS0FBSyxDQUFBO0FBQzNCLEVBQUEsU0FBQSxDQUFVLGVBQWUsS0FBSyxDQUFBO0FBQzlCLEVBQUEsU0FBQSxDQUFVLGVBQWUsS0FBSyxDQUFBO0FBRTlCLEVBQU8sT0FBQTtBQUFBLElBQ0wsV0FBQTtBQUFBLElBQ0EsY0FBQTtBQUFBO0FBQUEsSUFFQSxXQUFXLFdBQVksQ0FBQSxLQUFBO0FBQUEsSUFDdkIsV0FBVyxXQUFZLENBQUEsS0FBQTtBQUFBLElBQ3ZCLGNBQWMsY0FBZSxDQUFBLEtBQUE7QUFBQSxJQUM3QixjQUFjLGNBQWUsQ0FBQTtBQUFBLEdBQy9CO0FBQ0Y7QUFXTyxTQUFTLGtCQUFBLENBQW1CLE9BQVksS0FBWSxFQUFBO0FBQ3pELEVBQU8sT0FBQSxDQUFDLE9BQU8sS0FBSyxDQUFBO0FBQ3RCOzs7OyJ9
@@ -0,0 +1,10 @@
1
+ import type { CreateRenderToPipeableStreamHandlerFn } from "./createRenderToPipeableStreamHandler.types.js";
2
+ /**
3
+ * Client version of createRenderToPipeableStreamHandler.
4
+ *
5
+ * Strategy: Use simple Node.js stream APIs to naturally handle RSC-to-HTML conversion.
6
+ * This follows the HTML worker pattern exactly - create a custom writable stream
7
+ * and pipe the React stream directly to it, then provide a proper stream for fileWriter.
8
+ */
9
+ export declare const createRenderToPipeableStreamHandler: CreateRenderToPipeableStreamHandlerFn<"client">;
10
+ //# sourceMappingURL=createRenderToPipeableStreamHandler.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRenderToPipeableStreamHandler.client.d.ts","sourceRoot":"","sources":["../../../plugin/stream/createRenderToPipeableStreamHandler.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,gDAAgD,CAAC;AAU5G;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC,EAAE,qCAAqC,CAAC,QAAQ,CA8M7F,CAAC"}