vite-plugin-react-server 1.2.0-alpha.1 → 1.2.1

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 (1137) hide show
  1. package/README.md +211 -51
  2. package/dist/client.d.ts +4 -1
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +5 -6
  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 +46 -6
  53. package/dist/plugin/config/defaults.d.ts.map +1 -1
  54. package/dist/plugin/config/defaults.js +54 -11
  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.map +1 -1
  71. package/dist/plugin/config/resolveEnv.js +3 -6
  72. package/dist/plugin/config/resolveOptions.d.ts +3 -2
  73. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  74. package/dist/plugin/config/resolveOptions.js +188 -43
  75. package/dist/plugin/config/resolvePages.d.ts +1 -1
  76. package/dist/plugin/config/resolvePages.d.ts.map +1 -1
  77. package/dist/plugin/config/resolvePages.js +1 -1
  78. package/dist/plugin/config/resolvePatternWithValues.d.ts.map +1 -1
  79. package/dist/plugin/config/resolvePatternWithValues.js +7 -26
  80. package/dist/plugin/config/resolveUrlOption.d.ts +1 -1
  81. package/dist/plugin/config/resolveUrlOption.d.ts.map +1 -1
  82. package/dist/plugin/config/resolveUrlOption.js +2 -2
  83. package/dist/plugin/config/resolveUserConfig.d.ts +5 -3
  84. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  85. package/dist/plugin/config/resolveUserConfig.js +221 -75
  86. package/dist/plugin/config/stashedOptionsState.d.ts +66 -0
  87. package/dist/plugin/config/stashedOptionsState.d.ts.map +1 -0
  88. package/dist/plugin/config/stashedOptionsState.js +25 -0
  89. package/dist/plugin/dev-server/cleanupServerAction.client.d.ts +6 -0
  90. package/dist/plugin/dev-server/cleanupServerAction.client.d.ts.map +1 -0
  91. package/dist/plugin/dev-server/cleanupServerAction.client.js +28 -0
  92. package/dist/plugin/dev-server/cleanupServerAction.d.ts +2 -0
  93. package/dist/plugin/dev-server/cleanupServerAction.d.ts.map +1 -0
  94. package/dist/plugin/dev-server/cleanupServerAction.js +4 -0
  95. package/dist/plugin/dev-server/cleanupServerAction.server.d.ts +8 -0
  96. package/dist/plugin/dev-server/cleanupServerAction.server.d.ts.map +1 -0
  97. package/dist/plugin/dev-server/cleanupServerAction.server.js +15 -0
  98. package/dist/plugin/dev-server/configureReactServer.client.d.ts +7 -0
  99. package/dist/plugin/dev-server/configureReactServer.client.d.ts.map +1 -0
  100. package/dist/plugin/dev-server/configureReactServer.client.js +85 -0
  101. package/dist/plugin/dev-server/configureReactServer.d.ts +2 -0
  102. package/dist/plugin/dev-server/configureReactServer.d.ts.map +1 -0
  103. package/dist/plugin/dev-server/configureReactServer.js +13 -0
  104. package/dist/plugin/dev-server/configureReactServer.server.d.ts +3 -0
  105. package/dist/plugin/dev-server/configureReactServer.server.d.ts.map +1 -0
  106. package/dist/plugin/dev-server/configureReactServer.server.js +444 -0
  107. package/dist/plugin/dev-server/configureRequestHandler.client.d.ts +13 -0
  108. package/dist/plugin/dev-server/configureRequestHandler.client.d.ts.map +1 -0
  109. package/dist/plugin/dev-server/configureRequestHandler.client.js +307 -0
  110. package/dist/plugin/dev-server/configureRequestHandler.d.ts +2 -0
  111. package/dist/plugin/dev-server/configureRequestHandler.d.ts.map +1 -0
  112. package/dist/plugin/dev-server/configureRequestHandler.js +4 -0
  113. package/dist/plugin/dev-server/configureRequestHandler.server.d.ts +6 -0
  114. package/dist/plugin/dev-server/configureRequestHandler.server.d.ts.map +1 -0
  115. package/dist/plugin/dev-server/configureRequestHandler.server.js +44 -0
  116. package/dist/plugin/dev-server/handleServerAction.client.d.ts +11 -0
  117. package/dist/plugin/dev-server/handleServerAction.client.d.ts.map +1 -0
  118. package/dist/plugin/dev-server/handleServerAction.client.js +97 -0
  119. package/dist/plugin/dev-server/handleServerAction.d.ts +2 -0
  120. package/dist/plugin/dev-server/handleServerAction.d.ts.map +1 -0
  121. package/dist/plugin/dev-server/handleServerAction.js +13 -0
  122. package/dist/plugin/dev-server/handleServerAction.server.d.ts +3 -0
  123. package/dist/plugin/dev-server/handleServerAction.server.d.ts.map +1 -0
  124. package/dist/plugin/dev-server/handleServerAction.server.js +15 -0
  125. package/dist/plugin/dev-server/index.client.d.ts +7 -0
  126. package/dist/plugin/dev-server/index.client.d.ts.map +1 -0
  127. package/dist/plugin/dev-server/index.client.js +11 -0
  128. package/dist/plugin/dev-server/index.d.ts +4 -0
  129. package/dist/plugin/dev-server/index.d.ts.map +1 -0
  130. package/dist/plugin/dev-server/index.js +19 -0
  131. package/dist/plugin/dev-server/index.server.d.ts +7 -0
  132. package/dist/plugin/dev-server/index.server.d.ts.map +1 -0
  133. package/dist/plugin/dev-server/index.server.js +11 -0
  134. package/dist/plugin/dev-server/plugin.client.d.ts +7 -0
  135. package/dist/plugin/dev-server/plugin.client.d.ts.map +1 -0
  136. package/dist/plugin/dev-server/plugin.client.js +122 -0
  137. package/dist/plugin/dev-server/plugin.server.d.ts +8 -0
  138. package/dist/plugin/dev-server/plugin.server.d.ts.map +1 -0
  139. package/dist/plugin/dev-server/plugin.server.js +108 -0
  140. package/dist/plugin/dev-server/restartWorker.client.d.ts +3 -0
  141. package/dist/plugin/dev-server/restartWorker.client.d.ts.map +1 -0
  142. package/dist/plugin/dev-server/restartWorker.client.js +131 -0
  143. package/dist/plugin/dev-server/restartWorker.d.ts +2 -0
  144. package/dist/plugin/dev-server/restartWorker.d.ts.map +1 -0
  145. package/dist/plugin/dev-server/restartWorker.js +4 -0
  146. package/dist/plugin/dev-server/restartWorker.server.d.ts +3 -0
  147. package/dist/plugin/dev-server/restartWorker.server.d.ts.map +1 -0
  148. package/dist/plugin/dev-server/restartWorker.server.js +88 -0
  149. package/dist/plugin/dev-server/types.d.ts +38 -0
  150. package/dist/plugin/dev-server/types.d.ts.map +1 -0
  151. package/dist/plugin/dev-server/virtualRscHmrPlugin.d.ts +7 -0
  152. package/dist/plugin/dev-server/virtualRscHmrPlugin.d.ts.map +1 -0
  153. package/dist/plugin/dev-server/virtualRscHmrPlugin.js +80 -0
  154. package/dist/plugin/env/createConfigEnv.d.ts +7 -1
  155. package/dist/plugin/env/createConfigEnv.d.ts.map +1 -1
  156. package/dist/plugin/env/createConfigEnv.js +18 -5
  157. package/dist/plugin/env/createEnvPlugin.d.ts +3 -0
  158. package/dist/plugin/env/createEnvPlugin.d.ts.map +1 -0
  159. package/dist/plugin/env/createEnvPlugin.js +59 -0
  160. package/dist/plugin/env/getArgValue.js +47 -27
  161. package/dist/plugin/env/getEnvKey.d.ts +6 -0
  162. package/dist/plugin/env/getEnvKey.d.ts.map +1 -1
  163. package/dist/plugin/env/getEnvKey.js +11 -3
  164. package/dist/plugin/env/index.d.ts +2 -0
  165. package/dist/plugin/env/index.d.ts.map +1 -1
  166. package/dist/plugin/env/index.js +4 -0
  167. package/dist/plugin/env/plugin.client.d.ts +2 -0
  168. package/dist/plugin/env/plugin.client.d.ts.map +1 -0
  169. package/dist/plugin/env/plugin.client.js +2 -0
  170. package/dist/plugin/env/plugin.d.ts +4 -34
  171. package/dist/plugin/env/plugin.d.ts.map +1 -1
  172. package/dist/plugin/env/plugin.js +31 -64
  173. package/dist/plugin/env/plugin.server.d.ts +2 -0
  174. package/dist/plugin/env/plugin.server.d.ts.map +1 -0
  175. package/dist/plugin/env/plugin.server.js +2 -0
  176. package/dist/plugin/env/userConfigEnv.js +9 -18
  177. package/dist/plugin/environments/createBuildEventPlugin.d.ts +4 -0
  178. package/dist/plugin/environments/createBuildEventPlugin.d.ts.map +1 -0
  179. package/dist/plugin/environments/createBuildEventPlugin.js +100 -0
  180. package/dist/plugin/environments/createEnvironmentPlugin.d.ts +19 -0
  181. package/dist/plugin/environments/createEnvironmentPlugin.d.ts.map +1 -0
  182. package/dist/plugin/environments/createEnvironmentPlugin.js +257 -0
  183. package/dist/plugin/environments/hashCoordination.d.ts +14 -0
  184. package/dist/plugin/environments/hashCoordination.d.ts.map +1 -0
  185. package/dist/plugin/environments/hashCoordination.js +35 -0
  186. package/dist/plugin/environments/resolveEnvironmentConfig.d.ts +41 -0
  187. package/dist/plugin/environments/resolveEnvironmentConfig.d.ts.map +1 -0
  188. package/dist/plugin/environments/resolveEnvironmentConfig.js +232 -0
  189. package/dist/plugin/error/assertPanic.d.ts +2 -0
  190. package/dist/plugin/error/assertPanic.d.ts.map +1 -0
  191. package/dist/plugin/error/assertPanic.js +15 -0
  192. package/dist/plugin/error/handleError.d.ts +9 -0
  193. package/dist/plugin/error/handleError.d.ts.map +1 -0
  194. package/dist/plugin/error/handleError.js +51 -0
  195. package/dist/plugin/error/index.d.ts +3 -0
  196. package/dist/plugin/error/index.d.ts.map +1 -1
  197. package/dist/plugin/error/index.js +4 -1
  198. package/dist/plugin/error/logError.d.ts +6 -2
  199. package/dist/plugin/error/logError.d.ts.map +1 -1
  200. package/dist/plugin/error/logError.js +34 -36
  201. package/dist/plugin/error/panicThresholdHandler.d.ts +27 -0
  202. package/dist/plugin/error/panicThresholdHandler.d.ts.map +1 -0
  203. package/dist/plugin/error/panicThresholdHandler.js +13 -0
  204. package/dist/plugin/error/serializeError.d.ts +6 -2
  205. package/dist/plugin/error/serializeError.d.ts.map +1 -1
  206. package/dist/plugin/error/serializeError.js +30 -10
  207. package/dist/plugin/error/serializeErrorInfo.d.ts +5 -0
  208. package/dist/plugin/error/serializeErrorInfo.d.ts.map +1 -0
  209. package/dist/plugin/error/serializeErrorInfo.js +19 -0
  210. package/dist/plugin/error/setupGlobalErrorHandler.d.ts +4 -0
  211. package/dist/plugin/error/setupGlobalErrorHandler.d.ts.map +1 -0
  212. package/dist/plugin/error/setupGlobalErrorHandler.js +52 -0
  213. package/dist/plugin/error/shouldPanic.d.ts +6 -0
  214. package/dist/plugin/error/shouldPanic.d.ts.map +1 -0
  215. package/dist/plugin/error/shouldPanic.js +15 -0
  216. package/dist/plugin/error/toError.d.ts +5 -1
  217. package/dist/plugin/error/toError.d.ts.map +1 -1
  218. package/dist/plugin/error/toError.js +43 -19
  219. package/dist/plugin/error/types.d.ts +28 -0
  220. package/dist/plugin/error/types.d.ts.map +1 -0
  221. package/dist/plugin/error/types.js +1 -0
  222. package/dist/plugin/helpers/collectManifestCss.d.ts.map +1 -1
  223. package/dist/plugin/helpers/collectManifestCss.js +19 -5
  224. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +3 -3
  225. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
  226. package/dist/plugin/helpers/collectViteModuleGraphCss.js +64 -3
  227. package/dist/plugin/helpers/createBufferedRscStream.d.ts +52 -0
  228. package/dist/plugin/helpers/createBufferedRscStream.d.ts.map +1 -0
  229. package/dist/plugin/helpers/createBufferedRscStream.js +147 -0
  230. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
  231. package/dist/plugin/helpers/createCssProps.js +15 -14
  232. package/dist/plugin/helpers/createElementWithReact.d.ts +9 -0
  233. package/dist/plugin/helpers/createElementWithReact.d.ts.map +1 -0
  234. package/dist/plugin/helpers/createElementWithReact.js +87 -0
  235. package/dist/plugin/helpers/createPatternMatcher.d.ts +24 -0
  236. package/dist/plugin/helpers/createPatternMatcher.d.ts.map +1 -0
  237. package/dist/plugin/helpers/createPatternMatcher.js +50 -0
  238. package/dist/plugin/helpers/createRscRenderHelpers.d.ts +16 -0
  239. package/dist/plugin/helpers/createRscRenderHelpers.d.ts.map +1 -0
  240. package/dist/plugin/helpers/createRscRenderHelpers.js +60 -0
  241. package/dist/plugin/helpers/createSafePageComponent.d.ts +36 -0
  242. package/dist/plugin/helpers/createSafePageComponent.d.ts.map +1 -0
  243. package/dist/plugin/helpers/createSafePageComponent.js +50 -0
  244. package/dist/plugin/helpers/createSerializableHandlerOptions.d.ts +60 -0
  245. package/dist/plugin/helpers/createSerializableHandlerOptions.d.ts.map +1 -0
  246. package/dist/plugin/helpers/createSerializableHandlerOptions.js +94 -0
  247. package/dist/plugin/helpers/createSharedLoader.d.ts +44 -0
  248. package/dist/plugin/helpers/createSharedLoader.d.ts.map +1 -0
  249. package/dist/plugin/helpers/createSharedLoader.js +137 -0
  250. package/dist/plugin/helpers/createUnifiedCssProcessor.d.ts +70 -0
  251. package/dist/plugin/helpers/createUnifiedCssProcessor.d.ts.map +1 -0
  252. package/dist/plugin/helpers/createUnifiedCssProcessor.js +89 -0
  253. package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
  254. package/dist/plugin/helpers/getBundleManifest.js +2 -3
  255. package/dist/plugin/helpers/getRouteFiles.d.ts +1 -1
  256. package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
  257. package/dist/plugin/helpers/getRouteFiles.js +43 -41
  258. package/dist/plugin/helpers/handleServerAction.client.d.ts +29 -0
  259. package/dist/plugin/helpers/handleServerAction.client.d.ts.map +1 -0
  260. package/dist/plugin/helpers/handleServerAction.client.js +93 -0
  261. package/dist/plugin/helpers/handleServerAction.d.ts +2 -34
  262. package/dist/plugin/helpers/handleServerAction.d.ts.map +1 -1
  263. package/dist/plugin/helpers/handleServerAction.js +15 -45
  264. package/dist/plugin/helpers/handleServerAction.server.d.ts +25 -0
  265. package/dist/plugin/helpers/handleServerAction.server.d.ts.map +1 -0
  266. package/dist/plugin/helpers/handleServerAction.server.js +80 -0
  267. package/dist/plugin/helpers/handleServerActionHelper.d.ts +61 -0
  268. package/dist/plugin/helpers/handleServerActionHelper.d.ts.map +1 -0
  269. package/dist/plugin/helpers/handleServerActionHelper.js +183 -0
  270. package/dist/plugin/helpers/headlessStreamReuseHandler.d.ts +12 -0
  271. package/dist/plugin/helpers/headlessStreamReuseHandler.d.ts.map +1 -0
  272. package/dist/plugin/helpers/headlessStreamReuseHandler.js +29 -0
  273. package/dist/plugin/helpers/headlessStreamState.d.ts +71 -0
  274. package/dist/plugin/helpers/headlessStreamState.d.ts.map +1 -0
  275. package/dist/plugin/helpers/headlessStreamState.js +81 -0
  276. package/dist/plugin/helpers/hydrateUserOptions.d.ts +1 -1
  277. package/dist/plugin/helpers/hydrateUserOptions.d.ts.map +1 -1
  278. package/dist/plugin/helpers/hydrateUserOptions.js +2 -2
  279. package/dist/plugin/helpers/index.d.ts +12 -5
  280. package/dist/plugin/helpers/index.d.ts.map +1 -1
  281. package/dist/plugin/helpers/index.js +18 -4
  282. package/dist/plugin/helpers/logRenderStart.d.ts +17 -0
  283. package/dist/plugin/helpers/logRenderStart.d.ts.map +1 -0
  284. package/dist/plugin/helpers/logRenderStart.js +13 -0
  285. package/dist/plugin/helpers/mergeMessageWithDefaults.d.ts +90 -0
  286. package/dist/plugin/helpers/mergeMessageWithDefaults.d.ts.map +1 -0
  287. package/dist/plugin/helpers/mergeMessageWithDefaults.js +67 -0
  288. package/dist/plugin/helpers/pipeToResponse.d.ts +19 -0
  289. package/dist/plugin/helpers/pipeToResponse.d.ts.map +1 -0
  290. package/dist/plugin/helpers/pipeToResponse.js +55 -0
  291. package/dist/plugin/helpers/requestInfo.d.ts +2 -0
  292. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  293. package/dist/plugin/helpers/requestInfo.js +6 -2
  294. package/dist/plugin/helpers/resolveComponents.client.d.ts +34 -0
  295. package/dist/plugin/helpers/resolveComponents.client.d.ts.map +1 -0
  296. package/dist/plugin/helpers/resolveComponents.client.js +126 -0
  297. package/dist/plugin/helpers/resolveModuleFromManifest.d.ts +36 -0
  298. package/dist/plugin/helpers/resolveModuleFromManifest.d.ts.map +1 -0
  299. package/dist/plugin/helpers/resolveModuleFromManifest.js +60 -0
  300. package/dist/plugin/helpers/resolvePageAndProps.d.ts +23 -2
  301. package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
  302. package/dist/plugin/helpers/resolvePageAndProps.js +150 -9
  303. package/dist/plugin/helpers/resolveRenderUrl.d.ts +11 -0
  304. package/dist/plugin/helpers/resolveRenderUrl.d.ts.map +1 -0
  305. package/dist/plugin/helpers/resolveRenderUrl.js +19 -0
  306. package/dist/plugin/helpers/resolveStreamElements.client.d.ts +14 -0
  307. package/dist/plugin/helpers/resolveStreamElements.client.d.ts.map +1 -0
  308. package/dist/plugin/helpers/resolveStreamElements.client.js +36 -0
  309. package/dist/plugin/helpers/resolveStreamElements.d.ts +3 -0
  310. package/dist/plugin/helpers/resolveStreamElements.d.ts.map +1 -0
  311. package/dist/plugin/helpers/resolveStreamElements.js +13 -0
  312. package/dist/plugin/helpers/resolveStreamElements.server.d.ts +15 -0
  313. package/dist/plugin/helpers/resolveStreamElements.server.d.ts.map +1 -0
  314. package/dist/plugin/helpers/resolveStreamElements.server.js +35 -0
  315. package/dist/plugin/helpers/resolveStreamElements.types.d.ts +22 -0
  316. package/dist/plugin/helpers/resolveStreamElements.types.d.ts.map +1 -0
  317. package/dist/plugin/helpers/resolveStreamElements.types.js +1 -0
  318. package/dist/plugin/helpers/resolveVirtualAndNodeModules.d.ts +15 -0
  319. package/dist/plugin/helpers/resolveVirtualAndNodeModules.d.ts.map +1 -0
  320. package/dist/plugin/helpers/resolveVirtualAndNodeModules.js +45 -0
  321. package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.d.ts +18 -0
  322. package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.d.ts.map +1 -0
  323. package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.js +17 -0
  324. package/dist/plugin/helpers/serializeUserOptions.d.ts +2 -2
  325. package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
  326. package/dist/plugin/helpers/serializeUserOptions.js +28 -13
  327. package/dist/plugin/helpers/tryManifest.d.ts +2 -2
  328. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
  329. package/dist/plugin/helpers/tryManifest.js +12 -6
  330. package/dist/plugin/helpers/validateRscRenderMessage.d.ts +9 -0
  331. package/dist/plugin/helpers/validateRscRenderMessage.d.ts.map +1 -0
  332. package/dist/plugin/helpers/validateRscRenderMessage.js +13 -0
  333. package/dist/plugin/helpers/workerCleanup.d.ts +29 -0
  334. package/dist/plugin/helpers/workerCleanup.d.ts.map +1 -0
  335. package/dist/plugin/helpers/workerCleanup.js +28 -0
  336. package/dist/plugin/helpers/workerManager.d.ts +5 -0
  337. package/dist/plugin/helpers/workerManager.d.ts.map +1 -0
  338. package/dist/plugin/helpers/workerManager.js +18 -0
  339. package/dist/plugin/index.d.ts +4 -1
  340. package/dist/plugin/index.d.ts.map +1 -1
  341. package/dist/plugin/index.js +5 -2
  342. package/dist/plugin/loader/createDefaultLoader.d.ts +1 -1
  343. package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -1
  344. package/dist/plugin/loader/createDefaultLoader.js +2 -22
  345. package/dist/plugin/loader/createTransformer.d.ts.map +1 -1
  346. package/dist/plugin/loader/createTransformer.js +155 -25
  347. package/dist/plugin/loader/directives/analyzeDirectives.d.ts +3 -2
  348. package/dist/plugin/loader/directives/analyzeDirectives.d.ts.map +1 -1
  349. package/dist/plugin/loader/directives/analyzeDirectives.js +53 -26
  350. package/dist/plugin/loader/directives/analyzeModule.d.ts.map +1 -1
  351. package/dist/plugin/loader/directives/analyzeModule.js +16 -9
  352. package/dist/plugin/loader/env-loader.js +2 -2
  353. package/dist/plugin/loader/react-loader.d.ts +4 -4
  354. package/dist/plugin/loader/react-loader.d.ts.map +1 -1
  355. package/dist/plugin/loader/react-loader.js +101 -73
  356. package/dist/plugin/loader/transformClientModule.d.ts +3 -3
  357. package/dist/plugin/loader/transformClientModule.d.ts.map +1 -1
  358. package/dist/plugin/loader/transformClientModule.js +63 -18
  359. package/dist/plugin/loader/transformModule.d.ts.map +1 -1
  360. package/dist/plugin/loader/transformModule.js +80 -16
  361. package/dist/plugin/loader/transformModuleIfNeeded.d.ts +6 -1
  362. package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -1
  363. package/dist/plugin/loader/transformModuleIfNeeded.js +10 -18
  364. package/dist/plugin/loader/transformNonServerEnvironment.d.ts +1 -1
  365. package/dist/plugin/loader/transformNonServerEnvironment.d.ts.map +1 -1
  366. package/dist/plugin/loader/transformNonServerEnvironment.js +14 -12
  367. package/dist/plugin/loader/transformServerModule.d.ts +1 -1
  368. package/dist/plugin/loader/transformServerModule.d.ts.map +1 -1
  369. package/dist/plugin/loader/transformServerModule.js +54 -15
  370. package/dist/plugin/loader/types.d.ts +24 -7
  371. package/dist/plugin/loader/types.d.ts.map +1 -1
  372. package/dist/plugin/metrics/collectStreamMetrics.d.ts +1 -2
  373. package/dist/plugin/metrics/collectStreamMetrics.d.ts.map +1 -1
  374. package/dist/plugin/metrics/collectStreamMetrics.js +1 -1
  375. package/dist/plugin/metrics/convertStreamMetrics.d.ts +3 -0
  376. package/dist/plugin/metrics/convertStreamMetrics.d.ts.map +1 -0
  377. package/dist/plugin/metrics/convertStreamMetrics.js +26 -0
  378. package/dist/plugin/metrics/createModuleResolutionMetrics.d.ts +12 -0
  379. package/dist/plugin/metrics/createModuleResolutionMetrics.d.ts.map +1 -0
  380. package/dist/plugin/metrics/createModuleResolutionMetrics.js +32 -0
  381. package/dist/plugin/metrics/createRenderMetrics.d.ts +2 -2
  382. package/dist/plugin/metrics/createRenderMetrics.d.ts.map +1 -1
  383. package/dist/plugin/metrics/createRenderMetrics.js +45 -13
  384. package/dist/plugin/metrics/createStreamMetrics.d.ts +2 -2
  385. package/dist/plugin/metrics/createStreamMetrics.d.ts.map +1 -1
  386. package/dist/plugin/metrics/createStreamMetrics.js +15 -4
  387. package/dist/plugin/metrics/createWorkerStartupMetrics.d.ts +12 -0
  388. package/dist/plugin/metrics/createWorkerStartupMetrics.d.ts.map +1 -0
  389. package/dist/plugin/metrics/createWorkerStartupMetrics.js +14 -0
  390. package/dist/plugin/metrics/formatMetrics.d.ts +0 -6
  391. package/dist/plugin/metrics/formatMetrics.d.ts.map +1 -1
  392. package/dist/plugin/metrics/formatMetrics.js +7 -29
  393. package/dist/plugin/metrics/index.d.ts +6 -3
  394. package/dist/plugin/metrics/index.d.ts.map +1 -1
  395. package/dist/plugin/metrics/index.js +6 -3
  396. package/dist/plugin/metrics/metricWatcher.d.ts +9 -0
  397. package/dist/plugin/metrics/metricWatcher.d.ts.map +1 -0
  398. package/dist/plugin/metrics/metricWatcher.js +141 -0
  399. package/dist/plugin/metrics/types.d.ts +72 -6
  400. package/dist/plugin/metrics/types.d.ts.map +1 -1
  401. package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts +3 -0
  402. package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts.map +1 -0
  403. package/dist/plugin/orchestrator/createPluginOrchestrator.client.js +36 -0
  404. package/dist/plugin/orchestrator/createPluginOrchestrator.d.ts +19 -0
  405. package/dist/plugin/orchestrator/createPluginOrchestrator.d.ts.map +1 -0
  406. package/dist/plugin/orchestrator/createPluginOrchestrator.js +13 -0
  407. package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts +3 -0
  408. package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts.map +1 -0
  409. package/dist/plugin/orchestrator/createPluginOrchestrator.server.js +44 -0
  410. package/dist/plugin/orchestrator/index.d.ts +2 -0
  411. package/dist/plugin/orchestrator/index.d.ts.map +1 -0
  412. package/dist/plugin/orchestrator/index.js +1 -0
  413. package/dist/plugin/orchestrator/plugin.js +7 -0
  414. package/dist/plugin/orchestrator/resolveStrategy.d.ts +19 -0
  415. package/dist/plugin/orchestrator/resolveStrategy.d.ts.map +1 -0
  416. package/dist/plugin/orchestrator/resolveStrategy.js +35 -0
  417. package/dist/plugin/orchestrator/types.d.ts +21 -0
  418. package/dist/plugin/orchestrator/types.d.ts.map +1 -0
  419. package/dist/plugin/orchestrator/types.js +1 -0
  420. package/dist/plugin/plugin.client.d.ts +11 -19
  421. package/dist/plugin/plugin.client.d.ts.map +1 -1
  422. package/dist/plugin/plugin.client.js +20 -13
  423. package/dist/plugin/plugin.d.ts +2 -1
  424. package/dist/plugin/plugin.d.ts.map +1 -1
  425. package/dist/plugin/plugin.js +4 -2
  426. package/dist/plugin/plugin.server.d.ts +13 -11
  427. package/dist/plugin/plugin.server.d.ts.map +1 -1
  428. package/dist/plugin/plugin.server.js +19 -18
  429. package/dist/plugin/process-env.d.ts +1 -0
  430. package/dist/plugin/process-env.d.ts.map +1 -1
  431. package/dist/plugin/react-client/createMessageHandlers.d.ts +2 -10
  432. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  433. package/dist/plugin/react-client/createMessageHandlers.js +42 -69
  434. package/dist/plugin/react-client/index.client.d.ts +2 -0
  435. package/dist/plugin/react-client/index.client.d.ts.map +1 -0
  436. package/dist/plugin/react-client/index.client.js +1 -0
  437. package/dist/plugin/react-client/index.d.ts +3 -4
  438. package/dist/plugin/react-client/index.d.ts.map +1 -1
  439. package/dist/plugin/react-client/index.js +10 -5
  440. package/dist/plugin/react-client/index.server.d.ts +2 -0
  441. package/dist/plugin/react-client/index.server.d.ts.map +1 -0
  442. package/dist/plugin/react-client/index.server.js +1 -0
  443. package/dist/plugin/react-client/plugin.client.d.ts +15 -0
  444. package/dist/plugin/react-client/plugin.client.d.ts.map +1 -0
  445. package/dist/plugin/react-client/plugin.client.js +98 -0
  446. package/dist/plugin/react-client/plugin.d.ts +2 -5
  447. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  448. package/dist/plugin/react-client/plugin.js +6 -121
  449. package/dist/plugin/react-client/plugin.server.d.ts +15 -0
  450. package/dist/plugin/react-client/plugin.server.d.ts.map +1 -0
  451. package/dist/plugin/react-client/plugin.server.js +93 -0
  452. package/dist/plugin/react-client/types.d.ts +60 -0
  453. package/dist/plugin/react-client/types.d.ts.map +1 -0
  454. package/dist/plugin/react-client/types.js +1 -0
  455. package/dist/plugin/react-server/index.client.d.ts +2 -0
  456. package/dist/plugin/react-server/index.client.d.ts.map +1 -0
  457. package/dist/plugin/react-server/index.client.js +1 -0
  458. package/dist/plugin/react-server/index.d.ts +3 -1
  459. package/dist/plugin/react-server/index.d.ts.map +1 -1
  460. package/dist/plugin/react-server/index.js +13 -1
  461. package/dist/plugin/react-server/index.server.d.ts +2 -0
  462. package/dist/plugin/react-server/index.server.d.ts.map +1 -0
  463. package/dist/plugin/react-server/index.server.js +1 -0
  464. package/dist/plugin/react-server/plugin.client.d.ts +3 -0
  465. package/dist/plugin/react-server/plugin.client.d.ts.map +1 -0
  466. package/dist/plugin/react-server/plugin.client.js +40 -0
  467. package/dist/plugin/react-server/plugin.d.ts +2 -5
  468. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  469. package/dist/plugin/react-server/plugin.js +5 -143
  470. package/dist/plugin/react-server/plugin.server.d.ts +3 -0
  471. package/dist/plugin/react-server/plugin.server.d.ts.map +1 -0
  472. package/dist/plugin/react-server/plugin.server.js +18 -0
  473. package/dist/plugin/react-server/types.d.ts +11 -0
  474. package/dist/plugin/react-server/types.d.ts.map +1 -0
  475. package/dist/plugin/react-server/types.js +1 -0
  476. package/dist/plugin/react-static/collectHtmlContent.d.ts +15 -0
  477. package/dist/plugin/react-static/collectHtmlContent.d.ts.map +1 -0
  478. package/dist/plugin/react-static/collectHtmlContent.js +104 -0
  479. package/dist/plugin/react-static/collectRscContent.d.ts +10 -15
  480. package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
  481. package/dist/plugin/react-static/collectRscContent.js +71 -20
  482. package/dist/plugin/react-static/configurePreviewServer.d.ts +1 -7
  483. package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
  484. package/dist/plugin/react-static/configurePreviewServer.js +3 -6
  485. package/dist/plugin/react-static/createBuildLoader.client.d.ts +2 -0
  486. package/dist/plugin/react-static/createBuildLoader.client.d.ts.map +1 -0
  487. package/dist/plugin/react-static/createBuildLoader.client.js +7 -0
  488. package/dist/plugin/react-static/createBuildLoader.d.ts +3 -19
  489. package/dist/plugin/react-static/createBuildLoader.d.ts.map +1 -1
  490. package/dist/plugin/react-static/createBuildLoader.js +4 -226
  491. package/dist/plugin/react-static/createBuildLoader.server.d.ts +9 -0
  492. package/dist/plugin/react-static/createBuildLoader.server.d.ts.map +1 -0
  493. package/dist/plugin/react-static/createBuildLoader.server.js +253 -0
  494. package/dist/plugin/react-static/fileWriter.d.ts +3 -14
  495. package/dist/plugin/react-static/fileWriter.d.ts.map +1 -1
  496. package/dist/plugin/react-static/fileWriter.js +233 -42
  497. package/dist/plugin/react-static/index.client.d.ts +7 -0
  498. package/dist/plugin/react-static/index.client.d.ts.map +1 -0
  499. package/dist/plugin/react-static/index.client.js +6 -0
  500. package/dist/plugin/react-static/index.d.ts +7 -1
  501. package/dist/plugin/react-static/index.d.ts.map +1 -1
  502. package/dist/plugin/react-static/index.js +19 -1
  503. package/dist/plugin/react-static/index.server.d.ts +7 -0
  504. package/dist/plugin/react-static/index.server.d.ts.map +1 -0
  505. package/dist/plugin/react-static/index.server.js +6 -0
  506. package/dist/plugin/react-static/plugin.client.d.ts +32 -0
  507. package/dist/plugin/react-static/plugin.client.d.ts.map +1 -0
  508. package/dist/plugin/react-static/plugin.client.js +801 -0
  509. package/dist/plugin/react-static/plugin.d.ts +3 -20
  510. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  511. package/dist/plugin/react-static/plugin.js +4 -365
  512. package/dist/plugin/react-static/plugin.server.d.ts +18 -0
  513. package/dist/plugin/react-static/plugin.server.d.ts.map +1 -0
  514. package/dist/plugin/react-static/plugin.server.js +615 -0
  515. package/dist/plugin/react-static/processCssFilesForPages.d.ts +16 -0
  516. package/dist/plugin/react-static/processCssFilesForPages.d.ts.map +1 -0
  517. package/dist/plugin/react-static/processCssFilesForPages.js +94 -0
  518. package/dist/plugin/react-static/renderPage.client.d.ts +49 -0
  519. package/dist/plugin/react-static/renderPage.client.d.ts.map +1 -0
  520. package/dist/plugin/react-static/renderPage.client.js +555 -0
  521. package/dist/plugin/react-static/renderPage.d.ts +3 -4
  522. package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
  523. package/dist/plugin/react-static/renderPage.js +6 -119
  524. package/dist/plugin/react-static/renderPage.server.d.ts +24 -0
  525. package/dist/plugin/react-static/renderPage.server.d.ts.map +1 -0
  526. package/dist/plugin/react-static/renderPage.server.js +533 -0
  527. package/dist/plugin/react-static/renderPages.d.ts +11 -3
  528. package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
  529. package/dist/plugin/react-static/renderPages.js +533 -92
  530. package/dist/plugin/react-static/renderPagesBatched.d.ts +6 -0
  531. package/dist/plugin/react-static/renderPagesBatched.d.ts.map +1 -0
  532. package/dist/plugin/react-static/renderPagesBatched.js +195 -0
  533. package/dist/plugin/react-static/renderStreams.d.ts +2 -5
  534. package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
  535. package/dist/plugin/react-static/renderStreams.js +36 -24
  536. package/dist/plugin/react-static/rscToHtmlStream.client.d.ts +12 -0
  537. package/dist/plugin/react-static/rscToHtmlStream.client.d.ts.map +1 -0
  538. package/dist/plugin/react-static/rscToHtmlStream.client.js +32 -0
  539. package/dist/plugin/react-static/rscToHtmlStream.d.ts +3 -21
  540. package/dist/plugin/react-static/rscToHtmlStream.d.ts.map +1 -1
  541. package/dist/plugin/react-static/rscToHtmlStream.js +4 -53
  542. package/dist/plugin/react-static/rscToHtmlStream.server.d.ts +3 -0
  543. package/dist/plugin/react-static/rscToHtmlStream.server.d.ts.map +1 -0
  544. package/dist/plugin/react-static/rscToHtmlStream.server.js +39 -0
  545. package/dist/plugin/react-static/temporaryReferences.client.d.ts +2 -0
  546. package/dist/plugin/react-static/temporaryReferences.client.d.ts.map +1 -0
  547. package/dist/plugin/react-static/temporaryReferences.client.js +1 -0
  548. package/dist/plugin/react-static/temporaryReferences.d.ts +2 -1
  549. package/dist/plugin/react-static/temporaryReferences.d.ts.map +1 -1
  550. package/dist/plugin/react-static/temporaryReferences.js +6 -10
  551. package/dist/plugin/react-static/temporaryReferences.server.d.ts +2 -0
  552. package/dist/plugin/react-static/temporaryReferences.server.d.ts.map +1 -0
  553. package/dist/plugin/react-static/temporaryReferences.server.js +3 -0
  554. package/dist/plugin/react-static/types.d.ts +83 -9
  555. package/dist/plugin/react-static/types.d.ts.map +1 -1
  556. package/dist/plugin/root.d.ts.map +1 -1
  557. package/dist/plugin/root.js +2 -5
  558. package/dist/plugin/stream/MessagePortReadable.d.ts +22 -0
  559. package/dist/plugin/stream/MessagePortReadable.d.ts.map +1 -0
  560. package/dist/plugin/stream/MessagePortReadable.js +101 -0
  561. package/dist/plugin/stream/MessagePortWritable.d.ts +22 -0
  562. package/dist/plugin/stream/MessagePortWritable.d.ts.map +1 -0
  563. package/dist/plugin/stream/MessagePortWritable.js +85 -0
  564. package/dist/plugin/stream/client.js +12 -0
  565. package/dist/plugin/stream/createFromNodeStream.client.d.ts +9 -0
  566. package/dist/plugin/stream/createFromNodeStream.client.d.ts.map +1 -0
  567. package/dist/plugin/stream/createFromNodeStream.client.js +76 -0
  568. package/dist/plugin/stream/createFromNodeStream.d.ts +3 -0
  569. package/dist/plugin/stream/createFromNodeStream.d.ts.map +1 -0
  570. package/dist/plugin/stream/createFromNodeStream.js +6 -0
  571. package/dist/plugin/stream/createFromNodeStream.server.d.ts +9 -0
  572. package/dist/plugin/stream/createFromNodeStream.server.d.ts.map +1 -0
  573. package/dist/plugin/stream/createFromNodeStream.server.js +27 -0
  574. package/dist/plugin/stream/createFromNodeStream.types.d.ts +37 -0
  575. package/dist/plugin/stream/createFromNodeStream.types.d.ts.map +1 -0
  576. package/dist/plugin/stream/createFromNodeStream.types.js +1 -0
  577. package/dist/plugin/stream/createHtmlStream.client.d.ts +3 -0
  578. package/dist/plugin/stream/createHtmlStream.client.d.ts.map +1 -0
  579. package/dist/plugin/stream/createHtmlStream.client.js +42 -0
  580. package/dist/plugin/stream/createHtmlStream.d.ts +3 -0
  581. package/dist/plugin/stream/createHtmlStream.d.ts.map +1 -0
  582. package/dist/plugin/stream/createHtmlStream.js +6 -0
  583. package/dist/plugin/stream/createHtmlStream.server.d.ts +6 -0
  584. package/dist/plugin/stream/createHtmlStream.server.d.ts.map +1 -0
  585. package/dist/plugin/stream/createHtmlStream.server.js +224 -0
  586. package/dist/plugin/stream/createHtmlStream.types.d.ts +43 -0
  587. package/dist/plugin/stream/createHtmlStream.types.d.ts.map +1 -0
  588. package/dist/plugin/stream/createHtmlStream.types.js +1 -0
  589. package/dist/plugin/stream/createMainThreadHandlers.d.ts +11 -0
  590. package/dist/plugin/stream/createMainThreadHandlers.d.ts.map +1 -0
  591. package/dist/plugin/stream/createMainThreadHandlers.js +32 -0
  592. package/dist/plugin/stream/createMessageChannels.d.ts +29 -0
  593. package/dist/plugin/stream/createMessageChannels.d.ts.map +1 -0
  594. package/dist/plugin/stream/createMessageChannels.js +35 -0
  595. package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.d.ts +10 -0
  596. package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.d.ts.map +1 -0
  597. package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.js +188 -0
  598. package/dist/plugin/stream/createRenderToPipeableStreamHandler.d.ts +3 -0
  599. package/dist/plugin/stream/createRenderToPipeableStreamHandler.d.ts.map +1 -0
  600. package/dist/plugin/stream/createRenderToPipeableStreamHandler.js +6 -0
  601. package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.d.ts +45 -0
  602. package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.d.ts.map +1 -0
  603. package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.js +249 -0
  604. package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.d.ts +17 -0
  605. package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.d.ts.map +1 -0
  606. package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.js +1 -0
  607. package/dist/plugin/stream/createRscStream.client.d.ts +18 -0
  608. package/dist/plugin/stream/createRscStream.client.d.ts.map +1 -0
  609. package/dist/plugin/stream/createRscStream.client.js +79 -0
  610. package/dist/plugin/stream/createRscStream.d.ts +2 -0
  611. package/dist/plugin/stream/createRscStream.d.ts.map +1 -0
  612. package/dist/plugin/stream/createRscStream.js +13 -0
  613. package/dist/plugin/stream/createRscStream.server.d.ts +46 -0
  614. package/dist/plugin/stream/createRscStream.server.d.ts.map +1 -0
  615. package/dist/plugin/stream/createRscStream.server.js +113 -0
  616. package/dist/plugin/stream/createRscStream.types.d.ts +134 -0
  617. package/dist/plugin/stream/createRscStream.types.d.ts.map +1 -0
  618. package/dist/plugin/stream/createRscStream.types.js +1 -0
  619. package/dist/plugin/stream/createRscStream.utils.d.ts +54 -0
  620. package/dist/plugin/stream/createRscStream.utils.d.ts.map +1 -0
  621. package/dist/plugin/stream/createRscStream.utils.js +91 -0
  622. package/dist/plugin/stream/createRscWorkerStream.d.ts +41 -0
  623. package/dist/plugin/stream/createRscWorkerStream.d.ts.map +1 -0
  624. package/dist/plugin/stream/createRscWorkerStream.js +120 -0
  625. package/dist/plugin/stream/handleRscStream.client.d.ts +17 -0
  626. package/dist/plugin/stream/handleRscStream.client.d.ts.map +1 -0
  627. package/dist/plugin/stream/handleRscStream.client.js +163 -0
  628. package/dist/plugin/stream/handleRscStream.d.ts +3 -0
  629. package/dist/plugin/stream/handleRscStream.d.ts.map +1 -0
  630. package/dist/plugin/stream/handleRscStream.js +13 -0
  631. package/dist/plugin/stream/handleRscStream.server.d.ts +6 -0
  632. package/dist/plugin/stream/handleRscStream.server.d.ts.map +1 -0
  633. package/dist/plugin/stream/handleRscStream.server.js +70 -0
  634. package/dist/plugin/stream/handleRscStream.types.d.ts +28 -0
  635. package/dist/plugin/stream/handleRscStream.types.d.ts.map +1 -0
  636. package/dist/plugin/stream/handleRscStream.types.js +1 -0
  637. package/dist/plugin/stream/index.client.d.ts +7 -0
  638. package/dist/plugin/stream/index.client.d.ts.map +1 -0
  639. package/dist/plugin/stream/index.client.js +11 -0
  640. package/dist/plugin/stream/index.d.ts +95 -0
  641. package/dist/plugin/stream/index.d.ts.map +1 -0
  642. package/dist/plugin/stream/index.js +21 -0
  643. package/dist/plugin/stream/index.server.d.ts +7 -0
  644. package/dist/plugin/stream/index.server.d.ts.map +1 -0
  645. package/dist/plugin/stream/index.server.js +11 -0
  646. package/dist/plugin/stream/renderRscStream.server.d.ts +21 -0
  647. package/dist/plugin/stream/renderRscStream.server.d.ts.map +1 -0
  648. package/dist/plugin/stream/renderRscStream.server.js +153 -0
  649. package/dist/plugin/stream/renderRscStream.types.d.ts +36 -0
  650. package/dist/plugin/stream/renderRscStream.types.d.ts.map +1 -0
  651. package/dist/plugin/stream/renderRscStream.types.js +1 -0
  652. package/dist/plugin/stream/renderRscStreamHelpers.server.d.ts +9 -0
  653. package/dist/plugin/stream/renderRscStreamHelpers.server.d.ts.map +1 -0
  654. package/dist/plugin/stream/renderRscStreamHelpers.server.js +63 -0
  655. package/dist/plugin/stream/server.js +12 -0
  656. package/dist/plugin/stream/setMaxListeners.d.ts +16 -0
  657. package/dist/plugin/stream/setMaxListeners.d.ts.map +1 -0
  658. package/dist/plugin/stream/setMaxListeners.js +16 -0
  659. package/dist/plugin/transformer/createTransformerPlugin.d.ts +18 -0
  660. package/dist/plugin/transformer/createTransformerPlugin.d.ts.map +1 -0
  661. package/dist/plugin/transformer/createTransformerPlugin.js +269 -0
  662. package/dist/plugin/transformer/plugin.client.d.ts +2 -29
  663. package/dist/plugin/transformer/plugin.client.d.ts.map +1 -1
  664. package/dist/plugin/transformer/plugin.client.js +5 -96
  665. package/dist/plugin/transformer/plugin.server.d.ts +2 -29
  666. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
  667. package/dist/plugin/transformer/plugin.server.js +5 -96
  668. package/dist/plugin/transformer/transformerEnv.d.ts +15 -0
  669. package/dist/plugin/transformer/transformerEnv.d.ts.map +1 -0
  670. package/dist/plugin/transformer/transformerEnv.js +26 -0
  671. package/dist/plugin/types.d.ts +366 -140
  672. package/dist/plugin/types.d.ts.map +1 -1
  673. package/dist/plugin/types.js +1 -2
  674. package/dist/plugin/utils/callServer.d.ts +1 -1
  675. package/dist/plugin/utils/callServer.d.ts.map +1 -1
  676. package/dist/plugin/utils/createCallServer.d.ts +1 -1
  677. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  678. package/dist/plugin/utils/createCallServer.js +4 -9
  679. package/dist/plugin/utils/createReactFetcher.d.ts +43 -2
  680. package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -1
  681. package/dist/plugin/utils/createReactFetcher.js +14 -3
  682. package/dist/plugin/utils/envUrls.node.js +11 -12
  683. package/dist/plugin/utils/index.client.d.ts +8 -0
  684. package/dist/plugin/utils/index.client.d.ts.map +1 -0
  685. package/dist/plugin/utils/index.client.js +8 -0
  686. package/dist/plugin/utils/index.d.ts +1 -0
  687. package/dist/plugin/utils/index.d.ts.map +1 -1
  688. package/dist/plugin/utils/index.js +3 -2
  689. package/dist/plugin/utils/index.server.d.ts +6 -0
  690. package/dist/plugin/utils/index.server.d.ts.map +1 -0
  691. package/dist/plugin/utils/index.server.js +8 -0
  692. package/dist/plugin/utils/routeToURL.d.ts.map +1 -1
  693. package/dist/plugin/utils/routeToURL.js +4 -4
  694. package/dist/plugin/utils/urls.d.ts +1 -1
  695. package/dist/plugin/utils/urls.d.ts.map +1 -1
  696. package/dist/plugin/utils/urls.js +29 -8
  697. package/dist/plugin/utils/useRscHmr.d.ts +39 -0
  698. package/dist/plugin/utils/useRscHmr.d.ts.map +1 -0
  699. package/dist/plugin/utils/useRscHmr.js +27 -0
  700. package/dist/plugin/vendor/vendor.client.d.ts +3 -3
  701. package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
  702. package/dist/plugin/vendor/vendor.client.js +7 -6
  703. package/dist/plugin/vendor/vendor.d.ts +1 -1
  704. package/dist/plugin/vendor/vendor.d.ts.map +1 -1
  705. package/dist/plugin/vendor/vendor.js +4 -6
  706. package/dist/plugin/vendor/vendor.server.d.ts +4 -2
  707. package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
  708. package/dist/plugin/vendor/vendor.server.js +2 -3
  709. package/dist/plugin/vendor/vendor.static.d.ts +4 -0
  710. package/dist/plugin/vendor/vendor.static.d.ts.map +1 -0
  711. package/dist/plugin/vendor/vendor.static.js +15 -0
  712. package/dist/plugin/worker/createWorker.d.ts +16 -5
  713. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  714. package/dist/plugin/worker/createWorker.js +207 -30
  715. package/dist/plugin/worker/html/handleHtmlRender.d.ts +14 -0
  716. package/dist/plugin/worker/html/handleHtmlRender.d.ts.map +1 -0
  717. package/dist/plugin/worker/html/handleHtmlRender.js +190 -0
  718. package/dist/plugin/worker/html/html-worker.development.js +9 -26
  719. package/dist/plugin/worker/html/html-worker.js +4 -4
  720. package/dist/plugin/worker/html/html-worker.production.js +7 -13
  721. package/dist/plugin/worker/html/index.d.ts +1 -1
  722. package/dist/plugin/worker/html/index.js +6 -2
  723. package/dist/plugin/worker/html/messageHandler.d.ts +1 -1
  724. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  725. package/dist/plugin/worker/html/messageHandler.js +291 -104
  726. package/dist/plugin/worker/html/state.d.ts +10 -0
  727. package/dist/plugin/worker/html/state.d.ts.map +1 -0
  728. package/dist/plugin/worker/html/state.js +28 -0
  729. package/dist/plugin/worker/html/types.d.ts +52 -23
  730. package/dist/plugin/worker/html/types.d.ts.map +1 -1
  731. package/dist/plugin/worker/index.js +1 -1
  732. package/dist/plugin/worker/rsc/createBundleLoader.d.ts +22 -0
  733. package/dist/plugin/worker/rsc/createBundleLoader.d.ts.map +1 -0
  734. package/dist/plugin/worker/rsc/createBundleLoader.js +55 -0
  735. package/dist/plugin/worker/rsc/createRscWorkerLoader.d.ts +23 -0
  736. package/dist/plugin/worker/rsc/createRscWorkerLoader.d.ts.map +1 -0
  737. package/dist/plugin/worker/rsc/createRscWorkerLoader.js +79 -0
  738. package/dist/plugin/worker/rsc/handleRscRender.d.ts +32 -0
  739. package/dist/plugin/worker/rsc/handleRscRender.d.ts.map +1 -0
  740. package/dist/plugin/worker/rsc/handleRscRender.js +349 -0
  741. package/dist/plugin/worker/rsc/handlers.d.ts +8 -2
  742. package/dist/plugin/worker/rsc/handlers.d.ts.map +1 -1
  743. package/dist/plugin/worker/rsc/handlers.js +137 -200
  744. package/dist/plugin/worker/rsc/hydrateRscRenderMessage.d.ts +118 -0
  745. package/dist/plugin/worker/rsc/hydrateRscRenderMessage.d.ts.map +1 -0
  746. package/dist/plugin/worker/rsc/hydrateRscRenderMessage.js +61 -0
  747. package/dist/plugin/worker/rsc/messageHandler.d.ts +1 -1
  748. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  749. package/dist/plugin/worker/rsc/messageHandler.js +927 -49
  750. package/dist/plugin/worker/rsc/rsc-worker.development.js +153 -148
  751. package/dist/plugin/worker/rsc/rsc-worker.js +2 -3
  752. package/dist/plugin/worker/rsc/rsc-worker.production.js +238 -42
  753. package/dist/plugin/worker/rsc/state.d.ts +6 -0
  754. package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
  755. package/dist/plugin/worker/rsc/state.js +37 -5
  756. package/dist/plugin/worker/rsc/types.d.ts +73 -12
  757. package/dist/plugin/worker/rsc/types.d.ts.map +1 -1
  758. package/dist/plugin/worker/rsc/workerUserOptions.d.ts +10 -0
  759. package/dist/plugin/worker/rsc/workerUserOptions.d.ts.map +1 -0
  760. package/dist/plugin/worker/rsc/workerUserOptions.js +39 -0
  761. package/dist/plugin/worker/sendMessage.d.ts +2 -3
  762. package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
  763. package/dist/plugin/worker/sendMessage.js +24 -38
  764. package/dist/plugin/worker/types.d.ts +42 -56
  765. package/dist/plugin/worker/types.d.ts.map +1 -1
  766. package/dist/plugin/worker/worker-handlers.server.d.ts +2 -0
  767. package/dist/plugin/worker/worker-handlers.server.d.ts.map +1 -0
  768. package/dist/plugin/worker/worker-handlers.server.js +1 -0
  769. package/dist/server.d.ts +5 -1
  770. package/dist/server.d.ts.map +1 -1
  771. package/dist/server.js +4 -6
  772. package/dist/static.js +11 -0
  773. package/dist/tsconfig.tsbuildinfo +1 -1
  774. package/package.json +103 -28
  775. package/plugin/bundle/bundles.ts +22 -0
  776. package/plugin/bundle/deferredStaticGeneration.ts +48 -0
  777. package/plugin/bundle/manifests.ts +73 -0
  778. package/plugin/components/css.tsx +3 -7
  779. package/plugin/components/html.tsx +4 -3
  780. package/plugin/components/index.ts +1 -1
  781. package/plugin/components/root.tsx +3 -3
  782. package/plugin/config/autoDiscover/createGlobAutoDiscover.ts +10 -5
  783. package/plugin/config/autoDiscover/pageAndPropFiles.ts +4 -2
  784. package/plugin/config/autoDiscover/resolveAutoDiscover.ts +64 -79
  785. package/plugin/config/autoDiscover/resolveBuildPages.ts +181 -69
  786. package/plugin/config/createHandlerOptions.client.ts +403 -0
  787. package/plugin/config/createHandlerOptions.server.ts +477 -0
  788. package/plugin/config/createHandlerOptions.ts +46 -0
  789. package/plugin/config/createHandlerOptions.types.ts +119 -0
  790. package/plugin/config/createModuleID.ts +201 -10
  791. package/plugin/config/defaults.tsx +58 -9
  792. package/plugin/config/envPrefixFromConfig.ts +10 -0
  793. package/plugin/config/getCondition.ts +267 -10
  794. package/plugin/{getNodeEnv.ts → config/getNodeEnv.ts} +4 -2
  795. package/plugin/config/index.ts +60 -1
  796. package/plugin/config/resolveDirectiveMatcher.ts +13 -34
  797. package/plugin/config/resolveEnv.ts +3 -8
  798. package/plugin/config/resolveOptions.ts +295 -77
  799. package/plugin/config/resolvePages.ts +1 -1
  800. package/plugin/config/resolvePatternWithValues.ts +6 -26
  801. package/plugin/config/resolveUrlOption.ts +2 -2
  802. package/plugin/config/resolveUserConfig.ts +358 -133
  803. package/plugin/config/stashedOptionsState.ts +144 -0
  804. package/plugin/dev-server/cleanupServerAction.client.ts +47 -0
  805. package/plugin/dev-server/cleanupServerAction.server.ts +24 -0
  806. package/plugin/dev-server/cleanupServerAction.ts +8 -0
  807. package/plugin/dev-server/configureReactServer.client.ts +107 -0
  808. package/plugin/dev-server/configureReactServer.server.ts +558 -0
  809. package/plugin/dev-server/configureReactServer.ts +8 -0
  810. package/plugin/dev-server/configureRequestHandler.client.ts +382 -0
  811. package/plugin/dev-server/configureRequestHandler.server.ts +46 -0
  812. package/plugin/dev-server/configureRequestHandler.ts +8 -0
  813. package/plugin/dev-server/handleServerAction.client.ts +126 -0
  814. package/plugin/dev-server/handleServerAction.server.ts +10 -0
  815. package/plugin/dev-server/handleServerAction.ts +8 -0
  816. package/plugin/dev-server/index.client.ts +6 -0
  817. package/plugin/dev-server/index.server.ts +6 -0
  818. package/plugin/dev-server/index.ts +20 -0
  819. package/plugin/dev-server/plugin.client.ts +160 -0
  820. package/plugin/dev-server/plugin.server.ts +133 -0
  821. package/plugin/dev-server/restartWorker.client.ts +155 -0
  822. package/plugin/dev-server/restartWorker.server.ts +108 -0
  823. package/plugin/dev-server/restartWorker.ts +8 -0
  824. package/plugin/dev-server/types.ts +78 -0
  825. package/plugin/dev-server/virtualRscHmrPlugin.ts +82 -0
  826. package/plugin/env/createConfigEnv.ts +27 -8
  827. package/plugin/env/createEnvPlugin.ts +76 -0
  828. package/plugin/env/getArgValue.ts +1 -1
  829. package/plugin/env/getEnvKey.ts +20 -1
  830. package/plugin/env/index.ts +10 -0
  831. package/plugin/env/plugin.client.ts +3 -0
  832. package/plugin/env/plugin.server.ts +4 -0
  833. package/plugin/env/plugin.ts +48 -103
  834. package/plugin/environments/createBuildEventPlugin.ts +117 -0
  835. package/plugin/environments/createEnvironmentPlugin.ts +332 -0
  836. package/plugin/environments/hashCoordination.ts +39 -0
  837. package/plugin/environments/resolveEnvironmentConfig.ts +320 -0
  838. package/plugin/error/assertPanic.ts +9 -0
  839. package/plugin/error/handleError.ts +63 -0
  840. package/plugin/error/index.ts +4 -1
  841. package/plugin/error/logError.ts +63 -42
  842. package/plugin/error/panicThresholdHandler.ts +52 -0
  843. package/plugin/error/serializeError.ts +36 -11
  844. package/plugin/error/serializeErrorInfo.ts +17 -0
  845. package/plugin/error/setupGlobalErrorHandler.ts +71 -0
  846. package/plugin/error/shouldPanic.ts +14 -0
  847. package/plugin/error/toError.ts +59 -19
  848. package/plugin/error/types.ts +32 -0
  849. package/plugin/helpers/README.md +112 -0
  850. package/plugin/helpers/collectManifestCss.ts +24 -5
  851. package/plugin/helpers/collectViteModuleGraphCss.ts +83 -9
  852. package/plugin/helpers/createBufferedRscStream.ts +194 -0
  853. package/plugin/helpers/createCssProps.tsx +22 -19
  854. package/plugin/helpers/createElementWithReact.tsx +121 -0
  855. package/plugin/helpers/createPatternMatcher.ts +100 -0
  856. package/plugin/helpers/createRscRenderHelpers.ts +77 -0
  857. package/plugin/helpers/createSafePageComponent.ts +64 -0
  858. package/plugin/helpers/createSerializableHandlerOptions.ts +183 -0
  859. package/plugin/helpers/createSharedLoader.ts +207 -0
  860. package/plugin/helpers/createUnifiedCssProcessor.ts +175 -0
  861. package/plugin/helpers/getBundleManifest.ts +2 -3
  862. package/plugin/helpers/getRouteFiles.ts +28 -23
  863. package/plugin/helpers/handleServerAction.client.ts +145 -0
  864. package/plugin/helpers/handleServerAction.server.ts +151 -0
  865. package/plugin/helpers/handleServerAction.ts +19 -79
  866. package/plugin/helpers/handleServerActionHelper.ts +270 -0
  867. package/plugin/helpers/headlessStreamReuseHandler.ts +48 -0
  868. package/plugin/helpers/headlessStreamState.ts +122 -0
  869. package/plugin/helpers/hydrateUserOptions.ts +2 -2
  870. package/plugin/helpers/index.ts +32 -5
  871. package/plugin/helpers/logRenderStart.ts +26 -0
  872. package/plugin/helpers/mergeMessageWithDefaults.ts +80 -0
  873. package/plugin/helpers/pipeToResponse.ts +77 -0
  874. package/plugin/helpers/requestInfo.ts +9 -3
  875. package/plugin/helpers/resolveComponents.client.ts +183 -0
  876. package/plugin/helpers/resolveModuleFromManifest.ts +99 -0
  877. package/plugin/helpers/resolvePageAndProps.ts +237 -50
  878. package/plugin/helpers/resolveRenderUrl.ts +26 -0
  879. package/plugin/helpers/resolveStreamElements.client.ts +50 -0
  880. package/plugin/helpers/resolveStreamElements.server.ts +43 -0
  881. package/plugin/helpers/resolveStreamElements.ts +13 -0
  882. package/plugin/helpers/resolveStreamElements.types.ts +29 -0
  883. package/plugin/helpers/resolveVirtualAndNodeModules.ts +75 -0
  884. package/plugin/helpers/resolveWithDefaultRootAndHtml.ts +25 -0
  885. package/plugin/helpers/serializeUserOptions.ts +37 -15
  886. package/plugin/helpers/tryManifest.ts +15 -6
  887. package/plugin/helpers/validateRscRenderMessage.ts +13 -0
  888. package/plugin/helpers/workerCleanup.ts +85 -0
  889. package/plugin/helpers/workerManager.ts +16 -0
  890. package/plugin/index.ts +6 -2
  891. package/plugin/loader/createDefaultLoader.ts +0 -21
  892. package/plugin/loader/createTransformer.ts +231 -37
  893. package/plugin/loader/directives/analyzeDirectives.ts +163 -73
  894. package/plugin/loader/directives/analyzeModule.ts +18 -9
  895. package/plugin/loader/env-loader.ts +3 -3
  896. package/plugin/loader/react-loader.ts +133 -86
  897. package/plugin/loader/transformClientModule.ts +85 -23
  898. package/plugin/loader/transformModule.ts +101 -21
  899. package/plugin/loader/transformModuleIfNeeded.ts +20 -23
  900. package/plugin/loader/transformNonServerEnvironment.ts +21 -13
  901. package/plugin/loader/transformServerModule.ts +86 -22
  902. package/plugin/loader/types.ts +22 -7
  903. package/plugin/metrics/collectStreamMetrics.ts +1 -2
  904. package/plugin/metrics/convertStreamMetrics.ts +28 -0
  905. package/plugin/metrics/createModuleResolutionMetrics.ts +38 -0
  906. package/plugin/metrics/createRenderMetrics.ts +46 -13
  907. package/plugin/metrics/createStreamMetrics.ts +16 -6
  908. package/plugin/metrics/createWorkerStartupMetrics.ts +38 -0
  909. package/plugin/metrics/formatMetrics.ts +5 -33
  910. package/plugin/metrics/index.ts +6 -3
  911. package/plugin/metrics/metricWatcher.ts +216 -0
  912. package/plugin/metrics/types.ts +87 -8
  913. package/plugin/orchestrator/createPluginOrchestrator.client.ts +47 -0
  914. package/plugin/orchestrator/createPluginOrchestrator.server.ts +55 -0
  915. package/plugin/orchestrator/createPluginOrchestrator.ts +29 -0
  916. package/plugin/orchestrator/index.ts +1 -0
  917. package/plugin/orchestrator/resolveStrategy.ts +53 -0
  918. package/plugin/orchestrator/types.ts +24 -0
  919. package/plugin/plugin.client.ts +29 -34
  920. package/plugin/plugin.server.ts +36 -42
  921. package/plugin/plugin.ts +8 -2
  922. package/plugin/process-env.ts +3 -0
  923. package/plugin/react-client/createMessageHandlers.ts +9 -34
  924. package/plugin/react-client/index.client.ts +1 -0
  925. package/plugin/react-client/index.server.ts +1 -0
  926. package/plugin/react-client/index.ts +13 -4
  927. package/plugin/react-client/plugin.client.ts +124 -0
  928. package/plugin/react-client/plugin.server.ts +108 -0
  929. package/plugin/react-client/plugin.ts +13 -152
  930. package/plugin/react-client/types.ts +95 -0
  931. package/plugin/react-server/index.client.ts +1 -0
  932. package/plugin/react-server/index.server.ts +1 -0
  933. package/plugin/react-server/index.ts +13 -1
  934. package/plugin/react-server/plugin.client.ts +54 -0
  935. package/plugin/react-server/plugin.server.ts +27 -0
  936. package/plugin/react-server/plugin.ts +8 -183
  937. package/plugin/react-server/types.ts +24 -0
  938. package/plugin/react-static/collectHtmlContent.ts +131 -0
  939. package/plugin/react-static/collectRscContent.ts +92 -49
  940. package/plugin/react-static/configurePreviewServer.ts +8 -18
  941. package/plugin/react-static/createBuildLoader.client.ts +7 -0
  942. package/plugin/react-static/createBuildLoader.server.ts +333 -0
  943. package/plugin/react-static/createBuildLoader.ts +8 -300
  944. package/plugin/react-static/fileWriter.ts +303 -64
  945. package/plugin/react-static/index.client.ts +6 -0
  946. package/plugin/react-static/index.server.ts +6 -0
  947. package/plugin/react-static/index.ts +25 -1
  948. package/plugin/react-static/plugin.client.ts +932 -0
  949. package/plugin/react-static/plugin.server.ts +713 -0
  950. package/plugin/react-static/plugin.ts +8 -446
  951. package/plugin/react-static/processCssFilesForPages.ts +148 -0
  952. package/plugin/react-static/renderPage.client.ts +640 -0
  953. package/plugin/react-static/renderPage.server.ts +655 -0
  954. package/plugin/react-static/renderPage.ts +10 -160
  955. package/plugin/react-static/renderPages.ts +736 -139
  956. package/plugin/react-static/renderPagesBatched.ts +264 -0
  957. package/plugin/react-static/renderStreams.ts +12 -16
  958. package/plugin/react-static/rscToHtmlStream.client.ts +61 -0
  959. package/plugin/react-static/rscToHtmlStream.server.ts +66 -0
  960. package/plugin/react-static/rscToHtmlStream.ts +8 -80
  961. package/plugin/react-static/temporaryReferences.client.ts +1 -0
  962. package/plugin/react-static/temporaryReferences.server.ts +5 -0
  963. package/plugin/react-static/temporaryReferences.ts +11 -2
  964. package/plugin/react-static/types.ts +202 -8
  965. package/plugin/root.ts +1 -3
  966. package/plugin/stream/MessagePortReadable.ts +131 -0
  967. package/plugin/stream/MessagePortWritable.ts +104 -0
  968. package/plugin/stream/createFromNodeStream.client.ts +90 -0
  969. package/plugin/stream/createFromNodeStream.server.ts +30 -0
  970. package/plugin/stream/createFromNodeStream.ts +13 -0
  971. package/plugin/stream/createFromNodeStream.types.ts +53 -0
  972. package/plugin/stream/createHtmlStream.client.ts +47 -0
  973. package/plugin/stream/createHtmlStream.server.ts +312 -0
  974. package/plugin/stream/createHtmlStream.ts +13 -0
  975. package/plugin/stream/createHtmlStream.types.ts +63 -0
  976. package/plugin/stream/createMainThreadHandlers.ts +44 -0
  977. package/plugin/stream/createMessageChannels.ts +52 -0
  978. package/plugin/stream/createRenderToPipeableStreamHandler.client.ts +224 -0
  979. package/plugin/stream/createRenderToPipeableStreamHandler.server.ts +358 -0
  980. package/plugin/stream/createRenderToPipeableStreamHandler.ts +13 -0
  981. package/plugin/stream/createRenderToPipeableStreamHandler.types.ts +69 -0
  982. package/plugin/stream/createRscStream.client.ts +122 -0
  983. package/plugin/stream/createRscStream.server.ts +188 -0
  984. package/plugin/stream/createRscStream.ts +8 -0
  985. package/plugin/stream/createRscStream.types.ts +168 -0
  986. package/plugin/stream/createRscStream.utils.ts +171 -0
  987. package/plugin/stream/createRscWorkerStream.ts +178 -0
  988. package/plugin/stream/handleRscStream.client.ts +214 -0
  989. package/plugin/stream/handleRscStream.server.ts +82 -0
  990. package/plugin/stream/handleRscStream.ts +11 -0
  991. package/plugin/stream/handleRscStream.types.ts +70 -0
  992. package/plugin/stream/index.client.ts +15 -0
  993. package/plugin/stream/index.server.ts +15 -0
  994. package/plugin/stream/index.ts +137 -0
  995. package/plugin/stream/renderRscStream.server.ts +182 -0
  996. package/plugin/stream/renderRscStream.types.ts +43 -0
  997. package/plugin/stream/renderRscStreamHelpers.server.ts +88 -0
  998. package/plugin/stream/setMaxListeners.ts +30 -0
  999. package/plugin/transformer/README.md +2 -381
  1000. package/plugin/transformer/createTransformerPlugin.ts +388 -0
  1001. package/plugin/transformer/plugin.client.ts +6 -141
  1002. package/plugin/transformer/plugin.server.ts +6 -142
  1003. package/plugin/transformer/transformerEnv.ts +49 -0
  1004. package/plugin/types/react-server-dom-esm.d.ts +269 -110
  1005. package/plugin/types/virtual-rsc-hmr.d.ts +21 -0
  1006. package/plugin/types.ts +636 -223
  1007. package/plugin/utils/createCallServer.ts +8 -18
  1008. package/plugin/utils/createReactFetcher.ts +87 -5
  1009. package/plugin/utils/env.ts +1 -1
  1010. package/plugin/utils/index.client.ts +8 -0
  1011. package/plugin/utils/index.server.ts +8 -0
  1012. package/plugin/utils/index.ts +5 -1
  1013. package/plugin/utils/routeToURL.ts +3 -4
  1014. package/plugin/utils/urls.ts +40 -8
  1015. package/plugin/utils/useRscHmr.ts +72 -0
  1016. package/plugin/vendor/vendor.client.ts +9 -7
  1017. package/plugin/vendor/vendor.server.ts +5 -4
  1018. package/plugin/vendor/vendor.static.ts +12 -0
  1019. package/plugin/vendor/vendor.ts +10 -5
  1020. package/plugin/worker/createWorker.ts +283 -41
  1021. package/plugin/worker/html/README.md +2 -65
  1022. package/plugin/worker/html/handleHtmlRender.ts +245 -0
  1023. package/plugin/worker/html/html-worker.development.tsx +5 -17
  1024. package/plugin/worker/html/html-worker.production.tsx +1 -1
  1025. package/plugin/worker/html/html-worker.ts +5 -5
  1026. package/plugin/worker/html/index.ts +6 -6
  1027. package/plugin/worker/html/messageHandler.tsx +317 -98
  1028. package/plugin/worker/html/state.ts +38 -0
  1029. package/plugin/worker/html/types.ts +108 -35
  1030. package/plugin/worker/rsc/README.md +2 -257
  1031. package/plugin/worker/rsc/createBundleLoader.ts +92 -0
  1032. package/plugin/worker/rsc/createRscWorkerLoader.ts +104 -0
  1033. package/plugin/worker/rsc/handleRscRender.ts +510 -0
  1034. package/plugin/worker/rsc/handlers.ts +159 -238
  1035. package/plugin/worker/rsc/hydrateRscRenderMessage.ts +118 -0
  1036. package/plugin/worker/rsc/messageHandler.tsx +1288 -58
  1037. package/plugin/worker/rsc/rsc-worker.development.ts +198 -185
  1038. package/plugin/worker/rsc/rsc-worker.production.ts +302 -64
  1039. package/plugin/worker/rsc/rsc-worker.tsx +3 -5
  1040. package/plugin/worker/rsc/state.ts +54 -2
  1041. package/plugin/worker/rsc/types.ts +110 -32
  1042. package/plugin/worker/rsc/workerUserOptions.ts +63 -0
  1043. package/plugin/worker/sendMessage.ts +33 -53
  1044. package/plugin/worker/types.ts +94 -91
  1045. package/scripts/generate-toc.mjs +311 -0
  1046. package/scripts/remove-toc.mjs +51 -0
  1047. package/scripts/test-both.sh +82 -0
  1048. package/dist/plugin/config/resolveDevServerConfig.d.ts +0 -2
  1049. package/dist/plugin/config/resolveDevServerConfig.d.ts.map +0 -1
  1050. package/dist/plugin/getNodeEnv.d.ts.map +0 -1
  1051. package/dist/plugin/getNodeEnv.js +0 -17
  1052. package/dist/plugin/helpers/collectBundleManifestCss.d.ts +0 -2
  1053. package/dist/plugin/helpers/collectBundleManifestCss.d.ts.map +0 -1
  1054. package/dist/plugin/helpers/collectBundleManifestCss.js +0 -2
  1055. package/dist/plugin/helpers/createEventHandler.d.ts +0 -22
  1056. package/dist/plugin/helpers/createEventHandler.d.ts.map +0 -1
  1057. package/dist/plugin/helpers/createEventHandler.js +0 -36
  1058. package/dist/plugin/helpers/createHandler.d.ts +0 -14
  1059. package/dist/plugin/helpers/createHandler.d.ts.map +0 -1
  1060. package/dist/plugin/helpers/createHandler.js +0 -75
  1061. package/dist/plugin/helpers/createRscStream.d.ts +0 -26
  1062. package/dist/plugin/helpers/createRscStream.d.ts.map +0 -1
  1063. package/dist/plugin/helpers/createRscStream.js +0 -178
  1064. package/dist/plugin/helpers/defaultFileWriter.d.ts +0 -2
  1065. package/dist/plugin/helpers/defaultFileWriter.d.ts.map +0 -1
  1066. package/dist/plugin/helpers/resolveComponents.d.ts +0 -27
  1067. package/dist/plugin/helpers/resolveComponents.d.ts.map +0 -1
  1068. package/dist/plugin/helpers/resolveComponents.js +0 -146
  1069. package/dist/plugin/helpers/resolveUserComponents.d.ts +0 -33
  1070. package/dist/plugin/helpers/resolveUserComponents.d.ts.map +0 -1
  1071. package/dist/plugin/helpers/resolveUserComponents.js +0 -163
  1072. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts +0 -11
  1073. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts.map +0 -1
  1074. package/dist/plugin/react-client/cleanupWorkerServerAction.js +0 -18
  1075. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts +0 -17
  1076. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +0 -1
  1077. package/dist/plugin/react-client/configureWorkerRequestHandler.js +0 -203
  1078. package/dist/plugin/react-client/createWorkerStream.d.ts +0 -26
  1079. package/dist/plugin/react-client/createWorkerStream.d.ts.map +0 -1
  1080. package/dist/plugin/react-client/createWorkerStream.js +0 -163
  1081. package/dist/plugin/react-client/handleWorkerRscStream.d.ts +0 -24
  1082. package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +0 -1
  1083. package/dist/plugin/react-client/handleWorkerRscStream.js +0 -91
  1084. package/dist/plugin/react-client/handleWorkerServerAction.d.ts +0 -13
  1085. package/dist/plugin/react-client/handleWorkerServerAction.d.ts.map +0 -1
  1086. package/dist/plugin/react-client/handleWorkerServerAction.js +0 -62
  1087. package/dist/plugin/react-client/restartWorker.d.ts +0 -12
  1088. package/dist/plugin/react-client/restartWorker.d.ts.map +0 -1
  1089. package/dist/plugin/react-client/restartWorker.js +0 -69
  1090. package/dist/plugin/react-server/configureReactServer.d.ts +0 -10
  1091. package/dist/plugin/react-server/configureReactServer.d.ts.map +0 -1
  1092. package/dist/plugin/react-server/configureReactServer.js +0 -209
  1093. package/dist/plugin/react-server/handleServerAction.d.ts +0 -6
  1094. package/dist/plugin/react-server/handleServerAction.d.ts.map +0 -1
  1095. package/dist/plugin/react-server/handleServerAction.js +0 -159
  1096. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +0 -25
  1097. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +0 -1
  1098. package/dist/plugin/react-static/collectHtmlWorkerContent.js +0 -94
  1099. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts +0 -12
  1100. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +0 -1
  1101. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +0 -130
  1102. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts +0 -3
  1103. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts.map +0 -1
  1104. package/dist/plugin/worker/html/sendHtmlWorkerMessage.js +0 -2
  1105. package/dist/plugin/worker/rsc/handleRender.d.ts +0 -6
  1106. package/dist/plugin/worker/rsc/handleRender.d.ts.map +0 -1
  1107. package/dist/plugin/worker/rsc/handleRender.js +0 -137
  1108. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts +0 -3
  1109. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts.map +0 -1
  1110. package/dist/plugin/worker/rsc/sendRscWorkerMessage.js +0 -11
  1111. package/dist/plugin/worker/rsc/userOptions.d.ts +0 -2
  1112. package/dist/plugin/worker/rsc/userOptions.d.ts.map +0 -1
  1113. package/dist/plugin/worker/rsc/userOptions.js +0 -16
  1114. package/plugin/helpers/collectBundleManifestCss.ts +0 -1
  1115. package/plugin/helpers/createEventHandler.ts +0 -44
  1116. package/plugin/helpers/createHandler.ts +0 -97
  1117. package/plugin/helpers/createRscStream.tsx +0 -226
  1118. package/plugin/helpers/defaultFileWriter.ts +0 -0
  1119. package/plugin/helpers/resolveComponents.ts +0 -202
  1120. package/plugin/helpers/resolveUserComponents.ts +0 -190
  1121. package/plugin/react-client/cleanupWorkerServerAction.ts +0 -33
  1122. package/plugin/react-client/configureWorkerRequestHandler.ts +0 -249
  1123. package/plugin/react-client/createWorkerStream.ts +0 -210
  1124. package/plugin/react-client/handleWorkerRscStream.ts +0 -145
  1125. package/plugin/react-client/handleWorkerServerAction.ts +0 -96
  1126. package/plugin/react-client/restartWorker.ts +0 -90
  1127. package/plugin/react-server/configureReactServer.ts +0 -235
  1128. package/plugin/react-server/handleServerAction.ts +0 -192
  1129. package/plugin/react-static/collectHtmlWorkerContent.ts +0 -147
  1130. package/plugin/worker/html/createHtmlWorkerRenderState.tsx +0 -142
  1131. package/plugin/worker/html/sendHtmlWorkerMessage.ts +0 -8
  1132. package/plugin/worker/rsc/handleRender.ts +0 -168
  1133. package/plugin/worker/rsc/sendRscWorkerMessage.ts +0 -7
  1134. package/plugin/worker/rsc/userOptions.ts +0 -7
  1135. /package/dist/plugin/config/{resolveDevServerConfig.js → createHandlerOptions.types.js} +0 -0
  1136. /package/dist/plugin/{helpers/defaultFileWriter.js → dev-server/types.js} +0 -0
  1137. /package/plugin/{config/resolveDevServerConfig.tsx → worker/worker-handlers.server.ts} +0 -0
@@ -1,9 +1,11 @@
1
1
  import type { ResolvedUserOptions } from "../types.js";
2
2
  import { replaceExtension } from "./extMap.js";
3
- import { getNodeEnv } from "../getNodeEnv.js";
3
+ import { getNodeEnv } from "./getNodeEnv.js";
4
4
  import { DEFAULT_CONFIG } from "./defaults.js";
5
5
  import type { ConfigEnv } from "vite";
6
- import { sep } from "node:path";
6
+ import { sep, resolve, join } from "node:path";
7
+ import { readFileSync, existsSync } from "node:fs";
8
+ import { createHash } from "node:crypto";
7
9
 
8
10
  export type ModuleIDKey =
9
11
  | "modulePattern"
@@ -20,19 +22,182 @@ export type ModuleIDKey =
20
22
  export const createDefaultModuleID = (
21
23
  options: Pick<
22
24
  ResolvedUserOptions,
23
- "moduleBase" | "moduleBasePath" | "autoDiscover" | "build" | "moduleBaseURL"
25
+ "moduleBase" | "moduleBasePath" | "autoDiscover" | "build" | "dev" | "moduleBaseURL" | "projectRoot"
24
26
  >,
25
27
  configEnv?: ConfigEnv,
26
28
  mode = getNodeEnv()
27
29
  ) => {
28
- const { moduleBase, moduleBasePath, build, moduleBaseURL } = options;
30
+ const { moduleBase, moduleBasePath, build, moduleBaseURL, projectRoot, autoDiscover } = options;
29
31
  const assetsDir = build.assetsDir || DEFAULT_CONFIG.BUILD.assetsDir;
30
32
  const isBuild = configEnv?.command === "build";
33
+ // CRITICAL: In development mode, NEVER hash, even if command is "build" (optimizer)
34
+ const isDevelopment = mode === "development";
35
+ const shouldHash = isBuild && !isDevelopment;
31
36
  const isProd = mode === "production" || isBuild;
37
+ // CRITICAL: In development mode, NEVER remove moduleBase (src/), even if command is "build" (optimizer)
32
38
  const removeModuleBase =
33
- isProd || isBuild || options.build.preserveModulesRoot;
34
- return (id: string) => {
39
+ (isProd || isBuild) && !isDevelopment && !options.build.preserveModulesRoot;
40
+
41
+
42
+ // Hash configuration
43
+ const hashOption = build?.hash ?? DEFAULT_CONFIG.BUILD.hash;
44
+
45
+ // Virtual pattern for excluding virtual modules from hashing
46
+ const virtualPattern = autoDiscover?.virtualPattern ?? DEFAULT_CONFIG.AUTO_DISCOVER.virtualPattern;
47
+
48
+ // Client component pattern for hashing
49
+ const clientPattern = /\.client\.[cm]?[jt]sx?$/;
50
+
51
+ // Clean hash API that mimics Rollup's behavior
52
+ const createRollupLikeHash = (content: string, hashCharacters: 'base36' | 'base64' | 'hex' = 'base36') => {
53
+ const hash = createHash('sha1');
54
+ hash.update(content);
55
+ const fullHash = hash.digest('hex');
56
+
57
+ // Apply the same character set logic as Rollup
58
+ switch (hashCharacters) {
59
+ case 'base36':
60
+ // Convert hex to base36 (0-9, a-z)
61
+ return parseInt(fullHash.substring(0, 8), 16).toString(36);
62
+ case 'base64':
63
+ // Convert to base64-like format (A-Z, a-z, 0-9, -, _)
64
+ return Buffer.from(fullHash.substring(0, 8), 'hex').toString('base64')
65
+ .replace(/\+/g, '-')
66
+ .replace(/\//g, '_')
67
+ .replace(/=/g, '');
68
+ case 'hex':
69
+ default:
70
+ // Return hex format
71
+ return fullHash.substring(0, 8);
72
+ }
73
+ };
74
+
75
+ // Hash function for client components - same logic as resolveOptions.ts
76
+ const hash = (input: string | null, _ssr: boolean, sourceContent?: string) => {
77
+ if (!input) return "";
78
+ if (new RegExp(/\.(node|d\.ts)$/).test(input)) {
79
+ return input;
80
+ }
81
+
82
+ // CRITICAL: Never hash node_modules files - Vite/Rollup handles those
83
+ if (input.includes("node_modules")) {
84
+ return input;
85
+ }
35
86
 
87
+ // CRITICAL: Never hash virtual modules (_virtual or matching virtualPattern) - Vite handles those
88
+ if (input.includes("_virtual") || (virtualPattern && virtualPattern.test(input))) {
89
+ return input;
90
+ }
91
+
92
+ // Check if hashing is disabled
93
+ if (hashOption === "false") {
94
+ return input;
95
+ }
96
+
97
+ // Only hash client components - server files should not be hashed
98
+ const isClientComponent = clientPattern.test(input);
99
+
100
+ if (!isClientComponent) {
101
+ return input;
102
+ }
103
+
104
+ // Always hash the source content for consistency across builds
105
+ // This ensures the same hash is generated in transformer and build process
106
+ let contentToHash: string;
107
+
108
+ if (sourceContent) {
109
+ // Use provided source content (preferred)
110
+ contentToHash = sourceContent;
111
+ } else {
112
+ // Try to read source file content
113
+ try {
114
+ const sourcePath = resolve(projectRoot, input);
115
+ if (existsSync(sourcePath)) {
116
+ contentToHash = readFileSync(sourcePath, 'utf-8');
117
+ } else {
118
+ // Fallback to filename
119
+ contentToHash = input;
120
+ }
121
+ } catch (error) {
122
+ // Fallback to filename
123
+ contentToHash = input;
124
+ }
125
+ }
126
+
127
+ // Generate hash using Rollup-like algorithm
128
+ const hashCharacters = typeof hashOption === 'object' && hashOption?.format === 'hex' ? 'hex' : 'base36';
129
+ const contentHash = createRollupLikeHash(contentToHash, hashCharacters);
130
+
131
+ // Apply naming logic
132
+ const extensionIndex = input.lastIndexOf(".");
133
+ if (extensionIndex !== -1) {
134
+ const extension = input.slice(extensionIndex);
135
+ const filename = input.slice(0, extensionIndex);
136
+ return filename + "-" + contentHash + extension;
137
+ } else {
138
+ return input + "-" + contentHash;
139
+ }
140
+ };
141
+ const staticClientDist = isBuild ? join(build?.outDir || "dist", build?.static || "static") : "";
142
+ const ssrClientDist = isBuild ? join(build?.outDir || "dist", build?.client || "client") : "";
143
+ const serverDist = isBuild ? join(build?.outDir || "dist", build?.server || "server") : "";
144
+ const buildDirs = isBuild ? [serverDist, ssrClientDist, staticClientDist] : [];
145
+
146
+ return (id: string, sourceContent?: string) => {
147
+ // For transformer usage (when we're in build mode and processing server components),
148
+ // we want to strip build directory prefixes to get relative paths
149
+ // This ensures the RSC stream contains paths that can be resolved by the HTML transform
150
+ if (shouldHash) {
151
+ // Strip build directory prefixes to get relative paths
152
+ for (const buildDir of buildDirs) {
153
+ if (id.startsWith(buildDir)) {
154
+ const result = id.slice(buildDir.length);
155
+ return result;
156
+ }
157
+ }
158
+ // Check for double path issues (like dist/client//dist/server/)
159
+ if (id.includes('//')) {
160
+ // Try to fix double path issues by finding the last occurrence of dist/
161
+ const lastDistIndex = id.lastIndexOf('dist/');
162
+ if (lastDistIndex !== -1) {
163
+ const result = id.slice(lastDistIndex);
164
+ return result;
165
+ }
166
+ }
167
+
168
+ // For client components in build mode, transform source paths to built paths
169
+ const isClientComponent = clientPattern.test(id);
170
+ if (isClientComponent) {
171
+ // Transform source path to built client path
172
+ let transformedId = id;
173
+
174
+ // Step 1: Remove moduleBase (typically "src/") from the beginning
175
+ if (removeModuleBase && transformedId.startsWith(moduleBase + sep)) {
176
+ transformedId = transformedId.slice(moduleBase.length + sep.length);
177
+ }
178
+
179
+ // Step 2: Apply extension mapping for build
180
+ transformedId = replaceExtension(transformedId, {
181
+ build: { extensionMap: build.extensionMap },
182
+ });
183
+
184
+
185
+ // Step 3: Apply hashing for client components
186
+ transformedId = hash(transformedId, false, sourceContent);
187
+
188
+ // Step 4: Ensure paths start with moduleBasePath
189
+ if (moduleBasePath && !transformedId.startsWith(moduleBasePath)) {
190
+ transformedId = moduleBasePath + transformedId;
191
+ }
192
+
193
+ return transformedId;
194
+ }
195
+
196
+ return id;
197
+ }
198
+
199
+ // Normal build path transformation (existing logic)
200
+
36
201
  // Step 1: Handle assets directory paths - remove src from within assets path
37
202
  // Transform: assets/src/page/file.css -> assets/page/file.css
38
203
  if (id.startsWith(assetsDir + sep + moduleBase + sep)) {
@@ -55,18 +220,44 @@ export const createDefaultModuleID = (
55
220
  id = id.slice(moduleBase.length + sep.length);
56
221
  }
57
222
 
58
- // Step 5: Ensure paths start with a moduleBasePath
59
- if (!id.startsWith(moduleBasePath)) {
223
+ // Step 5: Ensure paths start with moduleBasePath (avoid double-prefix)
224
+ if (moduleBasePath && !id.startsWith(moduleBasePath)) {
60
225
  id = moduleBasePath + id;
61
226
  }
62
227
 
63
- // Step 6: Apply extension mapping for build
64
- if (isBuild) {
228
+ // Step 6: Apply extension mapping
229
+ // ALWAYS replace extensions for client components (browser can't import .tsx)
230
+ // For other files, only replace in build mode
231
+ const isClientComponent = clientPattern.test(id);
232
+ if (isBuild || isClientComponent) {
65
233
  id = replaceExtension(id, {
66
234
  build: { extensionMap: build.extensionMap },
67
235
  });
68
236
  }
69
237
 
238
+ // Step 7: Ensure CSS files are placed in the assets directory
239
+ if (isBuild && id.endsWith('.css') && !id.startsWith(assetsDir + sep)) {
240
+ id = assetsDir + sep + id;
241
+ }
242
+
243
+ // Step 8: Apply hashing for client components (only in production builds, not dev)
244
+ if (shouldHash) {
245
+ id = hash(id, false, sourceContent);
246
+ }
247
+
248
+ // For client components, ensure no leading slash to allow proper relative resolution
249
+ // (isClientComponent already defined in Step 6)
250
+ if (isClientComponent && moduleBasePath === '') {
251
+ return id; // No leading slash for client components
252
+ }
253
+
254
+ // Don't add leading slash for relative paths - this causes module resolution issues
255
+ if (moduleBasePath === '') {
256
+ return id; // Return as-is without leading slash
257
+ }
258
+
259
+ // id already has moduleBasePath from Step 5 — return as-is
70
260
  return id;
71
261
  };
72
262
  };
263
+
@@ -2,8 +2,10 @@ import { Root } from "../components/root.js";
2
2
  import { Html } from "../components/html.js";
3
3
  import { parse } from "../loader/parse.js";
4
4
  import { pluginRoot } from "../root.js";
5
- import { getNodeEnv } from "../getNodeEnv.js";
6
-
5
+ import { getNodeEnv } from "./getNodeEnv.js";
6
+ import { getCondition } from "./getCondition.js";
7
+ import { createLogger } from "vite";
8
+ const LOGGER = createLogger();
7
9
  // Directive patterns - matching the logic in findDirectiveMatches.ts
8
10
  const DIRECTIVE_PATTERNS = {
9
11
  // Client directive must be at start of file
@@ -24,6 +26,13 @@ const IS_CLIENT_COMPONENT_CODE = (code: string, moduleId?: string) =>
24
26
  code.match(CLIENT_COMPONENT_FILE) != null ||
25
27
  (moduleId && CLIENT_COMPONENT_FILE.test(moduleId.toLowerCase())) ||
26
28
  false;
29
+
30
+ // Separate functions for checking client components by code vs by name
31
+ const IS_CLIENT_COMPONENT_BY_CODE = (code: string) =>
32
+ code.match(CLIENT_COMPONENT_FILE) != null || false;
33
+
34
+ const IS_CLIENT_COMPONENT_BY_NAME = (moduleId: string, _transformedModuleId?: string) =>
35
+ CLIENT_COMPONENT_FILE.test(moduleId.toLowerCase()) || false;
27
36
  // Directive configurations
28
37
  export const DIRECTIVE_CONFIGS = {
29
38
  client: {
@@ -67,6 +76,15 @@ export const getDirectiveType = (
67
76
  return undefined;
68
77
  };
69
78
 
79
+ export const MODE = getNodeEnv();
80
+ export const CONDITION = getCondition();
81
+ export const IS_SERVER = CONDITION === "react-server";
82
+ export const IS_CLIENT = CONDITION === "react-client";
83
+ // Note: This should be replaced with configEnv.command === "build" in functions that receive configEnv
84
+ // This is kept for backward compatibility but should not be used in new code
85
+ export const IS_BUILD = process.argv.includes("build");
86
+ export const IS_SERVE = !IS_BUILD; // dont have to check for dev since it's the default
87
+
70
88
  // Helper to normalize directive strings
71
89
  // const normalizeDirective = (directive: string) => directive.replace(/\s+/g, '').toLowerCase();
72
90
 
@@ -77,6 +95,8 @@ export const DEFAULT_LOADER_CONFIG = {
77
95
  directivePattern: DIRECTIVE_PATTERNS.ANY,
78
96
  isServerFunctionCode: IS_SERVER_ACTION_CODE,
79
97
  isClientComponentCode: IS_CLIENT_COMPONENT_CODE,
98
+ isClientComponentByCode: IS_CLIENT_COMPONENT_BY_CODE,
99
+ isClientComponentByName: IS_CLIENT_COMPONENT_BY_NAME,
80
100
  allowedDirectives: DIRECTIVE_CONFIGS,
81
101
  importServerPath: "react-server-dom-esm/server",
82
102
  importClientPath: "react-server-dom-esm/server",
@@ -84,7 +104,11 @@ export const DEFAULT_LOADER_CONFIG = {
84
104
  registerServerReferenceName: "registerServerReference",
85
105
  getDirectiveType,
86
106
  parse: parse,
87
- mode: getNodeEnv(),
107
+ mode: MODE,
108
+ verbose: false,
109
+ logger: LOGGER,
110
+ moduleID: (moduleId: string, _sourceContent?: string) =>
111
+ typeof moduleId === "string" ? moduleId : String(moduleId),
88
112
  } as const;
89
113
 
90
114
  // Define base patterns that can be reused
@@ -108,12 +132,11 @@ export const BASE_PATTERNS = {
108
132
  NODE: ".node",
109
133
  },
110
134
  } as const;
111
-
112
135
  export const DEFAULT_CONFIG = {
113
136
  CLIENT_ASSETS_DIR: "assets",
114
137
  RSC_DIR: "rsc",
115
138
  MODULE_BASE: "src",
116
- MODULE_BASE_PATH: "/",
139
+ MODULE_BASE_PATH: "",
117
140
  MODULE_BASE_URL: "/",
118
141
  PUBLIC_ORIGIN: "",
119
142
  PAGE: "page.tsx",
@@ -134,7 +157,8 @@ export const DEFAULT_CONFIG = {
134
157
  RSC_EXTENSION: ".rsc",
135
158
  ROOT: undefined,
136
159
  HTML: undefined,
137
- ON_METRICS: () => {},
160
+ ON_METRICS: undefined,
161
+ ON_EVENT: undefined,
138
162
  DEV_PORT: 5173,
139
163
  PREVIEW_PORT: 4173,
140
164
  DEV_HOST: "localhost",
@@ -142,8 +166,11 @@ export const DEFAULT_CONFIG = {
142
166
  ENV_PREFIX: "VITE_",
143
167
  REACT_DIRECTIVES: new Set(["use client", "use server"]),
144
168
  RSC_TIMEOUT: 5000, // 5 seconds default timeout for RSC operations
169
+ HTML_TIMEOUT: 15000, // 15 seconds default timeout for HTML generation operations
145
170
  HTML_WORKER_STARTUP_TIMEOUT: 3000, // 3 seconds default timeout for HTML worker startup
146
171
  RSC_WORKER_STARTUP_TIMEOUT: 3000, // 3 seconds default timeout for RSC worker startup
172
+ FILE_WRITE_TIMEOUT: 10000, // 10 seconds default timeout for file write operations
173
+ WORKER_SHUTDOWN_TIMEOUT: 1000, // Reduced to 1 second for faster test cleanup
147
174
  COMPONENTS: {
148
175
  Html: Html,
149
176
  Root: Root,
@@ -184,17 +211,36 @@ export const DEFAULT_CONFIG = {
184
211
  rscExtension: BASE_PATTERNS.EXT.RSC,
185
212
  cssModuleExtension: BASE_PATTERNS.EXT.CSS_MODULE,
186
213
  nodeExtension: BASE_PATTERNS.EXT.NODE,
214
+ // these defaults rely on process.argv
215
+ // even better is to use configEnv.command === "build"
216
+ // which will be done in createHandlerOptions.server.ts and createHandlerOptions.client.ts
217
+ useRscWorker: !IS_SERVER && IS_BUILD,
218
+ useHtmlWorker: IS_SERVER && IS_BUILD,
219
+ },
220
+ DEV: {
221
+ // these defaults rely on process.argv
222
+ useHtmlWorker: false, // during dev, the browser is the html-worker..
223
+ // if the user opts-in to creating the html-worker, the stream utilities
224
+ // will be able to stream html during development - the plugin never does this
225
+ // so we don't have to create the html-worker during dev by default
226
+ useRscWorker: !IS_SERVER && IS_SERVE, // during dev without server-conditions,
227
+ // the rsc-worker is created during dev by default
228
+ // this is because the rsc-worker is used to stream rsc during development
187
229
  },
188
230
  CSS: {
189
- inlineCss: false,
231
+ inlineCss: undefined,
190
232
  purgeCss: false,
191
233
  inlineThreshold: 4096, // 4KB
192
234
  inlinePatterns: [] as RegExp[], // Always inline CSS modules
193
235
  linkPatterns: [] as RegExp[], // Always link node_modules CSS
194
236
  },
195
- MODULE_BASE_EXCEPTIONS: [] as string[],
196
237
 
197
238
  AUTO_DISCOVER: {
239
+ clientEntry: "**/*.client.*",
240
+ serverEntry: "**/*.server.*",
241
+ cssEntry: "**/*.css",
242
+ jsonEntry: "**/*.json",
243
+ htmlEntry: "**/*.html",
198
244
  // Pattern matchers
199
245
  modulePattern: new RegExp(BASE_PATTERNS.MODULE),
200
246
  serverPattern: new RegExp(BASE_PATTERNS.SERVER),
@@ -217,7 +263,9 @@ export const DEFAULT_CONFIG = {
217
263
  },
218
264
  MODULE_ID: (id: string) => id,
219
265
  VERBOSE: false,
220
- PANIC_THRESHOLD: "none" as const,
266
+ PANIC_THRESHOLD: (MODE === "development"
267
+ ? "critical_errors"
268
+ : "all_errors") as "critical_errors" | "all_errors",
221
269
  // Centralized loader config for RSC boundaries
222
270
  RSC_LOADER: {
223
271
  development: {
@@ -238,4 +286,5 @@ export const DEFAULT_CONFIG = {
238
286
  REACT_LOADER_PATH: pluginRoot + "/loader/react-loader.js",
239
287
  CSS_LOADER_PATH: pluginRoot + "/loader/css-loader.js",
240
288
  ENV_LOADER_PATH: pluginRoot + "/loader/env-loader.js",
289
+
241
290
  };
@@ -0,0 +1,10 @@
1
+ import type { ResolvedConfig } from "vite";
2
+ import { DEFAULT_CONFIG } from "./defaults.js";
3
+
4
+ export function envPrefixFromConfig(config: Pick<ResolvedConfig, "envPrefix">) {
5
+ return typeof config.envPrefix === "string"
6
+ ? config.envPrefix
7
+ : Array.isArray(config.envPrefix)
8
+ ? config.envPrefix[0]
9
+ : DEFAULT_CONFIG.ENV_PREFIX;
10
+ }
@@ -1,13 +1,270 @@
1
- export const getCondition = <Prefix extends string = "react-">(
2
- prefix: Prefix = "react-" as Prefix
3
- ): `${Prefix}client` | `${Prefix}server` => {
4
- return process.env["NODE_OPTIONS"]?.match(/--conditions[= ]react-server/)
5
- ? (`${prefix}server` as `${Prefix}server`)
6
- : (`${prefix}client` as `${Prefix}client`);
1
+ // Note: do not import Node-only modules here (e.g., 'node:worker_threads').
2
+ // This file is consumed in both server and client plugin contexts.
3
+
4
+ /**
5
+ * Tokenizes NODE_OPTIONS string into individual arguments
6
+ * Handles quoted strings, spaces, and special characters
7
+ */
8
+ const tokenizeNodeOptions = (): string[] => {
9
+ const nodeOptions = process.env["NODE_OPTIONS"] || "";
10
+ if (!nodeOptions.trim()) {
11
+ return [];
12
+ }
13
+
14
+ const tokens: string[] = [];
15
+ let current = "";
16
+ let inQuotes = false;
17
+ let quoteChar = "";
18
+ let i = 0;
19
+
20
+ while (i < nodeOptions.length) {
21
+ const char = nodeOptions[i];
22
+
23
+ if (inQuotes) {
24
+ if (char === quoteChar) {
25
+ inQuotes = false;
26
+ quoteChar = "";
27
+ if (current.trim()) {
28
+ tokens.push(current.trim());
29
+ current = "";
30
+ }
31
+ } else {
32
+ current += char;
33
+ }
34
+ } else {
35
+ if (char === '"' || char === "'") {
36
+ if (current.trim()) {
37
+ tokens.push(current.trim());
38
+ current = "";
39
+ }
40
+ inQuotes = true;
41
+ quoteChar = char;
42
+ } else if (char === " " || char === "\t" || char === "\n") {
43
+ if (current.trim()) {
44
+ tokens.push(current.trim());
45
+ current = "";
46
+ }
47
+ } else {
48
+ current += char;
49
+ }
50
+ }
51
+ i++;
52
+ }
53
+
54
+ if (current.trim()) {
55
+ tokens.push(current.trim());
56
+ }
57
+
58
+ return tokens.filter(Boolean);
59
+ };
60
+
61
+ /**
62
+ * Parses command-line arguments for conditions and other flags
63
+ */
64
+ const parseNodeArgs = (args: string[]) => {
65
+ const conditions: string[] = [];
66
+ const flags = new Set<string>();
67
+
68
+ for (let i = 0; i < args.length; i++) {
69
+ const arg = args[i];
70
+
71
+ if (arg === "--conditions" || arg === "-C") {
72
+ // Next argument is the condition value
73
+ if (i + 1 < args.length) {
74
+ const conditionValue = args[i + 1];
75
+ conditions.push(
76
+ ...conditionValue
77
+ .split(",")
78
+ .map((c) => c.trim())
79
+ .filter(Boolean)
80
+ );
81
+ i++; // Skip the next argument since we consumed it
82
+ }
83
+ } else if (arg.startsWith("--conditions=")) {
84
+ // Condition value is part of the same argument
85
+ const conditionValue = arg.substring("--conditions=".length);
86
+ conditions.push(
87
+ ...conditionValue
88
+ .split(",")
89
+ .map((c) => c.trim())
90
+ .filter(Boolean)
91
+ );
92
+ } else if (arg === "--no-addons") {
93
+ flags.add("no-addons");
94
+ } else if (arg.startsWith("--")) {
95
+ // Other flags
96
+ flags.add(arg);
97
+ }
98
+ }
99
+
100
+ return { conditions, flags };
101
+ };
102
+
103
+ /**
104
+ * Gets all conditions from both NODE_OPTIONS and command-line arguments
105
+ */
106
+ export const getAllConditions = (): string[] => {
107
+ // Parse NODE_OPTIONS
108
+ const nodeOptionsTokens = tokenizeNodeOptions();
109
+ const { conditions: envConditions } = parseNodeArgs(nodeOptionsTokens);
110
+
111
+ // Parse command-line arguments
112
+ const { conditions: cliConditions } = parseNodeArgs(process.execArgv);
113
+
114
+ // Combine all conditions
115
+ return [...envConditions, ...cliConditions];
116
+ };
117
+
118
+ // ----------------------------------------------------------------------------
119
+ // Ambiguity detection and warning
120
+ // ----------------------------------------------------------------------------
121
+ let didWarnAmbiguousConditions = false;
122
+ // react-static does not exists, because you still need condition react-server for the .static imports to work.
123
+ const reactConditionSet = new Set(["react-server", "react-client"]);
124
+
125
+ export const detectReactConditionAmbiguity = (): string[] => {
126
+ const conditions = getAllConditions();
127
+ const found = conditions.filter((c) => reactConditionSet.has(c));
128
+ const unique = Array.from(new Set(found));
129
+ return unique;
7
130
  };
8
131
 
9
- export const isReactServerCondition = (condition: string = getCondition()) =>
10
- condition === "react-server";
132
+ export const warnIfAmbiguousReactConditions = (): void => {
133
+ if (didWarnAmbiguousConditions) return;
134
+ const unique = detectReactConditionAmbiguity();
135
+ if (unique.includes("react-server") && unique.includes("react-client")) {
136
+ didWarnAmbiguousConditions = true;
137
+ const nodeOptions = process.env["NODE_OPTIONS"] || "";
138
+ const argv = process.execArgv.join(" ");
139
+ const msg =
140
+ `Both react-server and react-client conditions detected in NODE_OPTIONS/execArgv. ` +
141
+ `This can lead to ambiguous resolution. Found: [${unique.join(", ")}]\n` +
142
+ `NODE_OPTIONS="${nodeOptions}"\nexecArgv="${argv}"\n` +
143
+ `Tip: set exactly one condition or let the plugin manage worker conditions.`;
144
+ // Use process.emitWarning to avoid throwing
145
+ try {
146
+ process.emitWarning(msg, {
147
+ code: "VPRS_CONDITION_AMBIGUITY",
148
+ detail: "vite-plugin-react-server detected conflicting conditions",
149
+ } as any);
150
+ } catch {
151
+ // Fallback
152
+
153
+ console.warn(`[vite-plugin-react-server] ${msg}`);
154
+ }
155
+ }
156
+ };
157
+
158
+ /**
159
+ * Gets the current condition, defaulting to "react-client" if no conditions are set
160
+ */
161
+ export const getCurrentCondition = ():
162
+ | "react-server"
163
+ | "react-client"
164
+ | undefined => {
165
+ // Warn if we detect both conditions present
166
+ warnIfAmbiguousReactConditions();
167
+
168
+ // Check both NODE_OPTIONS and execArgv for conditions
169
+ const conditions = getAllConditions();
170
+ if (conditions.includes("react-server")) return "react-server";
171
+ if (conditions.includes("react-client")) return "react-client";
172
+
173
+ // Default to react-client when nothing is set
174
+ return undefined;
175
+ };
176
+
177
+ /**
178
+ * Gets the condition with a custom prefix
179
+ */
180
+ export const getCondition = <Prefix extends string = "react-", DefaultCondition extends `${Prefix}${string}` = `${Prefix}client`>(
181
+ prefix: Prefix = "react-" as Prefix,
182
+ defaultReturn:
183
+ | `${Prefix}server`
184
+ | `${Prefix}client` = `${prefix}client` as `${Prefix}client`
185
+ ): `${Prefix}client` | `${Prefix}server` | DefaultCondition => {
186
+ const condition = getCurrentCondition();
187
+ if (condition === "react-server") {
188
+ return `${prefix}server` as `${Prefix}server`;
189
+ }
190
+ if (condition === "react-client") {
191
+ return `${prefix}client` as `${Prefix}client`;
192
+ }
193
+ return defaultReturn;
194
+ };
195
+
196
+ /**
197
+ * Asserts that the current condition is react-server
198
+ * Throws an error with a descriptive message if not
199
+ */
200
+ export function assertReactServer(): asserts this is {
201
+ condition: "react-server";
202
+ } {
203
+ const currentCondition = getCurrentCondition();
204
+ if (currentCondition !== "react-server") {
205
+ // Debug-only: avoid Node-only APIs to keep this file browser-safe
206
+ throw new Error(
207
+ `Condition mismatch, should be react-server. Set NODE_OPTIONS="--conditions=react-server" or --conditions=react-server`
208
+ );
209
+ }
210
+ }
211
+
212
+ export function assertNonReactServer(): asserts this is {
213
+ condition: "react-client";
214
+ } {
215
+ const currentCondition = getCurrentCondition();
216
+ if (currentCondition === "react-server") {
217
+ // Debug-only: avoid Node-only APIs to keep this file browser-safe
218
+ throw new Error(
219
+ `Condition mismatch, should not be react-server. Remove NODE_OPTIONS="--conditions=react-server" or --conditions=react-server`
220
+ );
221
+ }
222
+ }
223
+
224
+ /**
225
+ * Checks if the current condition is react-server (strict - requires both NODE_OPTIONS and execArgv)
226
+ * Use this for React Server DOM compatibility checks
227
+ */
228
+ export const isReactServerCondition = (): boolean =>
229
+ getCurrentCondition() === "react-server";
230
+
231
+ /**
232
+ * Checks if the current condition is react-client (strict - requires both NODE_OPTIONS and execArgv)
233
+ * Use this for React Server DOM compatibility checks
234
+ */
235
+ export const isReactClientCondition = (): boolean =>
236
+ getCurrentCondition() === "react-client";
237
+
238
+ /**
239
+ * Checks if react-server condition is present in either NODE_OPTIONS OR execArgv (lenient)
240
+ * Use this for plugin internal environment gating
241
+ */
242
+ export const hasReactServerCondition = (): boolean => {
243
+ const allConditions = getAllConditions();
244
+ return allConditions.includes("react-server");
245
+ };
246
+
247
+ /**
248
+ * Checks if react-client condition is present in either NODE_OPTIONS OR execArgv (lenient)
249
+ * Use this for plugin internal environment gating
250
+ */
251
+ export const hasReactClientCondition = (): boolean => {
252
+ const allConditions = getAllConditions();
253
+ return allConditions.includes("react-client");
254
+ };
255
+
256
+ /**
257
+ * Legacy function for backward compatibility
258
+ * @deprecated Use getAllConditions() instead
259
+ */
260
+ export const getNodeOptionsConditions = (): string[] => {
261
+ const nodeOptionsTokens = tokenizeNodeOptions();
262
+ const { conditions } = parseNodeArgs(nodeOptionsTokens);
263
+ return conditions;
264
+ };
11
265
 
12
- export const isReactClientCondition = (condition: string = getCondition()) =>
13
- condition === "react-client";
266
+ /**
267
+ * Legacy export for backward compatibility
268
+ * @deprecated Use getCurrentCondition() instead
269
+ */
270
+ export const condition = getCurrentCondition();