vite-plugin-react-server 1.1.10 → 1.1.11

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 (361) hide show
  1. package/README.md +208 -27
  2. package/dist/package.json +34 -14
  3. package/dist/plugin/{css-collector-elements.d.ts → components/css-collector-elements.d.ts} +1 -1
  4. package/dist/plugin/components/css-collector-elements.d.ts.map +1 -0
  5. package/dist/plugin/components/css-collector-elements.js.map +1 -0
  6. package/dist/plugin/{css-collector.d.ts → components/css-collector.d.ts} +1 -1
  7. package/dist/plugin/components/css-collector.d.ts.map +1 -0
  8. package/dist/plugin/components/css-collector.js.map +1 -0
  9. package/dist/plugin/components/html.d.ts +4 -0
  10. package/dist/plugin/components/html.d.ts.map +1 -0
  11. package/dist/plugin/components/html.js +17 -0
  12. package/dist/plugin/components/html.js.map +1 -0
  13. package/dist/plugin/components/index.d.ts +5 -0
  14. package/dist/plugin/components/index.d.ts.map +1 -0
  15. package/dist/plugin/components.js +9 -3
  16. package/dist/plugin/components.js.map +1 -0
  17. package/dist/plugin/config/autoDiscover/index.d.ts +6 -0
  18. package/dist/plugin/config/autoDiscover/index.d.ts.map +1 -0
  19. package/dist/plugin/config/autoDiscover/index.js +8 -0
  20. package/dist/plugin/config/{resolveAutoDiscover.d.ts → autoDiscover/resolveAutoDiscover.d.ts} +1 -1
  21. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -0
  22. package/dist/plugin/config/{resolveAutoDiscover.js → autoDiscover/resolveAutoDiscover.js} +10 -9
  23. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js.map +1 -0
  24. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts.map +1 -1
  25. package/dist/plugin/config/autoDiscover/resolveBuildPages.js +10 -10
  26. package/dist/plugin/config/autoDiscover/resolveBuildPages.js.map +1 -1
  27. package/dist/plugin/config/defaults.d.ts +4 -3
  28. package/dist/plugin/config/defaults.d.ts.map +1 -1
  29. package/dist/plugin/config/defaults.js +5 -3
  30. package/dist/plugin/config/defaults.js.map +1 -1
  31. package/dist/plugin/config/index.d.ts +1 -0
  32. package/dist/plugin/config/index.d.ts.map +1 -1
  33. package/dist/plugin/config/index.js +1 -0
  34. package/dist/plugin/config/resolveEnv.d.ts +11 -1
  35. package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
  36. package/dist/plugin/config/resolveEnv.js +104 -5
  37. package/dist/plugin/config/resolveEnv.js.map +1 -1
  38. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  39. package/dist/plugin/config/resolveOptions.js +11 -4
  40. package/dist/plugin/config/resolveOptions.js.map +1 -1
  41. package/dist/plugin/config/resolveUrlOption.d.ts +1 -1
  42. package/dist/plugin/config/resolveUrlOption.d.ts.map +1 -1
  43. package/dist/plugin/config/resolveUrlOption.js +1 -2
  44. package/dist/plugin/config/resolveUrlOption.js.map +1 -1
  45. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  46. package/dist/plugin/config/resolveUserConfig.js +43 -18
  47. package/dist/plugin/config/resolveUserConfig.js.map +1 -1
  48. package/dist/plugin/config.js +17 -0
  49. package/dist/plugin/config.js.map +1 -0
  50. package/dist/plugin/env/index.d.ts +2 -0
  51. package/dist/plugin/env/index.d.ts.map +1 -0
  52. package/dist/plugin/env/index.js +1 -0
  53. package/dist/plugin/env/plugin.d.ts +30 -0
  54. package/dist/plugin/env/plugin.d.ts.map +1 -0
  55. package/dist/plugin/env/plugin.js +64 -0
  56. package/dist/plugin/env.js +45 -0
  57. package/dist/plugin/env.js.map +1 -0
  58. package/dist/plugin/error/toError.d.ts +6 -0
  59. package/dist/plugin/error/toError.d.ts.map +1 -0
  60. package/dist/plugin/error/toError.js +19 -0
  61. package/dist/plugin/error/toError.js.map +1 -0
  62. package/dist/plugin/file-preserver/plugin.d.ts +19 -0
  63. package/dist/plugin/file-preserver/plugin.d.ts.map +1 -0
  64. package/dist/plugin/file-preserver/plugin.js +108 -0
  65. package/dist/plugin/file-preserver.js +96 -0
  66. package/dist/plugin/file-preserver.js.map +1 -0
  67. package/dist/plugin/helpers/createEventHandler.d.ts +1 -1
  68. package/dist/plugin/helpers/createRscStream.js +1 -1
  69. package/dist/plugin/helpers/createRscStream.js.map +1 -1
  70. package/dist/plugin/helpers/formatMetrics.d.ts +3 -1
  71. package/dist/plugin/helpers/formatMetrics.d.ts.map +1 -1
  72. package/dist/plugin/helpers/formatMetrics.js +22 -7
  73. package/dist/plugin/helpers/formatMetrics.js.map +1 -0
  74. package/dist/plugin/helpers/getRouteFiles.d.ts +1 -1
  75. package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
  76. package/dist/plugin/helpers/getRouteFiles.js +37 -18
  77. package/dist/plugin/helpers/getRouteFiles.js.map +1 -0
  78. package/dist/plugin/helpers/index.d.ts +24 -0
  79. package/dist/plugin/helpers/index.d.ts.map +1 -0
  80. package/dist/plugin/helpers/index.js +31 -0
  81. package/dist/plugin/helpers/metrics.js +26 -2
  82. package/dist/plugin/helpers/metrics.js.map +1 -1
  83. package/dist/plugin/helpers/moduleRefs.d.ts.map +1 -0
  84. package/dist/plugin/helpers/moduleRefs.js.map +1 -0
  85. package/dist/plugin/helpers/requestInfo.d.ts +10 -0
  86. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  87. package/dist/plugin/helpers/requestInfo.js.map +1 -1
  88. package/dist/plugin/helpers/requestToRoute.js +22 -14
  89. package/dist/plugin/helpers/requestToRoute.js.map +1 -0
  90. package/dist/plugin/helpers/resolvePage.d.ts.map +1 -0
  91. package/dist/plugin/{resolvePage.js → helpers/resolvePage.js} +19 -3
  92. package/dist/plugin/helpers/resolvePage.js.map +1 -0
  93. package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
  94. package/dist/plugin/helpers/resolvePageAndProps.js +7 -4
  95. package/dist/plugin/helpers/resolvePageAndProps.js.map +1 -1
  96. package/dist/plugin/helpers/resolveProps.d.ts.map +1 -0
  97. package/dist/plugin/{resolveProps.js → helpers/resolveProps.js} +9 -6
  98. package/dist/plugin/helpers/resolveProps.js.map +1 -0
  99. package/dist/plugin/helpers/serializeUserOptions.js +1 -1
  100. package/dist/plugin/helpers/serializeUserOptions.js.map +1 -1
  101. package/dist/plugin/helpers/stashReturnValue.js +19 -13
  102. package/dist/plugin/helpers/stashReturnValue.js.map +1 -0
  103. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
  104. package/dist/plugin/helpers/tryManifest.js +0 -1
  105. package/dist/plugin/helpers/tryManifest.js.map +1 -1
  106. package/dist/plugin/helpers.js +27 -0
  107. package/dist/plugin/helpers.js.map +1 -0
  108. package/dist/plugin/loader/createBuildLoader.js +1 -1
  109. package/dist/plugin/loader/createBuildLoader.js.map +1 -1
  110. package/dist/plugin/loader/env-loader.development.d.ts +12 -0
  111. package/dist/plugin/loader/env-loader.development.d.ts.map +1 -0
  112. package/dist/plugin/loader/env-loader.development.js +60 -0
  113. package/dist/plugin/plugin.client.d.ts.map +1 -1
  114. package/dist/plugin/plugin.client.js +2 -0
  115. package/dist/plugin/plugin.client.js.map +1 -1
  116. package/dist/plugin/plugin.d.ts.map +1 -1
  117. package/dist/plugin/plugin.js +1 -2
  118. package/dist/plugin/plugin.server.d.ts.map +1 -1
  119. package/dist/plugin/plugin.server.js +3 -0
  120. package/dist/plugin/plugin.server.js.map +1 -1
  121. package/dist/plugin/process-env.d.ts +14 -0
  122. package/dist/plugin/process-env.d.ts.map +1 -0
  123. package/dist/plugin/react-client/createMessageHandlers.d.ts +2 -1
  124. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  125. package/dist/plugin/react-client/createMessageHandlers.js +13 -2
  126. package/dist/plugin/react-client/createMessageHandlers.js.map +1 -1
  127. package/dist/plugin/react-client/createWorkerStream.d.ts +8 -2
  128. package/dist/plugin/react-client/createWorkerStream.d.ts.map +1 -1
  129. package/dist/plugin/react-client/createWorkerStream.js +49 -8
  130. package/dist/plugin/react-client/createWorkerStream.js.map +1 -1
  131. package/dist/plugin/react-client/handleWorkerRscStream.d.ts +19 -0
  132. package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +1 -0
  133. package/dist/plugin/react-client/handleWorkerRscStream.js +47 -0
  134. package/dist/plugin/react-client/handleWorkerRscStream.js.map +1 -0
  135. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  136. package/dist/plugin/react-client/plugin.js +18 -2
  137. package/dist/plugin/react-client/plugin.js.map +1 -1
  138. package/dist/plugin/react-client/restartWorker.d.ts +6 -1
  139. package/dist/plugin/react-client/restartWorker.d.ts.map +1 -1
  140. package/dist/plugin/react-client/restartWorker.js +13 -5
  141. package/dist/plugin/react-client/restartWorker.js.map +1 -1
  142. package/dist/plugin/react-client/server.d.ts +2 -13
  143. package/dist/plugin/react-client/server.d.ts.map +1 -1
  144. package/dist/plugin/react-client/server.js +112 -99
  145. package/dist/plugin/react-client/server.js.map +1 -1
  146. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  147. package/dist/plugin/react-server/plugin.js +18 -8
  148. package/dist/plugin/react-server/plugin.js.map +1 -1
  149. package/dist/plugin/react-server/server.d.ts.map +1 -1
  150. package/dist/plugin/react-server/server.js +28 -12
  151. package/dist/plugin/react-server/server.js.map +1 -1
  152. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +1 -1
  153. package/dist/plugin/react-static/collectHtmlWorkerContent.js +9 -0
  154. package/dist/plugin/react-static/collectHtmlWorkerContent.js.map +1 -1
  155. package/dist/plugin/react-static/fileWriter.d.ts +1 -1
  156. package/dist/plugin/react-static/fileWriter.d.ts.map +1 -1
  157. package/dist/plugin/react-static/fileWriter.js.map +1 -1
  158. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  159. package/dist/plugin/react-static/plugin.js +19 -27
  160. package/dist/plugin/react-static/plugin.js.map +1 -1
  161. package/dist/plugin/root.d.ts +1 -0
  162. package/dist/plugin/root.d.ts.map +1 -1
  163. package/dist/plugin/root.js +3 -2
  164. package/dist/plugin/root.js.map +1 -1
  165. package/dist/plugin/transformer/upgradeCssModuleCode.d.ts +1 -10
  166. package/dist/plugin/transformer/upgradeCssModuleCode.d.ts.map +1 -1
  167. package/dist/plugin/transformer/upgradeCssModuleCode.js +40 -38
  168. package/dist/plugin/types.d.ts +57 -15
  169. package/dist/plugin/types.d.ts.map +1 -1
  170. package/dist/plugin/types.js +1 -1
  171. package/dist/plugin/utils/callServer.d.ts +1 -1
  172. package/dist/plugin/utils/callServer.d.ts.map +1 -1
  173. package/dist/plugin/utils/callServer.js +2 -16
  174. package/dist/plugin/utils/callServer.js.map +1 -1
  175. package/dist/plugin/utils/createCallServer.d.ts +2 -0
  176. package/dist/plugin/utils/createCallServer.d.ts.map +1 -0
  177. package/dist/plugin/utils/createCallServer.js +28 -0
  178. package/dist/plugin/utils/createCallServer.js.map +1 -0
  179. package/dist/plugin/utils/createReactFetcher.d.ts +3 -1
  180. package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -1
  181. package/dist/plugin/utils/createReactFetcher.js +7 -5
  182. package/dist/plugin/utils/createReactFetcher.js.map +1 -1
  183. package/dist/plugin/utils/env.js.map +1 -1
  184. package/dist/plugin/utils/envUrls.d.ts +9 -0
  185. package/dist/plugin/utils/envUrls.d.ts.map +1 -0
  186. package/dist/plugin/utils/envUrls.js +7 -0
  187. package/dist/plugin/utils/envUrls.node.d.ts +7 -0
  188. package/dist/plugin/utils/envUrls.node.d.ts.map +1 -0
  189. package/dist/plugin/utils/envUrls.node.js +11 -0
  190. package/dist/plugin/utils/envUrls.node.js.map +1 -0
  191. package/dist/plugin/utils/index.d.ts +1 -1
  192. package/dist/plugin/utils/index.d.ts.map +1 -1
  193. package/dist/plugin/utils/index.js +1 -1
  194. package/dist/plugin/utils/moduleBaseURL.d.ts +3 -0
  195. package/dist/plugin/utils/moduleBaseURL.d.ts.map +1 -0
  196. package/dist/plugin/utils/moduleBaseURL.js +4 -0
  197. package/dist/plugin/utils/urls.d.ts +130 -0
  198. package/dist/plugin/utils/urls.d.ts.map +1 -0
  199. package/dist/plugin/utils/urls.js +87 -0
  200. package/dist/plugin/utils/urls.js.map +1 -0
  201. package/dist/plugin/utils.js +1 -1
  202. package/dist/plugin/vendor/index.d.ts +2 -0
  203. package/dist/plugin/vendor/index.d.ts.map +1 -0
  204. package/dist/plugin/vendor/index.js +1 -0
  205. package/dist/plugin/vendor/vendor.client.d.ts.map +1 -0
  206. package/dist/plugin/vendor/vendor.client.js.map +1 -0
  207. package/dist/plugin/vendor/vendor.d.ts +2 -0
  208. package/dist/plugin/vendor/vendor.d.ts.map +1 -0
  209. package/dist/plugin/vendor/vendor.js +15 -0
  210. package/dist/plugin/vendor/vendor.js.map +1 -0
  211. package/dist/plugin/vendor/vendor.server.d.ts.map +1 -0
  212. package/dist/plugin/vendor/vendor.server.js.map +1 -0
  213. package/dist/plugin/vendor.js +7 -0
  214. package/dist/plugin/vendor.js.map +1 -0
  215. package/dist/plugin/worker/createWorker.d.ts +3 -0
  216. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  217. package/dist/plugin/worker/createWorker.js +33 -20
  218. package/dist/plugin/worker/createWorker.js.map +1 -1
  219. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +1 -1
  220. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js.map +1 -1
  221. package/dist/plugin/worker/html/html-worker.development.js.map +1 -1
  222. package/dist/plugin/worker/html/html-worker.production.js.map +1 -1
  223. package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -1
  224. package/dist/plugin/worker/rsc/handleRender.js +4 -4
  225. package/dist/plugin/worker/rsc/handleRender.js.map +1 -1
  226. package/dist/plugin/worker/rsc/messageHandler.d.ts +2 -1
  227. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  228. package/dist/plugin/worker/rsc/messageHandler.js +41 -15
  229. package/dist/plugin/worker/rsc/messageHandler.js.map +1 -1
  230. package/dist/plugin/worker/rsc/rsc-worker.development.js +16 -5
  231. package/dist/plugin/worker/rsc/rsc-worker.development.js.map +1 -1
  232. package/dist/plugin/worker/rsc/rsc-worker.production.js +16 -5
  233. package/dist/plugin/worker/rsc/rsc-worker.production.js.map +1 -1
  234. package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
  235. package/dist/plugin/worker/sendMessage.js +45 -43
  236. package/dist/plugin/worker/sendMessage.js.map +1 -0
  237. package/dist/plugin/worker/types.d.ts +26 -4
  238. package/dist/plugin/worker/types.d.ts.map +1 -1
  239. package/dist/server.js +1 -1
  240. package/dist/server.js.map +1 -1
  241. package/dist/tsconfig.tsbuildinfo +1 -1
  242. package/package.json +34 -14
  243. package/plugin/{css-collector-elements.tsx → components/css-collector-elements.tsx} +1 -1
  244. package/plugin/{css-collector.tsx → components/css-collector.tsx} +1 -1
  245. package/plugin/{html.tsx → components/html.tsx} +1 -3
  246. package/{dist/plugin/components.d.ts → plugin/components/index.ts} +1 -1
  247. package/plugin/config/autoDiscover/index.ts +10 -0
  248. package/plugin/config/{resolveAutoDiscover.ts → autoDiscover/resolveAutoDiscover.ts} +16 -12
  249. package/plugin/config/autoDiscover/resolveBuildPages.ts +10 -11
  250. package/plugin/config/defaults.tsx +4 -3
  251. package/plugin/config/index.ts +1 -1
  252. package/plugin/config/resolveEnv.ts +156 -6
  253. package/plugin/config/resolveOptions.ts +13 -5
  254. package/plugin/config/resolveUrlOption.ts +2 -7
  255. package/plugin/config/resolveUserConfig.ts +87 -36
  256. package/plugin/env/index.ts +1 -0
  257. package/plugin/env/plugin.ts +78 -0
  258. package/plugin/error/toError.ts +19 -0
  259. package/plugin/file-preserver/plugin.ts +117 -0
  260. package/plugin/helpers/createRscStream.tsx +1 -1
  261. package/plugin/helpers/formatMetrics.ts +2 -2
  262. package/plugin/helpers/getRouteFiles.ts +3 -1
  263. package/plugin/helpers/index.ts +38 -0
  264. package/plugin/helpers/requestInfo.ts +10 -0
  265. package/plugin/{resolvePage.ts → helpers/resolvePage.ts} +19 -4
  266. package/plugin/helpers/resolvePageAndProps.ts +7 -4
  267. package/plugin/{resolveProps.ts → helpers/resolveProps.ts} +8 -6
  268. package/plugin/helpers/serializeUserOptions.ts +1 -1
  269. package/plugin/helpers/tryManifest.ts +0 -1
  270. package/plugin/loader/createBuildLoader.ts +1 -1
  271. package/plugin/loader/env-loader.development.ts +84 -0
  272. package/plugin/plugin.client.ts +2 -0
  273. package/plugin/plugin.server.ts +3 -0
  274. package/plugin/plugin.ts +1 -3
  275. package/plugin/process-env.ts +13 -0
  276. package/plugin/react-client/createMessageHandlers.ts +13 -1
  277. package/plugin/react-client/createWorkerStream.ts +69 -15
  278. package/plugin/react-client/handleWorkerRscStream.ts +57 -0
  279. package/plugin/react-client/plugin.ts +29 -13
  280. package/plugin/react-client/restartWorker.ts +15 -7
  281. package/plugin/react-client/server.ts +115 -124
  282. package/plugin/react-server/plugin.ts +26 -13
  283. package/plugin/react-server/server.ts +33 -15
  284. package/plugin/react-static/collectHtmlWorkerContent.ts +13 -1
  285. package/plugin/react-static/fileWriter.ts +1 -1
  286. package/plugin/react-static/plugin.ts +21 -34
  287. package/plugin/root.ts +7 -1
  288. package/plugin/transformer/upgradeCssModuleCode.ts +39 -39
  289. package/plugin/types/env.d.ts +7 -0
  290. package/plugin/types.ts +68 -20
  291. package/plugin/utils/callServer.ts +2 -24
  292. package/plugin/utils/createCallServer.ts +26 -0
  293. package/plugin/utils/createReactFetcher.ts +10 -6
  294. package/plugin/utils/envUrls.node.ts +19 -0
  295. package/plugin/utils/envUrls.ts +8 -0
  296. package/plugin/utils/index.ts +1 -1
  297. package/plugin/utils/moduleBaseURL.ts +7 -0
  298. package/plugin/utils/urls.ts +217 -0
  299. package/plugin/vendor/index.ts +1 -0
  300. package/plugin/vendor/vendor.ts +6 -0
  301. package/plugin/worker/createWorker.ts +38 -22
  302. package/plugin/worker/html/createHtmlWorkerRenderState.tsx +1 -1
  303. package/plugin/worker/html/html-worker.development.tsx +2 -1
  304. package/plugin/worker/html/html-worker.production.tsx +2 -1
  305. package/plugin/worker/rsc/handleRender.ts +4 -5
  306. package/plugin/worker/rsc/messageHandler.tsx +53 -17
  307. package/plugin/worker/rsc/rsc-worker.development.ts +22 -8
  308. package/plugin/worker/rsc/rsc-worker.production.ts +23 -7
  309. package/plugin/worker/types.ts +28 -4
  310. package/dist/plugin/components.d.ts.map +0 -1
  311. package/dist/plugin/config/resolveAutoDiscover.d.ts.map +0 -1
  312. package/dist/plugin/config/resolveAutoDiscover.js.map +0 -1
  313. package/dist/plugin/copy.d.ts +0 -7
  314. package/dist/plugin/copy.d.ts.map +0 -1
  315. package/dist/plugin/copy.js +0 -30
  316. package/dist/plugin/css-collector-elements.d.ts.map +0 -1
  317. package/dist/plugin/css-collector-elements.js.map +0 -1
  318. package/dist/plugin/css-collector.d.ts.map +0 -1
  319. package/dist/plugin/css-collector.js.map +0 -1
  320. package/dist/plugin/getCondition.d.ts +0 -2
  321. package/dist/plugin/getCondition.d.ts.map +0 -1
  322. package/dist/plugin/html.d.ts +0 -4
  323. package/dist/plugin/html.d.ts.map +0 -1
  324. package/dist/plugin/html.js +0 -18
  325. package/dist/plugin/html.js.map +0 -1
  326. package/dist/plugin/manifest.d.ts +0 -6
  327. package/dist/plugin/manifest.d.ts.map +0 -1
  328. package/dist/plugin/manifest.js +0 -13
  329. package/dist/plugin/moduleRefs.d.ts.map +0 -1
  330. package/dist/plugin/moduleRefs.js.map +0 -1
  331. package/dist/plugin/resolvePage.d.ts.map +0 -1
  332. package/dist/plugin/resolvePage.js.map +0 -1
  333. package/dist/plugin/resolveProps.d.ts.map +0 -1
  334. package/dist/plugin/resolveProps.js.map +0 -1
  335. package/dist/plugin/utils/pageURL.d.ts +0 -5
  336. package/dist/plugin/utils/pageURL.d.ts.map +0 -1
  337. package/dist/plugin/utils/pageURL.js +0 -33
  338. package/dist/plugin/utils/pageURL.js.map +0 -1
  339. package/dist/plugin/vendor.client.d.ts.map +0 -1
  340. package/dist/plugin/vendor.client.js.map +0 -1
  341. package/dist/plugin/vendor.server.d.ts.map +0 -1
  342. package/dist/plugin/vendor.server.js.map +0 -1
  343. package/plugin/copy.ts +0 -39
  344. package/plugin/getCondition.ts +0 -0
  345. package/plugin/manifest.ts +0 -24
  346. package/plugin/utils/pageURL.ts +0 -33
  347. /package/dist/plugin/{css-collector-elements.js → components/css-collector-elements.js} +0 -0
  348. /package/dist/plugin/{css-collector.js → components/css-collector.js} +0 -0
  349. /package/{plugin/components.ts → dist/plugin/components/index.js} +0 -0
  350. /package/dist/plugin/{moduleRefs.d.ts → helpers/moduleRefs.d.ts} +0 -0
  351. /package/dist/plugin/{moduleRefs.js → helpers/moduleRefs.js} +0 -0
  352. /package/dist/plugin/{resolvePage.d.ts → helpers/resolvePage.d.ts} +0 -0
  353. /package/dist/plugin/{resolveProps.d.ts → helpers/resolveProps.d.ts} +0 -0
  354. /package/dist/plugin/{getCondition.js → process-env.js} +0 -0
  355. /package/dist/plugin/{vendor.client.d.ts → vendor/vendor.client.d.ts} +0 -0
  356. /package/dist/plugin/{vendor.client.js → vendor/vendor.client.js} +0 -0
  357. /package/dist/plugin/{vendor.server.d.ts → vendor/vendor.server.d.ts} +0 -0
  358. /package/dist/plugin/{vendor.server.js → vendor/vendor.server.js} +0 -0
  359. /package/plugin/{moduleRefs.ts → helpers/moduleRefs.ts} +0 -0
  360. /package/plugin/{vendor.client.ts → vendor/vendor.client.ts} +0 -0
  361. /package/plugin/{vendor.server.ts → vendor/vendor.server.ts} +0 -0
@@ -3,8 +3,8 @@
3
3
  * Copyright (c) Nico Brinkkemper
4
4
  * MIT License
5
5
  */
6
- import { resolvePage } from '../resolvePage.js';
7
- import { resolveProps } from '../resolveProps.js';
6
+ import { resolvePage } from './resolvePage.js';
7
+ import { resolveProps } from './resolveProps.js';
8
8
 
9
9
  async function resolvePageAndProps(handlerOptions) {
10
10
  try {
@@ -19,8 +19,11 @@ async function resolvePageAndProps(handlerOptions) {
19
19
  exportName: handlerOptions.propsExportName ?? "default",
20
20
  loader: handlerOptions.propsPath ? handlerOptions.loader : async () => {
21
21
  const resolvePageResult2 = await resolvePagePromise;
22
- if (resolvePageResult2.type != "success") {
23
- return resolvePageResult2;
22
+ if (resolvePageResult2.type === "error") {
23
+ return resolvePageResult2.error;
24
+ }
25
+ if (resolvePageResult2.type === "skip") {
26
+ return null;
24
27
  }
25
28
  return resolvePageResult2.module;
26
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolvePageAndProps.js","sources":["../../../plugin/helpers/resolvePageAndProps.ts"],"sourcesContent":["import { resolvePage } from \"../resolvePage.js\";\nimport { resolveProps } from \"../resolveProps.js\";\n\ntype ResolvePageAndPropsOptions<N1 extends string, N2 extends string> = {\n pagePath: string;\n pageExportName: N1;\n propsPath?: string;\n propsExportName?: N2;\n route: string;\n loader: (id: string) => Promise<any>;\n};\n\ntype ResolvePageAndPropsResult<T> =\n | {\n type: \"success\";\n error?: never;\n PageComponent: React.ComponentType<T>;\n pageProps: T;\n }\n | {\n type: \"error\";\n error: Error;\n PageComponent?: never;\n pageProps?: never;\n }\n | {\n type: \"skip\";\n error?: never;\n PageComponent?: never;\n pageProps?: never;\n };\n\nexport async function resolvePageAndProps<\n T,\n N1 extends string,\n N2 extends string\n>(\n handlerOptions: ResolvePageAndPropsOptions<N1, N2>\n): Promise<ResolvePageAndPropsResult<T>> {\n try {\n // Load the page component\n const resolvePagePromise = resolvePage({\n id: handlerOptions.pagePath,\n exportName: handlerOptions.pageExportName,\n loader: handlerOptions.loader,\n });\n const resolvePropsPromise = resolveProps({\n url: handlerOptions.route,\n id: handlerOptions.propsPath ?? handlerOptions.pagePath,\n exportName: handlerOptions.propsExportName ?? \"default\",\n loader: handlerOptions.propsPath \n ? handlerOptions.loader\n : async () => {\n const resolvePageResult = await resolvePagePromise;\n if (resolvePageResult.type != \"success\") {\n return resolvePageResult;\n }\n return resolvePageResult.module;\n },\n });\n const [resolvePageResult, resolvePropsResult] = await Promise.all([resolvePagePromise, resolvePropsPromise]);\n if (resolvePageResult.type != \"success\") {\n return resolvePageResult;\n }\n if (resolvePropsResult.type != \"success\") {\n return resolvePropsResult;\n }\n const { Page } = resolvePageResult;\n const { props } = resolvePropsResult;\n return {\n type: \"success\",\n PageComponent: Page as React.ComponentType<T>,\n pageProps: props as T,\n };\n } catch (error) {\n return {\n type: \"error\",\n error: error instanceof Error ? error : new Error(String(error)),\n };\n }\n}\n"],"names":["resolvePageResult"],"mappings":";;;;;;;;AAgCA,eAAsB,oBAKpB,cACuC,EAAA;AACvC,EAAI,IAAA;AAEF,IAAA,MAAM,qBAAqB,WAAY,CAAA;AAAA,MACrC,IAAI,cAAe,CAAA,QAAA;AAAA,MACnB,YAAY,cAAe,CAAA,cAAA;AAAA,MAC3B,QAAQ,cAAe,CAAA;AAAA,KACxB,CAAA;AACD,IAAA,MAAM,sBAAsB,YAAa,CAAA;AAAA,MACvC,KAAK,cAAe,CAAA,KAAA;AAAA,MACpB,EAAA,EAAI,cAAe,CAAA,SAAA,IAAa,cAAe,CAAA,QAAA;AAAA,MAC/C,UAAA,EAAY,eAAe,eAAmB,IAAA,SAAA;AAAA,MAC9C,MAAQ,EAAA,cAAA,CAAe,SACnB,GAAA,cAAA,CAAe,SACf,YAAY;AACV,QAAA,MAAMA,qBAAoB,MAAM,kBAAA;AAChC,QAAIA,IAAAA,kBAAAA,CAAkB,QAAQ,SAAW,EAAA;AACvC,UAAOA,OAAAA,kBAAAA;AAAA;AAET,QAAA,OAAOA,kBAAkB,CAAA,MAAA;AAAA;AAC3B,KACL,CAAA;AACD,IAAM,MAAA,CAAC,iBAAmB,EAAA,kBAAkB,CAAI,GAAA,MAAM,QAAQ,GAAI,CAAA,CAAC,kBAAoB,EAAA,mBAAmB,CAAC,CAAA;AAC3G,IAAI,IAAA,iBAAA,CAAkB,QAAQ,SAAW,EAAA;AACvC,MAAO,OAAA,iBAAA;AAAA;AAET,IAAI,IAAA,kBAAA,CAAmB,QAAQ,SAAW,EAAA;AACxC,MAAO,OAAA,kBAAA;AAAA;AAET,IAAM,MAAA,EAAE,MAAS,GAAA,iBAAA;AACjB,IAAM,MAAA,EAAE,OAAU,GAAA,kBAAA;AAClB,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,aAAe,EAAA,IAAA;AAAA,MACf,SAAW,EAAA;AAAA,KACb;AAAA,WACO,KAAO,EAAA;AACd,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,KAAA,EAAO,iBAAiB,KAAQ,GAAA,KAAA,GAAQ,IAAI,KAAM,CAAA,MAAA,CAAO,KAAK,CAAC;AAAA,KACjE;AAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"resolvePageAndProps.js","sources":["../../../plugin/helpers/resolvePageAndProps.ts"],"sourcesContent":["import { resolvePage } from \"./resolvePage.js\";\nimport { resolveProps } from \"./resolveProps.js\";\n\ntype ResolvePageAndPropsOptions<N1 extends string, N2 extends string> = {\n pagePath: string;\n pageExportName: N1;\n propsPath?: string;\n propsExportName?: N2;\n route: string;\n loader: (id: string) => Promise<any>;\n};\n\ntype ResolvePageAndPropsResult<T> =\n | {\n type: \"success\";\n error?: never;\n PageComponent: React.ComponentType<T>;\n pageProps: T;\n }\n | {\n type: \"error\";\n error: Error;\n PageComponent?: never;\n pageProps?: never;\n }\n | {\n type: \"skip\";\n error?: never;\n PageComponent?: never;\n pageProps?: never;\n };\n\nexport async function resolvePageAndProps<\n T,\n N1 extends string,\n N2 extends string\n>(\n handlerOptions: ResolvePageAndPropsOptions<N1, N2>\n): Promise<ResolvePageAndPropsResult<T>> {\n try {\n // Load the page component\n const resolvePagePromise = resolvePage({\n id: handlerOptions.pagePath,\n exportName: handlerOptions.pageExportName,\n loader: handlerOptions.loader,\n });\n const resolvePropsPromise = resolveProps({\n url: handlerOptions.route,\n id: handlerOptions.propsPath ?? handlerOptions.pagePath,\n exportName: handlerOptions.propsExportName ?? \"default\",\n loader: handlerOptions.propsPath \n ? handlerOptions.loader\n : async () => {\n const resolvePageResult = await resolvePagePromise;\n if (resolvePageResult.type === \"error\") {\n return resolvePageResult.error\n }\n if (resolvePageResult.type === \"skip\") {\n return null;\n }\n return resolvePageResult.module;\n },\n });\n const [resolvePageResult, resolvePropsResult] = await Promise.all([resolvePagePromise, resolvePropsPromise]);\n if (resolvePageResult.type != \"success\") {\n return resolvePageResult;\n }\n if (resolvePropsResult.type != \"success\") {\n return resolvePropsResult;\n }\n const { Page } = resolvePageResult;\n const { props } = resolvePropsResult;\n return {\n type: \"success\",\n PageComponent: Page as React.ComponentType<T>,\n pageProps: props as T,\n };\n } catch (error) {\n return {\n type: \"error\",\n error: error instanceof Error ? error : new Error(String(error)),\n };\n }\n}\n"],"names":["resolvePageResult"],"mappings":";;;;;;;;AAgCA,eAAsB,oBAKpB,cACuC,EAAA;AACvC,EAAI,IAAA;AAEF,IAAA,MAAM,qBAAqB,WAAY,CAAA;AAAA,MACrC,IAAI,cAAe,CAAA,QAAA;AAAA,MACnB,YAAY,cAAe,CAAA,cAAA;AAAA,MAC3B,QAAQ,cAAe,CAAA;AAAA,KACxB,CAAA;AACD,IAAA,MAAM,sBAAsB,YAAa,CAAA;AAAA,MACvC,KAAK,cAAe,CAAA,KAAA;AAAA,MACpB,EAAA,EAAI,cAAe,CAAA,SAAA,IAAa,cAAe,CAAA,QAAA;AAAA,MAC/C,UAAA,EAAY,eAAe,eAAmB,IAAA,SAAA;AAAA,MAC9C,MAAQ,EAAA,cAAA,CAAe,SACnB,GAAA,cAAA,CAAe,SACf,YAAY;AACV,QAAA,MAAMA,qBAAoB,MAAM,kBAAA;AAChC,QAAIA,IAAAA,kBAAAA,CAAkB,SAAS,OAAS,EAAA;AACtC,UAAA,OAAOA,kBAAkB,CAAA,KAAA;AAAA;AAE3B,QAAIA,IAAAA,kBAAAA,CAAkB,SAAS,MAAQ,EAAA;AACrC,UAAO,OAAA,IAAA;AAAA;AAET,QAAA,OAAOA,kBAAkB,CAAA,MAAA;AAAA;AAC3B,KACL,CAAA;AACD,IAAM,MAAA,CAAC,iBAAmB,EAAA,kBAAkB,CAAI,GAAA,MAAM,QAAQ,GAAI,CAAA,CAAC,kBAAoB,EAAA,mBAAmB,CAAC,CAAA;AAC3G,IAAI,IAAA,iBAAA,CAAkB,QAAQ,SAAW,EAAA;AACvC,MAAO,OAAA,iBAAA;AAAA;AAET,IAAI,IAAA,kBAAA,CAAmB,QAAQ,SAAW,EAAA;AACxC,MAAO,OAAA,kBAAA;AAAA;AAET,IAAM,MAAA,EAAE,MAAS,GAAA,iBAAA;AACjB,IAAM,MAAA,EAAE,OAAU,GAAA,kBAAA;AAClB,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,aAAe,EAAA,IAAA;AAAA,MACf,SAAW,EAAA;AAAA,KACb;AAAA,WACO,KAAO,EAAA;AACd,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,KAAA,EAAO,iBAAiB,KAAQ,GAAA,KAAA,GAAQ,IAAI,KAAM,CAAA,MAAA,CAAO,KAAK,CAAC;AAAA,KACjE;AAAA;AAEJ;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveProps.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/resolveProps.ts"],"names":[],"mappings":"AAEA,KAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,CAAC,CAAC;IACd,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACtC,CAAC;AAEF,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IACvC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,MAAM,CAAC,EAAG;SAAG,GAAG,IAAI,CAAC,GAAG,CAAC;KAAE,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,YAAY,GAAU,CAAC,EAAE,CAAC,SAAS,MAAM,oCAKnD,mBAAmB,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CA+H3D,CAAC"}
@@ -3,6 +3,8 @@
3
3
  * Copyright (c) Nico Brinkkemper
4
4
  * MIT License
5
5
  */
6
+ import { toError } from '../error/toError.js';
7
+
6
8
  const resolveProps = async ({
7
9
  id,
8
10
  url,
@@ -11,15 +13,16 @@ const resolveProps = async ({
11
13
  }) => {
12
14
  const propsLoadResult = await (async () => {
13
15
  try {
16
+ const result = await loader(id);
14
17
  return {
15
18
  type: "success",
16
19
  key: id,
17
- module: await loader(id)
20
+ module: result
18
21
  };
19
22
  } catch (error) {
20
23
  return {
21
24
  type: "error",
22
- error: error instanceof Error ? error : new Error(String(error))
25
+ error: toError(error)
23
26
  };
24
27
  }
25
28
  })();
@@ -69,7 +72,7 @@ const resolveProps = async ({
69
72
  } catch (error) {
70
73
  return {
71
74
  type: "error",
72
- error: error instanceof Error ? error : new Error(String(error))
75
+ error: toError(error)
73
76
  };
74
77
  }
75
78
  } else if (props instanceof Promise) {
@@ -83,7 +86,7 @@ const resolveProps = async ({
83
86
  } catch (error) {
84
87
  return {
85
88
  type: "error",
86
- error: error instanceof Error ? error : new Error(String(error))
89
+ error: toError(error)
87
90
  };
88
91
  }
89
92
  } else if (Array.isArray(props)) {
@@ -99,7 +102,7 @@ const resolveProps = async ({
99
102
  } catch (error) {
100
103
  return {
101
104
  type: "error",
102
- error: error instanceof Error ? error : new Error(String(error))
105
+ error: toError(error)
103
106
  };
104
107
  }
105
108
  } else if (typeof props === "string") {
@@ -112,7 +115,7 @@ const resolveProps = async ({
112
115
  } catch (error) {
113
116
  return {
114
117
  type: "error",
115
- error: error instanceof Error ? error : new Error(String(error))
118
+ error: toError(error)
116
119
  };
117
120
  }
118
121
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveProps.js","sources":["../../../plugin/helpers/resolveProps.ts"],"sourcesContent":["import { toError } from \"../error/toError.js\";\n\ntype ResolvePropsOptions<N extends string> = {\n id: string;\n url: string;\n exportName: N;\n loader: (id: string) => Promise<any>;\n};\n\ntype ResolvePropsResult<T, N extends string> =\n | { type: \"success\"; key: string; props: T; module?: { [key in N]: T } }\n | { type: \"error\"; error: Error }\n | { type: \"skip\" };\n\n/**\n * Resolves props from a module, handling both real and virtual modules.\n *\n * During development (ssrLoadModule):\n * - Real modules have exports available directly on the module object\n * - Virtual modules have exports stored in temporaryReferences\n *\n * During build (createBuildLoader):\n * - Transformed modules (with ast/code) have exports as direct properties\n * - The exports array contains just the names of those exports\n * - We store the module in temporaryReferences for later use\n * - We access exports directly from the module object\n *\n * Props can be:\n * 1. A function that takes a URL and returns props\n * 2. A direct object of props\n * 3. A renamed export (where the actual export name differs from the expected name)\n *\n * @param options.propsModule - The module object from ssrLoadModule or createBuildLoader\n * @param options.path - The normalized path to the module\n * @param options.url - The URL route this page handles\n * @param options.exportName - The name of the export to resolve (e.g. 'props')\n * @param options.temporaryReferences - WeakMap used to store and retrieve virtual module references\n *\n * @returns A result object containing:\n * - type: \"success\" | \"error\" | \"skip\"\n * - key: The export name if successful\n * - props: The resolved props if successful\n * - error: Error message if failed\n */\nexport const resolveProps = async <T, N extends string>({\n id,\n url,\n exportName,\n loader,\n}: ResolvePropsOptions<N>): Promise<ResolvePropsResult<T, N>> => {\n // Check if this is a stashed page that needs special handling\n const propsLoadResult = await (async (): Promise<\n | { type: \"success\"; key: string; module: { [key in N]: T } }\n | { type: \"error\"; error: Error; module?: never }\n > => {\n try {\n const result = await loader(id);\n return {\n type: \"success\",\n key: id,\n module: result,\n };\n } catch (error) {\n return {\n type: \"error\",\n error: toError(error),\n };\n }\n })();\n\n if (propsLoadResult.type !== \"success\") {\n return propsLoadResult;\n }\n const { module } = propsLoadResult;\n const props = module[exportName as N];\n // handle different props use-cases\n if (module instanceof Error) {\n return {\n type: \"error\",\n error: module,\n };\n } else if (!(exportName in module)) {\n return {\n type: \"success\",\n key: exportName,\n props: { url, ...module } as T,\n module,\n };\n } else if (!props) {\n return {\n type: \"success\",\n key: exportName,\n props: { url } as T,\n module: module as { [key in N]: T },\n };\n } else if (props instanceof Error) {\n return {\n type: \"error\",\n error: props,\n };\n } else if (typeof props === \"function\") {\n // Handle both class constructors and regular functions\n try {\n let propsResult;\n if (props.prototype && props.prototype.constructor) {\n // Class constructor case\n propsResult = new (props as new (url: string) => T)(url);\n } else {\n // Regular function case\n propsResult = props(url);\n }\n \n return {\n type: \"success\",\n key: exportName,\n props: propsResult instanceof Promise ? await propsResult : propsResult,\n module: module as { [key in N]: T },\n };\n } catch (error) {\n return {\n type: \"error\",\n error: toError(error),\n };\n }\n } else if (props instanceof Promise) {\n // object case\n try {\n return {\n type: \"success\",\n key: exportName,\n props: await props,\n module: propsLoadResult.module,\n };\n } catch (error) {\n return {\n type: \"error\",\n error: toError(error),\n };\n }\n } else if (Array.isArray(props)) {\n // array case\n try {\n return {\n type: \"success\",\n key: exportName,\n props: Object.fromEntries(\n props.map((prop) => (typeof prop === \"string\" ? [prop, prop] : prop))\n ) as T,\n module: propsLoadResult.module,\n };\n } catch (error) {\n return {\n type: \"error\",\n error: toError(error),\n };\n }\n } else if (typeof props === \"string\") {\n try {\n return {\n type: \"success\",\n key: exportName,\n props: JSON.parse(props),\n };\n } catch (error) {\n return {\n type: \"error\",\n error: toError(error),\n };\n }\n }\n return {\n type: \"success\",\n key: exportName,\n props: props,\n module: module as { [key in N]: T },\n };\n};\n"],"names":[],"mappings":"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"}
@@ -164,7 +164,7 @@ const serializedOptions = (userOptions, autoDiscoveredFiles, customNonSerializab
164
164
  autoDiscover,
165
165
  ...handlerOptions
166
166
  } = userOptions;
167
- const { entryFile, chunkFile, assetFile, pages, ...buildOptions } = build;
167
+ const { entryFile, chunkFile, assetFile, pages, ...buildOptions } = build ?? {};
168
168
  const result = {
169
169
  ...handlerOptions,
170
170
  build: {
@@ -1 +1 @@
1
- {"version":3,"file":"serializeUserOptions.js","sources":["../../../plugin/helpers/serializeUserOptions.ts"],"sourcesContent":["import type { ResolvedConfig, ViteDevServer } from \"vite\";\nimport type {\n AutoDiscoveredFiles,\n ResolvedUserOptions,\n} from \"../types.js\";\nimport { cleanObject } from \"./cleanObject.js\";\n\n// Common non-serializable functions in Vite's resolved config\nconst VITE_NON_SERIALIZABLE_FUNCTIONS = new Set([\n \"renderChunk\",\n \"buildStart\",\n \"buildEnd\",\n \"watchChange\",\n \"resolveId\",\n \"config\",\n \"output[].entryFileNames\",\n \"output[].chunkFileNames\",\n \"output[].assetFileNames\",\n \"transform\",\n \"handler\",\n \"configureServer\",\n \"shouldTransformCachedModule\",\n \"generateBundle\",\n \"renderStart\",\n \"writeBundle\",\n \"hotUpdate\",\n \"configResolved\",\n \"configurePreviewServer\",\n \"handleHotUpdate\",\n \"load\",\n \"augmentChunkHash\",\n \"closeBundle\",\n \"entryFileNames\",\n \"assetFileNames\",\n \"chunkFileNames\",\n \"createEnvironment\",\n \"sourcemapIgnoreList\",\n \"assetsInclude\",\n \"info\",\n \"warn\",\n \"warnOnce\",\n \"error\",\n \"clearScreen\",\n \"hasErrorLogged\",\n \"set\",\n \"plugins\",\n \"getSortedPlugins\",\n \"getSortedPluginHooks\",\n \"createResolver\",\n \"fsDenyGlob\",\n // Nested plugin functions\n \"plugins[].renderChunk\",\n \"plugins[].buildStart\",\n \"plugins[].buildEnd\",\n \"plugins[].watchChange\",\n \"plugins[].resolveId\",\n \"plugins[].config\",\n \"plugins[].transform\",\n \"plugins[].handler\",\n \"plugins[].configureServer\",\n \"plugins[].shouldTransformCachedModule\",\n \"plugins[].generateBundle\",\n \"plugins[].renderStart\",\n \"plugins[].writeBundle\",\n \"plugins[].hotUpdate\",\n \"plugins[].configResolved\",\n \"plugins[].configurePreviewServer\",\n \"plugins[].handleHotUpdate\",\n \"plugins[].load\",\n \"plugins[].augmentChunkHash\",\n \"plugins[].closeBundle\",\n \"plugins[].entryFileNames\",\n \"plugins[].assetFileNames\",\n \"plugins[].chunkFileNames\",\n \"plugins[].createEnvironment\",\n \"plugins[].sourcemapIgnoreList\",\n \"plugins[].assetsInclude\",\n]);\n\n// Common non-serializable functions in our plugin's options\nconst PLUGIN_NON_SERIALIZABLE_FUNCTIONS = new Set([\n \"Page\",\n \"props\",\n \"normalizer\",\n \"CssCollector\",\n \"Html\",\n \"onEvent\",\n \"onMetrics\",\n \"build.entryFile\",\n \"build.chunkFile\",\n \"build.assetFile\",\n \"build.pages\",\n \"autoDiscover\",\n]);\n\n// Helper function to serialize RegExp objects\nfunction serializeRegExp(regex: RegExp) {\n return {\n source: regex.source,\n flags: regex.flags,\n __isRegExp: true\n };\n}\n\n// Helper function to deserialize RegExp objects\nexport function deserializeRegExp(obj: any): any {\n if (obj && obj.__isRegExp) {\n return new RegExp(obj.source, obj.flags);\n }\n if (Array.isArray(obj)) {\n return obj.map(deserializeRegExp);\n }\n if (obj && typeof obj === 'object') {\n const result: any = {};\n for (const [key, value] of Object.entries(obj)) {\n result[key] = deserializeRegExp(value);\n }\n return result;\n }\n return obj;\n}\n\n// Helper function to recursively process objects for serialization\nexport function processForSerialization(obj: any): any {\n if (obj instanceof RegExp) {\n return serializeRegExp(obj);\n }\n if (Array.isArray(obj)) {\n return obj.map(processForSerialization);\n }\n if (obj && typeof obj === 'object') {\n const result: any = {};\n for (const [key, value] of Object.entries(obj)) {\n result[key] = processForSerialization(value);\n }\n return result;\n }\n return obj;\n}\n\nexport function serializeResolvedConfig<T extends ResolvedConfig>(\n config: T,\n knownNonSerializableFunctions: Set<string> = VITE_NON_SERIALIZABLE_FUNCTIONS\n) {\n const {\n getSortedPluginHooks,\n getSortedPlugins,\n assetsInclude,\n // extract known vite function properties\n ...handlerOptions\n } = config;\n\n // Clean the object to remove non-serializable properties and process RegExp objects\n return processForSerialization(cleanObject(handlerOptions, knownNonSerializableFunctions));\n}\n\n// For Vite's config\nexport const serializedDevServerConfig = <T extends ViteDevServer[\"config\"]>(\n config: T,\n customNonSerializableFunctions: Set<string> = PLUGIN_NON_SERIALIZABLE_FUNCTIONS\n) => {\n const {\n getSortedPluginHooks,\n getSortedPlugins,\n assetsInclude,\n build,\n ...handlerOptions\n } = config;\n return processForSerialization(cleanObject(\n handlerOptions,\n customNonSerializableFunctions\n ));\n};\n\n// For your own options (if you need custom non-serializable functions)\nexport const serializedOptions = <T extends ResolvedUserOptions>(\n userOptions: T,\n autoDiscoveredFiles: AutoDiscoveredFiles,\n customNonSerializableFunctions: Set<string> = PLUGIN_NON_SERIALIZABLE_FUNCTIONS\n) => {\n const {\n Page,\n props,\n normalizer,\n CssCollector,\n Html,\n onEvent,\n onMetrics,\n build,\n autoDiscover,\n ...handlerOptions\n } = userOptions;\n const { entryFile, chunkFile, assetFile, pages, ...buildOptions } = build;\n const result = {\n ...handlerOptions,\n build: {\n ...buildOptions,\n pages: autoDiscoveredFiles\n ? Array.from(autoDiscoveredFiles.urlMap.keys())\n : [],\n },\n };\n\n // Clean the object to remove non-serializable properties and process RegExp objects\n return processForSerialization(cleanObject(\n result,\n customNonSerializableFunctions\n ));\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializeUserOptions.js","sources":["../../../plugin/helpers/serializeUserOptions.ts"],"sourcesContent":["import type { ResolvedConfig, ViteDevServer } from \"vite\";\nimport type {\n AutoDiscoveredFiles,\n ResolvedUserOptions,\n} from \"../types.js\";\nimport { cleanObject } from \"./cleanObject.js\";\n\n// Common non-serializable functions in Vite's resolved config\nconst VITE_NON_SERIALIZABLE_FUNCTIONS = new Set([\n \"renderChunk\",\n \"buildStart\",\n \"buildEnd\",\n \"watchChange\",\n \"resolveId\",\n \"config\",\n \"output[].entryFileNames\",\n \"output[].chunkFileNames\",\n \"output[].assetFileNames\",\n \"transform\",\n \"handler\",\n \"configureServer\",\n \"shouldTransformCachedModule\",\n \"generateBundle\",\n \"renderStart\",\n \"writeBundle\",\n \"hotUpdate\",\n \"configResolved\",\n \"configurePreviewServer\",\n \"handleHotUpdate\",\n \"load\",\n \"augmentChunkHash\",\n \"closeBundle\",\n \"entryFileNames\",\n \"assetFileNames\",\n \"chunkFileNames\",\n \"createEnvironment\",\n \"sourcemapIgnoreList\",\n \"assetsInclude\",\n \"info\",\n \"warn\",\n \"warnOnce\",\n \"error\",\n \"clearScreen\",\n \"hasErrorLogged\",\n \"set\",\n \"plugins\",\n \"getSortedPlugins\",\n \"getSortedPluginHooks\",\n \"createResolver\",\n \"fsDenyGlob\",\n // Nested plugin functions\n \"plugins[].renderChunk\",\n \"plugins[].buildStart\",\n \"plugins[].buildEnd\",\n \"plugins[].watchChange\",\n \"plugins[].resolveId\",\n \"plugins[].config\",\n \"plugins[].transform\",\n \"plugins[].handler\",\n \"plugins[].configureServer\",\n \"plugins[].shouldTransformCachedModule\",\n \"plugins[].generateBundle\",\n \"plugins[].renderStart\",\n \"plugins[].writeBundle\",\n \"plugins[].hotUpdate\",\n \"plugins[].configResolved\",\n \"plugins[].configurePreviewServer\",\n \"plugins[].handleHotUpdate\",\n \"plugins[].load\",\n \"plugins[].augmentChunkHash\",\n \"plugins[].closeBundle\",\n \"plugins[].entryFileNames\",\n \"plugins[].assetFileNames\",\n \"plugins[].chunkFileNames\",\n \"plugins[].createEnvironment\",\n \"plugins[].sourcemapIgnoreList\",\n \"plugins[].assetsInclude\",\n]);\n\n// Common non-serializable functions in our plugin's options\nconst PLUGIN_NON_SERIALIZABLE_FUNCTIONS = new Set([\n \"Page\",\n \"props\",\n \"normalizer\",\n \"CssCollector\",\n \"Html\",\n \"onEvent\",\n \"onMetrics\",\n \"build.entryFile\",\n \"build.chunkFile\",\n \"build.assetFile\",\n \"build.pages\",\n \"autoDiscover\",\n]);\n\n// Helper function to serialize RegExp objects\nfunction serializeRegExp(regex: RegExp) {\n return {\n source: regex.source,\n flags: regex.flags,\n __isRegExp: true\n };\n}\n\n// Helper function to deserialize RegExp objects\nexport function deserializeRegExp(obj: any): any {\n if (obj && obj.__isRegExp) {\n return new RegExp(obj.source, obj.flags);\n }\n if (Array.isArray(obj)) {\n return obj.map(deserializeRegExp);\n }\n if (obj && typeof obj === 'object') {\n const result: any = {};\n for (const [key, value] of Object.entries(obj)) {\n result[key] = deserializeRegExp(value);\n }\n return result;\n }\n return obj;\n}\n\n// Helper function to recursively process objects for serialization\nexport function processForSerialization(obj: any): any {\n if (obj instanceof RegExp) {\n return serializeRegExp(obj);\n }\n if (Array.isArray(obj)) {\n return obj.map(processForSerialization);\n }\n if (obj && typeof obj === 'object') {\n const result: any = {};\n for (const [key, value] of Object.entries(obj)) {\n result[key] = processForSerialization(value);\n }\n return result;\n }\n return obj;\n}\n\nexport function serializeResolvedConfig<T extends ResolvedConfig>(\n config: T,\n knownNonSerializableFunctions: Set<string> = VITE_NON_SERIALIZABLE_FUNCTIONS\n) {\n const {\n getSortedPluginHooks,\n getSortedPlugins,\n assetsInclude,\n // extract known vite function properties\n ...handlerOptions\n } = config;\n\n // Clean the object to remove non-serializable properties and process RegExp objects\n return processForSerialization(cleanObject(handlerOptions, knownNonSerializableFunctions));\n}\n\n// For Vite's config\nexport const serializedDevServerConfig = <T extends ViteDevServer[\"config\"]>(\n config: T,\n customNonSerializableFunctions: Set<string> = PLUGIN_NON_SERIALIZABLE_FUNCTIONS\n) => {\n const {\n getSortedPluginHooks,\n getSortedPlugins,\n assetsInclude,\n build,\n ...handlerOptions\n } = config;\n return processForSerialization(cleanObject(\n handlerOptions,\n customNonSerializableFunctions\n ));\n};\n\n// For your own options (if you need custom non-serializable functions)\nexport const serializedOptions = <T extends ResolvedUserOptions>(\n userOptions: T,\n autoDiscoveredFiles: AutoDiscoveredFiles,\n customNonSerializableFunctions: Set<string> = PLUGIN_NON_SERIALIZABLE_FUNCTIONS\n) => {\n const {\n Page,\n props,\n normalizer,\n CssCollector,\n Html,\n onEvent,\n onMetrics,\n build,\n autoDiscover,\n ...handlerOptions\n } = userOptions;\n const { entryFile, chunkFile, assetFile, pages, ...buildOptions } = build ?? {};\n const result = {\n ...handlerOptions,\n build: {\n ...buildOptions,\n pages: autoDiscoveredFiles\n ? Array.from(autoDiscoveredFiles.urlMap.keys())\n : [],\n },\n };\n\n // Clean the object to remove non-serializable properties and process RegExp objects\n return processForSerialization(cleanObject(\n result,\n customNonSerializableFunctions\n ));\n};\n"],"names":[],"mappings":"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"}
@@ -1,14 +1,20 @@
1
- const stashedReturnValue = new Map();
2
- export const stashReturnValue = (fn) => {
3
- return ((...args) => {
4
- const id = args
5
- .map((arg) => !arg ? '' : typeof arg === "string" ? arg : typeof arg === "object" && 'id' in arg ? arg.id : '')
6
- .join("_");
7
- if (stashedReturnValue.has(id)) {
8
- return stashedReturnValue.get(id);
9
- }
10
- const result = fn(...args);
11
- stashedReturnValue.set(id, result);
12
- return result;
13
- });
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ const stashedReturnValue = /* @__PURE__ */ new Map();
7
+ const stashReturnValue = (fn) => {
8
+ return (...args) => {
9
+ const id = args.map((arg) => !arg ? "" : typeof arg === "string" ? arg : typeof arg === "object" && "id" in arg ? arg.id : "").join("_");
10
+ if (stashedReturnValue.has(id)) {
11
+ return stashedReturnValue.get(id);
12
+ }
13
+ const result = fn(...args);
14
+ stashedReturnValue.set(id, result);
15
+ return result;
16
+ };
14
17
  };
18
+
19
+ export { stashReturnValue };
20
+ //# sourceMappingURL=stashReturnValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stashReturnValue.js","sources":["../../../plugin/helpers/stashReturnValue.ts"],"sourcesContent":["const stashedReturnValue = new Map<string, any>();\nexport const stashReturnValue = <FN extends (...args: any[]) => unknown>(\n fn: FN\n): FN => {\n return ((...args: Parameters<FN>): ReturnType<FN> => {\n const id = args\n .map((arg) =>!arg ? '' : typeof arg === \"string\" ? arg : typeof arg === \"object\" && 'id' in arg ? arg.id : '')\n .join(\"_\");\n if (stashedReturnValue.has(id)) {\n return stashedReturnValue.get(id);\n }\n const result = fn(...args);\n stashedReturnValue.set(id, result);\n return result as never;\n }) as FN;\n};"],"names":[],"mappings":";;;;;AAAA,MAAM,kBAAA,uBAAyB,GAAiB,EAAA;AACnC,MAAA,gBAAA,GAAmB,CAC9B,EACO,KAAA;AACP,EAAA,OAAQ,IAAI,IAAyC,KAAA;AACnD,IAAM,MAAA,EAAA,GAAK,KACR,GAAI,CAAA,CAAC,QAAO,CAAC,GAAA,GAAM,EAAK,GAAA,OAAO,GAAQ,KAAA,QAAA,GAAW,MAAM,OAAO,GAAA,KAAQ,YAAY,IAAQ,IAAA,GAAA,GAAM,IAAI,EAAK,GAAA,EAAE,CAC5G,CAAA,IAAA,CAAK,GAAG,CAAA;AACX,IAAI,IAAA,kBAAA,CAAmB,GAAI,CAAA,EAAE,CAAG,EAAA;AAC9B,MAAO,OAAA,kBAAA,CAAmB,IAAI,EAAE,CAAA;AAAA;AAElC,IAAM,MAAA,MAAA,GAAS,EAAG,CAAA,GAAG,IAAI,CAAA;AACzB,IAAmB,kBAAA,CAAA,GAAA,CAAI,IAAI,MAAM,CAAA;AACjC,IAAO,OAAA,MAAA;AAAA,GACT;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"tryManifest.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/tryManifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGrC,KAAK,kBAAkB,CAAC,GAAG,SAAS,OAAO,GAAG,KAAK,IAAI;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,wBAAsB,WAAW,CAAC,GAAG,SAAS,OAAO,EACnD,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAC/B,OAAO,CACN;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,GAAG,SAAS,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC;IACjE,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,CAAC,CAqBL"}
1
+ {"version":3,"file":"tryManifest.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/tryManifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGrC,KAAK,kBAAkB,CAAC,GAAG,SAAS,OAAO,GAAG,KAAK,IAAI;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,wBAAsB,WAAW,CAAC,GAAG,SAAS,OAAO,EACnD,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAC/B,OAAO,CACN;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,GAAG,SAAS,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC;IACjE,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,CAAC,CAoBL"}
@@ -21,7 +21,6 @@ async function tryManifest(options) {
21
21
  manifest: result
22
22
  };
23
23
  } catch (e) {
24
- console.trace("No manifest found", manifestPath);
25
24
  return {
26
25
  type: "error",
27
26
  error: e
@@ -1 +1 @@
1
- {"version":3,"file":"tryManifest.js","sources":["../../../plugin/helpers/tryManifest.ts"],"sourcesContent":["import { join, resolve } from \"node:path\";\n\nimport type { Manifest } from \"vite\";\nimport { readFile } from \"node:fs/promises\";\n\ntype TryManifestOptions<SSR extends boolean = false> = {\n root: string;\n outDir: string;\n ssrManifest?: SSR;\n preserveModulesRoot?: string;\n manifestPath?: string | undefined;\n};\n\nexport async function tryManifest<SSR extends boolean>(\n options: TryManifestOptions<SSR>\n): Promise<\n | {\n type: \"success\";\n manifest: SSR extends true ? Record<string, string[]> : Manifest;\n error?: never;\n }\n | {\n type: \"error\";\n error: Error;\n manifest?: never;\n }> {\n const localSsrManifestPath = !options.ssrManifest ? undefined : options.manifestPath ? options.manifestPath : join('.vite', 'ssr-manifest.json');\n const localManifestPath = options.ssrManifest ? undefined : options.manifestPath ? options.manifestPath : join('.vite', 'manifest.json');\n const manifestPath = resolve(\n options.root,\n options.outDir,\n options.ssrManifest ? localSsrManifestPath as string : localManifestPath as string\n );\n try {\n const result = JSON.parse(await readFile(manifestPath, \"utf-8\"));\n return {\n type: \"success\",\n manifest: result,\n };\n } catch (e) {\n console.trace(\"No manifest found\", manifestPath);\n return {\n type: \"error\",\n error: e as Error,\n };\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAaA,eAAsB,YACpB,OAWK,EAAA;AACL,EAAM,MAAA,oBAAA,GAAuB,CAAC,OAAA,CAAQ,WAAc,GAAA,SAAA,GAAY,OAAQ,CAAA,YAAA,GAAe,OAAQ,CAAA,YAAA,GAAe,IAAK,CAAA,OAAA,EAAS,mBAAmB,CAAA;AAC/I,EAAM,MAAA,iBAAA,GAAoB,OAAQ,CAAA,WAAA,GAAc,SAAY,GAAA,OAAA,CAAQ,eAAe,OAAQ,CAAA,YAAA,GAAe,IAAK,CAAA,OAAA,EAAS,eAAe,CAAA;AACvI,EAAA,MAAM,YAAe,GAAA,OAAA;AAAA,IACnB,OAAQ,CAAA,IAAA;AAAA,IACR,OAAQ,CAAA,MAAA;AAAA,IACR,OAAA,CAAQ,cAAc,oBAAiC,GAAA;AAAA,GACzD;AACA,EAAI,IAAA;AACF,IAAA,MAAM,SAAS,IAAK,CAAA,KAAA,CAAM,MAAM,QAAS,CAAA,YAAA,EAAc,OAAO,CAAC,CAAA;AAC/D,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,QAAU,EAAA;AAAA,KACZ;AAAA,WACO,CAAG,EAAA;AACV,IAAQ,OAAA,CAAA,KAAA,CAAM,qBAAqB,YAAY,CAAA;AAC/C,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,KAAO,EAAA;AAAA,KACT;AAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"tryManifest.js","sources":["../../../plugin/helpers/tryManifest.ts"],"sourcesContent":["import { join, resolve } from \"node:path\";\n\nimport type { Manifest } from \"vite\";\nimport { readFile } from \"node:fs/promises\";\n\ntype TryManifestOptions<SSR extends boolean = false> = {\n root: string;\n outDir: string;\n ssrManifest?: SSR;\n preserveModulesRoot?: string;\n manifestPath?: string | undefined;\n};\n\nexport async function tryManifest<SSR extends boolean>(\n options: TryManifestOptions<SSR>\n): Promise<\n | {\n type: \"success\";\n manifest: SSR extends true ? Record<string, string[]> : Manifest;\n error?: never;\n }\n | {\n type: \"error\";\n error: Error;\n manifest?: never;\n }> {\n const localSsrManifestPath = !options.ssrManifest ? undefined : options.manifestPath ? options.manifestPath : join('.vite', 'ssr-manifest.json');\n const localManifestPath = options.ssrManifest ? undefined : options.manifestPath ? options.manifestPath : join('.vite', 'manifest.json');\n const manifestPath = resolve(\n options.root,\n options.outDir,\n options.ssrManifest ? localSsrManifestPath as string : localManifestPath as string\n );\n try {\n const result = JSON.parse(await readFile(manifestPath, \"utf-8\"));\n return {\n type: \"success\",\n manifest: result,\n };\n } catch (e) {\n return {\n type: \"error\",\n error: e as Error,\n };\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAaA,eAAsB,YACpB,OAWK,EAAA;AACL,EAAM,MAAA,oBAAA,GAAuB,CAAC,OAAA,CAAQ,WAAc,GAAA,SAAA,GAAY,OAAQ,CAAA,YAAA,GAAe,OAAQ,CAAA,YAAA,GAAe,IAAK,CAAA,OAAA,EAAS,mBAAmB,CAAA;AAC/I,EAAM,MAAA,iBAAA,GAAoB,OAAQ,CAAA,WAAA,GAAc,SAAY,GAAA,OAAA,CAAQ,eAAe,OAAQ,CAAA,YAAA,GAAe,IAAK,CAAA,OAAA,EAAS,eAAe,CAAA;AACvI,EAAA,MAAM,YAAe,GAAA,OAAA;AAAA,IACnB,OAAQ,CAAA,IAAA;AAAA,IACR,OAAQ,CAAA,MAAA;AAAA,IACR,OAAA,CAAQ,cAAc,oBAAiC,GAAA;AAAA,GACzD;AACA,EAAI,IAAA;AACF,IAAA,MAAM,SAAS,IAAK,CAAA,KAAA,CAAM,MAAM,QAAS,CAAA,YAAA,EAAc,OAAO,CAAC,CAAA;AAC/D,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,QAAU,EAAA;AAAA,KACZ;AAAA,WACO,CAAG,EAAA;AACV,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,KAAO,EAAA;AAAA,KACT;AAAA;AAEJ;;;;"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ export { getRouteFiles } from './helpers/getRouteFiles.js';
7
+ export { resolvePage } from './helpers/resolvePage.js';
8
+ export { resolveProps } from './helpers/resolveProps.js';
9
+ export { resolvePageAndProps } from './helpers/resolvePageAndProps.js';
10
+ export { requestInfo } from './helpers/requestInfo.js';
11
+ export { requestToRoute } from './helpers/requestToRoute.js';
12
+ export { deserializeRegExp, processForSerialization, serializeResolvedConfig, serializedDevServerConfig, serializedOptions } from './helpers/serializeUserOptions.js';
13
+ export { cleanObject } from './helpers/cleanObject.js';
14
+ export { createInputNormalizer } from './helpers/inputNormalizer.js';
15
+ export { collectManifestCss } from './helpers/collectManifestCss.js';
16
+ export { collectViteModuleGraphCss } from './helpers/collectViteModuleGraphCss.js';
17
+ export { createCssProps } from './helpers/createCssProps.js';
18
+ export { createRscStream } from './helpers/createRscStream.js';
19
+ export { createHandler } from './helpers/createHandler.js';
20
+ export { createEventHandler } from './helpers/createEventHandler.js';
21
+ export { formatMetrics, logMetrics } from './helpers/formatMetrics.js';
22
+ export { collectStreamMetrics, createRenderMetrics, createStreamMetrics } from './helpers/metrics.js';
23
+ export { tryManifest } from './helpers/tryManifest.js';
24
+ export { getBundleManifest } from './helpers/getBundleManifest.js';
25
+ export { getModuleRef, moduleRefs } from './helpers/moduleRefs.js';
26
+ export { stashReturnValue } from './helpers/stashReturnValue.js';
27
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,7 +4,7 @@
4
4
  * MIT License
5
5
  */
6
6
  import { join } from 'node:path';
7
- import { getModuleRef } from '../moduleRefs.js';
7
+ import { getModuleRef } from '../helpers/moduleRefs.js';
8
8
  import { readFile } from 'node:fs/promises';
9
9
  import { temporaryReferences } from './temporaryReferences.js';
10
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"createBuildLoader.js","sources":["../../../plugin/loader/createBuildLoader.ts"],"sourcesContent":["import { join } from \"node:path\";\nimport type { ResolvedUserConfig, ResolvedUserOptions } from \"../../server.js\";\nimport type { Manifest } from \"vite\";\nimport { getModuleRef } from \"../moduleRefs.js\";\nimport { readFile } from \"node:fs/promises\";\nimport type { OutputBundle } from \"rollup\";\nimport { temporaryReferences } from \"./temporaryReferences.js\";\n\nexport interface BuildLoaderOptions {\n userConfig: ResolvedUserConfig;\n userOptions: ResolvedUserOptions;\n serverManifest: Manifest;\n clientManifest: Manifest;\n staticManifest: Manifest;\n}\n\n/**\n * Creates a loader function for handling module resolution during build.\n *\n * The loader handles the following strategy:\n * - Just load any file from any manifest we can find in the order of client, server, static\n * - Ideally the buildLoader is only used form loading pages, props and inline css modules\n * -\n *\n * During build:\n * - We use the manifest information to get module exports\n * - The manifest contains the transformed modules with their exports\n * - We store the module in temporaryReferences for later use\n *\n * @param options.root - The project root directory\n * @param options.pluginContext - The Rollup plugin context\n * @param options.userConfig - Resolved user configuration\n * @param options.userOptions - Resolved user options\n * @param options.serverManifest - Vite server manifest\n * @param options.clientManifest - Vite client manifest\n * @param options.options - Additional options including temporaryReferences\n *\n * @returns A loader function that resolves module paths to their exports\n */\nexport async function createBuildLoader(\n {\n userOptions,\n serverManifest,\n clientManifest,\n staticManifest,\n }: BuildLoaderOptions,\n bundle: OutputBundle\n) {\n const manifestKeys = Object.keys(serverManifest);\n if (!manifestKeys.length) {\n throw new Error(\"Server manifest is empty\");\n }\n return async function buildLoader(id: string) {\n const [withoutQuery, query] = id.split(\"?\", 2);\n const [, normalizedValue] = userOptions.normalizer(withoutQuery);\n const moduleRef = getModuleRef(id);\n // Check if we have a temporary reference (cached module)\n if (temporaryReferences?.has(moduleRef)) {\n const mod = temporaryReferences.get(moduleRef);\n if (typeof mod === \"object\" && mod !== null && \"error\" in mod) {\n // ignore it\n } else {\n return mod;\n }\n }\n\n try {\n // For inline modules, handle them directly\n if (query === \"inline\") {\n // Then check server manifest\n const serverChunk =\n bundle[serverManifest[normalizedValue]?.file] ??\n bundle[staticManifest[normalizedValue]?.file] ??\n bundle[clientManifest[normalizedValue]?.file] ??\n bundle[withoutQuery];\n if (serverChunk) {\n if (serverChunk.type === \"asset\") {\n return { default: serverChunk.source };\n } else if (\"code\" in serverChunk) {\n return { default: serverChunk.code };\n } else {\n console.warn(\"Could not find inline module for: \" + normalizedValue);\n }\n }\n\n // If not found in either manifest, try reading the file directly\n const module = {\n default: await readFile(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.static,\n normalizedValue\n ),\n \"utf-8\"\n ),\n };\n temporaryReferences?.set(moduleRef, module);\n return module;\n }\n const clientEntry = clientManifest[normalizedValue];\n if (clientEntry) {\n const module = await import(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.client,\n clientEntry.file\n )\n );\n console.warn(\n \"client module used in buildLoader, consider making this available in the server manifest\",\n module\n );\n temporaryReferences?.set(moduleRef, module);\n return module;\n }\n const bundleEntry = bundle[withoutQuery];\n if (bundleEntry) {\n // Load the module\n const module = await import(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.server,\n bundleEntry.fileName\n )\n );\n temporaryReferences?.set(moduleRef, module);\n }\n // Try to resolve the module using Vite's resolution\n const serverEntry = serverManifest[normalizedValue];\n if (serverEntry) {\n // Load the module\n const module = await import(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.server,\n serverEntry.file\n )\n );\n temporaryReferences?.set(moduleRef, module);\n return module;\n }\n // try static manifest\n const staticEntry = staticManifest[normalizedValue];\n if (staticEntry) {\n const module = await import(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.static,\n staticEntry.file\n )\n );\n console.warn(\n \"static module used in buildLoader, consider making this available in the server manifest\",\n module\n );\n temporaryReferences?.set(moduleRef, module);\n return module;\n }\n throw new Error(`Module ${normalizedValue} not found`);\n } catch (error) {\n const emptyExports = {\n error: error instanceof Error ? error : new Error(String(error)),\n id: id,\n };\n temporaryReferences?.set(moduleRef, emptyExports);\n return emptyExports;\n }\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createBuildLoader.js","sources":["../../../plugin/loader/createBuildLoader.ts"],"sourcesContent":["import { join } from \"node:path\";\nimport type { ResolvedUserConfig, ResolvedUserOptions } from \"../../server.js\";\nimport type { Manifest } from \"vite\";\nimport { getModuleRef } from \"../helpers/moduleRefs.js\";\nimport { readFile } from \"node:fs/promises\";\nimport type { OutputBundle } from \"rollup\";\nimport { temporaryReferences } from \"./temporaryReferences.js\";\n\nexport interface BuildLoaderOptions {\n userConfig: ResolvedUserConfig;\n userOptions: ResolvedUserOptions;\n serverManifest: Manifest;\n clientManifest: Manifest;\n staticManifest: Manifest;\n}\n\n/**\n * Creates a loader function for handling module resolution during build.\n *\n * The loader handles the following strategy:\n * - Just load any file from any manifest we can find in the order of client, server, static\n * - Ideally the buildLoader is only used form loading pages, props and inline css modules\n * -\n *\n * During build:\n * - We use the manifest information to get module exports\n * - The manifest contains the transformed modules with their exports\n * - We store the module in temporaryReferences for later use\n *\n * @param options.root - The project root directory\n * @param options.pluginContext - The Rollup plugin context\n * @param options.userConfig - Resolved user configuration\n * @param options.userOptions - Resolved user options\n * @param options.serverManifest - Vite server manifest\n * @param options.clientManifest - Vite client manifest\n * @param options.options - Additional options including temporaryReferences\n *\n * @returns A loader function that resolves module paths to their exports\n */\nexport async function createBuildLoader(\n {\n userOptions,\n serverManifest,\n clientManifest,\n staticManifest,\n }: BuildLoaderOptions,\n bundle: OutputBundle\n) {\n const manifestKeys = Object.keys(serverManifest);\n if (!manifestKeys.length) {\n throw new Error(\"Server manifest is empty\");\n }\n return async function buildLoader(id: string) {\n const [withoutQuery, query] = id.split(\"?\", 2);\n const [, normalizedValue] = userOptions.normalizer(withoutQuery);\n const moduleRef = getModuleRef(id);\n // Check if we have a temporary reference (cached module)\n if (temporaryReferences?.has(moduleRef)) {\n const mod = temporaryReferences.get(moduleRef);\n if (typeof mod === \"object\" && mod !== null && \"error\" in mod) {\n // ignore it\n } else {\n return mod;\n }\n }\n\n try {\n // For inline modules, handle them directly\n if (query === \"inline\") {\n // Then check server manifest\n const serverChunk =\n bundle[serverManifest[normalizedValue]?.file] ??\n bundle[staticManifest[normalizedValue]?.file] ??\n bundle[clientManifest[normalizedValue]?.file] ??\n bundle[withoutQuery];\n if (serverChunk) {\n if (serverChunk.type === \"asset\") {\n return { default: serverChunk.source };\n } else if (\"code\" in serverChunk) {\n return { default: serverChunk.code };\n } else {\n console.warn(\"Could not find inline module for: \" + normalizedValue);\n }\n }\n\n // If not found in either manifest, try reading the file directly\n const module = {\n default: await readFile(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.static,\n normalizedValue\n ),\n \"utf-8\"\n ),\n };\n temporaryReferences?.set(moduleRef, module);\n return module;\n }\n const clientEntry = clientManifest[normalizedValue];\n if (clientEntry) {\n const module = await import(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.client,\n clientEntry.file\n )\n );\n console.warn(\n \"client module used in buildLoader, consider making this available in the server manifest\",\n module\n );\n temporaryReferences?.set(moduleRef, module);\n return module;\n }\n const bundleEntry = bundle[withoutQuery];\n if (bundleEntry) {\n // Load the module\n const module = await import(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.server,\n bundleEntry.fileName\n )\n );\n temporaryReferences?.set(moduleRef, module);\n }\n // Try to resolve the module using Vite's resolution\n const serverEntry = serverManifest[normalizedValue];\n if (serverEntry) {\n // Load the module\n const module = await import(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.server,\n serverEntry.file\n )\n );\n temporaryReferences?.set(moduleRef, module);\n return module;\n }\n // try static manifest\n const staticEntry = staticManifest[normalizedValue];\n if (staticEntry) {\n const module = await import(\n join(\n userOptions.projectRoot,\n userOptions.build.outDir,\n userOptions.build.static,\n staticEntry.file\n )\n );\n console.warn(\n \"static module used in buildLoader, consider making this available in the server manifest\",\n module\n );\n temporaryReferences?.set(moduleRef, module);\n return module;\n }\n throw new Error(`Module ${normalizedValue} not found`);\n } catch (error) {\n const emptyExports = {\n error: error instanceof Error ? error : new Error(String(error)),\n id: id,\n };\n temporaryReferences?.set(moduleRef, emptyExports);\n return emptyExports;\n }\n };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { LoadHookContext } from "node:module";
2
+ import type { LoaderContext } from "../types.js";
3
+ import type { MessagePort } from "node:worker_threads";
4
+ import type { ResolvedConfig } from "vite";
5
+ export declare let loaderPort: MessagePort | undefined;
6
+ export declare function initialize(data: {
7
+ port: MessagePort;
8
+ resolvedConfig: ResolvedConfig;
9
+ }): Promise<void>;
10
+ export declare function load(url: string, context: LoadHookContext & LoaderContext, nextLoad: any): Promise<any>;
11
+ export declare function transformSource(source: string, context: any, defaultTransformSource: any): Promise<any>;
12
+ //# sourceMappingURL=env-loader.development.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-loader.development.d.ts","sourceRoot":"","sources":["../../../plugin/loader/env-loader.development.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE3C,eAAO,IAAI,UAAU,EAAE,WAAW,GAAG,SAAS,CAAC;AAI/C,wBAAsB,UAAU,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,cAAc,EAAE,cAAc,CAAA;CAAE,iBAI3F;AAGD,wBAAsB,IAAI,CACxB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,eAAe,GAAG,aAAa,EACxC,QAAQ,EAAE,GAAG,gBAsDd;AAGD,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,EACZ,sBAAsB,EAAE,GAAG,gBAI5B"}
@@ -0,0 +1,60 @@
1
+ export let loaderPort;
2
+ let resolvedConfig;
3
+ // Initialize hook
4
+ export async function initialize(data) {
5
+ loaderPort = data.port;
6
+ resolvedConfig = data.resolvedConfig;
7
+ data.port.postMessage({ type: "INITIALIZED_ENV_LOADER" });
8
+ }
9
+ // Load hook
10
+ export async function load(url, context, nextLoad) {
11
+ const result = await nextLoad(url, context);
12
+ // Skip if not a module
13
+ if (result.format !== "module") {
14
+ return result;
15
+ }
16
+ // Skip node internals and hidden files
17
+ if (url.startsWith('node:') || url.includes('/.')) {
18
+ return result;
19
+ }
20
+ // Convert source to string if it's a Buffer or Uint8Array
21
+ let sourceStr;
22
+ if (typeof result.source === "string") {
23
+ sourceStr = result.source;
24
+ }
25
+ else if (result.source instanceof Uint8Array || Buffer.isBuffer(result.source)) {
26
+ sourceStr = result.source.toString("utf-8");
27
+ }
28
+ else {
29
+ console.warn(`[env-loader] Unexpected source type: ${typeof result.source}`);
30
+ return result;
31
+ }
32
+ // Get define object from resolved config
33
+ const define = resolvedConfig?.define || {};
34
+ // Create the env object with Vite's default environment variables
35
+ const envObject = {
36
+ MODE: resolvedConfig?.mode || 'development',
37
+ BASE_URL: resolvedConfig?.base || '/',
38
+ PROD: resolvedConfig?.isProduction ? true : false,
39
+ DEV: resolvedConfig?.isProduction ? false : true,
40
+ SSR: true,
41
+ ...Object.fromEntries(Object.entries(define)
42
+ .filter(([key]) => key.startsWith('import.meta.env.'))
43
+ .map(([key, value]) => [key.replace('import.meta.env.', ''), JSON.parse(value)]))
44
+ };
45
+ // Replace environment variable references in the source
46
+ let newSource = sourceStr;
47
+ // Check if we need to handle import.meta.env
48
+ if (newSource.includes('import.meta.env')) {
49
+ newSource = `Object.defineProperty(import.meta, "env", { value: ${JSON.stringify(envObject)}, writable: false, configurable: false });\n${newSource}`;
50
+ }
51
+ return {
52
+ ...result,
53
+ source: newSource
54
+ };
55
+ }
56
+ // Transform hook
57
+ export async function transformSource(source, context, defaultTransformSource) {
58
+ const transformed = await defaultTransformSource(source, context, defaultTransformSource);
59
+ return transformed;
60
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.client.d.ts","sourceRoot":"","sources":["../../plugin/plugin.client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,wBAAgB,qBAAqB,CAAC,OAAO,GAAS,mBAAmB,GAAG,OAAO,MAAM,EAAE,MAAM,EAAE,CAMhG"}
1
+ {"version":3,"file":"plugin.client.d.ts","sourceRoot":"","sources":["../../plugin/plugin.client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIvD,wBAAgB,qBAAqB,CAAC,OAAO,GAAS,mBAAmB,GAAG,OAAO,MAAM,EAAE,MAAM,EAAE,CAOhG"}
@@ -6,9 +6,11 @@
6
6
  import { reactPreservePlugin } from './preserver/plugin.js';
7
7
  import { reactTransformPlugin } from './transformer/plugin.client.js';
8
8
  import { reactClientPlugin } from './react-client/plugin.js';
9
+ import { envPlugin } from './env.js';
9
10
 
10
11
  function vitePluginReactServer(options = {}) {
11
12
  return [
13
+ envPlugin(),
12
14
  reactClientPlugin(options),
13
15
  reactTransformPlugin(options),
14
16
  reactPreservePlugin()
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.client.js","sources":["../../plugin/plugin.client.ts"],"sourcesContent":["import { reactPreservePlugin } from \"./preserver/plugin.js\"; \nimport { reactTransformPlugin } from \"./transformer/plugin.client.js\";\nimport type { StreamPluginOptions } from \"../types.js\";\nimport { reactClientPlugin } from \"./react-client/plugin.js\";\n\nexport function vitePluginReactServer(options = {} as StreamPluginOptions): import(\"vite\").Plugin[] {\n return [\n reactClientPlugin(options),\n reactTransformPlugin(options),\n reactPreservePlugin(options),\n ];\n } "],"names":[],"mappings":";;;;;;;;;AAKO,SAAS,qBAAA,CAAsB,OAAU,GAAA,EAAoD,EAAA;AAChG,EAAO,OAAA;AAAA,IACL,kBAAkB,OAAO,CAAA;AAAA,IACzB,qBAAqB,OAAO,CAAA;AAAA,IAC5B,oBAA2B;AAAA,GAC7B;AACF;;;;"}
1
+ {"version":3,"file":"plugin.client.js","sources":["../../plugin/plugin.client.ts"],"sourcesContent":["import { reactPreservePlugin } from \"./preserver/plugin.js\"; \nimport { reactTransformPlugin } from \"./transformer/plugin.client.js\";\nimport type { StreamPluginOptions } from \"../types.js\";\nimport { reactClientPlugin } from \"./react-client/plugin.js\";\nimport { envPlugin } from \"./env/plugin.js\";\n\nexport function vitePluginReactServer(options = {} as StreamPluginOptions): import(\"vite\").Plugin[] {\n return [\n envPlugin(),\n reactClientPlugin(options),\n reactTransformPlugin(options),\n reactPreservePlugin(options),\n ];\n } "],"names":[],"mappings":";;;;;;;;;;AAMO,SAAS,qBAAA,CAAsB,OAAU,GAAA,EAAoD,EAAA;AAChG,EAAO,OAAA;AAAA,IACL,SAAU,EAAA;AAAA,IACV,kBAAkB,OAAO,CAAA;AAAA,IACzB,qBAAqB,OAAO,CAAA;AAAA,IAC5B,oBAA2B;AAAA,GAC7B;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../plugin/plugin.ts"],"names":[],"mappings":"AAIA,eAAO,MAAQ,qBAAqB,KAA6C,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../plugin/plugin.ts"],"names":[],"mappings":"AAEA,eAAO,MAAQ,qBAAqB,KAAoD,CAAC"}
@@ -1,3 +1,2 @@
1
1
  import { getCondition } from './config/getCondition.js';
2
- const condition = getCondition().slice(6); // remove react-
3
- export const { vitePluginReactServer } = await import(`./plugin.${condition}.js`);
2
+ export const { vitePluginReactServer } = await import(`./plugin.${getCondition('')}.js`);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.server.d.ts","sourceRoot":"","sources":["../../plugin/plugin.server.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAItD,wBAAgB,qBAAqB,CACnC,OAAO,GAAS,mBAAmB,GAClC,OAAO,MAAM,EAAE,MAAM,EAAE,CAezB"}
1
+ {"version":3,"file":"plugin.server.d.ts","sourceRoot":"","sources":["../../plugin/plugin.server.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKtD,wBAAgB,qBAAqB,CACnC,OAAO,GAAS,mBAAmB,GAClC,OAAO,MAAM,EAAE,MAAM,EAAE,CAiBzB"}
@@ -7,16 +7,19 @@ import { reactPreservePlugin } from './preserver/plugin.js';
7
7
  import { reactStaticPlugin } from './react-static/plugin.js';
8
8
  import { reactTransformPlugin } from './transformer/plugin.server.js';
9
9
  import { reactServerPlugin } from './react-server/plugin.js';
10
+ import { envPlugin } from './env.js';
10
11
 
11
12
  function vitePluginReactServer(options = {}) {
12
13
  if (!options.build?.pages || Array.isArray(options.build.pages) && options.build.pages.length === 0) {
13
14
  return [
15
+ envPlugin(),
14
16
  reactTransformPlugin(options),
15
17
  reactServerPlugin(options),
16
18
  reactPreservePlugin()
17
19
  ];
18
20
  }
19
21
  return [
22
+ envPlugin(),
20
23
  reactTransformPlugin(options),
21
24
  reactServerPlugin(options),
22
25
  reactStaticPlugin(options),
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.server.js","sources":["../../plugin/plugin.server.ts"],"sourcesContent":["import { reactPreservePlugin } from \"./preserver/plugin.js\";\nimport { reactStaticPlugin } from \"./react-static/plugin.js\";\nimport { reactTransformPlugin } from \"./transformer/plugin.server.js\";\nimport type { StreamPluginOptions } from \"./types.js\";\nimport { reactServerPlugin } from \"./react-server/plugin.js\";\n\n\nexport function vitePluginReactServer(\n options = {} as StreamPluginOptions\n): import(\"vite\").Plugin[] {\n if(!options.build?.pages || (Array.isArray(options.build.pages) && options.build.pages.length === 0)) {\n // in this case we do not need the static plugin at all\n return [\n reactTransformPlugin(options),\n reactServerPlugin(options),\n reactPreservePlugin(options),\n ];\n }\n return [\n reactTransformPlugin(options),\n reactServerPlugin(options),\n reactStaticPlugin(options),\n reactPreservePlugin(options),\n ];\n}\n"],"names":[],"mappings":";;;;;;;;;;AAOO,SAAS,qBAAA,CACd,OAAU,GAAA,EACe,EAAA;AACzB,EAAA,IAAG,CAAC,OAAA,CAAQ,KAAO,EAAA,KAAA,IAAU,MAAM,OAAQ,CAAA,OAAA,CAAQ,KAAM,CAAA,KAAK,CAAK,IAAA,OAAA,CAAQ,KAAM,CAAA,KAAA,CAAM,WAAW,CAAI,EAAA;AAEpG,IAAO,OAAA;AAAA,MACL,qBAAqB,OAAO,CAAA;AAAA,MAC5B,kBAAkB,OAAO,CAAA;AAAA,MACzB,oBAA2B;AAAA,KAC7B;AAAA;AAEF,EAAO,OAAA;AAAA,IACL,qBAAqB,OAAO,CAAA;AAAA,IAC5B,kBAAkB,OAAO,CAAA;AAAA,IACzB,kBAAkB,OAAO,CAAA;AAAA,IACzB,oBAA2B;AAAA,GAC7B;AACF;;;;"}
1
+ {"version":3,"file":"plugin.server.js","sources":["../../plugin/plugin.server.ts"],"sourcesContent":["import { reactPreservePlugin } from \"./preserver/plugin.js\";\nimport { reactStaticPlugin } from \"./react-static/plugin.js\";\nimport { reactTransformPlugin } from \"./transformer/plugin.server.js\";\nimport type { StreamPluginOptions } from \"./types.js\";\nimport { reactServerPlugin } from \"./react-server/plugin.js\";\nimport { envPlugin } from \"./env/plugin.js\";\n\n\nexport function vitePluginReactServer(\n options = {} as StreamPluginOptions\n): import(\"vite\").Plugin[] {\n if(!options.build?.pages || (Array.isArray(options.build.pages) && options.build.pages.length === 0)) {\n // in this case we do not need the static plugin at all\n return [\n envPlugin(),\n reactTransformPlugin(options),\n reactServerPlugin(options),\n reactPreservePlugin(options),\n ];\n }\n return [\n envPlugin(),\n reactTransformPlugin(options),\n reactServerPlugin(options),\n reactStaticPlugin(options),\n reactPreservePlugin(options),\n ];\n}\n"],"names":[],"mappings":";;;;;;;;;;;AAQO,SAAS,qBAAA,CACd,OAAU,GAAA,EACe,EAAA;AACzB,EAAA,IAAG,CAAC,OAAA,CAAQ,KAAO,EAAA,KAAA,IAAU,MAAM,OAAQ,CAAA,OAAA,CAAQ,KAAM,CAAA,KAAK,CAAK,IAAA,OAAA,CAAQ,KAAM,CAAA,KAAA,CAAM,WAAW,CAAI,EAAA;AAEpG,IAAO,OAAA;AAAA,MACL,SAAU,EAAA;AAAA,MACV,qBAAqB,OAAO,CAAA;AAAA,MAC5B,kBAAkB,OAAO,CAAA;AAAA,MACzB,oBAA2B;AAAA,KAC7B;AAAA;AAEF,EAAO,OAAA;AAAA,IACL,SAAU,EAAA;AAAA,IACV,qBAAqB,OAAO,CAAA;AAAA,IAC5B,kBAAkB,OAAO,CAAA;AAAA,IACzB,kBAAkB,OAAO,CAAA;AAAA,IACzB,oBAA2B;AAAA,GAC7B;AACF;;;;"}
@@ -0,0 +1,14 @@
1
+ declare global {
2
+ namespace NodeJS {
3
+ 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;
10
+ }
11
+ }
12
+ }
13
+ export {};
14
+ //# sourceMappingURL=process-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-env.d.ts","sourceRoot":"","sources":["../../plugin/process-env.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM,CAAC;QACf,UAAU,UAAU;YAClB,aAAa,EAAE,MAAM,CAAC;YACtB,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,kBAAkB,EAAE,MAAM,CAAC;SAC5B;KACF;CACF;AACD,OAAO,EAAE,CAAC"}
@@ -4,7 +4,8 @@ import type { StreamHandlers } from "../worker/types.js";
4
4
  type MessageHandlerContext = {
5
5
  handlers: StreamHandlers;
6
6
  logger: Logger;
7
+ verbose?: boolean;
7
8
  };
8
- export declare function createMessageHandler({ handlers, logger, }: MessageHandlerContext): (message: RscWorkerOutputMessage | undefined) => void;
9
+ export declare function createMessageHandler({ handlers, logger, verbose }: MessageHandlerContext): (message: RscWorkerOutputMessage | undefined) => void;
9
10
  export {};
10
11
  //# sourceMappingURL=createMessageHandlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createMessageHandlers.d.ts","sourceRoot":"","sources":["../../../plugin/react-client/createMessageHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,MAAM,GACP,EAAE,qBAAqB,aACL,sBAAsB,GAAG,SAAS,UAuBpD"}
1
+ {"version":3,"file":"createMessageHandlers.d.ts","sourceRoot":"","sources":["../../../plugin/react-client/createMessageHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,MAAM,EACN,OAAe,EAChB,EAAE,qBAAqB,aACL,sBAAsB,GAAG,SAAS,UAiCpD"}
@@ -5,14 +5,19 @@
5
5
  */
6
6
  function createMessageHandler({
7
7
  handlers,
8
- logger
8
+ logger,
9
+ verbose = false
9
10
  }) {
10
11
  return (message) => {
11
12
  if (!message) {
12
13
  logger.warn("[react-client] Received undefined message from worker");
13
14
  return;
14
15
  }
16
+ if (verbose) logger.info("new message " + message.type);
15
17
  switch (message.type) {
18
+ case "READY":
19
+ if (verbose) logger.info("[react-client] Worker is ready");
20
+ break;
16
21
  case "RSC_CHUNK":
17
22
  handlers.onData(message.chunk);
18
23
  break;
@@ -25,8 +30,14 @@ function createMessageHandler({
25
30
  case "RSC_METRICS":
26
31
  handlers.onMetrics(message.metrics);
27
32
  break;
33
+ case "HMR_ACCEPT":
34
+ handlers.onHmrAccept(message.routes ?? []);
35
+ break;
36
+ case "HMR_UPDATE":
37
+ handlers.onHmrUpdate(message.routes ?? []);
38
+ break;
28
39
  default:
29
- logger.warn(`Unknown message type: ${message.type}`);
40
+ logger.warn(`Unknown worker output message type: ${message.type}`);
30
41
  break;
31
42
  }
32
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"createMessageHandlers.js","sources":["../../../plugin/react-client/createMessageHandlers.ts"],"sourcesContent":["import type { RscWorkerOutputMessage } from \"../worker/types.js\";\nimport type { Logger } from \"vite\";\nimport type { StreamHandlers } from \"../worker/types.js\";\n\ntype MessageHandlerContext = {\n handlers: StreamHandlers;\n logger: Logger;\n};\n\nexport function createMessageHandler({\n handlers,\n logger,\n}: MessageHandlerContext) {\n return (message: RscWorkerOutputMessage | undefined) => {\n if (!message) {\n logger.warn(\"[react-client] Received undefined message from worker\");\n return;\n }\n switch (message.type) {\n case \"RSC_CHUNK\":\n handlers.onData(message.chunk);\n break;\n case \"RSC_END\":\n handlers.onEnd();\n break;\n case \"ERROR\":\n handlers.onError(message.error, message.errorInfo);\n break;\n case \"RSC_METRICS\":\n handlers.onMetrics(message.metrics);\n break;\n default:\n logger.warn(`Unknown message type: ${message.type}`);\n break;\n }\n };\n}\n"],"names":[],"mappings":";;;;;AASO,SAAS,oBAAqB,CAAA;AAAA,EACnC,QAAA;AAAA,EACA;AACF,CAA0B,EAAA;AACxB,EAAA,OAAO,CAAC,OAAgD,KAAA;AACtD,IAAA,IAAI,CAAC,OAAS,EAAA;AACZ,MAAA,MAAA,CAAO,KAAK,uDAAuD,CAAA;AACnE,MAAA;AAAA;AAEF,IAAA,QAAQ,QAAQ,IAAM;AAAA,MACpB,KAAK,WAAA;AACH,QAAS,QAAA,CAAA,MAAA,CAAO,QAAQ,KAAK,CAAA;AAC7B,QAAA;AAAA,MACF,KAAK,SAAA;AACH,QAAA,QAAA,CAAS,KAAM,EAAA;AACf,QAAA;AAAA,MACF,KAAK,OAAA;AACH,QAAA,QAAA,CAAS,OAAQ,CAAA,OAAA,CAAQ,KAAO,EAAA,OAAA,CAAQ,SAAS,CAAA;AACjD,QAAA;AAAA,MACF,KAAK,aAAA;AACH,QAAS,QAAA,CAAA,SAAA,CAAU,QAAQ,OAAO,CAAA;AAClC,QAAA;AAAA,MACF;AACE,QAAA,MAAA,CAAO,IAAK,CAAA,CAAA,sBAAA,EAAyB,OAAQ,CAAA,IAAI,CAAE,CAAA,CAAA;AACnD,QAAA;AAAA;AACJ,GACF;AACF;;;;"}
1
+ {"version":3,"file":"createMessageHandlers.js","sources":["../../../plugin/react-client/createMessageHandlers.ts"],"sourcesContent":["import type { RscWorkerOutputMessage } from \"../worker/types.js\";\nimport type { Logger } from \"vite\";\nimport type { StreamHandlers } from \"../worker/types.js\";\n\ntype MessageHandlerContext = {\n handlers: StreamHandlers;\n logger: Logger;\n verbose?: boolean;\n};\n\nexport function createMessageHandler({\n handlers,\n logger,\n verbose = false\n}: MessageHandlerContext) {\n return (message: RscWorkerOutputMessage | undefined) => {\n if (!message) {\n logger.warn(\"[react-client] Received undefined message from worker\");\n return;\n }\n if(verbose) logger.info('new message '+message.type)\n switch (message.type) {\n case \"READY\":\n if(verbose) logger.info(\"[react-client] Worker is ready\");\n break;\n case \"RSC_CHUNK\":\n handlers.onData(message.chunk);\n break;\n case \"RSC_END\":\n handlers.onEnd();\n break;\n case \"ERROR\":\n handlers.onError(message.error, message.errorInfo);\n break;\n case \"RSC_METRICS\":\n handlers.onMetrics(message.metrics);\n break;\n case \"HMR_ACCEPT\":\n handlers.onHmrAccept(message.routes ?? []);\n break;\n case \"HMR_UPDATE\":\n handlers.onHmrUpdate(message.routes ?? []);\n break;\n default:\n logger.warn(`Unknown worker output message type: ${message.type}`);\n break;\n }\n };\n}\n"],"names":[],"mappings":";;;;;AAUO,SAAS,oBAAqB,CAAA;AAAA,EACnC,QAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAU,GAAA;AACZ,CAA0B,EAAA;AACxB,EAAA,OAAO,CAAC,OAAgD,KAAA;AACtD,IAAA,IAAI,CAAC,OAAS,EAAA;AACZ,MAAA,MAAA,CAAO,KAAK,uDAAuD,CAAA;AACnE,MAAA;AAAA;AAEF,IAAA,IAAG,OAAS,EAAA,MAAA,CAAO,IAAK,CAAA,cAAA,GAAe,QAAQ,IAAI,CAAA;AACnD,IAAA,QAAQ,QAAQ,IAAM;AAAA,MACpB,KAAK,OAAA;AACH,QAAG,IAAA,OAAA,EAAgB,MAAA,CAAA,IAAA,CAAK,gCAAgC,CAAA;AACxD,QAAA;AAAA,MACF,KAAK,WAAA;AACH,QAAS,QAAA,CAAA,MAAA,CAAO,QAAQ,KAAK,CAAA;AAC7B,QAAA;AAAA,MACF,KAAK,SAAA;AACH,QAAA,QAAA,CAAS,KAAM,EAAA;AACf,QAAA;AAAA,MACF,KAAK,OAAA;AACH,QAAA,QAAA,CAAS,OAAQ,CAAA,OAAA,CAAQ,KAAO,EAAA,OAAA,CAAQ,SAAS,CAAA;AACjD,QAAA;AAAA,MACF,KAAK,aAAA;AACH,QAAS,QAAA,CAAA,SAAA,CAAU,QAAQ,OAAO,CAAA;AAClC,QAAA;AAAA,MACF,KAAK,YAAA;AACH,QAAA,QAAA,CAAS,WAAY,CAAA,OAAA,CAAQ,MAAU,IAAA,EAAE,CAAA;AACzC,QAAA;AAAA,MACF,KAAK,YAAA;AACH,QAAA,QAAA,CAAS,WAAY,CAAA,OAAA,CAAQ,MAAU,IAAA,EAAE,CAAA;AACzC,QAAA;AAAA,MACF;AACE,QAAA,MAAA,CAAO,IAAK,CAAA,CAAA,oCAAA,EAAuC,OAAQ,CAAA,IAAI,CAAE,CAAA,CAAA;AACjE,QAAA;AAAA;AACJ,GACF;AACF;;;;"}