vite-plugin-react-server 0.3.3 → 0.3.5

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 (488) hide show
  1. package/README.md +113 -222
  2. package/bin/patch.mjs +84 -0
  3. package/dist/_virtual/sourcemap-codec.umd.js +11 -0
  4. package/dist/_virtual/sourcemap-codec.umd.js.map +1 -0
  5. package/dist/_virtual/sourcemap-codec.umd2.js +9 -0
  6. package/dist/_virtual/sourcemap-codec.umd2.js.map +1 -0
  7. package/dist/client.d.ts +3 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/client.js +7 -0
  10. package/dist/client.js.map +1 -0
  11. package/dist/index.d.ts +6 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +32 -3
  14. package/dist/index.js.map +1 -1
  15. package/dist/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js +457 -0
  16. package/dist/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map +1 -0
  17. package/dist/node_modules/magic-string/dist/magic-string.es.js +1283 -0
  18. package/dist/node_modules/magic-string/dist/magic-string.es.js.map +1 -0
  19. package/dist/package.json +131 -0
  20. package/dist/plugin/assertServerCondition.d.ts.map +1 -0
  21. package/dist/plugin/assertServerCondition.js +15 -0
  22. package/dist/plugin/build/createClientBuildConfig.d.ts +3 -0
  23. package/dist/plugin/build/createClientBuildConfig.d.ts.map +1 -0
  24. package/dist/plugin/build/createClientBuildConfig.js +14 -0
  25. package/dist/plugin/build/createServerBuildConfig.d.ts +12 -0
  26. package/dist/plugin/build/createServerBuildConfig.d.ts.map +1 -0
  27. package/dist/plugin/build/createServerBuildConfig.js +40 -0
  28. package/dist/plugin/build/createSharedBuildConfig.d.ts +5 -0
  29. package/dist/plugin/build/createSharedBuildConfig.d.ts.map +1 -0
  30. package/dist/plugin/build/createSharedBuildConfig.js +28 -0
  31. package/dist/plugin/build/mergeInputs.d.ts +9 -0
  32. package/dist/plugin/build/mergeInputs.d.ts.map +1 -0
  33. package/dist/plugin/build/mergeInputs.js +56 -0
  34. package/dist/plugin/checkFilesExist.d.ts +3 -0
  35. package/dist/plugin/checkFilesExist.d.ts.map +1 -0
  36. package/dist/plugin/checkFilesExist.js +78 -0
  37. package/dist/plugin/checkFilesExist.js.map +1 -0
  38. package/dist/{collect-css-manifest.d.ts → plugin/collect-css-manifest.d.ts} +2 -2
  39. package/dist/plugin/collect-css-manifest.d.ts.map +1 -0
  40. package/dist/{src → plugin}/collect-css-manifest.js +8 -5
  41. package/dist/plugin/collect-css-manifest.js.map +1 -0
  42. package/dist/plugin/components.d.ts.map +1 -0
  43. package/dist/{src → plugin}/components.js +9 -4
  44. package/dist/plugin/components.js.map +1 -0
  45. package/dist/plugin/config/defaults.d.ts +51 -0
  46. package/dist/plugin/config/defaults.d.ts.map +1 -0
  47. package/dist/plugin/config/defaults.js +52 -0
  48. package/dist/plugin/config/defaults.js.map +1 -0
  49. package/dist/plugin/config/getCondition.d.ts +2 -0
  50. package/dist/plugin/config/getCondition.d.ts.map +1 -0
  51. package/dist/plugin/config/getCondition.js +11 -0
  52. package/dist/plugin/config/getCondition.js.map +1 -0
  53. package/dist/plugin/config/getPaths.d.ts +5 -0
  54. package/dist/plugin/config/getPaths.d.ts.map +1 -0
  55. package/dist/plugin/config/getPaths.js +21 -0
  56. package/dist/plugin/config/getPaths.js.map +1 -0
  57. package/dist/plugin/config/getWorkerPath.d.ts +2 -0
  58. package/dist/plugin/config/getWorkerPath.d.ts.map +1 -0
  59. package/dist/plugin/config/getWorkerPath.js +4 -0
  60. package/dist/plugin/config/index.d.ts +8 -0
  61. package/dist/plugin/config/index.d.ts.map +1 -0
  62. package/dist/plugin/config/index.js +7 -0
  63. package/dist/plugin/config/moduleIdDefault.d.ts +8 -0
  64. package/dist/plugin/config/moduleIdDefault.d.ts.map +1 -0
  65. package/dist/plugin/config/moduleIdDefault.js +23 -0
  66. package/dist/plugin/config/moduleIdDefault.js.map +1 -0
  67. package/dist/plugin/config/resolveOptions.d.ts +9 -0
  68. package/dist/plugin/config/resolveOptions.d.ts.map +1 -0
  69. package/dist/plugin/config/resolveOptions.js +56 -0
  70. package/dist/plugin/config/resolveOptions.js.map +1 -0
  71. package/dist/plugin/config/resolvePages.d.ts +9 -0
  72. package/dist/plugin/config/resolvePages.d.ts.map +1 -0
  73. package/dist/plugin/config/resolvePages.js +38 -0
  74. package/dist/plugin/config/resolvePages.js.map +1 -0
  75. package/dist/plugin/config/resolveUserConfig.d.ts +18 -0
  76. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -0
  77. package/dist/plugin/config/resolveUserConfig.js +84 -0
  78. package/dist/plugin/config/resolveUserConfig.js.map +1 -0
  79. package/dist/plugin/copy-dir.d.ts.map +1 -0
  80. package/dist/plugin/copy-dir.js +20 -0
  81. package/dist/plugin/getCondition.d.ts +2 -0
  82. package/dist/plugin/getCondition.d.ts.map +1 -0
  83. package/dist/plugin/getCondition.js +1 -0
  84. package/dist/plugin/getEnv.d.ts.map +1 -0
  85. package/dist/plugin/getEnv.js +107 -0
  86. package/dist/plugin/helpers/createClientInputNormalizer.d.ts +8 -0
  87. package/dist/plugin/helpers/createClientInputNormalizer.d.ts.map +1 -0
  88. package/dist/plugin/helpers/createClientInputNormalizer.js +35 -0
  89. package/dist/plugin/helpers/createServerInputNormalizer.d.ts +9 -0
  90. package/dist/plugin/helpers/createServerInputNormalizer.d.ts.map +1 -0
  91. package/dist/plugin/helpers/createServerInputNormalizer.js +37 -0
  92. package/dist/plugin/helpers/createStaticInputNormalizer.d.ts +7 -0
  93. package/dist/plugin/helpers/createStaticInputNormalizer.d.ts.map +1 -0
  94. package/dist/plugin/helpers/createStaticInputNormalizer.js +18 -0
  95. package/dist/plugin/helpers/getModuleManifest.d.ts +12 -0
  96. package/dist/plugin/helpers/getModuleManifest.d.ts.map +1 -0
  97. package/dist/plugin/helpers/getModuleManifest.js +24 -0
  98. package/dist/plugin/helpers/getModuleManifest.js.map +1 -0
  99. package/dist/plugin/helpers/inputNormalizer.d.ts +3 -0
  100. package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -0
  101. package/dist/plugin/helpers/inputNormalizer.js +35 -0
  102. package/dist/plugin/helpers/inputNormalizer.js.map +1 -0
  103. package/dist/plugin/helpers/inputNormalizerWorker.d.ts +11 -0
  104. package/dist/plugin/helpers/inputNormalizerWorker.d.ts.map +1 -0
  105. package/dist/plugin/helpers/inputNormalizerWorker.js +30 -0
  106. package/dist/plugin/helpers/normalizedRelativePath.d.ts.map +1 -0
  107. package/dist/plugin/helpers/normalizedRelativePath.js +36 -0
  108. package/dist/plugin/helpers/resolveFilePath.d.ts +13 -0
  109. package/dist/plugin/helpers/resolveFilePath.d.ts.map +1 -0
  110. package/dist/plugin/helpers/resolveFilePath.js +74 -0
  111. package/dist/plugin/helpers/resolveWorkerModule.d.ts +6 -0
  112. package/dist/plugin/helpers/resolveWorkerModule.d.ts.map +1 -0
  113. package/dist/plugin/helpers/resolveWorkerModule.js +24 -0
  114. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -0
  115. package/dist/{src → plugin}/helpers/tryManifest.js +11 -6
  116. package/dist/plugin/helpers/tryManifest.js.map +1 -0
  117. package/dist/plugin/helpers/validateModuleBase.d.ts +3 -0
  118. package/dist/plugin/helpers/validateModuleBase.d.ts.map +1 -0
  119. package/dist/plugin/helpers/validateModuleBase.js +16 -0
  120. package/dist/plugin/helpers/validateResolvedConfig.d.ts +3 -0
  121. package/dist/plugin/helpers/validateResolvedConfig.d.ts.map +1 -0
  122. package/dist/plugin/helpers/validateResolvedConfig.js +17 -0
  123. package/dist/plugin/index.d.ts +3 -0
  124. package/dist/plugin/index.d.ts.map +1 -0
  125. package/dist/plugin/index.js +1 -0
  126. package/dist/plugin/loader/createBuildLoader.d.ts +9 -0
  127. package/dist/plugin/loader/createBuildLoader.d.ts.map +1 -0
  128. package/dist/plugin/loader/createBuildLoader.js +52 -0
  129. package/dist/plugin/loader/createBuildLoader.js.map +1 -0
  130. package/dist/plugin/loader/createCssLoader.d.ts +30 -0
  131. package/dist/plugin/loader/createCssLoader.d.ts.map +1 -0
  132. package/dist/plugin/loader/createCssLoader.js +35 -0
  133. package/dist/{html → plugin/loader}/createPageLoader.d.ts +2 -4
  134. package/dist/plugin/loader/createPageLoader.d.ts.map +1 -0
  135. package/dist/plugin/loader/createPageLoader.js +57 -0
  136. package/dist/plugin/manifest.d.ts.map +1 -0
  137. package/dist/plugin/manifest.js +13 -0
  138. package/dist/plugin/module-graph.d.ts.map +1 -0
  139. package/dist/plugin/module-graph.js +35 -0
  140. package/dist/plugin/plugin.d.ts +7 -0
  141. package/dist/plugin/plugin.d.ts.map +1 -0
  142. package/dist/plugin/plugin.js +8 -0
  143. package/dist/plugin/preserver/index.d.ts +2 -0
  144. package/dist/plugin/preserver/index.d.ts.map +1 -0
  145. package/dist/plugin/preserver/index.js +1 -0
  146. package/dist/plugin/preserver/plugin.d.ts +4 -0
  147. package/dist/plugin/preserver/plugin.d.ts.map +1 -0
  148. package/dist/plugin/preserver/plugin.js +90 -0
  149. package/dist/plugin/preserver/plugin.js.map +1 -0
  150. package/dist/plugin/react-client/index.d.ts +2 -0
  151. package/dist/plugin/react-client/index.d.ts.map +1 -0
  152. package/dist/plugin/react-client/index.js +1 -0
  153. package/dist/plugin/react-client/plugin.d.ts +4 -0
  154. package/dist/plugin/react-client/plugin.d.ts.map +1 -0
  155. package/dist/plugin/react-client/plugin.js +34 -0
  156. package/dist/plugin/react-client/plugin.js.map +1 -0
  157. package/dist/plugin/react-server/createDevMiddleware.d.ts.map +1 -0
  158. package/dist/plugin/react-server/createDevMiddleware.js +68 -0
  159. package/dist/plugin/react-server/createDevServer.d.ts.map +1 -0
  160. package/dist/plugin/react-server/createDevServer.js +4 -0
  161. package/dist/plugin/react-server/createHandler.d.ts +17 -0
  162. package/dist/plugin/react-server/createHandler.d.ts.map +1 -0
  163. package/dist/{src → plugin}/react-server/createHandler.js +28 -17
  164. package/dist/plugin/react-server/createHandler.js.map +1 -0
  165. package/dist/plugin/react-server/createReactNodeStreamer.d.ts.map +1 -0
  166. package/dist/plugin/react-server/createReactNodeStreamer.js +7 -0
  167. package/dist/{react-server → plugin/react-server}/createRscStream.d.ts +1 -1
  168. package/dist/plugin/react-server/createRscStream.d.ts.map +1 -0
  169. package/dist/{src → plugin}/react-server/createRscStream.js +14 -13
  170. package/dist/plugin/react-server/createRscStream.js.map +1 -0
  171. package/dist/{react-server → plugin/react-server}/createSsrHandler.d.ts +1 -1
  172. package/dist/plugin/react-server/createSsrHandler.d.ts.map +1 -0
  173. package/dist/plugin/react-server/createSsrHandler.js +102 -0
  174. package/dist/plugin/react-server/index.d.ts +4 -0
  175. package/dist/plugin/react-server/index.d.ts.map +1 -0
  176. package/dist/plugin/react-server/index.js +10 -0
  177. package/dist/{react-server → plugin/react-server}/plugin.d.ts +2 -2
  178. package/dist/plugin/react-server/plugin.d.ts.map +1 -0
  179. package/dist/plugin/react-server/plugin.js +375 -0
  180. package/dist/plugin/react-server/plugin.js.map +1 -0
  181. package/dist/plugin/resolvePage.d.ts.map +1 -0
  182. package/dist/{src → plugin}/resolvePage.js +8 -4
  183. package/dist/plugin/resolvePage.js.map +1 -0
  184. package/dist/plugin/resolveProps.d.ts.map +1 -0
  185. package/dist/{src → plugin}/resolveProps.js +21 -8
  186. package/dist/plugin/resolveProps.js.map +1 -0
  187. package/dist/plugin/server.d.ts +2 -0
  188. package/dist/plugin/server.d.ts.map +1 -0
  189. package/dist/plugin/server.js +1 -0
  190. package/dist/plugin/transformer/index.d.ts +2 -0
  191. package/dist/plugin/transformer/index.d.ts.map +1 -0
  192. package/dist/plugin/transformer/index.js +1 -0
  193. package/dist/{transformer/index.d.ts → plugin/transformer/plugin.d.ts} +3 -3
  194. package/dist/plugin/transformer/plugin.d.ts.map +1 -0
  195. package/dist/plugin/transformer/plugin.js +86 -0
  196. package/dist/plugin/transformer/plugin.js.map +1 -0
  197. package/dist/plugin/transformer/transformer-client-components.d.ts +21 -0
  198. package/dist/plugin/transformer/transformer-client-components.d.ts.map +1 -0
  199. package/dist/plugin/transformer/transformer-client-components.js +61 -0
  200. package/dist/plugin/transformer/transformer-client-components.js.map +1 -0
  201. package/dist/{transformer/transformer.d.ts → plugin/transformer/transformer-server-actions.d.ts} +3 -4
  202. package/dist/plugin/transformer/transformer-server-actions.d.ts.map +1 -0
  203. package/dist/plugin/transformer/transformer-server-actions.js +76 -0
  204. package/dist/plugin/transformer/transformer-server-actions.js.map +1 -0
  205. package/dist/plugin/transformer/types.d.ts.map +1 -0
  206. package/dist/plugin/transformer/types.js +1 -0
  207. package/dist/plugin/types.d.ts +225 -0
  208. package/dist/plugin/types.d.ts.map +1 -0
  209. package/dist/plugin/types.js +1 -0
  210. package/dist/plugin/worker/createWorker.d.ts +15 -0
  211. package/dist/plugin/worker/createWorker.d.ts.map +1 -0
  212. package/dist/plugin/worker/createWorker.js +71 -0
  213. package/dist/plugin/worker/createWorker.js.map +1 -0
  214. package/dist/plugin/worker/html/html-worker.d.ts +2 -0
  215. package/dist/plugin/worker/html/html-worker.d.ts.map +1 -0
  216. package/dist/plugin/worker/html/html-worker.development.d.ts +2 -0
  217. package/dist/plugin/worker/html/html-worker.development.d.ts.map +1 -0
  218. package/dist/plugin/worker/html/html-worker.development.js +12 -0
  219. package/dist/plugin/worker/html/html-worker.development.js.map +1 -0
  220. package/dist/plugin/worker/html/html-worker.js +4 -0
  221. package/dist/plugin/worker/html/html-worker.production.d.ts +2 -0
  222. package/dist/plugin/worker/html/html-worker.production.d.ts.map +1 -0
  223. package/dist/plugin/worker/html/html-worker.production.js +12 -0
  224. package/dist/plugin/worker/html/html-worker.production.js.map +1 -0
  225. package/dist/plugin/worker/html/index.d.ts +2 -0
  226. package/dist/plugin/worker/html/index.d.ts.map +1 -0
  227. package/dist/plugin/worker/html/index.js +7 -0
  228. package/dist/plugin/worker/html/index.js.map +1 -0
  229. package/dist/plugin/worker/html/messageHandler.d.ts +3 -0
  230. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -0
  231. package/dist/plugin/worker/html/messageHandler.js +98 -0
  232. package/dist/plugin/worker/html/messageHandler.js.map +1 -0
  233. package/dist/plugin/worker/html/plugin.d.ts +4 -0
  234. package/dist/plugin/worker/html/plugin.d.ts.map +1 -0
  235. package/dist/plugin/worker/html/plugin.js +89 -0
  236. package/dist/plugin/worker/html/renderPages.d.ts +38 -0
  237. package/dist/plugin/worker/html/renderPages.d.ts.map +1 -0
  238. package/dist/plugin/worker/html/renderPages.js +121 -0
  239. package/dist/plugin/worker/html/renderPages.js.map +1 -0
  240. package/dist/plugin/worker/loader.d.ts.map +1 -0
  241. package/dist/plugin/worker/loader.js +11 -0
  242. package/dist/plugin/worker/loader.js.map +1 -0
  243. package/dist/plugin/worker/plugin.d.ts +10 -0
  244. package/dist/plugin/worker/plugin.d.ts.map +1 -0
  245. package/dist/plugin/worker/plugin.js +14 -0
  246. package/dist/plugin/worker/rsc/createRscStream.d.ts +5 -0
  247. package/dist/plugin/worker/rsc/createRscStream.d.ts.map +1 -0
  248. package/dist/plugin/worker/rsc/createRscStream.js +39 -0
  249. package/dist/plugin/worker/rsc/createRscStream.js.map +1 -0
  250. package/dist/plugin/worker/rsc/development.d.ts +5 -0
  251. package/dist/plugin/worker/rsc/development.d.ts.map +1 -0
  252. package/dist/plugin/worker/rsc/development.js +13 -0
  253. package/dist/plugin/worker/rsc/development.js.map +1 -0
  254. package/dist/plugin/worker/rsc/index.d.ts +4 -0
  255. package/dist/plugin/worker/rsc/index.d.ts.map +1 -0
  256. package/dist/plugin/worker/rsc/index.js +15 -0
  257. package/dist/plugin/worker/rsc/index.js.map +1 -0
  258. package/dist/plugin/worker/rsc/plugin.d.ts +4 -0
  259. package/dist/plugin/worker/rsc/plugin.d.ts.map +1 -0
  260. package/dist/plugin/worker/rsc/plugin.js +82 -0
  261. package/dist/plugin/worker/rsc/plugin.js.map +1 -0
  262. package/dist/plugin/worker/rsc/production.d.ts +5 -0
  263. package/dist/plugin/worker/rsc/production.d.ts.map +1 -0
  264. package/dist/plugin/worker/rsc/production.js +13 -0
  265. package/dist/plugin/worker/rsc/production.js.map +1 -0
  266. package/dist/plugin/worker/rsc/rsc-worker.d.ts +2 -0
  267. package/dist/plugin/worker/rsc/rsc-worker.d.ts.map +1 -0
  268. package/dist/plugin/worker/rsc/rsc-worker.js +106 -0
  269. package/dist/plugin/worker/types.d.ts +99 -0
  270. package/dist/plugin/worker/types.d.ts.map +1 -0
  271. package/dist/plugin/worker/types.js +1 -0
  272. package/dist/server.d.ts +4 -1
  273. package/dist/server.d.ts.map +1 -1
  274. package/dist/server.js +9 -0
  275. package/dist/server.js.map +1 -0
  276. package/dist/tsconfig.tsbuildinfo +1 -0
  277. package/dist/types.d.ts +1 -201
  278. package/dist/types.d.ts.map +1 -1
  279. package/dist/types.js +1 -0
  280. package/package.json +44 -25
  281. package/plugin/build/createClientBuildConfig.ts +21 -0
  282. package/plugin/build/createServerBuildConfig.ts +66 -0
  283. package/plugin/build/createSharedBuildConfig.ts +35 -0
  284. package/plugin/build/mergeInputs.ts +58 -0
  285. package/plugin/checkFilesExist.ts +82 -0
  286. package/{src → plugin}/collect-css-manifest.ts +4 -2
  287. package/plugin/config/defaults.ts +44 -0
  288. package/plugin/config/getCondition.ts +3 -0
  289. package/plugin/config/getPaths.ts +25 -0
  290. package/plugin/config/getWorkerPath.ts +5 -0
  291. package/plugin/config/index.ts +8 -0
  292. package/plugin/config/moduleIdDefault.ts +23 -0
  293. package/plugin/config/resolveOptions.ts +53 -0
  294. package/plugin/config/resolvePages.ts +43 -0
  295. package/plugin/config/resolveUserConfig.ts +97 -0
  296. package/{src → plugin}/getEnv.ts +1 -1
  297. package/plugin/helpers/createClientInputNormalizer.ts +48 -0
  298. package/plugin/helpers/createServerInputNormalizer.ts +52 -0
  299. package/plugin/helpers/createStaticInputNormalizer.ts +26 -0
  300. package/plugin/helpers/getModuleManifest.ts +31 -0
  301. package/plugin/helpers/inputNormalizer.ts +39 -0
  302. package/plugin/helpers/inputNormalizerWorker.ts +47 -0
  303. package/plugin/helpers/resolveFilePath.ts +108 -0
  304. package/plugin/helpers/resolveWorkerModule.ts +41 -0
  305. package/plugin/helpers/validateModuleBase.ts +30 -0
  306. package/plugin/helpers/validateResolvedConfig.ts +21 -0
  307. package/plugin/index.ts +2 -0
  308. package/plugin/loader/createBuildLoader.ts +60 -0
  309. package/plugin/loader/createCssLoader.ts +73 -0
  310. package/{src/html → plugin/loader}/createPageLoader.ts +35 -27
  311. package/plugin/plugin.ts +8 -0
  312. package/plugin/preserver/index.ts +1 -0
  313. package/plugin/preserver/plugin.ts +110 -0
  314. package/plugin/react-client/index.ts +1 -0
  315. package/plugin/react-client/plugin.ts +33 -0
  316. package/{src → plugin}/react-server/createDevMiddleware.ts +17 -1
  317. package/{src → plugin}/react-server/createDevServer.ts +0 -1
  318. package/{src → plugin}/react-server/createHandler.ts +31 -10
  319. package/{src → plugin}/react-server/createReactNodeStreamer.ts +1 -0
  320. package/{src → plugin}/react-server/createRscStream.ts +8 -12
  321. package/{src → plugin}/react-server/createSsrHandler.ts +16 -19
  322. package/plugin/react-server/index.ts +13 -0
  323. package/plugin/react-server/plugin.ts +465 -0
  324. package/{src → plugin}/resolvePage.ts +1 -1
  325. package/{src → plugin}/resolveProps.ts +15 -6
  326. package/plugin/server.tsx +0 -0
  327. package/plugin/transformer/index.ts +1 -0
  328. package/plugin/transformer/plugin.ts +131 -0
  329. package/plugin/transformer/transformer-client-components.ts +94 -0
  330. package/{src/transformer/transformer.ts → plugin/transformer/transformer-server-actions.ts} +14 -27
  331. package/{src → plugin}/types.ts +97 -55
  332. package/plugin/worker/createWorker.ts +84 -0
  333. package/plugin/worker/html/html-worker.development.tsx +8 -0
  334. package/plugin/worker/html/html-worker.production.tsx +8 -0
  335. package/plugin/worker/html/html-worker.ts +5 -0
  336. package/plugin/worker/html/index.ts +5 -0
  337. package/plugin/worker/html/messageHandler.ts +116 -0
  338. package/plugin/worker/html/plugin.ts +97 -0
  339. package/plugin/worker/html/renderPages.ts +187 -0
  340. package/plugin/worker/plugin.ts +17 -0
  341. package/plugin/worker/rsc/createRscStream.ts +42 -0
  342. package/plugin/worker/rsc/development.ts +6 -0
  343. package/plugin/worker/rsc/index.ts +14 -0
  344. package/plugin/worker/rsc/plugin.ts +83 -0
  345. package/plugin/worker/rsc/production.ts +6 -0
  346. package/plugin/worker/rsc/rsc-worker.tsx +128 -0
  347. package/plugin/worker/types.ts +124 -0
  348. package/scripts/bump-version.mjs +68 -0
  349. package/scripts/check-react-version.mjs +66 -0
  350. package/scripts/react+0.0.0-experimental-b3a95caf-20250113.patch +4291 -0
  351. package/scripts/react-dom+0.0.0-experimental-b3a95caf-20250113.patch +108798 -0
  352. package/scripts/react-server-dom-esm+0.0.0-experimental-b3a95caf-20250113.patch +24775 -0
  353. package/{patches → scripts}/react-server-dom-esm+0.0.1.patch +10259 -3
  354. package/tsconfig.json +15 -13
  355. package/dist/assertServerCondition.d.ts.map +0 -1
  356. package/dist/bin/patch.js +0 -51
  357. package/dist/bin/patch.js.map +0 -1
  358. package/dist/build/createBuildConfig.d.ts +0 -13
  359. package/dist/build/createBuildConfig.d.ts.map +0 -1
  360. package/dist/build/mergeInputs.d.ts +0 -5
  361. package/dist/build/mergeInputs.d.ts.map +0 -1
  362. package/dist/checkFilesExist.d.ts +0 -8
  363. package/dist/checkFilesExist.d.ts.map +0 -1
  364. package/dist/collect-css-manifest.d.ts.map +0 -1
  365. package/dist/components.d.ts.map +0 -1
  366. package/dist/copy-dir.d.ts.map +0 -1
  367. package/dist/getEnv.d.ts.map +0 -1
  368. package/dist/helpers/inputNormalizer.d.ts +0 -6
  369. package/dist/helpers/inputNormalizer.d.ts.map +0 -1
  370. package/dist/helpers/normalizedRelativePath.d.ts.map +0 -1
  371. package/dist/helpers/tryManifest.d.ts.map +0 -1
  372. package/dist/html/createPageLoader.d.ts.map +0 -1
  373. package/dist/manifest.d.ts.map +0 -1
  374. package/dist/module-graph.d.ts.map +0 -1
  375. package/dist/options.d.ts +0 -91
  376. package/dist/options.d.ts.map +0 -1
  377. package/dist/plugin.d.ts +0 -3
  378. package/dist/plugin.d.ts.map +0 -1
  379. package/dist/react-client/plugin.d.ts +0 -4
  380. package/dist/react-client/plugin.d.ts.map +0 -1
  381. package/dist/react-client/plugin.js +0 -28
  382. package/dist/react-client/plugin.js.map +0 -1
  383. package/dist/react-server/createDevMiddleware.d.ts.map +0 -1
  384. package/dist/react-server/createDevServer.d.ts.map +0 -1
  385. package/dist/react-server/createHandler.d.ts +0 -23
  386. package/dist/react-server/createHandler.d.ts.map +0 -1
  387. package/dist/react-server/createReactNodeStreamer.d.ts.map +0 -1
  388. package/dist/react-server/createRscStream.d.ts.map +0 -1
  389. package/dist/react-server/createSsrHandler.d.ts.map +0 -1
  390. package/dist/react-server/plugin.d.ts.map +0 -1
  391. package/dist/react-server/plugin.js +0 -345
  392. package/dist/react-server/plugin.js.map +0 -1
  393. package/dist/resolvePage.d.ts.map +0 -1
  394. package/dist/resolveProps.d.ts.map +0 -1
  395. package/dist/src/build/createBuildConfig.js +0 -44
  396. package/dist/src/build/createBuildConfig.js.map +0 -1
  397. package/dist/src/build/mergeInputs.js +0 -16
  398. package/dist/src/build/mergeInputs.js.map +0 -1
  399. package/dist/src/checkFilesExist.js +0 -61
  400. package/dist/src/checkFilesExist.js.map +0 -1
  401. package/dist/src/collect-css-manifest.js.map +0 -1
  402. package/dist/src/components.js.map +0 -1
  403. package/dist/src/getEnv.js +0 -76
  404. package/dist/src/getEnv.js.map +0 -1
  405. package/dist/src/helpers/inputNormalizer.js +0 -11
  406. package/dist/src/helpers/inputNormalizer.js.map +0 -1
  407. package/dist/src/helpers/normalizedRelativePath.js +0 -34
  408. package/dist/src/helpers/normalizedRelativePath.js.map +0 -1
  409. package/dist/src/helpers/tryManifest.js.map +0 -1
  410. package/dist/src/html/createPageLoader.js +0 -72
  411. package/dist/src/html/createPageLoader.js.map +0 -1
  412. package/dist/src/options.js +0 -307
  413. package/dist/src/options.js.map +0 -1
  414. package/dist/src/react-server/createHandler.js.map +0 -1
  415. package/dist/src/react-server/createRscStream.js.map +0 -1
  416. package/dist/src/resolvePage.js.map +0 -1
  417. package/dist/src/resolveProps.js.map +0 -1
  418. package/dist/src/worker/createHtmlStream.js +0 -62
  419. package/dist/src/worker/createHtmlStream.js.map +0 -1
  420. package/dist/src/worker/createWorker.js +0 -34
  421. package/dist/src/worker/createWorker.js.map +0 -1
  422. package/dist/src/worker/renderPages.js +0 -99
  423. package/dist/src/worker/renderPages.js.map +0 -1
  424. package/dist/transformer/index.d.ts.map +0 -1
  425. package/dist/transformer/preserveDirectives.d.ts +0 -4
  426. package/dist/transformer/preserveDirectives.d.ts.map +0 -1
  427. package/dist/transformer/preserver.d.ts +0 -2
  428. package/dist/transformer/preserver.d.ts.map +0 -1
  429. package/dist/transformer/transformer.d.ts.map +0 -1
  430. package/dist/transformer/types.d.ts.map +0 -1
  431. package/dist/worker/createHtmlStream.d.ts +0 -7
  432. package/dist/worker/createHtmlStream.d.ts.map +0 -1
  433. package/dist/worker/createWorker.d.ts +0 -10
  434. package/dist/worker/createWorker.d.ts.map +0 -1
  435. package/dist/worker/loader.d.ts.map +0 -1
  436. package/dist/worker/loader.js +0 -7
  437. package/dist/worker/loader.js.map +0 -1
  438. package/dist/worker/renderPages.d.ts +0 -18
  439. package/dist/worker/renderPages.d.ts.map +0 -1
  440. package/dist/worker/types.d.ts +0 -31
  441. package/dist/worker/types.d.ts.map +0 -1
  442. package/dist/worker/worker.d.ts +0 -7
  443. package/dist/worker/worker.d.ts.map +0 -1
  444. package/dist/worker/worker.js +0 -112
  445. package/dist/worker/worker.js.map +0 -1
  446. package/src/build/createBuildConfig.ts +0 -57
  447. package/src/build/mergeInputs.ts +0 -42
  448. package/src/checkFilesExist.ts +0 -67
  449. package/src/helpers/inputNormalizer.ts +0 -22
  450. package/src/index.ts +0 -4
  451. package/src/options.ts +0 -423
  452. package/src/plugin.ts +0 -5
  453. package/src/react-client/plugin.ts +0 -34
  454. package/src/react-server/plugin.ts +0 -409
  455. package/src/transformer/index.ts +0 -112
  456. package/src/transformer/preserveDirectives.ts +0 -100
  457. package/src/transformer/preserver.ts +0 -47
  458. package/src/worker/createHtmlStream.ts +0 -76
  459. package/src/worker/createWorker.ts +0 -44
  460. package/src/worker/renderPages.ts +0 -144
  461. package/src/worker/types.ts +0 -38
  462. package/src/worker/worker.tsx +0 -136
  463. /package/dist/{assertServerCondition.d.ts → plugin/assertServerCondition.d.ts} +0 -0
  464. /package/dist/{components.d.ts → plugin/components.d.ts} +0 -0
  465. /package/dist/{copy-dir.d.ts → plugin/copy-dir.d.ts} +0 -0
  466. /package/dist/{getEnv.d.ts → plugin/getEnv.d.ts} +0 -0
  467. /package/dist/{helpers → plugin/helpers}/normalizedRelativePath.d.ts +0 -0
  468. /package/dist/{helpers → plugin/helpers}/tryManifest.d.ts +0 -0
  469. /package/dist/{manifest.d.ts → plugin/manifest.d.ts} +0 -0
  470. /package/dist/{module-graph.d.ts → plugin/module-graph.d.ts} +0 -0
  471. /package/dist/{react-server → plugin/react-server}/createDevMiddleware.d.ts +0 -0
  472. /package/dist/{react-server → plugin/react-server}/createDevServer.d.ts +0 -0
  473. /package/dist/{react-server → plugin/react-server}/createReactNodeStreamer.d.ts +0 -0
  474. /package/dist/{resolvePage.d.ts → plugin/resolvePage.d.ts} +0 -0
  475. /package/dist/{resolveProps.d.ts → plugin/resolveProps.d.ts} +0 -0
  476. /package/dist/{transformer → plugin/transformer}/types.d.ts +0 -0
  477. /package/dist/{worker → plugin/worker}/loader.d.ts +0 -0
  478. /package/{src → plugin}/assertServerCondition.ts +0 -0
  479. /package/{src → plugin}/components.tsx +0 -0
  480. /package/{src → plugin}/copy-dir.ts +0 -0
  481. /package/{src/server.tsx → plugin/getCondition.ts} +0 -0
  482. /package/{src → plugin}/helpers/normalizedRelativePath.ts +0 -0
  483. /package/{src → plugin}/helpers/tryManifest.ts +0 -0
  484. /package/{src → plugin}/manifest.ts +0 -0
  485. /package/{src → plugin}/module-graph.ts +0 -0
  486. /package/{src → plugin}/transformer/README.md +0 -0
  487. /package/{src → plugin}/transformer/types.ts +0 -0
  488. /package/{src → plugin}/worker/loader.ts +0 -0
package/dist/types.d.ts CHANGED
@@ -1,202 +1,2 @@
1
- import type { AliasOptions, BuildOptions, Connect, Logger, Manifest, ModuleGraph, UserConfig, ViteDevServer } from "vite";
2
- export interface StreamPluginOptionsClient {
3
- outDir?: string;
4
- build?: BuildConfig;
5
- assetsDir?: string;
6
- projectRoot?: string;
7
- moduleBase?: string;
8
- moduleBasePath?: string;
9
- moduleBaseURL?: string;
10
- clientComponents?: AliasOptions;
11
- cssFiles?: AliasOptions;
12
- }
13
- export type ResolvedUserOptions = Required<Pick<StreamPluginOptions, "moduleBase" | "moduleBasePath" | "moduleBaseURL" | "projectRoot" | "build" | "Page" | "props" | "Html" | "pageExportName" | "propsExportName" | "collectCss" | "collectAssets" | "assetsDir" | "workerPath" | "loaderPath" | "clientEntry" | "serverOutDir" | "clientOutDir" | "moduleBaseExceptions">> & {
14
- build: NonNullable<Required<StreamPluginOptions["build"]>>;
15
- autoDiscover: NonNullable<Required<StreamPluginOptions["autoDiscover"]>>;
16
- };
17
- export type ResolvedUserConfig = Required<Pick<UserConfig, "root" | "mode">> & Omit<UserConfig, "root" | "mode" | "build"> & {
18
- build: Required<Pick<BuildOptions, "target" | "outDir" | "assetsDir" | "ssr" | "ssrEmitAssets" | "ssrManifest" | "manifest">> & Partial<Omit<BuildOptions, "target" | "outDir" | "assetsDir" | "ssr" | "ssrEmitAssets" | "ssrManifest" | "manifest">>;
19
- };
20
- export interface StreamPluginOptions {
21
- projectRoot?: string;
22
- assetsDir?: string;
23
- moduleBase?: string;
24
- moduleBasePath?: string;
25
- moduleBaseURL?: string;
26
- clientEntry?: string;
27
- serverOutDir?: string;
28
- clientOutDir?: string;
29
- autoDiscover?: {
30
- pagePattern?: string;
31
- propsPattern?: string;
32
- };
33
- Page: string | ((url: string) => string);
34
- props?: undefined | string | ((url: string) => string);
35
- workerPath?: string;
36
- loaderPath?: string;
37
- pageExportName?: string;
38
- propsExportName?: string;
39
- Html?: React.FC<{
40
- manifest: Manifest;
41
- pageProps: any;
42
- route: string;
43
- url: string;
44
- children: React.ReactNode;
45
- }>;
46
- collectCss?: boolean;
47
- collectAssets?: boolean;
48
- build?: BuildConfig;
49
- moduleBaseExceptions?: string[];
50
- }
51
- export interface CreateHandlerOptions<T = any> {
52
- loader: (id: string) => Promise<T>;
53
- manifest?: Manifest;
54
- moduleGraph?: ModuleGraph;
55
- cssFiles?: string[];
56
- onCssFile?: (path: string) => void;
57
- logger?: Logger;
58
- pipableStreamOptions?: any;
59
- }
60
- export type ModuleLoader = (url: string, context?: any, defaultLoad?: any) => Promise<Record<string, any>>;
61
- export interface BaseProps {
62
- manifest: Manifest;
63
- children?: React.ReactNode;
64
- assets?: {
65
- css?: string[];
66
- };
67
- }
68
- export type StreamResult = {
69
- type: "success";
70
- stream: any;
71
- assets?: {
72
- css?: string[];
73
- };
74
- } | {
75
- type: "error";
76
- error: unknown;
77
- } | {
78
- type: "skip";
79
- };
80
- export interface RscStreamOptions {
81
- Page: React.ComponentType;
82
- props: any;
83
- Html: any;
84
- logger?: Console | Logger;
85
- cssFiles?: string[];
86
- route: string;
87
- url: string;
88
- pipableStreamOptions?: any;
89
- moduleBasePath: string;
90
- }
91
- export interface RouteConfig {
92
- path: string;
93
- pattern?: {
94
- page?: string;
95
- props?: string;
96
- };
97
- paths?: {
98
- page: string;
99
- props: string;
100
- };
101
- }
102
- export interface BuildOutput {
103
- dir?: string;
104
- rsc?: string;
105
- ext?: string;
106
- }
107
- export interface BuildConfig {
108
- pages: string[] | (() => Promise<string[]> | string[]);
109
- client?: string;
110
- server?: string;
111
- }
112
- export interface RscResolver {
113
- /**
114
- * Get RSC data for static generation
115
- * @param path - Route path (e.g. "/", "/about")
116
- */
117
- getRscData: (path: string) => Promise<{
118
- Page: React.ComponentType;
119
- props: any;
120
- }>;
121
- }
122
- export interface Options {
123
- include?: RegExp;
124
- projectRoot?: string;
125
- moduleBase: string;
126
- moduleBasePath?: string;
127
- Html?: React.ComponentType<React.PropsWithChildren<{
128
- manifest: Manifest;
129
- }>>;
130
- Page: string | ((url: string) => string);
131
- props?: string | ((url: string) => string);
132
- pageExportName?: string;
133
- propsExportName?: string;
134
- collectCss?: boolean;
135
- collectAssets?: boolean;
136
- emitCss?: boolean;
137
- moduleLoader?: (server: ViteDevServer) => ModuleLoader;
138
- build?: BuildConfig;
139
- outDir?: string;
140
- /**
141
- * Configure static asset copying
142
- * - true: Copy all assets
143
- * - false: Don't copy assets
144
- * - Function: Custom filter for which files to copy
145
- */
146
- copyAssets?: boolean | ((file: string) => boolean);
147
- }
148
- export type RequestHandler = Connect.NextHandleFunction;
149
- export interface SsrStreamOptions {
150
- url: string;
151
- controller: AbortController;
152
- loader: (id: string) => Promise<any>;
153
- Html: any;
154
- options: StreamPluginOptions;
155
- pageExportName: string;
156
- propsExportName: string;
157
- moduleGraph: any;
158
- bootstrapModules?: string[];
159
- importMap?: Record<string, string[]>;
160
- clientComponents?: boolean;
161
- onlyClientComponents?: boolean;
162
- }
163
- export type RscServerConfig = {
164
- /** How to get RSC data (e.g. HTTP, direct import, etc) */
165
- getRscComponent: (url: string) => React.Usable<React.ReactNode>;
166
- /** Base URL for client assets */
167
- clientBase?: string;
168
- /** SSR stream rendering options */
169
- ssrOptions?: SsrStreamOptions;
170
- };
171
- export interface RscServerModule {
172
- /**
173
- * Get RSC data for a route
174
- * @param path - Route path (e.g. "/", "/about")
175
- * @returns Page component and props
176
- */
177
- getRscData: (path: string) => Promise<{
178
- /** Page component to render */
179
- Page: React.ComponentType;
180
- /** Props to pass to the page */
181
- props: any;
182
- }>;
183
- }
184
- export interface RegisterComponentMessage {
185
- type: "REGISTER_COMPONENT";
186
- id: string;
187
- code: string;
188
- }
189
- export type RscBuildResult = string[];
190
- export interface ReactStreamPluginMeta {
191
- timing: BuildTiming;
192
- }
193
- export interface BuildTiming {
194
- start: number;
195
- configResolved?: number;
196
- buildStart?: number;
197
- buildEnd?: number;
198
- renderStart?: number;
199
- renderEnd?: number;
200
- total?: number;
201
- }
1
+ export type * from './plugin/types.js';
202
2
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AACA,mBAAmB,mBAAmB,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,37 +1,47 @@
1
1
  {
2
2
  "name": "vite-plugin-react-server",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "description": "Vite plugin for React Server Components (RSC)",
5
5
  "type": "module",
6
- "main": "./dist/index.js",
7
- "module": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
6
+ "main": "./dist/plugin/index.js",
7
+ "module": "./dist/plugin/index.js",
8
+ "types": "./dist/plugin/index.d.ts",
9
9
  "files": [
10
10
  "dist",
11
- "src",
12
- "patches",
11
+ "plugin",
12
+ "bin",
13
+ "scripts",
13
14
  "README.md",
14
15
  "LICENSE",
15
16
  "tsconfig.json"
16
17
  ],
17
18
  "exports": {
18
- ".": "./dist/index.js",
19
+ ".": "./dist/plugin/index.js",
19
20
  "./client": "./dist/client.js",
20
21
  "./server": "./dist/server.js",
21
- "./worker": "./dist/worker/worker.js",
22
- "./loader": "./dist/worker/loader.js",
23
- "./package.json": "./package.json"
22
+ "./html-worker": "./dist/plugin/worker/html-worker.js",
23
+ "./rsc-worker": "./dist/plugin/worker/rsc-worker.js",
24
+ "./loader": "./dist/plugin/worker/loader.js",
25
+ "./package.json": "./package.json",
26
+ "./patch": "./scripts/patch.mjs",
27
+ "./check-react-version": "./scripts/check-react-version.mjs"
24
28
  },
25
29
  "typesVersions": {
26
30
  "*": {
27
31
  ".": [
28
- "./dist/index.d.ts"
32
+ "./dist/plugin/index.d.ts"
29
33
  ],
30
34
  "client": [
31
- "./dist/react-client/plugin.d.ts"
35
+ "./dist/plugin/react-client/plugin.d.ts"
32
36
  ],
33
37
  "server": [
34
- "./dist/react-server/plugin.d.ts"
38
+ "./dist/plugin/react-server/plugin.d.ts"
39
+ ],
40
+ "worker": [
41
+ "./dist/plugin/worker/worker.d.ts"
42
+ ],
43
+ "loader": [
44
+ "./dist/plugin/worker/loader.d.ts"
35
45
  ]
36
46
  }
37
47
  },
@@ -42,20 +52,23 @@
42
52
  "version:patch": "node scripts/bump-version.mjs patch",
43
53
  "build": "npm run clean && npm run build:types && npm run build:vite",
44
54
  "build:types": "tsc --build --force",
45
- "build:vite": "vite build && chmod +x dist/bin/patch.js",
55
+ "build:vite": "vite build && chmod +x bin/patch.mjs",
46
56
  "clean": "rm -rf dist",
47
57
  "prepublishOnly": "npm run build",
48
58
  "lint": "eslint ./src --fix",
49
59
  "test:server": "NODE_OPTIONS='--conditions react-server' vitest run",
50
60
  "test:client": "vitest run",
51
- "test": "npm run test:client && npm run test:server",
61
+ "test": "npm run build && npm run test:client && NODE_ENV=development npm run test:server",
52
62
  "test:coverage": "vitest run --coverage",
53
63
  "test:ui": "vitest --ui",
54
- "experimental:copy": "cp -r ./oss-experimental/react-server-dom-esm ./node_modules/",
55
- "experimental:patch": "npx patch-package react-server-dom-esm --exclude 'nothing'",
56
- "experimental:setup": "npm run experimental:copy && npm run experimental:patch",
64
+ "experimental:copy": "cp -r ./oss-experimental/* ./node_modules/",
65
+ "experimental:patch": "npx patch-package react-server-dom-esm --exclude 'nothing' && npx patch-package react react-dom",
66
+ "experimental:move-patches": "mv patches/* ./scripts/",
67
+ "experimental:setup": "rm -rf patches/* && npm install react-server-dom-esm react@canary react-dom@canary && npm run experimental:copy && npm run experimental:patch && npm run experimental:move-patches && node scripts/check-react-version.mjs",
57
68
  "experimental:check": "node scripts/check-react-version.mjs",
58
- "postinstall": "npm run experimental:check && patch-package"
69
+ "postinstall": "npm install react-server-dom-esm && node scripts/check-react-version.mjs && patch-package",
70
+ "start": "cd template; NODE_OPTIONS='--conditions react-server' npx vite",
71
+ "template:build": "cd template && NODE_OPTIONS='--conditions react-server' npx vite build"
59
72
  },
60
73
  "keywords": [
61
74
  "vite",
@@ -84,10 +97,13 @@
84
97
  },
85
98
  "peerDependenciesMeta": {
86
99
  "react": {
87
- "optional": true
100
+ "optional": false
88
101
  },
89
102
  "react-dom": {
90
- "optional": true
103
+ "optional": false
104
+ },
105
+ "vite": {
106
+ "optional": false
91
107
  }
92
108
  },
93
109
  "devDependencies": {
@@ -96,17 +112,20 @@
96
112
  "@types/react-dom": "^19.0.3",
97
113
  "acorn-loose": "^8.3.0",
98
114
  "patch-package": "^8.0.0",
99
- "react": "^19.1.0-canary-bb9a24d9-20250130",
100
- "react-dom": "^19.1.0-canary-bb9a24d9-20250130",
115
+ "react": "^19.1.0-canary-8759c5c8-20250207",
116
+ "react-dom": "^19.1.0-canary-8759c5c8-20250207",
101
117
  "react-server-dom-esm": "^0.0.1",
118
+ "rollup": "^4.34.0",
119
+ "rollup-plugin-dts": "^6.1.1",
102
120
  "source-map": "^0.7.4",
103
121
  "ts-node": "^10.9.2",
122
+ "tslib": "^2.8.1",
104
123
  "typescript": "^5.7.3",
105
- "vite": "^5.4.14",
124
+ "vite": "^6.0.11",
106
125
  "vitest": "^3.0.4",
107
126
  "webpack-sources": "^3.2.0"
108
127
  },
109
128
  "bin": {
110
- "vite-react-stream-patch": "./dist/bin/patch.js"
129
+ "vite-plugin-react-server-patch": "./dist/scripts/check-react-version.mjs"
111
130
  }
112
131
  }
@@ -0,0 +1,21 @@
1
+ import { mergeInputsAsync } from "./mergeInputs.js";
2
+ import type { createBuildConfigFn } from "../types.js";
3
+
4
+
5
+ export const createClientBuildConfig: createBuildConfigFn<'react-client'> = async ({
6
+ userConfig,
7
+ inputNormalizer
8
+ }) => {
9
+ const { input: inputConfig, ...restRollupOptions } = userConfig.build.rollupOptions ?? {};
10
+
11
+ return {
12
+ ...userConfig,
13
+ build: {
14
+ ...userConfig.build,
15
+ rollupOptions: {
16
+ ...restRollupOptions,
17
+ input: await mergeInputsAsync({}, inputConfig, inputNormalizer),
18
+ }
19
+ }
20
+ };
21
+ };
@@ -0,0 +1,66 @@
1
+ import { join } from "node:path";
2
+ import type { ResolvedUserConfig, ResolvedUserOptions } from "../types.js";
3
+ import type { UserConfig } from "vite";
4
+
5
+ interface CreateServerBuildConfigProps {
6
+ condition: string;
7
+ userConfig: ResolvedUserConfig;
8
+ userOptions: ResolvedUserOptions;
9
+ mode: string;
10
+ inputNormalizer: any;
11
+ }
12
+
13
+ export async function createServerBuildConfig({
14
+ userConfig,
15
+ userOptions,
16
+ mode,
17
+ }: CreateServerBuildConfigProps): Promise<UserConfig> {
18
+ const { build, appType, mode: configMode, ...restUserConfig } = userConfig;
19
+ const { outDir, ssr, target, assetsDir, manifest, ssrManifest, ssrEmitAssets, rollupOptions, ...restBuildOptions } = build ?? {};
20
+ const { input, output, ...restRollupOptions } = rollupOptions ?? {};
21
+ const {
22
+ format,
23
+ preserveModules,
24
+ hoistTransitiveImports,
25
+ esModule,
26
+ entryFileNames,
27
+ chunkFileNames,
28
+ assetFileNames,
29
+ ...restOutputOptions
30
+ } = output && !Array.isArray(output) ? output : {};
31
+
32
+ const resolvedBuildConfig = {
33
+ build: {
34
+ ssr: ssr ?? true,
35
+ target: target ?? 'es2020',
36
+ outDir: outDir ?? userOptions.build.server,
37
+ assetsDir: assetsDir ?? '',
38
+ manifest: manifest ?? true,
39
+ ssrManifest: ssrManifest ?? true,
40
+ ssrEmitAssets: ssrEmitAssets ?? true,
41
+ rollupOptions: {
42
+ input: {
43
+ 'client': join(userOptions.projectRoot, userOptions.clientEntry)
44
+ },
45
+ output: {
46
+ format: format ?? 'esm',
47
+ preserveModules: preserveModules ?? true,
48
+ hoistTransitiveImports: hoistTransitiveImports ?? false,
49
+ esModule: esModule ?? true,
50
+ entryFileNames: entryFileNames ?? '[name].js',
51
+ chunkFileNames: chunkFileNames ?? '[name].js',
52
+ assetFileNames: assetFileNames ?? '[name][extname]',
53
+ ...restOutputOptions
54
+ },
55
+ ...restRollupOptions
56
+ },
57
+ ...restBuildOptions
58
+ },
59
+ appType: appType ?? 'mpa',
60
+ mode: mode ?? 'production',
61
+ ...restUserConfig
62
+ };
63
+
64
+ console.log('resolvedBuildConfig', resolvedBuildConfig);
65
+ return resolvedBuildConfig;
66
+ }
@@ -0,0 +1,35 @@
1
+ import type { InputOption } from "rollup";
2
+ import type { UserConfig } from "vite";
3
+
4
+ export function validateModuleBase(
5
+ input: InputOption,
6
+ moduleBase: string,
7
+ moduleBaseExceptions: string[]
8
+ ) {
9
+ for (const [key, value] of Object.entries(input)) {
10
+ const isException = moduleBaseExceptions.includes(key) || ["/index", "index"].includes(key);
11
+ if (!key.includes("/")) return;
12
+ if (value.startsWith("//")) {
13
+ throw new Error(`Path shouldn't start with //`);
14
+ }
15
+ if (!key.startsWith(moduleBase) && !isException) {
16
+ throw new Error(`Invalid input: ${key} does not start with ${moduleBase}`);
17
+ }
18
+ if (!value.startsWith("/" + moduleBase) && !isException) {
19
+ throw new Error(`Invalid value: ${value} does not start with ${moduleBase}`);
20
+ }
21
+ }
22
+ }
23
+
24
+ export function createSharedBuildConfig(config: UserConfig, rollupOptions: any): UserConfig {
25
+ return {
26
+ ...config,
27
+ build: {
28
+ ...config.build,
29
+ rollupOptions: {
30
+ ...config.build?.rollupOptions,
31
+ ...rollupOptions
32
+ }
33
+ }
34
+ };
35
+ }
@@ -0,0 +1,58 @@
1
+ import type { InputOption } from "rollup";
2
+ import type { InputNormalizer, InputNormalizerWorker } from "../types.js";
3
+
4
+ export const mergeInputsAsync = async (
5
+ input: { [key: string]: string },
6
+ input2: InputOption | undefined,
7
+ inputNormalizer: InputNormalizerWorker
8
+ ): Promise<Record<string, string>> => {
9
+ if(typeof input === "undefined"){
10
+ throw new Error("The first input can not be undefined");
11
+ } else if(typeof input2 === "undefined") {
12
+ return input;
13
+ } else if(Array.isArray(input2)) {
14
+ const inputsFromArray = Object.fromEntries(await Promise.all(input2.map(async (input)=>inputNormalizer(input))))
15
+ return {
16
+ ...input,
17
+ ...inputsFromArray,
18
+ }
19
+ } else if(typeof input2 === "object" && input2 != null) {
20
+ return { ...input, ...input2 };
21
+ } else if (typeof input2 === "string") {
22
+ const [key, value] = await inputNormalizer(input2)
23
+ return {
24
+ ...input,
25
+ [key]: value,
26
+ }
27
+ } else {
28
+ throw new Error(`Invalid input: ${input2}`);
29
+ }
30
+ }
31
+
32
+ export const mergeInputs = (
33
+ input: { [key: string]: string },
34
+ input2: InputOption | undefined,
35
+ inputNormalizer: InputNormalizer
36
+ ): Record<string, string> => {
37
+ if(typeof input === "undefined"){
38
+ throw new Error("The first input can not be undefined");
39
+ } else if(typeof input2 === "undefined") {
40
+ return input;
41
+ } else if(Array.isArray(input2)) {
42
+ const inputsFromArray = Object.fromEntries(input2.map(inputNormalizer))
43
+ return {
44
+ ...input,
45
+ ...inputsFromArray,
46
+ }
47
+ } else if(typeof input2 === "object" && input2 != null) {
48
+ return { ...input, ...input2 };
49
+ } else if (typeof input2 === "string") {
50
+ const [key, value] = inputNormalizer(input2)
51
+ return {
52
+ ...input,
53
+ [key]: value,
54
+ }
55
+ } else {
56
+ throw new Error(`Invalid input: ${input2}`);
57
+ }
58
+ };
@@ -0,0 +1,82 @@
1
+ import { existsSync } from "node:fs";
2
+ import { resolve, relative } from "node:path";
3
+ import type { CheckFilesExistReturn, StreamPluginOptions } from "./types.js";
4
+ import { DEFAULT_CONFIG } from "./config/defaults.js";
5
+
6
+ export async function checkFilesExist(
7
+ pages: string[],
8
+ options: Pick<StreamPluginOptions, "Page" | "props">,
9
+ root: string
10
+ ): Promise<CheckFilesExistReturn> {
11
+ const errors: string[] = [];
12
+ const pageSet = new Set<string>();
13
+ const pageMap = new Map<string, string>();
14
+
15
+ const toKey = (path: string) => {
16
+ return relative(root, resolve(root, path))
17
+ .replace(/\\/g, '/')
18
+ .replace(DEFAULT_CONFIG.FILE_REGEX, '')
19
+ .replace(/^\.\//, '');
20
+ }
21
+ // Check if files exist when string paths are provided
22
+ if (typeof options.Page === "string") {
23
+ const pagePath = options.Page;
24
+ const fullPagePath = resolve(root, pagePath);
25
+ const key = toKey(pagePath);
26
+ pageMap.set(key, pagePath);
27
+ if (!pageSet.has(key)) {
28
+ if (!existsSync(fullPagePath)) {
29
+ errors.push(`Page file not found: ${pagePath}, ${fullPagePath}`);
30
+ }
31
+ pageSet.add(pagePath.replace(/^\//, ''));
32
+ }
33
+ } else if (typeof options.Page === "function" && pages) {
34
+ for (const page of pages) {
35
+ const pagePath = options.Page(page);
36
+ const fullPagePath = resolve(root, pagePath);
37
+ const key = toKey(pagePath);
38
+ pageMap.set(key, pagePath);
39
+ if (pageSet.has(key)) {
40
+ continue;
41
+ }
42
+ if (!existsSync(fullPagePath)) {
43
+ errors.push(`Page file not found: ${pagePath}, ${fullPagePath}`);
44
+ }
45
+ pageSet.add(pagePath);
46
+ }
47
+ }
48
+
49
+ const propsSet = new Set<string>();
50
+ const propsMap = new Map<string, string>();
51
+ if (typeof options.props === "string") {
52
+ const propsPath = options.props;
53
+ const fullPropsPath = resolve(root, propsPath);
54
+ const key = toKey(propsPath);
55
+ propsMap.set(key, propsPath);
56
+ if (!propsSet.has(key)) {
57
+ if (!existsSync(fullPropsPath)) {
58
+ errors.push(`Props file not found: ${propsPath}, ${fullPropsPath}`);
59
+ }
60
+ propsSet.add(propsPath);
61
+ }
62
+ } else if (typeof options.props === "function" && pages) {
63
+ for (const page of pages) {
64
+ const propsPath = options.props(page);
65
+ const fullPropsPath = resolve(root, propsPath);
66
+ const key = toKey(propsPath);
67
+ propsMap.set(key, propsPath);
68
+ if (propsSet.has(key)) {
69
+ continue;
70
+ }
71
+ if (!existsSync(fullPropsPath)) {
72
+ errors.push(`Props file not found: ${propsPath}, ${fullPropsPath}`);
73
+ }
74
+ propsSet.add(propsPath);
75
+ }
76
+ }
77
+
78
+ if (errors.length) {
79
+ console.warn("React Stream Plugin Validation:\n" + errors.join("\n"));
80
+ }
81
+ return { pageMap, pageSet, propsMap, propsSet };
82
+ }
@@ -1,8 +1,9 @@
1
- import type { Manifest, ModuleGraph } from "vite";
1
+ import type { Manifest, ModuleGraph } from 'vite';
2
2
 
3
3
  export async function collectModuleGraphCss(
4
4
  moduleGraph: ModuleGraph,
5
- pagePath: string
5
+ pagePath: string,
6
+ onCss?: (path: string) => void
6
7
  ) {
7
8
  if (!pagePath) return new Map<string, string>();
8
9
 
@@ -17,6 +18,7 @@ export async function collectModuleGraphCss(
17
18
  seen.add(mod.id);
18
19
  if (mod?.id?.endsWith(".css")) {
19
20
  cssFiles.set(mod?.url, mod?.id);
21
+ onCss?.(mod?.url);
20
22
  }
21
23
  mod?.importedModules?.forEach((imp: any) => walkModule(imp));
22
24
  };