vite-plugin-react-server 1.1.20 → 1.2.0-alpha.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 (824) hide show
  1. package/README.md +95 -396
  2. package/dist/_virtual/dynamic-import-helper.js +1 -1
  3. package/dist/client.d.ts +2 -1
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +6 -2
  6. package/dist/index.js +1 -1
  7. package/dist/package.json +58 -25
  8. package/dist/plugin/components/{css-collector-elements.d.ts → css.d.ts} +2 -2
  9. package/dist/plugin/components/css.d.ts.map +1 -0
  10. package/dist/plugin/components/css.js +33 -0
  11. package/dist/plugin/components/html.d.ts +1 -1
  12. package/dist/plugin/components/html.d.ts.map +1 -1
  13. package/dist/plugin/components/html.js +5 -5
  14. package/dist/plugin/components/index.d.ts +3 -3
  15. package/dist/plugin/components/index.d.ts.map +1 -1
  16. package/dist/plugin/components/index.js +9 -3
  17. package/dist/plugin/components/root.d.ts +7 -0
  18. package/dist/plugin/components/root.d.ts.map +1 -0
  19. package/dist/plugin/components/root.js +18 -0
  20. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js +1 -1
  21. package/dist/plugin/config/autoDiscover/customWorkerFiles.js +1 -1
  22. package/dist/plugin/config/autoDiscover/pageAndPropFiles.js +1 -1
  23. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts +5 -4
  24. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
  25. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +26 -7
  26. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts +25 -2
  27. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts.map +1 -1
  28. package/dist/plugin/config/autoDiscover/resolveBuildPages.js +84 -5
  29. package/dist/plugin/config/createModuleID.d.ts +3 -6
  30. package/dist/plugin/config/createModuleID.d.ts.map +1 -1
  31. package/dist/plugin/config/createModuleID.js +42 -32
  32. package/dist/plugin/config/defaults.d.ts +294 -121
  33. package/dist/plugin/config/defaults.d.ts.map +1 -1
  34. package/dist/plugin/config/defaults.js +156 -89
  35. package/dist/plugin/config/extMap.d.ts +6 -2
  36. package/dist/plugin/config/extMap.d.ts.map +1 -1
  37. package/dist/plugin/config/extMap.js +38 -48
  38. package/dist/plugin/config/flightBindings.d.ts +4 -0
  39. package/dist/plugin/config/flightBindings.d.ts.map +1 -0
  40. package/dist/plugin/config/flightBindings.js +215 -0
  41. package/dist/plugin/config/getCondition.d.ts +2 -0
  42. package/dist/plugin/config/getCondition.d.ts.map +1 -1
  43. package/dist/plugin/config/getCondition.js +4 -2
  44. package/dist/plugin/config/getPaths.js +1 -1
  45. package/dist/plugin/config/index.d.ts +17 -4
  46. package/dist/plugin/config/index.d.ts.map +1 -1
  47. package/dist/plugin/config/index.js +29 -7
  48. package/dist/plugin/config/interpolatePattern.d.ts +13 -0
  49. package/dist/plugin/config/interpolatePattern.d.ts.map +1 -0
  50. package/dist/plugin/config/interpolatePattern.js +13 -0
  51. package/dist/plugin/config/mimeTypes.js +1 -1
  52. package/dist/plugin/config/parsePattern.d.ts +25 -0
  53. package/dist/plugin/config/parsePattern.d.ts.map +1 -0
  54. package/dist/plugin/config/parsePattern.js +30 -0
  55. package/dist/plugin/config/resolveAllowedDirectives.d.ts +26 -0
  56. package/dist/plugin/config/resolveAllowedDirectives.d.ts.map +1 -0
  57. package/dist/plugin/config/resolveAllowedDirectives.js +35 -0
  58. package/dist/plugin/config/resolveDirectiveMatcher.d.ts +25 -0
  59. package/dist/plugin/config/resolveDirectiveMatcher.d.ts.map +1 -0
  60. package/dist/plugin/config/resolveDirectiveMatcher.js +33 -0
  61. package/dist/plugin/config/resolveEnv.d.ts +1 -1
  62. package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
  63. package/dist/plugin/config/resolveEnv.js +45 -28
  64. package/dist/plugin/config/resolveOptions.d.ts +13 -3
  65. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  66. package/dist/plugin/config/resolveOptions.js +230 -219
  67. package/dist/plugin/config/resolvePages.js +1 -1
  68. package/dist/plugin/config/resolvePatternWithValues.d.ts +39 -0
  69. package/dist/plugin/config/resolvePatternWithValues.d.ts.map +1 -0
  70. package/dist/plugin/config/resolvePatternWithValues.js +36 -0
  71. package/dist/plugin/config/resolveRegExp.d.ts +29 -0
  72. package/dist/plugin/config/resolveRegExp.d.ts.map +1 -0
  73. package/dist/plugin/config/resolveRegExp.js +39 -0
  74. package/dist/plugin/config/resolveUrlOption.d.ts +37 -6
  75. package/dist/plugin/config/resolveUrlOption.d.ts.map +1 -1
  76. package/dist/plugin/config/resolveUrlOption.js +42 -12
  77. package/dist/plugin/config/resolveUserConfig.d.ts +5 -4
  78. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  79. package/dist/plugin/config/resolveUserConfig.js +98 -47
  80. package/dist/plugin/env/createConfigEnv.d.ts +7 -0
  81. package/dist/plugin/env/createConfigEnv.d.ts.map +1 -0
  82. package/dist/plugin/env/createConfigEnv.js +30 -0
  83. package/dist/plugin/env/getArgValue.d.ts +8 -0
  84. package/dist/plugin/env/getArgValue.d.ts.map +1 -0
  85. package/dist/plugin/env/getArgValue.js +32 -0
  86. package/dist/plugin/env/getEnvKey.d.ts +40 -0
  87. package/dist/plugin/env/getEnvKey.d.ts.map +1 -0
  88. package/dist/plugin/env/getEnvKey.js +24 -0
  89. package/dist/plugin/env/index.d.ts +3 -0
  90. package/dist/plugin/env/index.d.ts.map +1 -1
  91. package/dist/plugin/env/index.js +3 -0
  92. package/dist/plugin/env/plugin.d.ts +6 -0
  93. package/dist/plugin/env/plugin.d.ts.map +1 -1
  94. package/dist/plugin/env/plugin.js +69 -93
  95. package/dist/plugin/env/userConfigEnv.d.ts +2 -0
  96. package/dist/plugin/env/userConfigEnv.d.ts.map +1 -0
  97. package/dist/plugin/env/userConfigEnv.js +21 -0
  98. package/dist/plugin/error/directiveError.d.ts +13 -0
  99. package/dist/plugin/error/directiveError.d.ts.map +1 -0
  100. package/dist/plugin/error/directiveError.js +21 -0
  101. package/dist/plugin/error/enhanceError.d.ts +14 -0
  102. package/dist/plugin/error/enhanceError.d.ts.map +1 -0
  103. package/dist/plugin/error/enhanceError.js +24 -0
  104. package/dist/plugin/error/index.d.ts +4 -0
  105. package/dist/plugin/error/index.d.ts.map +1 -0
  106. package/dist/plugin/error/index.js +9 -0
  107. package/dist/plugin/error/logError.d.ts +3 -0
  108. package/dist/plugin/error/logError.d.ts.map +1 -0
  109. package/dist/plugin/error/logError.js +50 -0
  110. package/dist/plugin/error/serializeError.d.ts +7 -0
  111. package/dist/plugin/error/serializeError.d.ts.map +1 -0
  112. package/dist/plugin/error/serializeError.js +37 -0
  113. package/dist/plugin/error/toError.d.ts +1 -8
  114. package/dist/plugin/error/toError.d.ts.map +1 -1
  115. package/dist/plugin/error/toError.js +62 -34
  116. package/dist/plugin/file-preserver/plugin.js +93 -105
  117. package/dist/plugin/getNodeEnv.d.ts +11 -0
  118. package/dist/plugin/getNodeEnv.d.ts.map +1 -0
  119. package/dist/plugin/getNodeEnv.js +17 -0
  120. package/dist/plugin/helpers/cleanObject.d.ts.map +1 -1
  121. package/dist/plugin/helpers/cleanObject.js +2 -1
  122. package/dist/plugin/helpers/collectManifestCss.js +1 -1
  123. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +6 -4
  124. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
  125. package/dist/plugin/helpers/collectViteModuleGraphCss.js +15 -9
  126. package/dist/plugin/helpers/createCssProps.d.ts +3 -4
  127. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
  128. package/dist/plugin/helpers/createCssProps.js +16 -15
  129. package/dist/plugin/helpers/createEventHandler.d.ts +2 -2
  130. package/dist/plugin/helpers/createEventHandler.d.ts.map +1 -1
  131. package/dist/plugin/helpers/createEventHandler.js +1 -1
  132. package/dist/plugin/helpers/createHandler.d.ts +10 -8
  133. package/dist/plugin/helpers/createHandler.d.ts.map +1 -1
  134. package/dist/plugin/helpers/createHandler.js +11 -5
  135. package/dist/plugin/helpers/createRscStream.d.ts +18 -5
  136. package/dist/plugin/helpers/createRscStream.d.ts.map +1 -1
  137. package/dist/plugin/helpers/createRscStream.js +53 -15
  138. package/dist/plugin/helpers/formatMetrics.d.ts +1 -5
  139. package/dist/plugin/helpers/formatMetrics.d.ts.map +1 -1
  140. package/dist/plugin/helpers/formatMetrics.js +2 -39
  141. package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
  142. package/dist/plugin/helpers/getBundleManifest.js +9 -2
  143. package/dist/plugin/helpers/getRouteFiles.d.ts +30 -2
  144. package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
  145. package/dist/plugin/helpers/getRouteFiles.js +100 -8
  146. package/dist/plugin/helpers/handleServerAction.d.ts +8 -7
  147. package/dist/plugin/helpers/handleServerAction.d.ts.map +1 -1
  148. package/dist/plugin/helpers/handleServerAction.js +7 -3
  149. package/dist/plugin/helpers/hydrateUserOptions.d.ts +9 -0
  150. package/dist/plugin/helpers/hydrateUserOptions.d.ts.map +1 -0
  151. package/dist/plugin/helpers/hydrateUserOptions.js +22 -0
  152. package/dist/plugin/helpers/index.d.ts +2 -0
  153. package/dist/plugin/helpers/index.d.ts.map +1 -1
  154. package/dist/plugin/helpers/index.js +31 -31
  155. package/dist/plugin/helpers/inputNormalizer.d.ts +1 -1
  156. package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
  157. package/dist/plugin/helpers/inputNormalizer.js +33 -20
  158. package/dist/plugin/helpers/metrics.d.ts +4 -10
  159. package/dist/plugin/helpers/metrics.d.ts.map +1 -1
  160. package/dist/plugin/helpers/metrics.js +3 -59
  161. package/dist/plugin/helpers/moduleRefs.js +1 -1
  162. package/dist/plugin/helpers/moduleResolver.d.ts +24 -2
  163. package/dist/plugin/helpers/moduleResolver.d.ts.map +1 -1
  164. package/dist/plugin/helpers/moduleResolver.js +61 -22
  165. package/dist/plugin/helpers/requestInfo.d.ts +31 -4
  166. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  167. package/dist/plugin/helpers/requestInfo.js +62 -35
  168. package/dist/plugin/helpers/requestToRoute.d.ts +1 -1
  169. package/dist/plugin/helpers/requestToRoute.d.ts.map +1 -1
  170. package/dist/plugin/helpers/requestToRoute.js +17 -9
  171. package/dist/plugin/helpers/resolveComponent.d.ts +57 -0
  172. package/dist/plugin/helpers/resolveComponent.d.ts.map +1 -0
  173. package/dist/plugin/helpers/resolveComponent.js +71 -0
  174. package/dist/plugin/helpers/resolveComponents.d.ts +27 -0
  175. package/dist/plugin/helpers/resolveComponents.d.ts.map +1 -0
  176. package/dist/plugin/helpers/resolveComponents.js +146 -0
  177. package/dist/plugin/helpers/resolvePage.d.ts +15 -11
  178. package/dist/plugin/helpers/resolvePage.d.ts.map +1 -1
  179. package/dist/plugin/helpers/resolvePage.js +11 -7
  180. package/dist/plugin/helpers/resolvePageAndProps.d.ts +3 -10
  181. package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
  182. package/dist/plugin/helpers/resolvePageAndProps.js +28 -18
  183. package/dist/plugin/helpers/resolveProps.d.ts +13 -7
  184. package/dist/plugin/helpers/resolveProps.d.ts.map +1 -1
  185. package/dist/plugin/helpers/resolveProps.js +55 -25
  186. package/dist/plugin/helpers/resolveUserComponents.d.ts +33 -0
  187. package/dist/plugin/helpers/resolveUserComponents.d.ts.map +1 -0
  188. package/dist/plugin/helpers/resolveUserComponents.js +163 -0
  189. package/dist/plugin/helpers/serializeUserOptions.d.ts +7 -7
  190. package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
  191. package/dist/plugin/helpers/serializeUserOptions.js +127 -42
  192. package/dist/plugin/helpers/stashReturnValue.d.ts +2 -1
  193. package/dist/plugin/helpers/stashReturnValue.d.ts.map +1 -1
  194. package/dist/plugin/helpers/stashReturnValue.js +6 -3
  195. package/dist/plugin/helpers/tryManifest.d.ts +1 -2
  196. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
  197. package/dist/plugin/helpers/tryManifest.js +1 -1
  198. package/dist/plugin/loader/createDefaultLoader.d.ts +19 -8
  199. package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -1
  200. package/dist/plugin/loader/createDefaultLoader.js +69 -107
  201. package/dist/plugin/loader/createTransformer.d.ts +6 -0
  202. package/dist/plugin/loader/createTransformer.d.ts.map +1 -0
  203. package/dist/plugin/loader/createTransformer.js +92 -0
  204. package/dist/plugin/loader/{css-loader.development.d.ts → css-loader.d.ts} +6 -8
  205. package/dist/plugin/loader/css-loader.d.ts.map +1 -0
  206. package/dist/plugin/loader/css-loader.js +134 -0
  207. package/dist/plugin/loader/directives/addLocalExportedNames.d.ts +4 -0
  208. package/dist/plugin/loader/directives/addLocalExportedNames.d.ts.map +1 -0
  209. package/dist/plugin/loader/directives/addLocalExportedNames.js +57 -0
  210. package/dist/plugin/loader/directives/analyzeDirectives.d.ts +9 -0
  211. package/dist/plugin/loader/directives/analyzeDirectives.d.ts.map +1 -0
  212. package/dist/plugin/loader/directives/analyzeDirectives.js +221 -0
  213. package/dist/plugin/loader/directives/analyzeModule.d.ts +7 -0
  214. package/dist/plugin/loader/directives/analyzeModule.d.ts.map +1 -0
  215. package/dist/plugin/loader/directives/analyzeModule.js +48 -0
  216. package/dist/plugin/loader/directives/collectExports.d.ts +13 -0
  217. package/dist/plugin/loader/directives/collectExports.d.ts.map +1 -0
  218. package/dist/plugin/loader/directives/collectExports.js +116 -0
  219. package/dist/plugin/loader/directives/collectExportsFromModule.d.ts +6 -0
  220. package/dist/plugin/loader/directives/collectExportsFromModule.d.ts.map +1 -0
  221. package/dist/plugin/loader/directives/collectExportsFromModule.js +24 -0
  222. package/dist/plugin/loader/directives/findDirectiveMatches.d.ts +3 -0
  223. package/dist/plugin/loader/directives/findDirectiveMatches.d.ts.map +1 -0
  224. package/dist/plugin/loader/directives/findDirectiveMatches.js +46 -0
  225. package/dist/plugin/loader/directives/getExportedName.d.ts +3 -0
  226. package/dist/plugin/loader/directives/getExportedName.d.ts.map +1 -0
  227. package/dist/plugin/loader/directives/getExportedName.js +59 -0
  228. package/dist/plugin/loader/directives/getExports.d.ts +7 -0
  229. package/dist/plugin/loader/directives/getExports.d.ts.map +1 -0
  230. package/dist/plugin/loader/directives/getExports.js +28 -0
  231. package/dist/plugin/loader/directives/getFunctionBody.d.ts +3 -0
  232. package/dist/plugin/loader/directives/getFunctionBody.d.ts.map +1 -0
  233. package/dist/plugin/loader/directives/getFunctionBody.js +31 -0
  234. package/dist/plugin/loader/directives/getFunctionName.d.ts +10 -0
  235. package/dist/plugin/loader/directives/getFunctionName.d.ts.map +1 -0
  236. package/dist/plugin/loader/directives/getFunctionName.js +42 -0
  237. package/dist/plugin/loader/directives/getQualifiedName.d.ts +3 -0
  238. package/dist/plugin/loader/directives/getQualifiedName.d.ts.map +1 -0
  239. package/dist/plugin/loader/directives/getQualifiedName.js +65 -0
  240. package/dist/plugin/loader/directives/index.d.ts +14 -0
  241. package/dist/plugin/loader/directives/index.d.ts.map +1 -0
  242. package/dist/plugin/loader/directives/index.js +18 -0
  243. package/dist/plugin/loader/directives/processFunctionNode.d.ts +4 -0
  244. package/dist/plugin/loader/directives/processFunctionNode.d.ts.map +1 -0
  245. package/dist/plugin/loader/directives/processFunctionNode.js +86 -0
  246. package/dist/plugin/loader/directives/typeGuards.d.ts +37 -0
  247. package/dist/plugin/loader/directives/typeGuards.d.ts.map +1 -0
  248. package/dist/plugin/loader/directives/typeGuards.js +100 -0
  249. package/dist/plugin/loader/directives/types.d.ts +154 -0
  250. package/dist/plugin/loader/directives/types.d.ts.map +1 -0
  251. package/dist/plugin/loader/directives/utils.d.ts +14 -0
  252. package/dist/plugin/loader/directives/utils.d.ts.map +1 -0
  253. package/dist/plugin/loader/directives/utils.js +21 -0
  254. package/dist/plugin/loader/env-loader.d.ts +12 -0
  255. package/dist/plugin/loader/env-loader.d.ts.map +1 -0
  256. package/dist/plugin/loader/env-loader.js +88 -0
  257. package/dist/plugin/loader/index.d.ts +8 -1
  258. package/dist/plugin/loader/index.d.ts.map +1 -1
  259. package/dist/plugin/loader/index.js +13 -4
  260. package/dist/plugin/loader/parse.d.ts +12 -2
  261. package/dist/plugin/loader/parse.d.ts.map +1 -1
  262. package/dist/plugin/loader/parse.js +28 -5
  263. package/dist/plugin/loader/react-loader.d.ts +22 -1
  264. package/dist/plugin/loader/react-loader.d.ts.map +1 -1
  265. package/dist/plugin/loader/react-loader.js +169 -6
  266. package/dist/plugin/loader/removeDirectives.d.ts +5 -0
  267. package/dist/plugin/loader/removeDirectives.d.ts.map +1 -0
  268. package/dist/plugin/loader/removeDirectives.js +17 -0
  269. package/dist/plugin/loader/removeRanges.d.ts +5 -0
  270. package/dist/plugin/loader/removeRanges.d.ts.map +1 -0
  271. package/dist/plugin/loader/removeRanges.js +20 -0
  272. package/dist/plugin/loader/sourceMap.d.ts +16 -24
  273. package/dist/plugin/loader/sourceMap.d.ts.map +1 -1
  274. package/dist/plugin/loader/sourceMap.js +125 -97
  275. package/dist/plugin/loader/transformClientModule.d.ts +9 -0
  276. package/dist/plugin/loader/transformClientModule.d.ts.map +1 -0
  277. package/dist/plugin/loader/transformClientModule.js +46 -0
  278. package/dist/plugin/loader/transformModule.d.ts +6 -0
  279. package/dist/plugin/loader/transformModule.d.ts.map +1 -0
  280. package/dist/plugin/loader/transformModule.js +37 -0
  281. package/dist/plugin/loader/transformModuleIfNeeded.d.ts +12 -1
  282. package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -1
  283. package/dist/plugin/loader/transformModuleIfNeeded.js +9 -20
  284. package/dist/plugin/loader/transformNonServerEnvironment.d.ts +10 -0
  285. package/dist/plugin/loader/transformNonServerEnvironment.d.ts.map +1 -0
  286. package/dist/plugin/loader/transformNonServerEnvironment.js +72 -0
  287. package/dist/plugin/loader/transformServerModule.d.ts +10 -0
  288. package/dist/plugin/loader/transformServerModule.d.ts.map +1 -0
  289. package/dist/plugin/loader/transformServerModule.js +103 -0
  290. package/dist/plugin/loader/transformWithAcornLoose.d.ts +12 -0
  291. package/dist/plugin/loader/transformWithAcornLoose.d.ts.map +1 -0
  292. package/dist/plugin/loader/transformWithAcornLoose.js +16 -0
  293. package/dist/plugin/loader/types.d.ts +48 -13
  294. package/dist/plugin/loader/types.d.ts.map +1 -1
  295. package/dist/plugin/metrics/collectStreamMetrics.d.ts +9 -0
  296. package/dist/plugin/metrics/collectStreamMetrics.d.ts.map +1 -0
  297. package/dist/plugin/metrics/collectStreamMetrics.js +35 -0
  298. package/dist/plugin/metrics/createRenderMetrics.d.ts +3 -0
  299. package/dist/plugin/metrics/createRenderMetrics.d.ts.map +1 -0
  300. package/dist/plugin/metrics/createRenderMetrics.js +24 -0
  301. package/dist/plugin/metrics/createStreamMetrics.d.ts +3 -0
  302. package/dist/plugin/metrics/createStreamMetrics.d.ts.map +1 -0
  303. package/dist/plugin/metrics/createStreamMetrics.js +19 -0
  304. package/dist/plugin/metrics/formatMetrics.d.ts +6 -3
  305. package/dist/plugin/metrics/formatMetrics.d.ts.map +1 -1
  306. package/dist/plugin/metrics/formatMetrics.js +5 -2
  307. package/dist/plugin/metrics/index.d.ts +3 -1
  308. package/dist/plugin/metrics/index.d.ts.map +1 -1
  309. package/dist/plugin/metrics/index.js +9 -1
  310. package/dist/plugin/metrics/types.d.ts +23 -0
  311. package/dist/plugin/metrics/types.d.ts.map +1 -0
  312. package/dist/plugin/metrics/types.js +1 -0
  313. package/dist/plugin/plugin.client.d.ts +23 -2
  314. package/dist/plugin/plugin.client.d.ts.map +1 -1
  315. package/dist/plugin/plugin.client.js +14 -9
  316. package/dist/plugin/plugin.server.d.ts +13 -2
  317. package/dist/plugin/plugin.server.d.ts.map +1 -1
  318. package/dist/plugin/plugin.server.js +15 -16
  319. package/dist/plugin/process-env.d.ts +18 -6
  320. package/dist/plugin/process-env.d.ts.map +1 -1
  321. package/dist/plugin/process-env.js +17 -0
  322. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts +11 -0
  323. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts.map +1 -0
  324. package/dist/plugin/react-client/cleanupWorkerServerAction.js +18 -0
  325. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts +9 -9
  326. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +1 -1
  327. package/dist/plugin/react-client/configureWorkerRequestHandler.js +31 -26
  328. package/dist/plugin/react-client/createMessageHandlers.d.ts +1 -1
  329. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  330. package/dist/plugin/react-client/createMessageHandlers.js +15 -3
  331. package/dist/plugin/react-client/createWorkerStream.d.ts +12 -10
  332. package/dist/plugin/react-client/createWorkerStream.d.ts.map +1 -1
  333. package/dist/plugin/react-client/createWorkerStream.js +27 -29
  334. package/dist/plugin/react-client/handleWorkerRscStream.d.ts +13 -8
  335. package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +1 -1
  336. package/dist/plugin/react-client/handleWorkerRscStream.js +51 -24
  337. package/dist/plugin/react-client/handleWorkerServerAction.d.ts +2 -1
  338. package/dist/plugin/react-client/handleWorkerServerAction.d.ts.map +1 -1
  339. package/dist/plugin/react-client/handleWorkerServerAction.js +43 -28
  340. package/dist/plugin/react-client/index.d.ts +4 -1
  341. package/dist/plugin/react-client/index.d.ts.map +1 -1
  342. package/dist/plugin/react-client/index.js +10 -1
  343. package/dist/plugin/react-client/plugin.d.ts +5 -3
  344. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  345. package/dist/plugin/react-client/plugin.js +9 -11
  346. package/dist/plugin/react-client/restartWorker.d.ts +5 -4
  347. package/dist/plugin/react-client/restartWorker.d.ts.map +1 -1
  348. package/dist/plugin/react-client/restartWorker.js +14 -13
  349. package/dist/plugin/react-server/configureReactServer.d.ts +5 -4
  350. package/dist/plugin/react-server/configureReactServer.d.ts.map +1 -1
  351. package/dist/plugin/react-server/configureReactServer.js +106 -47
  352. package/dist/plugin/react-server/handleServerAction.d.ts +3 -2
  353. package/dist/plugin/react-server/handleServerAction.d.ts.map +1 -1
  354. package/dist/plugin/react-server/handleServerAction.js +14 -20
  355. package/dist/plugin/react-server/plugin.d.ts +3 -4
  356. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  357. package/dist/plugin/react-server/plugin.js +30 -31
  358. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +8 -6
  359. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +1 -1
  360. package/dist/plugin/react-static/collectHtmlWorkerContent.js +4 -4
  361. package/dist/plugin/react-static/collectRscContent.d.ts +8 -6
  362. package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
  363. package/dist/plugin/react-static/collectRscContent.js +4 -4
  364. package/dist/plugin/react-static/configurePreviewServer.d.ts +6 -4
  365. package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
  366. package/dist/plugin/react-static/configurePreviewServer.js +32 -36
  367. package/dist/plugin/react-static/createBuildLoader.d.ts +5 -5
  368. package/dist/plugin/react-static/createBuildLoader.d.ts.map +1 -1
  369. package/dist/plugin/react-static/createBuildLoader.js +122 -30
  370. package/dist/plugin/react-static/fileWriter.js +1 -1
  371. package/dist/plugin/react-static/plugin.d.ts +3 -4
  372. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  373. package/dist/plugin/react-static/plugin.js +62 -47
  374. package/dist/plugin/react-static/renderPage.d.ts +4 -2
  375. package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
  376. package/dist/plugin/react-static/renderPage.js +21 -17
  377. package/dist/plugin/react-static/renderPages.d.ts +4 -2
  378. package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
  379. package/dist/plugin/react-static/renderPages.js +7 -6
  380. package/dist/plugin/react-static/renderStreams.d.ts +5 -22
  381. package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
  382. package/dist/plugin/react-static/renderStreams.js +6 -6
  383. package/dist/plugin/react-static/rscToHtmlStream.d.ts.map +1 -1
  384. package/dist/plugin/react-static/rscToHtmlStream.js +1 -1
  385. package/dist/plugin/react-static/temporaryReferences.js +1 -1
  386. package/dist/plugin/react-static/types.d.ts +0 -1
  387. package/dist/plugin/react-static/types.d.ts.map +1 -1
  388. package/dist/plugin/root.js +1 -1
  389. package/dist/plugin/transformer/plugin.client.d.ts +29 -1
  390. package/dist/plugin/transformer/plugin.client.d.ts.map +1 -1
  391. package/dist/plugin/transformer/plugin.client.js +96 -1
  392. package/dist/plugin/transformer/plugin.js +1 -1
  393. package/dist/plugin/transformer/plugin.server.d.ts +5 -3
  394. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
  395. package/dist/plugin/transformer/plugin.server.js +60 -69
  396. package/dist/plugin/types/css-tracking.d.ts +2 -2
  397. package/dist/plugin/types/css-tracking.d.ts.map +1 -1
  398. package/dist/plugin/types.d.ts +451 -192
  399. package/dist/plugin/types.d.ts.map +1 -1
  400. package/dist/plugin/types.js +2 -1
  401. package/dist/plugin/utils/callServer.js +1 -1
  402. package/dist/plugin/utils/createCallServer.d.ts +1 -1
  403. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  404. package/dist/plugin/utils/createCallServer.js +1 -1
  405. package/dist/plugin/utils/createReactFetcher.d.ts +2 -3
  406. package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -1
  407. package/dist/plugin/utils/createReactFetcher.js +1 -1
  408. package/dist/plugin/utils/env.js +1 -1
  409. package/dist/plugin/utils/envUrls.node.d.ts.map +1 -1
  410. package/dist/plugin/utils/envUrls.node.js +3 -2
  411. package/dist/plugin/utils/index.d.ts +1 -0
  412. package/dist/plugin/utils/index.d.ts.map +1 -1
  413. package/dist/plugin/utils/index.js +12 -5
  414. package/dist/plugin/utils/routeToURL.d.ts +12 -0
  415. package/dist/plugin/utils/routeToURL.d.ts.map +1 -0
  416. package/dist/plugin/utils/routeToURL.js +26 -0
  417. package/dist/plugin/utils/urls.d.ts.map +1 -1
  418. package/dist/plugin/utils/urls.js +5 -3
  419. package/dist/plugin/vendor/index.js +7 -1
  420. package/dist/plugin/vendor/vendor.client.js +1 -1
  421. package/dist/plugin/vendor/vendor.js +1 -1
  422. package/dist/plugin/vendor/vendor.server.js +1 -1
  423. package/dist/plugin/worker/createWorker.d.ts +31 -17
  424. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  425. package/dist/plugin/worker/createWorker.js +18 -12
  426. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts +2 -2
  427. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +1 -1
  428. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +5 -2
  429. package/dist/plugin/worker/html/html-worker.development.js +3 -3
  430. package/dist/plugin/worker/html/html-worker.production.js +1 -1
  431. package/dist/plugin/worker/html/index.d.ts +1 -1
  432. package/dist/plugin/worker/html/index.d.ts.map +1 -1
  433. package/dist/plugin/worker/html/index.js +1 -1
  434. package/dist/plugin/worker/html/messageHandler.d.ts +1 -1
  435. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  436. package/dist/plugin/worker/html/messageHandler.js +9 -11
  437. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts +3 -0
  438. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts.map +1 -0
  439. package/dist/plugin/worker/html/sendHtmlWorkerMessage.js +2 -0
  440. package/dist/plugin/worker/html/types.d.ts +20 -2
  441. package/dist/plugin/worker/html/types.d.ts.map +1 -1
  442. package/dist/plugin/worker/index.d.ts +3 -0
  443. package/dist/plugin/worker/index.d.ts.map +1 -0
  444. package/dist/plugin/worker/index.js +7 -0
  445. package/dist/plugin/worker/registerLoaders.js +2 -2
  446. package/dist/plugin/worker/rsc/handleRender.d.ts +5 -3
  447. package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -1
  448. package/dist/plugin/worker/rsc/handleRender.js +57 -38
  449. package/dist/plugin/worker/rsc/handlers.d.ts.map +1 -1
  450. package/dist/plugin/worker/rsc/handlers.js +19 -15
  451. package/dist/plugin/worker/rsc/index.d.ts +1 -1
  452. package/dist/plugin/worker/rsc/index.d.ts.map +1 -1
  453. package/dist/plugin/worker/rsc/index.js +1 -1
  454. package/dist/plugin/worker/rsc/messageHandler.d.ts +1 -1
  455. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  456. package/dist/plugin/worker/rsc/messageHandler.js +22 -8
  457. package/dist/plugin/worker/rsc/rsc-worker.development.js +77 -11
  458. package/dist/plugin/worker/rsc/rsc-worker.production.js +37 -8
  459. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts +3 -0
  460. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts.map +1 -0
  461. package/dist/plugin/worker/rsc/sendRscWorkerMessage.js +11 -0
  462. package/dist/plugin/worker/rsc/state.js +1 -1
  463. package/dist/plugin/worker/rsc/types.d.ts +95 -0
  464. package/dist/plugin/worker/rsc/types.d.ts.map +1 -0
  465. package/dist/plugin/worker/rsc/types.js +1 -0
  466. package/dist/plugin/worker/rsc/userOptions.d.ts +1 -1
  467. package/dist/plugin/worker/rsc/userOptions.d.ts.map +1 -1
  468. package/dist/plugin/worker/rsc/userOptions.js +3 -4
  469. package/dist/plugin/worker/sendMessage.d.ts +3 -4
  470. package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
  471. package/dist/plugin/worker/sendMessage.js +15 -5
  472. package/dist/plugin/worker/types.d.ts +109 -260
  473. package/dist/plugin/worker/types.d.ts.map +1 -1
  474. package/dist/server.js +1 -1
  475. package/dist/tsconfig.tsbuildinfo +1 -1
  476. package/package.json +59 -26
  477. package/plugin/components/{css-collector-elements.tsx → css.tsx} +3 -3
  478. package/plugin/components/html.tsx +4 -4
  479. package/plugin/components/index.ts +3 -3
  480. package/plugin/components/root.tsx +20 -0
  481. package/plugin/config/autoDiscover/resolveAutoDiscover.ts +173 -134
  482. package/plugin/config/autoDiscover/resolveBuildPages.ts +120 -7
  483. package/plugin/config/createModuleID.ts +60 -39
  484. package/plugin/config/defaults.tsx +189 -96
  485. package/plugin/config/extMap.ts +51 -56
  486. package/plugin/config/flightBindings.ts +221 -0
  487. package/plugin/config/getCondition.ts +6 -0
  488. package/plugin/config/index.ts +17 -4
  489. package/plugin/config/interpolatePattern.ts +19 -0
  490. package/plugin/config/parsePattern.ts +81 -0
  491. package/plugin/config/resolveAllowedDirectives.ts +59 -0
  492. package/plugin/config/resolveDirectiveMatcher.ts +57 -0
  493. package/plugin/config/resolveEnv.ts +41 -37
  494. package/plugin/config/resolveOptions.ts +437 -318
  495. package/plugin/config/resolvePatternWithValues.ts +70 -0
  496. package/plugin/config/resolveRegExp.ts +89 -0
  497. package/plugin/config/resolveUrlOption.ts +92 -20
  498. package/plugin/config/resolveUserConfig.ts +427 -351
  499. package/plugin/env/createConfigEnv.ts +40 -0
  500. package/plugin/env/getArgValue.ts +56 -0
  501. package/plugin/env/getEnvKey.ts +61 -0
  502. package/plugin/env/index.ts +4 -1
  503. package/plugin/env/plugin.ts +13 -18
  504. package/plugin/env/userConfigEnv.ts +22 -0
  505. package/plugin/error/directiveError.ts +29 -0
  506. package/plugin/error/enhanceError.ts +41 -0
  507. package/plugin/error/index.ts +3 -0
  508. package/plugin/error/logError.ts +48 -0
  509. package/plugin/error/serializeError.ts +34 -0
  510. package/plugin/error/toError.ts +75 -45
  511. package/plugin/file-preserver/plugin.ts +3 -3
  512. package/plugin/getNodeEnv.ts +24 -0
  513. package/plugin/helpers/cleanObject.ts +2 -1
  514. package/plugin/helpers/collectViteModuleGraphCss.ts +138 -118
  515. package/plugin/helpers/createCssProps.tsx +29 -30
  516. package/plugin/helpers/createEventHandler.ts +1 -1
  517. package/plugin/helpers/createHandler.ts +40 -12
  518. package/plugin/helpers/createRscStream.tsx +103 -36
  519. package/plugin/helpers/formatMetrics.ts +2 -37
  520. package/plugin/helpers/getBundleManifest.ts +10 -1
  521. package/plugin/helpers/getRouteFiles.ts +154 -9
  522. package/plugin/helpers/handleServerAction.ts +12 -7
  523. package/plugin/helpers/hydrateUserOptions.ts +23 -0
  524. package/plugin/helpers/index.ts +4 -0
  525. package/plugin/helpers/inputNormalizer.ts +44 -24
  526. package/plugin/helpers/metrics.ts +4 -64
  527. package/plugin/helpers/moduleResolver.ts +74 -19
  528. package/plugin/helpers/requestInfo.ts +95 -61
  529. package/plugin/helpers/requestToRoute.ts +38 -12
  530. package/plugin/helpers/resolveComponent.ts +173 -0
  531. package/plugin/helpers/resolveComponents.ts +202 -0
  532. package/plugin/helpers/resolvePage.ts +35 -29
  533. package/plugin/helpers/resolvePageAndProps.ts +82 -61
  534. package/plugin/helpers/resolveProps.ts +100 -37
  535. package/plugin/helpers/resolveUserComponents.ts +190 -0
  536. package/plugin/helpers/serializeUserOptions.ts +190 -69
  537. package/plugin/helpers/stashReturnValue.ts +7 -4
  538. package/plugin/helpers/tryManifest.ts +1 -1
  539. package/plugin/loader/createDefaultLoader.ts +119 -119
  540. package/plugin/loader/createTransformer.ts +110 -0
  541. package/plugin/loader/css-loader.ts +206 -0
  542. package/plugin/loader/directives/addLocalExportedNames.ts +78 -0
  543. package/plugin/loader/directives/analyzeDirectives.ts +298 -0
  544. package/plugin/loader/directives/analyzeModule.ts +57 -0
  545. package/plugin/loader/directives/collectExports.ts +181 -0
  546. package/plugin/loader/directives/collectExportsFromModule.ts +25 -0
  547. package/plugin/loader/directives/findDirectiveMatches.ts +58 -0
  548. package/plugin/loader/directives/getExportedName.ts +73 -0
  549. package/plugin/loader/directives/getExports.ts +27 -0
  550. package/plugin/loader/directives/getFunctionBody.ts +32 -0
  551. package/plugin/loader/directives/getFunctionName.ts +70 -0
  552. package/plugin/loader/directives/getQualifiedName.ts +76 -0
  553. package/plugin/loader/directives/index.ts +13 -0
  554. package/plugin/loader/directives/processFunctionNode.ts +97 -0
  555. package/plugin/loader/directives/typeGuards.ts +160 -0
  556. package/plugin/loader/directives/types.ts +174 -0
  557. package/plugin/loader/directives/utils.ts +35 -0
  558. package/plugin/loader/env-loader.ts +135 -0
  559. package/plugin/loader/index.ts +8 -6
  560. package/plugin/loader/parse.ts +42 -12
  561. package/plugin/loader/react-loader.ts +256 -4
  562. package/plugin/loader/removeDirectives.ts +14 -0
  563. package/plugin/loader/removeRanges.ts +21 -0
  564. package/plugin/loader/sourceMap.ts +174 -84
  565. package/plugin/loader/transformClientModule.ts +60 -0
  566. package/plugin/loader/transformModule.ts +59 -0
  567. package/plugin/loader/transformModuleIfNeeded.ts +40 -40
  568. package/plugin/loader/transformNonServerEnvironment.ts +95 -0
  569. package/plugin/loader/transformServerModule.ts +167 -0
  570. package/plugin/loader/transformWithAcornLoose.ts +27 -0
  571. package/plugin/loader/types.ts +58 -13
  572. package/plugin/metrics/collectStreamMetrics.ts +38 -0
  573. package/plugin/metrics/createRenderMetrics.ts +17 -0
  574. package/plugin/metrics/createStreamMetrics.ts +14 -0
  575. package/plugin/metrics/formatMetrics.ts +7 -3
  576. package/plugin/metrics/index.ts +3 -1
  577. package/plugin/metrics/types.ts +24 -0
  578. package/plugin/plugin.client.ts +43 -16
  579. package/plugin/plugin.server.ts +41 -21
  580. package/plugin/process-env.ts +27 -6
  581. package/plugin/react-client/cleanupWorkerServerAction.ts +33 -0
  582. package/plugin/react-client/configureWorkerRequestHandler.ts +206 -201
  583. package/plugin/react-client/createMessageHandlers.ts +17 -3
  584. package/plugin/react-client/createWorkerStream.ts +55 -51
  585. package/plugin/react-client/handleWorkerRscStream.ts +130 -61
  586. package/plugin/react-client/handleWorkerServerAction.ts +59 -37
  587. package/plugin/react-client/index.ts +4 -1
  588. package/plugin/react-client/plugin.ts +17 -18
  589. package/plugin/react-client/restartWorker.ts +74 -70
  590. package/plugin/react-server/configureReactServer.ts +204 -142
  591. package/plugin/react-server/handleServerAction.ts +156 -160
  592. package/plugin/react-server/plugin.ts +150 -157
  593. package/plugin/react-static/collectHtmlWorkerContent.ts +109 -102
  594. package/plugin/react-static/collectRscContent.ts +55 -51
  595. package/plugin/react-static/configurePreviewServer.ts +99 -100
  596. package/plugin/react-static/createBuildLoader.ts +157 -48
  597. package/plugin/react-static/plugin.ts +368 -357
  598. package/plugin/react-static/renderPage.ts +31 -24
  599. package/plugin/react-static/renderPages.ts +21 -14
  600. package/plugin/react-static/renderStreams.ts +13 -15
  601. package/plugin/react-static/rscToHtmlStream.ts +4 -6
  602. package/plugin/react-static/types.ts +0 -3
  603. package/plugin/transformer/README.md +82 -8
  604. package/plugin/transformer/plugin.client.ts +142 -0
  605. package/plugin/transformer/plugin.server.ts +87 -112
  606. package/plugin/types/css-tracking.ts +1 -1
  607. package/plugin/types/global.d.ts +2 -2
  608. package/plugin/types/react-server-dom-esm.d.ts +12 -13
  609. package/plugin/types.ts +684 -309
  610. package/plugin/utils/createCallServer.ts +5 -5
  611. package/plugin/utils/createReactFetcher.ts +4 -6
  612. package/plugin/utils/envUrls.node.ts +15 -10
  613. package/plugin/utils/index.ts +2 -1
  614. package/plugin/utils/routeToURL.ts +34 -0
  615. package/plugin/utils/urls.ts +10 -7
  616. package/plugin/worker/createWorker.ts +67 -34
  617. package/plugin/worker/html/README.md +10 -0
  618. package/plugin/worker/html/createHtmlWorkerRenderState.tsx +7 -4
  619. package/plugin/worker/html/html-worker.development.tsx +4 -3
  620. package/plugin/worker/html/index.ts +3 -1
  621. package/plugin/worker/html/messageHandler.tsx +10 -16
  622. package/plugin/worker/html/sendHtmlWorkerMessage.ts +8 -0
  623. package/plugin/worker/html/types.ts +67 -1
  624. package/plugin/worker/index.ts +2 -0
  625. package/plugin/worker/registerLoaders.ts +3 -3
  626. package/plugin/worker/rsc/README.md +203 -1
  627. package/plugin/worker/rsc/handleRender.ts +75 -45
  628. package/plugin/worker/rsc/handlers.ts +30 -22
  629. package/plugin/worker/rsc/index.ts +2 -0
  630. package/plugin/worker/rsc/messageHandler.tsx +23 -13
  631. package/plugin/worker/rsc/rsc-worker.development.ts +104 -17
  632. package/plugin/worker/rsc/rsc-worker.production.ts +57 -10
  633. package/plugin/worker/rsc/sendRscWorkerMessage.ts +7 -0
  634. package/plugin/worker/rsc/state.ts +1 -1
  635. package/plugin/worker/rsc/types.ts +185 -0
  636. package/plugin/worker/rsc/userOptions.ts +2 -3
  637. package/plugin/worker/sendMessage.ts +23 -14
  638. package/plugin/worker/types.ts +131 -386
  639. package/scripts/check-react-version.mjs +3 -3
  640. package/scripts/fix-unused-imports.mjs +77 -0
  641. package/tsconfig.json +1 -1
  642. package/dist/_virtual/dynamic-import-helper.js.map +0 -1
  643. package/dist/client.js.map +0 -1
  644. package/dist/index.js.map +0 -1
  645. package/dist/plugin/components/css-collector-elements.d.ts.map +0 -1
  646. package/dist/plugin/components/css-collector-elements.js +0 -33
  647. package/dist/plugin/components/css-collector-elements.js.map +0 -1
  648. package/dist/plugin/components/css-collector.d.ts +0 -7
  649. package/dist/plugin/components/css-collector.d.ts.map +0 -1
  650. package/dist/plugin/components/css-collector.js +0 -18
  651. package/dist/plugin/components/css-collector.js.map +0 -1
  652. package/dist/plugin/components/html.js.map +0 -1
  653. package/dist/plugin/components.js +0 -9
  654. package/dist/plugin/components.js.map +0 -1
  655. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js.map +0 -1
  656. package/dist/plugin/config/autoDiscover/customWorkerFiles.js.map +0 -1
  657. package/dist/plugin/config/autoDiscover/pageAndPropFiles.js.map +0 -1
  658. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js.map +0 -1
  659. package/dist/plugin/config/autoDiscover/resolveBuildPages.js.map +0 -1
  660. package/dist/plugin/config/defaults.js.map +0 -1
  661. package/dist/plugin/config/extMap.js.map +0 -1
  662. package/dist/plugin/config/getCondition.js.map +0 -1
  663. package/dist/plugin/config/getPaths.js.map +0 -1
  664. package/dist/plugin/config/mimeTypes.js.map +0 -1
  665. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts +0 -5
  666. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts.map +0 -1
  667. package/dist/plugin/config/resolveAutoDiscoverMatcher.js +0 -25
  668. package/dist/plugin/config/resolveAutoDiscoverMatcher.js.map +0 -1
  669. package/dist/plugin/config/resolveEnv.js.map +0 -1
  670. package/dist/plugin/config/resolveOptions.js.map +0 -1
  671. package/dist/plugin/config/resolvePages.js.map +0 -1
  672. package/dist/plugin/config/resolveUrlOption.js.map +0 -1
  673. package/dist/plugin/config/resolveUserConfig.js.map +0 -1
  674. package/dist/plugin/config.js +0 -17
  675. package/dist/plugin/config.js.map +0 -1
  676. package/dist/plugin/env.js +0 -79
  677. package/dist/plugin/env.js.map +0 -1
  678. package/dist/plugin/error/toError.js.map +0 -1
  679. package/dist/plugin/file-preserver.js +0 -96
  680. package/dist/plugin/file-preserver.js.map +0 -1
  681. package/dist/plugin/helpers/cleanObject.js.map +0 -1
  682. package/dist/plugin/helpers/collectManifestCss.js.map +0 -1
  683. package/dist/plugin/helpers/collectViteModuleGraphCss.js.map +0 -1
  684. package/dist/plugin/helpers/createCssProps.js.map +0 -1
  685. package/dist/plugin/helpers/createEventHandler.js.map +0 -1
  686. package/dist/plugin/helpers/createHandler.js.map +0 -1
  687. package/dist/plugin/helpers/createRscStream.js.map +0 -1
  688. package/dist/plugin/helpers/formatMetrics.js.map +0 -1
  689. package/dist/plugin/helpers/getBundleManifest.js.map +0 -1
  690. package/dist/plugin/helpers/getRouteFiles.js.map +0 -1
  691. package/dist/plugin/helpers/handleServerAction.js.map +0 -1
  692. package/dist/plugin/helpers/inputNormalizer.js.map +0 -1
  693. package/dist/plugin/helpers/metrics.js.map +0 -1
  694. package/dist/plugin/helpers/moduleRefs.js.map +0 -1
  695. package/dist/plugin/helpers/requestInfo.js.map +0 -1
  696. package/dist/plugin/helpers/requestToRoute.js.map +0 -1
  697. package/dist/plugin/helpers/resolvePage.js.map +0 -1
  698. package/dist/plugin/helpers/resolvePageAndProps.js.map +0 -1
  699. package/dist/plugin/helpers/resolveProps.js.map +0 -1
  700. package/dist/plugin/helpers/serializeUserOptions.js.map +0 -1
  701. package/dist/plugin/helpers/sourceMap.d.ts +0 -8
  702. package/dist/plugin/helpers/sourceMap.d.ts.map +0 -1
  703. package/dist/plugin/helpers/sourceMap.js +0 -136
  704. package/dist/plugin/helpers/stashReturnValue.js.map +0 -1
  705. package/dist/plugin/helpers/tryManifest.js.map +0 -1
  706. package/dist/plugin/helpers.js +0 -27
  707. package/dist/plugin/helpers.js.map +0 -1
  708. package/dist/plugin/loader/css-loader.development.d.ts.map +0 -1
  709. package/dist/plugin/loader/css-loader.development.js +0 -76
  710. package/dist/plugin/loader/css-loader.development.js.map +0 -1
  711. package/dist/plugin/loader/css-loader.production.d.ts +0 -31
  712. package/dist/plugin/loader/css-loader.production.d.ts.map +0 -1
  713. package/dist/plugin/loader/css-loader.production.js +0 -45
  714. package/dist/plugin/loader/css-loader.production.js.map +0 -1
  715. package/dist/plugin/loader/env-loader.development.d.ts +0 -13
  716. package/dist/plugin/loader/env-loader.development.d.ts.map +0 -1
  717. package/dist/plugin/loader/env-loader.development.js +0 -68
  718. package/dist/plugin/loader/handleExports.d.ts +0 -40
  719. package/dist/plugin/loader/handleExports.d.ts.map +0 -1
  720. package/dist/plugin/loader/handleExports.js +0 -209
  721. package/dist/plugin/loader/handleExports.js.map +0 -1
  722. package/dist/plugin/loader/parse.js.map +0 -1
  723. package/dist/plugin/loader/react-loader.client.d.ts +0 -2
  724. package/dist/plugin/loader/react-loader.client.d.ts.map +0 -1
  725. package/dist/plugin/loader/react-loader.client.js +0 -2
  726. package/dist/plugin/loader/react-loader.js.map +0 -1
  727. package/dist/plugin/loader/react-loader.server.d.ts +0 -21
  728. package/dist/plugin/loader/react-loader.server.d.ts.map +0 -1
  729. package/dist/plugin/loader/react-loader.server.js +0 -131
  730. package/dist/plugin/loader/transformModuleIfNeeded.js.map +0 -1
  731. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts +0 -48
  732. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts.map +0 -1
  733. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js +0 -428
  734. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js.map +0 -1
  735. package/dist/plugin/metrics/formatMetrics.js.map +0 -1
  736. package/dist/plugin/metrics.js +0 -7
  737. package/dist/plugin/metrics.js.map +0 -1
  738. package/dist/plugin/plugin.client.js.map +0 -1
  739. package/dist/plugin/plugin.server.js.map +0 -1
  740. package/dist/plugin/preserver/index.d.ts +0 -2
  741. package/dist/plugin/preserver/index.d.ts.map +0 -1
  742. package/dist/plugin/preserver/index.js +0 -1
  743. package/dist/plugin/preserver/plugin.d.ts +0 -3
  744. package/dist/plugin/preserver/plugin.d.ts.map +0 -1
  745. package/dist/plugin/preserver/plugin.js +0 -130
  746. package/dist/plugin/preserver/plugin.js.map +0 -1
  747. package/dist/plugin/react-client/configureWorkerRequestHandler.js.map +0 -1
  748. package/dist/plugin/react-client/createMessageHandlers.js.map +0 -1
  749. package/dist/plugin/react-client/createWorkerStream.js.map +0 -1
  750. package/dist/plugin/react-client/handleWorkerRscStream.js.map +0 -1
  751. package/dist/plugin/react-client/handleWorkerServerAction.js.map +0 -1
  752. package/dist/plugin/react-client/plugin.js.map +0 -1
  753. package/dist/plugin/react-client/restartWorker.js.map +0 -1
  754. package/dist/plugin/react-server/configureReactServer.js.map +0 -1
  755. package/dist/plugin/react-server/handleServerAction.js.map +0 -1
  756. package/dist/plugin/react-server/plugin.js.map +0 -1
  757. package/dist/plugin/react-static/collectHtmlWorkerContent.js.map +0 -1
  758. package/dist/plugin/react-static/collectRscContent.js.map +0 -1
  759. package/dist/plugin/react-static/configurePreviewServer.js.map +0 -1
  760. package/dist/plugin/react-static/createBuildLoader.js.map +0 -1
  761. package/dist/plugin/react-static/fileWriter.js.map +0 -1
  762. package/dist/plugin/react-static/plugin.js.map +0 -1
  763. package/dist/plugin/react-static/renderPage.js.map +0 -1
  764. package/dist/plugin/react-static/renderPages.js.map +0 -1
  765. package/dist/plugin/react-static/renderStreams.js.map +0 -1
  766. package/dist/plugin/react-static/rscToHtmlStream.js.map +0 -1
  767. package/dist/plugin/react-static/streamHandler.d.ts +0 -2
  768. package/dist/plugin/react-static/streamHandler.d.ts.map +0 -1
  769. package/dist/plugin/react-static/temporaryReferences.js.map +0 -1
  770. package/dist/plugin/root.js.map +0 -1
  771. package/dist/plugin/source-map/createMappingsSerializer.d.ts +0 -2
  772. package/dist/plugin/source-map/createMappingsSerializer.d.ts.map +0 -1
  773. package/dist/plugin/source-map/createMappingsSerializer.js +0 -129
  774. package/dist/plugin/source-map/createMappingsSerializer.js.map +0 -1
  775. package/dist/plugin/source-map/readMappings.d.ts +0 -2
  776. package/dist/plugin/source-map/readMappings.d.ts.map +0 -1
  777. package/dist/plugin/source-map/readMappings.js +0 -200
  778. package/dist/plugin/transformer/plugin.js.map +0 -1
  779. package/dist/plugin/transformer/plugin.server.js.map +0 -1
  780. package/dist/plugin/utils/callServer.js.map +0 -1
  781. package/dist/plugin/utils/createCallServer.js.map +0 -1
  782. package/dist/plugin/utils/createReactFetcher.js.map +0 -1
  783. package/dist/plugin/utils/env.js.map +0 -1
  784. package/dist/plugin/utils/envUrls.node.js.map +0 -1
  785. package/dist/plugin/utils/urls.js.map +0 -1
  786. package/dist/plugin/utils.js +0 -11
  787. package/dist/plugin/utils.js.map +0 -1
  788. package/dist/plugin/vendor/vendor.client.js.map +0 -1
  789. package/dist/plugin/vendor/vendor.js.map +0 -1
  790. package/dist/plugin/vendor/vendor.server.js.map +0 -1
  791. package/dist/plugin/vendor.js +0 -7
  792. package/dist/plugin/vendor.js.map +0 -1
  793. package/dist/plugin/worker/createWorker.js.map +0 -1
  794. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js.map +0 -1
  795. package/dist/plugin/worker/html/html-worker.development.js.map +0 -1
  796. package/dist/plugin/worker/html/html-worker.production.js.map +0 -1
  797. package/dist/plugin/worker/html/index.js.map +0 -1
  798. package/dist/plugin/worker/html/messageHandler.js.map +0 -1
  799. package/dist/plugin/worker/rsc/handleRender.js.map +0 -1
  800. package/dist/plugin/worker/rsc/handlers.js.map +0 -1
  801. package/dist/plugin/worker/rsc/index.js.map +0 -1
  802. package/dist/plugin/worker/rsc/messageHandler.js.map +0 -1
  803. package/dist/plugin/worker/rsc/rsc-worker.development.js.map +0 -1
  804. package/dist/plugin/worker/rsc/rsc-worker.production.js.map +0 -1
  805. package/dist/plugin/worker/rsc/state.js.map +0 -1
  806. package/dist/plugin/worker/rsc/userOptions.js.map +0 -1
  807. package/dist/plugin/worker/sendMessage.js.map +0 -1
  808. package/dist/server.js.map +0 -1
  809. package/plugin/components/css-collector.tsx +0 -20
  810. package/plugin/config/resolveAutoDiscoverMatcher.ts +0 -23
  811. package/plugin/helpers/sourceMap.ts +0 -182
  812. package/plugin/loader/css-loader.development.ts +0 -135
  813. package/plugin/loader/css-loader.production.ts +0 -84
  814. package/plugin/loader/env-loader.development.ts +0 -107
  815. package/plugin/loader/handleExports.ts +0 -309
  816. package/plugin/loader/react-loader.client.ts +0 -1
  817. package/plugin/loader/react-loader.server.ts +0 -185
  818. package/plugin/loader/transformModuleWithPreservedFunctions.ts +0 -593
  819. package/plugin/preserver/index.ts +0 -1
  820. package/plugin/preserver/plugin.ts +0 -178
  821. package/plugin/react-static/streamHandler.ts +0 -0
  822. package/plugin/source-map/createMappingsSerializer.ts +0 -181
  823. package/plugin/source-map/readMappings.ts +0 -194
  824. /package/dist/plugin/{react-static/streamHandler.js → loader/directives/types.js} +0 -0
@@ -1,19 +1,46 @@
1
- import { reactPreservePlugin } from "./preserver/plugin.js";
2
- import type {
3
- StreamPluginOptions,
4
- InlineCssOpt,
5
- PagePropOpt,
6
- } from "../types.js";
1
+ import type { StreamPluginOptions } from "../types.js";
7
2
  import { reactClientPlugin } from "./react-client/plugin.js";
8
3
  import { envPlugin } from "./env/plugin.js";
4
+ import type { Plugin } from "vite";
5
+ import { reactTransformPlugin } from "./transformer/plugin.client.js";
9
6
 
10
- export function vitePluginReactServer<
11
- T extends PagePropOpt = PagePropOpt,
12
- InlineCSS extends InlineCssOpt = InlineCssOpt
13
- >(options = {} as StreamPluginOptions<T, InlineCSS>): import("vite").Plugin[] {
14
- return [
15
- envPlugin(),
16
- reactClientPlugin(options),
17
- reactPreservePlugin(options),
18
- ];
19
- }
7
+ export type VitePluginReactClientFn = <
8
+ Opt extends StreamPluginOptions = StreamPluginOptions
9
+ >(
10
+ options: Opt
11
+ ) => Plugin[];
12
+
13
+ /**
14
+ * Vite plugin for the React client, use same name to support dynamic import.
15
+ * Includes:
16
+ * - envPlugin
17
+ * - reactClientPlugin
18
+ * - reactPreservePlugin (handles directive removal/preservation)
19
+ * @param options
20
+ * @returns
21
+ */
22
+ export const vitePluginReactServer: VitePluginReactClientFn =
23
+ function _vitePluginReactClient(options) {
24
+ if (options == null) {
25
+ throw new Error("options is required");
26
+ }
27
+
28
+ const plugins = [
29
+ envPlugin(),
30
+ reactTransformPlugin(options),
31
+ reactClientPlugin(options),
32
+ ];
33
+
34
+ return plugins;
35
+ };
36
+
37
+ /**
38
+ * Vite plugin for the React client, use specific name to support static import (that doesn't conflict with vitePluginReactServer)
39
+ * Includes:
40
+ * - envPlugin
41
+ * - reactClientPlugin
42
+ * - reactPreservePlugin (handles directive removal/preservation)
43
+ * @param options
44
+ * @returns
45
+ */
46
+ export const vitePluginReactClient = vitePluginReactServer;
@@ -1,31 +1,51 @@
1
- import { reactPreservePlugin } from "./preserver/plugin.js";
2
1
  import { reactStaticPlugin } from "./react-static/plugin.js";
3
2
  import { reactTransformPlugin } from "./transformer/plugin.server.js";
4
- import type { StreamPluginOptions, PagePropOpt, InlineCssOpt } from "./types.js";
3
+ import type {
4
+ StreamPluginOptions,
5
+ } from "./types.js";
5
6
  import { reactServerPlugin } from "./react-server/plugin.js";
6
7
  import { envPlugin } from "./env/plugin.js";
8
+ import type { Plugin } from "vite";
7
9
 
8
-
9
- export function vitePluginReactServer<
10
- T extends PagePropOpt = PagePropOpt,
11
- InlineCSS extends InlineCssOpt = InlineCssOpt
10
+ export type VitePluginReactServerFn = <
11
+ Opt extends StreamPluginOptions = StreamPluginOptions
12
12
  >(
13
- options = {} as StreamPluginOptions<T, InlineCSS>
14
- ): import("vite").Plugin[] {
15
- if(!options.build?.pages || (Array.isArray(options.build.pages) && options.build.pages.length === 0)) {
16
- // in this case we do not need the static plugin at all
17
- return [
13
+ options: Opt
14
+ ) => Plugin[];
15
+
16
+ /**
17
+ * Vite plugin for the React server, use same name to support dynamic import.
18
+ * Includes:
19
+ * - envPlugin
20
+ * - reactTransformPlugin
21
+ * - reactServerPlugin
22
+ * - reactStaticPlugin (if build.pages is not empty)
23
+ * - reactPreservePlugin (handles directive removal/preservation)
24
+ */
25
+ export const vitePluginReactServer: VitePluginReactServerFn =
26
+ function _vitePluginReactServer(
27
+ options
28
+ ) {
29
+ if(options == null) {
30
+ throw new Error("options is required");
31
+ }
32
+ const basePlugins = [
18
33
  envPlugin(),
19
34
  reactTransformPlugin(options),
20
35
  reactServerPlugin(options),
21
- reactPreservePlugin(options),
22
36
  ];
23
- }
24
- return [
25
- envPlugin(),
26
- reactTransformPlugin(options),
27
- reactServerPlugin(options),
28
- reactStaticPlugin(options),
29
- reactPreservePlugin(options),
30
- ];
31
- }
37
+
38
+ if (
39
+ !options.build?.pages ||
40
+ (Array.isArray(options.build.pages) && options.build.pages.length === 0)
41
+ ) {
42
+ // in this case we do not need the static plugin at all
43
+ return basePlugins;
44
+ }
45
+
46
+ // Add static plugin for static builds
47
+ return [
48
+ ...basePlugins,
49
+ reactStaticPlugin(options),
50
+ ];
51
+ };
@@ -1,13 +1,34 @@
1
+ import { DEFAULT_CONFIG } from "./config/defaults.js";
2
+ import { getEnvKey } from "./env/getEnvKey.js";
3
+
1
4
  declare global {
2
5
  namespace NodeJS {
3
6
  interface ProcessEnv {
4
- VITE_BASE_URL: string;
5
- VITE_DEV: string;
6
- VITE_PROD: string;
7
- VITE_SSR: string;
8
- VITE_MODE: string;
9
- VITE_PUBLIC_ORIGIN: string;
7
+ // Base environment variables (these use the configured prefix)
8
+ [key: string]: string | undefined;
10
9
  }
11
10
  }
12
11
  }
12
+
13
+ /**
14
+ * Creates a type-safe environment variable accessor for a specific prefix
15
+ * @param prefix The environment prefix (e.g., "VITE_", "CUSTOM_")
16
+ * @returns Object with typed environment variable accessors
17
+ */
18
+ export function createEnvAccessor(prefix: string = DEFAULT_CONFIG.ENV_PREFIX) {
19
+ return {
20
+ MODE: process.env[getEnvKey("MODE", prefix)],
21
+ DEV: process.env[getEnvKey("DEV", prefix)],
22
+ PROD: process.env[getEnvKey("PROD", prefix)],
23
+ SSR: process.env[getEnvKey("SSR", prefix)],
24
+ BASE_URL: process.env[getEnvKey("BASE_URL", prefix)],
25
+ PUBLIC_ORIGIN: process.env[getEnvKey("PUBLIC_ORIGIN", prefix)]
26
+ };
27
+ }
28
+
29
+ /**
30
+ * Type definition for environment variables with a specific prefix
31
+ */
32
+ export type PrefixedEnv = ReturnType<typeof createEnvAccessor>;
33
+
13
34
  export {};
@@ -0,0 +1,33 @@
1
+ import type { Logger } from "vite";
2
+ import type { Worker } from "node:worker_threads";
3
+ import { logError } from "../error/logError.js";
4
+ import type { MessageHandler } from "../types.js";
5
+ import type { ServerResponse } from "node:http";
6
+ import type { RscChunkOutputMessage } from "../worker/rsc/types.js";
7
+ import type { PassThrough } from "node:stream";
8
+
9
+ /**
10
+ * Handles cleanup of worker server action resources
11
+ */
12
+ export function cleanupWorkerServerAction(
13
+ passThrough: PassThrough,
14
+ worker: Worker,
15
+ messageHandler: MessageHandler<RscChunkOutputMessage>,
16
+ res: ServerResponse,
17
+ error?: unknown,
18
+ logger?: Logger
19
+ ) {
20
+ // Remove message handler first to prevent any new messages
21
+ worker.removeListener("message", messageHandler);
22
+
23
+ // End the pass-through stream
24
+ passThrough.end();
25
+
26
+ // Log error if provided
27
+ if (error && logger) {
28
+ logError(error, logger);
29
+ }
30
+
31
+ // End the response
32
+ res.end();
33
+ }
@@ -1,24 +1,31 @@
1
1
  import type { ViteDevServer } from "vite";
2
2
  import type {
3
3
  AutoDiscoveredFiles,
4
- InlineCssOpt,
5
- PagePropOpt,
6
4
  RenderMetrics,
7
5
  RequestHandler,
8
6
  ResolvedUserOptions,
9
7
  StreamMetrics,
10
8
  } from "../types.js";
11
- import { MessageChannel, type Worker } from "node:worker_threads";
9
+ import type { MessageChannel } from "node:worker_threads";
10
+ import { type Worker } from "node:worker_threads";
12
11
  import { serializedOptions } from "../helpers/serializeUserOptions.js";
13
12
  import { requestInfo } from "../helpers/requestInfo.js";
14
13
  import { performance } from "node:perf_hooks";
15
14
  import { restartWorker } from "./restartWorker.js";
16
15
  import { handleWorkerRscStream } from "./handleWorkerRscStream.js";
17
16
  import { getRouteFiles } from "../helpers/getRouteFiles.js";
18
- import type { RscWorkerInputMessage } from "../worker/types.js";
17
+ import type { RscWorkerInputMessage } from "../worker/rsc/types.js";
19
18
  import { Readable } from "node:stream";
20
19
  import type { ReadableStream } from "node:stream/web";
21
20
  import { handleWorkerServerAction } from "./handleWorkerServerAction.js";
21
+ import { logError } from "../error/logError.js";
22
+
23
+ export type ConfigureWorkerRequestHandlerFn = (props: {
24
+ server: ViteDevServer;
25
+ autoDiscoveredFiles: AutoDiscoveredFiles;
26
+ userOptions: ResolvedUserOptions;
27
+ hmrChannel: MessageChannel;
28
+ }) => void;
22
29
 
23
30
  /**
24
31
  * Configures the worker request handler.
@@ -26,219 +33,217 @@ import { handleWorkerServerAction } from "./handleWorkerServerAction.js";
26
33
  * @param autoDiscoveredFiles - The auto discovered files
27
34
  * @param userOptions - The user options
28
35
  */
29
- export async function configureWorkerRequestHandler<
30
- T extends PagePropOpt = PagePropOpt,
31
- InlineCSS extends InlineCssOpt = InlineCssOpt
32
- >({
33
- server,
34
- autoDiscoveredFiles,
35
- userOptions: _userOptions,
36
- hmrChannel,
37
- onMetrics,
38
- }: {
39
- server: ViteDevServer;
40
- autoDiscoveredFiles: AutoDiscoveredFiles;
41
- userOptions: ResolvedUserOptions<T, InlineCSS>;
42
- hmrChannel: MessageChannel;
43
- onMetrics?: (metrics: RenderMetrics) => void;
44
- }) {
45
- let {
46
- // remove these
47
- projectRoot: _projectRoot,
48
- moduleBaseURL: _moduleBaseURL,
49
- ...handlerUserOptions
50
- } = _userOptions;
51
- const handlerOptions = Object.assign({}, handlerUserOptions, {
52
- moduleBaseURL: server.config.base,
53
- moduleBasePath: server.config.base,
54
- projectRoot: server.config.root,
55
- });
36
+ export const configureWorkerRequestHandler: ConfigureWorkerRequestHandlerFn =
37
+ async function _configureWorkerRequestHandler({
38
+ server,
39
+ autoDiscoveredFiles,
40
+ userOptions: _userOptions,
41
+ hmrChannel,
42
+ }) {
43
+ const logger = server.config.customLogger || server.config.logger;
44
+ const {
45
+ // remove these
46
+ projectRoot: _projectRoot,
47
+ moduleBaseURL: _moduleBaseURL,
48
+ ...handlerUserOptions
49
+ } = _userOptions;
50
+ const handlerOptions = Object.assign({}, handlerUserOptions, {
51
+ moduleBaseURL: server.config.base,
52
+ projectRoot: server.config.root,
53
+ logger: logger,
54
+ });
56
55
 
57
- // Start the worker
58
- let currentWorker: Worker | null = null;
59
- const logger = server.config.logger;
56
+ // Start the worker
57
+ let currentWorker: Worker | null = null;
60
58
 
61
- // Handle server restarts
62
- server.ws.on("restart", async () => {
63
- logger.info("[react-client] Server restarting, shutting down worker...");
64
- if (currentWorker) {
65
- currentWorker.postMessage({
66
- type: "SHUTDOWN",
67
- id: "*",
68
- } satisfies RscWorkerInputMessage);
69
- await new Promise((resolve, reject) => {
70
- currentWorker?.on("message", (message) => {
71
- if (message.type === "SHUTDOWN_COMPLETE") {
72
- resolve(true);
73
- } else {
74
- reject("Did not receive SHUTDOWN_COMPLETE");
75
- }
59
+ // Handle server restarts
60
+ server.ws.on("restart", async () => {
61
+ logger.info("[react-client] Server restarting, shutting down worker...");
62
+ if (currentWorker) {
63
+ currentWorker.postMessage({
64
+ type: "SHUTDOWN",
65
+ id: "*",
66
+ } satisfies RscWorkerInputMessage);
67
+ await new Promise((resolve, reject) => {
68
+ currentWorker?.on("message", (message) => {
69
+ if (message.type === "SHUTDOWN_COMPLETE") {
70
+ resolve(true);
71
+ } else {
72
+ reject("Did not receive SHUTDOWN_COMPLETE");
73
+ }
74
+ });
76
75
  });
77
- });
78
- currentWorker.removeAllListeners();
79
- currentWorker = null;
80
- }
81
- });
76
+ currentWorker.removeAllListeners();
77
+ currentWorker = null;
78
+ }
79
+ });
82
80
 
83
- // Create the request handler
84
- const handler: RequestHandler = async (req, res, next) => {
85
- if (!req.url) return next();
81
+ // Create the request handler
82
+ const handler: RequestHandler = async (req, res, next) => {
83
+ if (!req.url) return next();
86
84
 
87
- const info = requestInfo(req, handlerOptions, "", server.config.logger);
85
+ const info = requestInfo(req, handlerOptions, "");
88
86
 
89
- // Serialize user options for worker
90
- const serializedUserOptions = serializedOptions<T, InlineCSS>(
91
- handlerOptions,
92
- autoDiscoveredFiles
93
- );
87
+ // Serialize user options for worker
88
+ const serializedUserOptions = serializedOptions(
89
+ handlerOptions,
90
+ autoDiscoveredFiles
91
+ );
94
92
 
95
- // Handle server action requests
96
- if (info.isServerActionRequest) {
97
- if (!currentWorker) {
98
- currentWorker = await restartWorker({
99
- server,
100
- autoDiscoveredFiles,
101
- userOptions: serializedUserOptions,
102
- hmrChannel,
103
- });
104
- }
105
- if (!currentWorker) {
106
- throw new Error("Failed to start worker");
93
+ // Handle server action requests
94
+ if (info.isServerActionRequest) {
95
+ if (!currentWorker) {
96
+ currentWorker = await restartWorker({
97
+ server,
98
+ autoDiscoveredFiles,
99
+ userOptions: serializedUserOptions,
100
+ hmrChannel,
101
+ });
102
+ }
103
+ if (!currentWorker) {
104
+ throw new Error("Failed to start worker");
105
+ }
106
+ return handleWorkerServerAction(req, res, currentWorker, logger);
107
107
  }
108
- return handleWorkerServerAction(req, res, currentWorker, server.config.logger);
109
- }
110
-
111
- // Handle RSC requests
112
- if (!info.isRscRequest) {
113
- return next();
114
- }
115
108
 
116
- const routeFiles = await getRouteFiles(
117
- info.route,
118
- autoDiscoveredFiles,
119
- handlerOptions
120
- );
121
- if (routeFiles.type === "error") {
122
- logger.error(routeFiles.error.message);
123
- return next();
124
- }
125
- const pagePath = routeFiles.page;
126
- const propsPath = routeFiles.props;
127
- try {
128
- // Set up response headers for streaming
129
- res.setHeader("Content-Type", info.contentType);
130
- res.setHeader("Transfer-Encoding", "chunked");
131
- res.setHeader("Connection", "keep-alive");
109
+ // Handle RSC requests
110
+ if (!info.isRscRequest) {
111
+ return next();
112
+ }
132
113
 
133
- const userOnMetrics =
134
- typeof onMetrics === "function"
135
- ? (metrics: StreamMetrics) => {
136
- const elapsedTime = performance.now() - startTime;
137
- const formattedMetrics = {
138
- route: info.route,
139
- htmlSize: 0,
140
- rscSize: metrics.bytes,
141
- processingTime: elapsedTime,
142
- chunks: metrics.chunks,
143
- chunkRate: metrics.chunks / (elapsedTime / 1000),
144
- memoryUsage: process.memoryUsage(),
145
- streamMetrics: {
146
- ...metrics,
147
- duration: elapsedTime,
148
- },
149
- htmlSizes: new Map(),
150
- rscSizes: new Map([[info.route, metrics.bytes]]),
151
- } satisfies RenderMetrics;
152
- onMetrics(formattedMetrics);
153
- }
154
- : () => {};
155
- const startTime = performance.now();
156
- if (!currentWorker) {
157
- currentWorker = await restartWorker({
158
- server,
159
- autoDiscoveredFiles,
160
- userOptions: serializedUserOptions,
161
- hmrChannel,
162
- });
114
+ const routeFiles = await getRouteFiles(
115
+ info.route,
116
+ autoDiscoveredFiles,
117
+ handlerOptions,
118
+ logger
119
+ );
120
+ if (routeFiles.type === "error") {
121
+ logError(routeFiles.error, logger);
122
+ return next();
163
123
  }
164
- const stream = handleWorkerRscStream({
165
- worker: currentWorker!,
166
- message: {
167
- ...serializedUserOptions,
168
- id: info.route,
169
- type: "RSC_RENDER",
170
- // we make the worker stream aware of the route, pagePath, propsPath
171
- route: info.route,
172
- pagePath: pagePath,
173
- propsPath: propsPath,
174
- // override these at all times to ensure the settings will work for the dev server
175
- projectRoot: server.config.root,
176
- build: serializedUserOptions.build,
177
- manifest: autoDiscoveredFiles.staticManifest,
178
- cssFiles: new Map(),
179
- globalCss: new Map(),
180
- },
181
- logger,
182
- handlers: {
183
- onMetrics: (id, metrics) => {
184
- metrics.route = id;
185
- userOnMetrics(metrics);
186
- },
187
- onHmrAccept: () => {
188
- // TODO: implement
189
- // console.log("onHmrAccept", routes);
124
+ const pagePath = routeFiles.page;
125
+ const propsPath = routeFiles.props;
126
+ const rootPath = routeFiles.root;
127
+ const htmlPath = routeFiles.html;
128
+ try {
129
+ // Set up response headers for streaming
130
+ res.setHeader("Content-Type", info.contentType);
131
+ res.setHeader("Transfer-Encoding", "chunked");
132
+ res.setHeader("Connection", "keep-alive");
133
+
134
+ const userOnMetrics =
135
+ typeof handlerOptions.onMetrics === "function"
136
+ ? (metrics: StreamMetrics) => {
137
+ const elapsedTime = performance.now() - startTime;
138
+ const formattedMetrics = {
139
+ route: info.route,
140
+ htmlSize: 0,
141
+ rscSize: metrics.bytes,
142
+ processingTime: elapsedTime,
143
+ chunks: metrics.chunks,
144
+ chunkRate: metrics.chunks / (elapsedTime / 1000),
145
+ memoryUsage: process.memoryUsage(),
146
+ streamMetrics: {
147
+ ...metrics,
148
+ duration: elapsedTime,
149
+ },
150
+ htmlSizes: new Map(),
151
+ rscSizes: new Map([[info.route, metrics.bytes]]),
152
+ } satisfies RenderMetrics;
153
+ handlerOptions.onMetrics(formattedMetrics);
154
+ }
155
+ : () => {};
156
+ const startTime = performance.now();
157
+ if (!currentWorker) {
158
+ currentWorker = await restartWorker({
159
+ server,
160
+ autoDiscoveredFiles,
161
+ userOptions: serializedUserOptions,
162
+ hmrChannel,
163
+ });
164
+ }
165
+ const stream = handleWorkerRscStream({
166
+ worker: currentWorker!,
167
+ message: {
168
+ ...serializedUserOptions,
169
+ id: info.route,
170
+ type: "RSC_RENDER",
171
+ // we make the worker stream aware of the route, pagePath, propsPath, rootPath, htmlPath
172
+ route: info.route,
173
+ pagePath: pagePath,
174
+ propsPath: propsPath,
175
+ rootPath: rootPath,
176
+ htmlPath: htmlPath,
177
+ // override these at all times to ensure the settings will work for the dev server
178
+ projectRoot: server.config.root,
179
+ build: {
180
+ ...(serializedUserOptions.build || {}),
181
+ pages: Array.isArray(serializedUserOptions.build?.pages)
182
+ ? serializedUserOptions.build.pages
183
+ : [],
184
+ },
185
+ manifest: autoDiscoveredFiles.staticManifest,
186
+ cssFiles: new Map(),
187
+ globalCss: new Map(),
190
188
  },
191
- onHmrUpdate: () => {
192
- // TODO: implement
193
- // console.log("onHmrUpdate", routes);
189
+ logger,
190
+ handlers: {
191
+ onMetrics: (id, metrics) => {
192
+ metrics.route = id;
193
+ userOnMetrics(metrics);
194
+ },
195
+ onHmrAccept: () => {
196
+ // TODO: implement
197
+ // console.log("onHmrAccept", routes);
198
+ },
199
+ onHmrUpdate: () => {
200
+ // TODO: implement
201
+ // console.log("onHmrUpdate", routes);
202
+ },
194
203
  },
195
- },
196
- verbose: handlerOptions.verbose,
197
- });
204
+ verbose: handlerOptions.verbose,
205
+ rscTimeout: handlerOptions.rscTimeout,
206
+ });
198
207
 
199
- // Pipe the stream to the response
200
- if (res.writable) {
201
- Readable.fromWeb(stream as unknown as ReadableStream).pipe(res);
208
+ // Pipe the stream to the response
209
+ if (res.writable) {
210
+ Readable.fromWeb(stream as unknown as ReadableStream).pipe(res);
211
+ }
212
+ // wait for timeout
213
+ } catch (error) {
214
+ logError(error, logger);
202
215
  }
203
- // wait for timeout
204
- } catch (error) {
205
- if (error instanceof Error) {
206
- server.config.logger.error(error.message + (error.stack ?? ""), {
207
- error,
216
+ let timeout: NodeJS.Timeout;
217
+ try {
218
+ await new Promise((reject) => {
219
+ timeout = setTimeout(() => {
220
+ clearTimeout(timeout);
221
+ reject(new Error("RSC Render timeout"));
222
+ }, handlerOptions.rscTimeout);
208
223
  });
209
- }
210
- }
211
- let timeout: NodeJS.Timeout;
212
- try {
213
- await new Promise((reject) => {
214
- timeout = setTimeout(() => {
215
- clearTimeout(timeout);
216
- reject(new Error("RSC Render timeout"));
217
- }, 5000);
218
- });
219
- } catch {
220
- if (currentWorker) {
221
- currentWorker.postMessage({
222
- type: "SHUTDOWN",
223
- id: "*",
224
- } satisfies RscWorkerInputMessage);
225
- await new Promise((resolve, reject) => {
226
- currentWorker?.on("message", (message) => {
227
- if (message.type === "SHUTDOWN_COMPLETE") {
228
- resolve(true);
229
- } else {
230
- reject("Dit not receive SHUTDOWN_COMPLETE");
231
- }
224
+ } catch {
225
+ if (currentWorker) {
226
+ currentWorker.postMessage({
227
+ type: "SHUTDOWN",
228
+ id: "*",
229
+ } satisfies RscWorkerInputMessage);
230
+ await new Promise((resolve, reject) => {
231
+ currentWorker?.on("message", (message) => {
232
+ if (message.type === "SHUTDOWN_COMPLETE") {
233
+ resolve(true);
234
+ } else {
235
+ reject("Did not receive SHUTDOWN_COMPLETE");
236
+ }
237
+ });
232
238
  });
233
- });
234
- currentWorker.removeAllListeners();
239
+ currentWorker.removeAllListeners();
240
+ }
241
+ logger.error("RSC render timeout.");
242
+ clearTimeout(timeout!);
243
+ res.end();
235
244
  }
236
- server.config.logger.error("RSC render timeout.");
237
- clearTimeout(timeout!);
238
- res.end();
239
- }
245
+ };
246
+ // attach handler to the server
247
+ server.middlewares.use(handler);
248
+ // port check, should be handled by strictPort
240
249
  };
241
- // attach handler to the server
242
- server.middlewares.use(handler);
243
- // port check, should be handled by strictPort
244
- }