vite-plugin-react-server 1.1.12 → 1.1.13

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 (373) hide show
  1. package/dist/package.json +10 -8
  2. package/dist/plugin/components/css-collector-elements.d.ts +4 -2
  3. package/dist/plugin/components/css-collector-elements.d.ts.map +1 -1
  4. package/dist/plugin/components/css-collector-elements.js +21 -7
  5. package/dist/plugin/components/css-collector-elements.js.map +1 -1
  6. package/dist/plugin/components/css-collector.d.ts +4 -5
  7. package/dist/plugin/components/css-collector.d.ts.map +1 -1
  8. package/dist/plugin/components/css-collector.js +5 -9
  9. package/dist/plugin/components/css-collector.js.map +1 -1
  10. package/dist/plugin/components/html.d.ts +1 -1
  11. package/dist/plugin/components/html.d.ts.map +1 -1
  12. package/dist/plugin/components/html.js +14 -3
  13. package/dist/plugin/components/html.js.map +1 -1
  14. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts +4 -4
  15. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
  16. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +14 -9
  17. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js.map +1 -1
  18. package/dist/plugin/config/defaults.d.ts +66 -12
  19. package/dist/plugin/config/defaults.d.ts.map +1 -1
  20. package/dist/plugin/config/defaults.js +69 -15
  21. package/dist/plugin/config/defaults.js.map +1 -1
  22. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts +5 -0
  23. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts.map +1 -0
  24. package/dist/plugin/config/resolveAutoDiscoverMatcher.js +25 -0
  25. package/dist/plugin/config/resolveAutoDiscoverMatcher.js.map +1 -0
  26. package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
  27. package/dist/plugin/config/resolveEnv.js +16 -5
  28. package/dist/plugin/config/resolveEnv.js.map +1 -1
  29. package/dist/plugin/config/resolveOptions.d.ts +3 -3
  30. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  31. package/dist/plugin/config/resolveOptions.js +59 -87
  32. package/dist/plugin/config/resolveOptions.js.map +1 -1
  33. package/dist/plugin/config/resolveUserConfig.d.ts +4 -4
  34. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  35. package/dist/plugin/config/resolveUserConfig.js +8 -1
  36. package/dist/plugin/config/resolveUserConfig.js.map +1 -1
  37. package/dist/plugin/error/toError.d.ts +3 -0
  38. package/dist/plugin/error/toError.d.ts.map +1 -1
  39. package/dist/plugin/error/toError.js +33 -4
  40. package/dist/plugin/error/toError.js.map +1 -1
  41. package/dist/plugin/helpers/cleanObject.d.ts.map +1 -1
  42. package/dist/plugin/helpers/cleanObject.js +19 -5
  43. package/dist/plugin/helpers/cleanObject.js.map +1 -1
  44. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +3 -3
  45. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
  46. package/dist/plugin/helpers/collectViteModuleGraphCss.js.map +1 -1
  47. package/dist/plugin/helpers/createCssProps.d.ts +4 -3
  48. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
  49. package/dist/plugin/helpers/createCssProps.js +7 -2
  50. package/dist/plugin/helpers/createCssProps.js.map +1 -1
  51. package/dist/plugin/helpers/createHandler.d.ts +4 -3
  52. package/dist/plugin/helpers/createHandler.d.ts.map +1 -1
  53. package/dist/plugin/helpers/createHandler.js +1 -1
  54. package/dist/plugin/helpers/createHandler.js.map +1 -1
  55. package/dist/plugin/helpers/createRscStream.d.ts +2 -2
  56. package/dist/plugin/helpers/createRscStream.d.ts.map +1 -1
  57. package/dist/plugin/helpers/createRscStream.js +15 -5
  58. package/dist/plugin/helpers/createRscStream.js.map +1 -1
  59. package/dist/plugin/helpers/index.d.ts +2 -2
  60. package/dist/plugin/helpers/index.d.ts.map +1 -1
  61. package/dist/plugin/helpers/index.js +2 -2
  62. package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
  63. package/dist/plugin/helpers/inputNormalizer.js +4 -1
  64. package/dist/plugin/helpers/inputNormalizer.js.map +1 -1
  65. package/dist/plugin/helpers/moduleResolver.d.ts +3 -0
  66. package/dist/plugin/helpers/moduleResolver.d.ts.map +1 -0
  67. package/dist/plugin/helpers/moduleResolver.js +25 -0
  68. package/dist/plugin/helpers/requestInfo.d.ts +18 -3
  69. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  70. package/dist/plugin/helpers/requestInfo.js +75 -11
  71. package/dist/plugin/helpers/requestInfo.js.map +1 -1
  72. package/dist/plugin/helpers/resolvePage.d.ts.map +1 -1
  73. package/dist/plugin/helpers/resolvePage.js +2 -3
  74. package/dist/plugin/helpers/resolvePage.js.map +1 -1
  75. package/dist/plugin/helpers/resolvePageAndProps.d.ts +4 -3
  76. package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
  77. package/dist/plugin/helpers/resolvePageAndProps.js.map +1 -1
  78. package/dist/plugin/helpers/serializeUserOptions.d.ts +3 -2
  79. package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
  80. package/dist/plugin/helpers/serializeUserOptions.js +13 -1
  81. package/dist/plugin/helpers/serializeUserOptions.js.map +1 -1
  82. package/dist/plugin/helpers/sourceMap.d.ts +8 -0
  83. package/dist/plugin/helpers/sourceMap.d.ts.map +1 -0
  84. package/dist/plugin/helpers/sourceMap.js +136 -0
  85. package/dist/plugin/helpers.js +1 -1
  86. package/dist/plugin/loader/createBuildLoader.d.ts +7 -22
  87. package/dist/plugin/loader/createBuildLoader.d.ts.map +1 -1
  88. package/dist/plugin/loader/createBuildLoader.js +79 -65
  89. package/dist/plugin/loader/createBuildLoader.js.map +1 -1
  90. package/dist/plugin/loader/createDefaultLoader.d.ts +13 -0
  91. package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -0
  92. package/dist/plugin/loader/createDefaultLoader.js +47 -0
  93. package/dist/plugin/loader/css-loader.development.d.ts +1 -0
  94. package/dist/plugin/loader/css-loader.development.d.ts.map +1 -1
  95. package/dist/plugin/loader/css-loader.development.js +1 -1
  96. package/dist/plugin/loader/css-loader.development.js.map +1 -1
  97. package/dist/plugin/loader/handleExports.d.ts +33 -0
  98. package/dist/plugin/loader/handleExports.d.ts.map +1 -0
  99. package/dist/plugin/loader/handleExports.js +174 -0
  100. package/dist/plugin/loader/handleExports.js.map +1 -0
  101. package/dist/plugin/loader/index.d.ts +1 -1
  102. package/dist/plugin/loader/index.d.ts.map +1 -1
  103. package/dist/plugin/loader/index.js +4 -1
  104. package/dist/plugin/loader/parse.d.ts +6 -0
  105. package/dist/plugin/loader/parse.d.ts.map +1 -0
  106. package/dist/plugin/loader/parse.js +23 -0
  107. package/dist/plugin/loader/parse.js.map +1 -0
  108. package/dist/plugin/loader/react-loader.client.d.ts +2 -0
  109. package/dist/plugin/loader/react-loader.client.d.ts.map +1 -0
  110. package/dist/plugin/loader/react-loader.client.js +2 -0
  111. package/dist/plugin/loader/react-loader.d.ts +1 -12
  112. package/dist/plugin/loader/react-loader.d.ts.map +1 -1
  113. package/dist/plugin/loader/react-loader.js +5 -687
  114. package/dist/plugin/loader/react-loader.js.map +1 -1
  115. package/dist/plugin/loader/react-loader.server.d.ts +21 -0
  116. package/dist/plugin/loader/react-loader.server.d.ts.map +1 -0
  117. package/dist/plugin/loader/react-loader.server.js +69 -0
  118. package/dist/plugin/loader/sourceMap.d.ts +35 -0
  119. package/dist/plugin/loader/sourceMap.d.ts.map +1 -0
  120. package/dist/plugin/loader/sourceMap.js +105 -0
  121. package/dist/plugin/loader/temporaryReferences.d.ts +1 -1
  122. package/dist/plugin/loader/temporaryReferences.d.ts.map +1 -1
  123. package/dist/plugin/loader/transformModuleIfNeeded.d.ts +2 -0
  124. package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -0
  125. package/dist/plugin/loader/transformModuleIfNeeded.js +27 -0
  126. package/dist/plugin/loader/transformModuleIfNeeded.js.map +1 -0
  127. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts +27 -0
  128. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts.map +1 -0
  129. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js +52 -0
  130. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js.map +1 -0
  131. package/dist/plugin/loader/types.d.ts +8 -0
  132. package/dist/plugin/loader/types.d.ts.map +1 -0
  133. package/dist/plugin/loader/types.js +1 -0
  134. package/dist/plugin/plugin.client.d.ts +2 -2
  135. package/dist/plugin/plugin.client.d.ts.map +1 -1
  136. package/dist/plugin/plugin.client.js +2 -3
  137. package/dist/plugin/plugin.client.js.map +1 -1
  138. package/dist/plugin/plugin.server.d.ts +2 -2
  139. package/dist/plugin/plugin.server.d.ts.map +1 -1
  140. package/dist/plugin/plugin.server.js +2 -2
  141. package/dist/plugin/plugin.server.js.map +1 -1
  142. package/dist/plugin/preserver/plugin.d.ts +2 -2
  143. package/dist/plugin/preserver/plugin.d.ts.map +1 -1
  144. package/dist/plugin/preserver/plugin.js +6 -2
  145. package/dist/plugin/preserver/plugin.js.map +1 -1
  146. package/dist/plugin/react-client/{server.d.ts → configureWorkerRequestHandler.d.ts} +4 -4
  147. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +1 -0
  148. package/dist/plugin/react-client/{server.js → configureWorkerRequestHandler.js} +11 -8
  149. package/dist/plugin/react-client/configureWorkerRequestHandler.js.map +1 -0
  150. package/dist/plugin/react-client/createMessageHandlers.d.ts +1 -1
  151. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  152. package/dist/plugin/react-client/createMessageHandlers.js +18 -11
  153. package/dist/plugin/react-client/createMessageHandlers.js.map +1 -1
  154. package/dist/plugin/react-client/createWorkerStream.d.ts +5 -3
  155. package/dist/plugin/react-client/createWorkerStream.d.ts.map +1 -1
  156. package/dist/plugin/react-client/createWorkerStream.js +61 -27
  157. package/dist/plugin/react-client/createWorkerStream.js.map +1 -1
  158. package/dist/plugin/react-client/handleWorkerRscStream.d.ts +1 -1
  159. package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +1 -1
  160. package/dist/plugin/react-client/handleWorkerRscStream.js +14 -4
  161. package/dist/plugin/react-client/handleWorkerRscStream.js.map +1 -1
  162. package/dist/plugin/react-client/plugin.d.ts +2 -2
  163. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  164. package/dist/plugin/react-client/plugin.js +7 -8
  165. package/dist/plugin/react-client/plugin.js.map +1 -1
  166. package/dist/plugin/react-client/restartWorker.d.ts +1 -1
  167. package/dist/plugin/react-client/restartWorker.d.ts.map +1 -1
  168. package/dist/plugin/react-client/restartWorker.js +9 -3
  169. package/dist/plugin/react-client/restartWorker.js.map +1 -1
  170. package/dist/plugin/react-server/configureReactServer.d.ts +9 -0
  171. package/dist/plugin/react-server/configureReactServer.d.ts.map +1 -0
  172. package/dist/plugin/react-server/{server.js → configureReactServer.js} +26 -8
  173. package/dist/plugin/react-server/configureReactServer.js.map +1 -0
  174. package/dist/plugin/react-server/handleServerAction.d.ts +5 -0
  175. package/dist/plugin/react-server/handleServerAction.d.ts.map +1 -0
  176. package/dist/plugin/react-server/handleServerAction.js +145 -0
  177. package/dist/plugin/react-server/handleServerAction.js.map +1 -0
  178. package/dist/plugin/react-server/plugin.d.ts +2 -2
  179. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  180. package/dist/plugin/react-server/plugin.js +1 -1
  181. package/dist/plugin/react-server/plugin.js.map +1 -1
  182. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +2 -2
  183. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +1 -1
  184. package/dist/plugin/react-static/collectHtmlWorkerContent.js.map +1 -1
  185. package/dist/plugin/react-static/collectRscContent.d.ts +2 -2
  186. package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
  187. package/dist/plugin/react-static/collectRscContent.js.map +1 -1
  188. package/dist/plugin/react-static/configurePreviewServer.d.ts +3 -3
  189. package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
  190. package/dist/plugin/react-static/configurePreviewServer.js +18 -7
  191. package/dist/plugin/react-static/configurePreviewServer.js.map +1 -1
  192. package/dist/plugin/react-static/plugin.d.ts +2 -2
  193. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  194. package/dist/plugin/react-static/plugin.js +28 -12
  195. package/dist/plugin/react-static/plugin.js.map +1 -1
  196. package/dist/plugin/react-static/renderPage.d.ts +2 -2
  197. package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
  198. package/dist/plugin/react-static/renderPage.js.map +1 -1
  199. package/dist/plugin/react-static/renderPages.d.ts +2 -2
  200. package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
  201. package/dist/plugin/react-static/renderPages.js.map +1 -1
  202. package/dist/plugin/react-static/renderStreams.d.ts +2 -2
  203. package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
  204. package/dist/plugin/react-static/renderStreams.js +4 -4
  205. package/dist/plugin/react-static/renderStreams.js.map +1 -1
  206. package/dist/plugin/source-map/createMappingsSerializer.d.ts +2 -0
  207. package/dist/plugin/source-map/createMappingsSerializer.d.ts.map +1 -0
  208. package/dist/plugin/source-map/createMappingsSerializer.js +159 -0
  209. package/dist/plugin/source-map/readMappings.d.ts +2 -0
  210. package/dist/plugin/source-map/readMappings.d.ts.map +1 -0
  211. package/dist/plugin/source-map/readMappings.js +201 -0
  212. package/dist/plugin/transformer/index.d.ts +0 -1
  213. package/dist/plugin/transformer/index.d.ts.map +1 -1
  214. package/dist/plugin/transformer/index.js +0 -1
  215. package/dist/plugin/transformer/plugin.client.d.ts +1 -3
  216. package/dist/plugin/transformer/plugin.client.d.ts.map +1 -1
  217. package/dist/plugin/transformer/plugin.client.js +1 -84
  218. package/dist/plugin/transformer/plugin.server.d.ts +2 -2
  219. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
  220. package/dist/plugin/transformer/plugin.server.js +52 -20
  221. package/dist/plugin/transformer/plugin.server.js.map +1 -1
  222. package/dist/plugin/types.d.ts +89 -119
  223. package/dist/plugin/types.d.ts.map +1 -1
  224. package/dist/plugin/utils/callServer.d.ts +1 -1
  225. package/dist/plugin/utils/callServer.d.ts.map +1 -1
  226. package/dist/plugin/utils/createCallServer.d.ts +1 -1
  227. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  228. package/dist/plugin/utils/createCallServer.js +13 -4
  229. package/dist/plugin/utils/createCallServer.js.map +1 -1
  230. package/dist/plugin/utils/index.d.ts +1 -0
  231. package/dist/plugin/utils/index.d.ts.map +1 -1
  232. package/dist/plugin/utils/index.js +1 -0
  233. package/dist/plugin/utils.js +1 -0
  234. package/dist/plugin/utils.js.map +1 -1
  235. package/dist/plugin/vendor/vendor.client.d.ts +2 -1
  236. package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
  237. package/dist/plugin/vendor/vendor.client.js +2 -1
  238. package/dist/plugin/vendor/vendor.client.js.map +1 -1
  239. package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
  240. package/dist/plugin/vendor/vendor.server.js +1 -1
  241. package/dist/plugin/vendor/vendor.server.js.map +1 -1
  242. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  243. package/dist/plugin/worker/createWorker.js +17 -22
  244. package/dist/plugin/worker/createWorker.js.map +1 -1
  245. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +1 -1
  246. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +25 -4
  247. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js.map +1 -1
  248. package/dist/plugin/worker/html/html-worker.development.js +15 -13
  249. package/dist/plugin/worker/html/html-worker.development.js.map +1 -1
  250. package/dist/plugin/worker/html/html-worker.production.js +2 -12
  251. package/dist/plugin/worker/html/html-worker.production.js.map +1 -1
  252. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  253. package/dist/plugin/worker/html/messageHandler.js +2 -2
  254. package/dist/plugin/worker/html/messageHandler.js.map +1 -1
  255. package/dist/plugin/worker/rsc/handleRender.d.ts +2 -1
  256. package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -1
  257. package/dist/plugin/worker/rsc/handleRender.js +8 -8
  258. package/dist/plugin/worker/rsc/handleRender.js.map +1 -1
  259. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  260. package/dist/plugin/worker/rsc/messageHandler.js +166 -107
  261. package/dist/plugin/worker/rsc/messageHandler.js.map +1 -1
  262. package/dist/plugin/worker/rsc/rsc-worker.development.js +112 -52
  263. package/dist/plugin/worker/rsc/rsc-worker.development.js.map +1 -1
  264. package/dist/plugin/worker/rsc/rsc-worker.production.js +1 -1
  265. package/dist/plugin/worker/rsc/rsc-worker.production.js.map +1 -1
  266. package/dist/plugin/worker/rsc/state.d.ts +5 -64
  267. package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
  268. package/dist/plugin/worker/rsc/state.js +5 -1
  269. package/dist/plugin/worker/rsc/state.js.map +1 -1
  270. package/dist/plugin/worker/sendMessage.d.ts +2 -0
  271. package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
  272. package/dist/plugin/worker/sendMessage.js +2 -1
  273. package/dist/plugin/worker/sendMessage.js.map +1 -1
  274. package/dist/plugin/worker/types.d.ts +52 -53
  275. package/dist/plugin/worker/types.d.ts.map +1 -1
  276. package/dist/tsconfig.tsbuildinfo +1 -1
  277. package/package.json +10 -8
  278. package/plugin/components/css-collector-elements.tsx +30 -9
  279. package/plugin/components/css-collector.tsx +13 -22
  280. package/plugin/components/html.tsx +12 -5
  281. package/plugin/config/autoDiscover/resolveAutoDiscover.ts +31 -13
  282. package/plugin/config/defaults.tsx +72 -16
  283. package/plugin/config/resolveAutoDiscoverMatcher.ts +23 -0
  284. package/plugin/config/resolveEnv.ts +20 -12
  285. package/plugin/config/resolveOptions.ts +152 -155
  286. package/plugin/config/resolveUserConfig.ts +20 -5
  287. package/plugin/error/toError.ts +35 -1
  288. package/plugin/helpers/cleanObject.ts +79 -15
  289. package/plugin/helpers/collectViteModuleGraphCss.ts +4 -3
  290. package/plugin/helpers/createCssProps.tsx +26 -9
  291. package/plugin/helpers/createHandler.ts +7 -4
  292. package/plugin/helpers/createRscStream.tsx +20 -14
  293. package/plugin/helpers/index.ts +2 -2
  294. package/plugin/helpers/inputNormalizer.ts +4 -2
  295. package/plugin/helpers/moduleResolver.ts +36 -0
  296. package/plugin/helpers/requestInfo.ts +117 -23
  297. package/plugin/helpers/resolvePage.ts +2 -3
  298. package/plugin/helpers/resolvePageAndProps.ts +7 -6
  299. package/plugin/helpers/serializeUserOptions.ts +20 -2
  300. package/plugin/helpers/sourceMap.ts +182 -0
  301. package/plugin/loader/createBuildLoader.ts +124 -104
  302. package/plugin/loader/createDefaultLoader.ts +62 -0
  303. package/plugin/loader/css-loader.development.ts +3 -2
  304. package/plugin/loader/handleExports.ts +276 -0
  305. package/plugin/loader/index.ts +6 -1
  306. package/plugin/loader/parse.ts +22 -0
  307. package/plugin/loader/react-loader.client.ts +1 -0
  308. package/plugin/loader/react-loader.server.ts +107 -0
  309. package/plugin/loader/react-loader.ts +4 -1002
  310. package/plugin/loader/sourceMap.ts +118 -0
  311. package/plugin/loader/transformModuleIfNeeded.ts +33 -0
  312. package/plugin/loader/transformModuleWithPreservedFunctions.ts +119 -0
  313. package/plugin/loader/types.ts +10 -0
  314. package/plugin/plugin.client.ts +18 -11
  315. package/plugin/plugin.server.ts +6 -3
  316. package/plugin/preserver/plugin.ts +37 -17
  317. package/plugin/react-client/{server.ts → configureWorkerRequestHandler.ts} +22 -12
  318. package/plugin/react-client/createMessageHandlers.ts +21 -13
  319. package/plugin/react-client/createWorkerStream.ts +71 -33
  320. package/plugin/react-client/handleWorkerRscStream.ts +15 -5
  321. package/plugin/react-client/plugin.ts +18 -13
  322. package/plugin/react-client/restartWorker.ts +17 -5
  323. package/plugin/react-server/{server.ts → configureReactServer.ts} +40 -9
  324. package/plugin/react-server/handleServerAction.ts +177 -0
  325. package/plugin/react-server/plugin.ts +8 -3
  326. package/plugin/react-static/collectHtmlWorkerContent.ts +11 -3
  327. package/plugin/react-static/collectRscContent.ts +17 -9
  328. package/plugin/react-static/configurePreviewServer.ts +37 -17
  329. package/plugin/react-static/plugin.ts +45 -22
  330. package/plugin/react-static/renderPage.ts +12 -6
  331. package/plugin/react-static/renderPages.ts +15 -4
  332. package/plugin/react-static/renderStreams.ts +13 -12
  333. package/plugin/source-map/createMappingsSerializer.ts +182 -0
  334. package/plugin/source-map/readMappings.ts +195 -0
  335. package/plugin/transformer/README.md +295 -29
  336. package/plugin/transformer/index.ts +0 -1
  337. package/plugin/transformer/plugin.client.ts +0 -111
  338. package/plugin/transformer/plugin.server.ts +94 -25
  339. package/plugin/types/react-server-dom-esm.d.ts +183 -24
  340. package/plugin/types/sourceMap.d.ts +2 -0
  341. package/plugin/types/webpack-sources.d.ts +24 -0
  342. package/plugin/types.ts +169 -132
  343. package/plugin/utils/createCallServer.ts +21 -6
  344. package/plugin/utils/index.ts +2 -1
  345. package/plugin/vendor/vendor.client.ts +2 -1
  346. package/plugin/vendor/vendor.server.ts +1 -1
  347. package/plugin/worker/createWorker.ts +21 -24
  348. package/plugin/worker/html/createHtmlWorkerRenderState.tsx +31 -7
  349. package/plugin/worker/html/html-worker.development.tsx +16 -16
  350. package/plugin/worker/html/html-worker.production.tsx +3 -19
  351. package/plugin/worker/html/messageHandler.tsx +2 -4
  352. package/plugin/worker/rsc/handleRender.ts +15 -12
  353. package/plugin/worker/rsc/messageHandler.tsx +191 -120
  354. package/plugin/worker/rsc/rsc-worker.development.ts +148 -77
  355. package/plugin/worker/rsc/rsc-worker.production.ts +1 -1
  356. package/plugin/worker/rsc/state.ts +10 -0
  357. package/plugin/worker/sendMessage.ts +32 -14
  358. package/plugin/worker/types.ts +99 -64
  359. package/dist/plugin/react-client/server.d.ts.map +0 -1
  360. package/dist/plugin/react-client/server.js.map +0 -1
  361. package/dist/plugin/react-server/server.d.ts +0 -9
  362. package/dist/plugin/react-server/server.d.ts.map +0 -1
  363. package/dist/plugin/react-server/server.js.map +0 -1
  364. package/dist/plugin/transformer/plugin.client.js.map +0 -1
  365. package/dist/plugin/transformer/upgradeCssModuleCode.d.ts +0 -2
  366. package/dist/plugin/transformer/upgradeCssModuleCode.d.ts.map +0 -1
  367. package/dist/plugin/transformer/upgradeCssModuleCode.js +0 -40
  368. package/dist/plugin/worker/loader.d.ts +0 -5
  369. package/dist/plugin/worker/loader.d.ts.map +0 -1
  370. package/dist/plugin/worker/loader.js +0 -11
  371. package/dist/plugin/worker/loader.js.map +0 -1
  372. package/plugin/transformer/upgradeCssModuleCode.ts +0 -42
  373. package/plugin/worker/loader.ts +0 -7
@@ -1,9 +1,17 @@
1
1
  import { resolveOptions } from "../config/resolveOptions.js";
2
- import type { ResolvedUserOptions, StreamPluginOptions } from "../types.js";
2
+ import type {
3
+ InlineCssOpt,
4
+ PagePropOpt,
5
+ ResolvedUserOptions,
6
+ StreamPluginOptions,
7
+ } from "../types.js";
3
8
  import type { Manifest, Plugin } from "vite";
4
- import { transformModuleIfNeeded } from "../loader/react-loader.js";
5
9
  import { tryManifest } from "../helpers/tryManifest.js";
6
10
  import { join } from "node:path";
11
+ import { setStashedResolve } from "../helpers/moduleResolver.js";
12
+ import { transformModuleIfNeeded } from "../loader/transformModuleIfNeeded.js";
13
+ import { logError } from "../error/toError.js";
14
+
7
15
  /**
8
16
  * Plugin for transforming React Client Components.
9
17
  *
@@ -29,9 +37,13 @@ import { join } from "node:path";
29
37
  * ```
30
38
  */
31
39
  let isBuild = true;
40
+ let isSSR = false;
32
41
 
33
- export function reactTransformPlugin(options: StreamPluginOptions): Plugin {
34
- let userOptions: ResolvedUserOptions;
42
+ export function reactTransformPlugin<
43
+ T extends PagePropOpt = PagePropOpt,
44
+ InlineCSS extends InlineCssOpt = InlineCssOpt
45
+ >(options: StreamPluginOptions<T, InlineCSS>): Plugin {
46
+ let userOptions: ResolvedUserOptions<T, InlineCSS>;
35
47
  const resolvedOptionsResult = resolveOptions(options);
36
48
  if (resolvedOptionsResult.type === "error") throw resolvedOptionsResult.error;
37
49
  userOptions = resolvedOptionsResult.userOptions;
@@ -40,10 +52,11 @@ export function reactTransformPlugin(options: StreamPluginOptions): Plugin {
40
52
 
41
53
  return {
42
54
  name: "vite:react-server-transform",
43
- enforce: "pre", // Run before Vite's transforms
44
- async config(_config, configEnv) {
45
- isBuild = configEnv.command !== "serve";
46
- if (isBuild) {
55
+ enforce: "post", // Run after Vite's transforms
56
+ async configResolved(config) {
57
+ isBuild = config.command === "build";
58
+ isSSR = config.build?.ssr === true;
59
+ if (isBuild && isSSR) {
47
60
  const staticManifestResult = await tryManifest({
48
61
  root: userOptions.projectRoot,
49
62
  ssrManifest: false,
@@ -55,17 +68,44 @@ export function reactTransformPlugin(options: StreamPluginOptions): Plugin {
55
68
  staticManifest = staticManifestResult.manifest;
56
69
  }
57
70
  },
71
+ async resolveId(
72
+ _id: string,
73
+ importer: string | undefined,
74
+ options: {
75
+ attributes: Record<string, string>;
76
+ custom?: any;
77
+ ssr?: boolean;
78
+ isEntry: boolean;
79
+ }
80
+ ) {
81
+ if (!options?.ssr) {
82
+ return null;
83
+ }
84
+ // Set stashedResolve before any transform operations
85
+ setStashedResolve(async (specifier: string) => {
86
+ try {
87
+ const resolved = await this.resolve(specifier, importer, {
88
+ custom: { conditions: ["react-server"] },
89
+ });
90
+ if (!resolved) return null;
91
+ return { id: resolved.id };
92
+ } catch (error) {
93
+ logError(error, this.environment.logger);
94
+ return null;
95
+ }
96
+ });
97
+ return null; // Let Vite handle the resolution
98
+ },
58
99
  async transform(code, id, options) {
59
- const ssr = options?.ssr;
60
- if (!ssr) return null;
61
- if (!userOptions.autoDiscover.modulePattern(id)) return null;
62
- if (!code.match('"use client"')) return null;
63
-
100
+ if (!options?.ssr || !userOptions.autoDiscover.modulePattern(id)) {
101
+ return null;
102
+ }
64
103
  const [key, value] = userOptions.normalizer(id);
104
+ let moduleID = value;
65
105
  if (isBuild) {
66
106
  if (staticManifest) {
67
107
  if (value in staticManifest) {
68
- id = userOptions.moduleID(staticManifest[value].file);
108
+ moduleID = staticManifest[value].file;
69
109
  } else {
70
110
  const hash = this.emitFile({
71
111
  id,
@@ -73,27 +113,56 @@ export function reactTransformPlugin(options: StreamPluginOptions): Plugin {
73
113
  fileName: key + ".js",
74
114
  name: value,
75
115
  });
76
- // get fileName from hash
77
-
78
116
  const fileName = this.getFileName(hash);
79
- id = userOptions.moduleID(fileName);
117
+ moduleID = fileName;
80
118
  }
81
119
  } else {
82
- throw new Error(`Client manifest not found.`);
120
+ throw new Error(`Static manifest not found during dev build.`);
83
121
  }
84
122
  } else {
85
- id = join(userOptions.moduleBasePath, value);
123
+ // For non-SSR builds, just use the normalized path
124
+ moduleID = join(userOptions.moduleBasePath, value);
86
125
  }
87
- const transformed = await transformModuleIfNeeded(
126
+ let finalID = userOptions.moduleID(moduleID);
127
+ // Always transform in server context
128
+ const transformed = transformModuleIfNeeded(
88
129
  code,
89
- id,
90
- // Pass null for nextLoad since we don't need module loading in the plugin
91
- null
130
+ finalID,
131
+ userOptions.autoDiscover.isServerFunction(code),
132
+ userOptions.autoDiscover.isClientComponent(code),
133
+ true
92
134
  );
93
- if (!transformed) return null;
135
+ if (userOptions.verbose)
136
+ if (transformed !== code) {
137
+ if (id !== finalID) {
138
+ this.environment.logger.info(
139
+ "[react-server-transform] " +
140
+ id.split("/").pop() +
141
+ " -> " +
142
+ finalID
143
+ );
144
+ } else {
145
+ this.environment.logger.info(
146
+ "[react-server-transform] " +
147
+ id.split("/").pop() +
148
+ (code.startsWith('"use client"') ? " (client)" : "")
149
+ );
150
+ }
151
+ this.environment.logger.info(
152
+ "[react-server-transform] " + transformed
153
+ );
154
+ }
155
+ if (!transformed) {
156
+ return {
157
+ id: finalID,
158
+ code: "",
159
+ map: null,
160
+ };
161
+ }
162
+
94
163
  return {
164
+ id: finalID,
95
165
  code: transformed,
96
- id: id,
97
166
  map: null,
98
167
  };
99
168
  },
@@ -1,17 +1,135 @@
1
+ declare module 'react-server-dom-esm/client' {
2
+ export interface Options {
3
+ callServer?: (id: string, args: any[]) => Promise<any>;
4
+ moduleBaseURL?: string;
5
+ temporaryReferences?: Map<any, any>;
6
+ signal?: AbortSignal;
7
+ }
8
+
9
+ export function createFromFetch(
10
+ promiseForResponse: Promise<Response>,
11
+ options?: Options
12
+ ): Promise<any>;
13
+
14
+ export function createFromReadableStream(
15
+ stream: ReadableStream,
16
+ options?: Options
17
+ ): Promise<any>;
18
+
19
+ export function createServerReference(
20
+ id: string,
21
+ callServer?: (id: string, args: any[]) => Promise<any>
22
+ ): (...args: any[]) => Promise<any>;
23
+
24
+ export function createTemporaryReferenceSet(): Map<any, any>;
25
+
26
+ export function encodeReply(
27
+ value: unknown,
28
+ options?: {
29
+ signal?: AbortSignal;
30
+ temporaryReferences?: Map<unknown, unknown>;
31
+ }
32
+ ): Promise<FormData>;
33
+
34
+ export function registerServerReference(
35
+ reference: (...args: any[]) => Promise<any>,
36
+ id: string
37
+ ): void;
38
+ }
39
+
40
+ declare module 'react-server-dom-esm/server' {
41
+ export interface Options {
42
+ callServer?: (id: string, args: any[]) => Promise<any>;
43
+ moduleBasePath?: string;
44
+ }
45
+
46
+ export function createTemporaryReferenceSet(): {
47
+ add: (value: any) => void;
48
+ has: (value: any) => boolean;
49
+ };
50
+
51
+ export function decodeAction(
52
+ body: Uint8Array | string,
53
+ serverManifest: any
54
+ ): Promise<any>;
55
+
56
+ export function decodeFormState(
57
+ actionResult: any,
58
+ body: Uint8Array | string,
59
+ serverManifest: any
60
+ ): Promise<any>;
61
+
62
+ export function decodeReply(
63
+ body: Uint8Array | string,
64
+ moduleBasePath: string,
65
+ options?: Options
66
+ ): Promise<any>;
67
+
68
+ export function decodeReplyFromBusboy(
69
+ busboy: any,
70
+ moduleBasePath: string,
71
+ options?: Options
72
+ ): Promise<any>;
73
+
74
+ export function registerClientReference(
75
+ reference: any,
76
+ id: string,
77
+ exportName?: string
78
+ ): void;
79
+
80
+ export function registerServerReference(
81
+ reference: any,
82
+ id: string,
83
+ exportName?: string
84
+ ): void;
85
+
86
+ export function renderToPipeableStream(
87
+ model: React.ReactNode,
88
+ moduleBasePath: string,
89
+ options?: Options
90
+ ): {
91
+ pipe: (writable: NodeJS.WritableStream) => void;
92
+ abort: () => void;
93
+ };
94
+
95
+ export function unstable_prerenderToNodeStream(
96
+ model: React.ReactNode,
97
+ moduleBasePath: string,
98
+ options?: Options
99
+ ): NodeJS.ReadableStream;
100
+ }
101
+
102
+ declare module 'react-server-dom-esm/client.browser' {
103
+ export function createFromFetch(
104
+ promiseForResponse: Promise<Response>,
105
+ options?: {
106
+ callServer?: (id: string, args: any[]) => Promise<any>;
107
+ moduleBaseURL?: string;
108
+ }
109
+ ): Promise<React.ReactNode>;
110
+
111
+ export function createFromReadableStream(
112
+ stream: ReadableStream,
113
+ options?: {
114
+ callServer?: (id: string, args: any[]) => Promise<any>;
115
+ moduleBaseURL?: string;
116
+ }
117
+ ): Promise<React.ReactNode>;
118
+
119
+ export function encodeReply(
120
+ value: unknown,
121
+ options?: {
122
+ signal?: AbortSignal;
123
+ temporaryReferences?: Map<unknown, unknown>;
124
+ }
125
+ ): Promise<FormData>;
126
+ }
127
+
1
128
  declare module 'react-server-dom-esm/server.node' {
2
- import { ReactElement, type Usable } from 'react';
3
- import { Writable } from 'stream';
129
+ import { ReactElement } from 'react';
4
130
 
5
- export function createTemporaryReferenceSet(): WeakMap<any, any>;
131
+ export function createTemporaryReferenceSet(): Set;
6
132
 
7
- /* example
8
- options ? options.onError : void 0,
9
- + options ? options.identifierPrefix : void 0,
10
- + options ? options.onPostpone : void 0,
11
- + options ? options.temporaryReferences : void 0,
12
- + options ? options.environmentName : void 0,
13
- + options ? options.filterStackFrame : void 0,
14
- */
15
133
  export interface ReactServerDomEsmRenderToPipeableStreamOptions {
16
134
  onError?: (error: Error, errorInfo: any) => void;
17
135
  identifierPrefix?: string;
@@ -22,25 +140,53 @@ declare module 'react-server-dom-esm/server.node' {
22
140
  importMap?: {
23
141
  imports?: Record<string, string>;
24
142
  };
143
+ callServer?: (id: string, args: any[]) => Promise<any>;
144
+ callClient?: (id: string, args: any[]) => Promise<any>;
25
145
  }
146
+
26
147
  export function renderToPipeableStream(
27
148
  element: ReactElement,
28
149
  moduleBasePath: string,
29
150
  options?: ReactServerDomEsmRenderToPipeableStreamOptions
30
- ): PipeableStream;
31
- export function decodeReplyFromBusboy(busboyStream: any): Promise<unknown>;
32
- export function decodeReply(reply: string): Promise<unknown>;
33
- export function decodeAction(action: string): Promise<unknown>;
34
- export function decodeFormState(formState: string): Promise<unknown>;
35
- export function registerServerReference(proxy: any, id: string): void;
36
- export function registerClientReference(proxy: any, id: string): void;
151
+ ): {
152
+ pipe: (writable: NodeJS.WritableStream) => void;
153
+ abort: () => void;
154
+ };
37
155
 
156
+ export function decodeReply(
157
+ body: Uint8Array | string,
158
+ moduleBasePath: string,
159
+ ): Promise<any>;
38
160
 
39
- export interface PipeableStream {
40
- pipe: <Writable extends NodeJS.WritableStream>(destination: Writable) => Writable;
41
- abort: () => void;
42
- }
43
- }
161
+ export function decodeAction(
162
+ body: Uint8Array | string,
163
+ serverManifest: any
164
+ ): Promise<any>;
165
+
166
+ export function decodeFormState(
167
+ actionResult: any,
168
+ body: Uint8Array | string,
169
+ serverManifest: any
170
+ ): Promise<any>;
171
+
172
+ export function decodeReplyFromBusboy(
173
+ busboy: any,
174
+ moduleBasePath: string,
175
+ options?: {
176
+ callServer?: (id: string, args: any[]) => Promise<any>;
177
+ callClient?: (id: string, args: any[]) => Promise<any>;
178
+ }
179
+ ): Promise<any>;
180
+
181
+ export function unstable_prerenderToNodeStream(
182
+ model: React.ReactNode,
183
+ moduleBasePath: string,
184
+ options?: {
185
+ callServer?: (id: string, args: any[]) => Promise<any>;
186
+ callClient?: (id: string, args: any[]) => Promise<any>;
187
+ }
188
+ ): NodeJS.ReadableStream;
189
+ }
44
190
 
45
191
  declare module 'react-server-dom-esm/client.node' {
46
192
  import { ReactElement } from 'react';
@@ -49,6 +195,19 @@ declare module 'react-server-dom-esm/client.node' {
49
195
  export interface CreateFromNodeStreamOptions {
50
196
  nonce?: string;
51
197
  encodeFormAction?: (id: string, boundPromise: Promise<unknown>) => string;
198
+ callServer?: (id: string, args: unknown[]) => Promise<unknown>;
52
199
  }
53
- export function createFromNodeStream(stream: NodeJS.ReadableStream, moduleRootPath: string, moduleBaseURL: string, options?: CreateFromNodeStreamOptions): Usable;
200
+ export function createFromNodeStream(
201
+ stream: NodeJS.ReadableStream,
202
+ options?: {
203
+ moduleMap?: Record<string, any>;
204
+ moduleLoading?: {
205
+ loadModule: (id: string) => Promise<any>;
206
+ };
207
+ }
208
+ ): Promise<any>;
209
+ }
210
+
211
+ declare module 'react-server-dom-esm/client' {
212
+ // No exports
54
213
  }
@@ -0,0 +1,2 @@
1
+ import type { SourceMapInput } from "vite";
2
+ export type SourceMap = NonNullable<SourceMapInput>;
@@ -0,0 +1,24 @@
1
+ declare module 'webpack-sources/lib/helpers/readMappings.js' {
2
+ export default function readMappings(
3
+ mappings: string,
4
+ callback: (
5
+ generatedLine: number,
6
+ generatedColumn: number,
7
+ sourceIndex: number,
8
+ originalLine: number,
9
+ originalColumn: number,
10
+ nameIndex: number
11
+ ) => void
12
+ ): void;
13
+ }
14
+
15
+ declare module 'webpack-sources/lib/helpers/createMappingsSerializer.js' {
16
+ export default function createMappingsSerializer(): (
17
+ generatedLine: number,
18
+ generatedColumn: number,
19
+ sourceIndex: number,
20
+ originalLine: number,
21
+ originalColumn: number,
22
+ nameIndex: number
23
+ ) => string;
24
+ }