vite-plugin-react-server 1.1.12 → 1.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/dist/package.json +10 -8
  2. package/dist/plugin/components/css-collector-elements.d.ts +4 -2
  3. package/dist/plugin/components/css-collector-elements.d.ts.map +1 -1
  4. package/dist/plugin/components/css-collector-elements.js +21 -7
  5. package/dist/plugin/components/css-collector-elements.js.map +1 -1
  6. package/dist/plugin/components/css-collector.d.ts +4 -5
  7. package/dist/plugin/components/css-collector.d.ts.map +1 -1
  8. package/dist/plugin/components/css-collector.js +5 -9
  9. package/dist/plugin/components/css-collector.js.map +1 -1
  10. package/dist/plugin/components/html.d.ts +1 -1
  11. package/dist/plugin/components/html.d.ts.map +1 -1
  12. package/dist/plugin/components/html.js +14 -3
  13. package/dist/plugin/components/html.js.map +1 -1
  14. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts +4 -4
  15. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
  16. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +14 -9
  17. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js.map +1 -1
  18. package/dist/plugin/config/defaults.d.ts +66 -12
  19. package/dist/plugin/config/defaults.d.ts.map +1 -1
  20. package/dist/plugin/config/defaults.js +69 -15
  21. package/dist/plugin/config/defaults.js.map +1 -1
  22. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts +5 -0
  23. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts.map +1 -0
  24. package/dist/plugin/config/resolveAutoDiscoverMatcher.js +25 -0
  25. package/dist/plugin/config/resolveAutoDiscoverMatcher.js.map +1 -0
  26. package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
  27. package/dist/plugin/config/resolveEnv.js +16 -5
  28. package/dist/plugin/config/resolveEnv.js.map +1 -1
  29. package/dist/plugin/config/resolveOptions.d.ts +3 -3
  30. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  31. package/dist/plugin/config/resolveOptions.js +59 -87
  32. package/dist/plugin/config/resolveOptions.js.map +1 -1
  33. package/dist/plugin/config/resolveUserConfig.d.ts +4 -4
  34. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  35. package/dist/plugin/config/resolveUserConfig.js +8 -1
  36. package/dist/plugin/config/resolveUserConfig.js.map +1 -1
  37. package/dist/plugin/error/toError.d.ts +3 -0
  38. package/dist/plugin/error/toError.d.ts.map +1 -1
  39. package/dist/plugin/error/toError.js +33 -4
  40. package/dist/plugin/error/toError.js.map +1 -1
  41. package/dist/plugin/helpers/cleanObject.d.ts.map +1 -1
  42. package/dist/plugin/helpers/cleanObject.js +19 -5
  43. package/dist/plugin/helpers/cleanObject.js.map +1 -1
  44. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +3 -3
  45. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
  46. package/dist/plugin/helpers/collectViteModuleGraphCss.js.map +1 -1
  47. package/dist/plugin/helpers/createCssProps.d.ts +4 -3
  48. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
  49. package/dist/plugin/helpers/createCssProps.js +7 -2
  50. package/dist/plugin/helpers/createCssProps.js.map +1 -1
  51. package/dist/plugin/helpers/createHandler.d.ts +4 -3
  52. package/dist/plugin/helpers/createHandler.d.ts.map +1 -1
  53. package/dist/plugin/helpers/createHandler.js +1 -1
  54. package/dist/plugin/helpers/createHandler.js.map +1 -1
  55. package/dist/plugin/helpers/createRscStream.d.ts +2 -2
  56. package/dist/plugin/helpers/createRscStream.d.ts.map +1 -1
  57. package/dist/plugin/helpers/createRscStream.js +15 -5
  58. package/dist/plugin/helpers/createRscStream.js.map +1 -1
  59. package/dist/plugin/helpers/index.d.ts +2 -2
  60. package/dist/plugin/helpers/index.d.ts.map +1 -1
  61. package/dist/plugin/helpers/index.js +2 -2
  62. package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
  63. package/dist/plugin/helpers/inputNormalizer.js +4 -1
  64. package/dist/plugin/helpers/inputNormalizer.js.map +1 -1
  65. package/dist/plugin/helpers/moduleResolver.d.ts +3 -0
  66. package/dist/plugin/helpers/moduleResolver.d.ts.map +1 -0
  67. package/dist/plugin/helpers/moduleResolver.js +25 -0
  68. package/dist/plugin/helpers/requestInfo.d.ts +18 -3
  69. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  70. package/dist/plugin/helpers/requestInfo.js +75 -11
  71. package/dist/plugin/helpers/requestInfo.js.map +1 -1
  72. package/dist/plugin/helpers/resolvePage.d.ts.map +1 -1
  73. package/dist/plugin/helpers/resolvePage.js +2 -3
  74. package/dist/plugin/helpers/resolvePage.js.map +1 -1
  75. package/dist/plugin/helpers/resolvePageAndProps.d.ts +4 -3
  76. package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
  77. package/dist/plugin/helpers/resolvePageAndProps.js.map +1 -1
  78. package/dist/plugin/helpers/serializeUserOptions.d.ts +3 -2
  79. package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
  80. package/dist/plugin/helpers/serializeUserOptions.js +13 -1
  81. package/dist/plugin/helpers/serializeUserOptions.js.map +1 -1
  82. package/dist/plugin/helpers/sourceMap.d.ts +8 -0
  83. package/dist/plugin/helpers/sourceMap.d.ts.map +1 -0
  84. package/dist/plugin/helpers/sourceMap.js +136 -0
  85. package/dist/plugin/helpers.js +1 -1
  86. package/dist/plugin/loader/createBuildLoader.d.ts +7 -22
  87. package/dist/plugin/loader/createBuildLoader.d.ts.map +1 -1
  88. package/dist/plugin/loader/createBuildLoader.js +79 -65
  89. package/dist/plugin/loader/createBuildLoader.js.map +1 -1
  90. package/dist/plugin/loader/createDefaultLoader.d.ts +13 -0
  91. package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -0
  92. package/dist/plugin/loader/createDefaultLoader.js +47 -0
  93. package/dist/plugin/loader/css-loader.development.d.ts +1 -0
  94. package/dist/plugin/loader/css-loader.development.d.ts.map +1 -1
  95. package/dist/plugin/loader/css-loader.development.js +1 -1
  96. package/dist/plugin/loader/css-loader.development.js.map +1 -1
  97. package/dist/plugin/loader/handleExports.d.ts +33 -0
  98. package/dist/plugin/loader/handleExports.d.ts.map +1 -0
  99. package/dist/plugin/loader/handleExports.js +174 -0
  100. package/dist/plugin/loader/handleExports.js.map +1 -0
  101. package/dist/plugin/loader/index.d.ts +1 -1
  102. package/dist/plugin/loader/index.d.ts.map +1 -1
  103. package/dist/plugin/loader/index.js +4 -1
  104. package/dist/plugin/loader/parse.d.ts +6 -0
  105. package/dist/plugin/loader/parse.d.ts.map +1 -0
  106. package/dist/plugin/loader/parse.js +23 -0
  107. package/dist/plugin/loader/parse.js.map +1 -0
  108. package/dist/plugin/loader/react-loader.client.d.ts +2 -0
  109. package/dist/plugin/loader/react-loader.client.d.ts.map +1 -0
  110. package/dist/plugin/loader/react-loader.client.js +2 -0
  111. package/dist/plugin/loader/react-loader.d.ts +1 -12
  112. package/dist/plugin/loader/react-loader.d.ts.map +1 -1
  113. package/dist/plugin/loader/react-loader.js +5 -687
  114. package/dist/plugin/loader/react-loader.js.map +1 -1
  115. package/dist/plugin/loader/react-loader.server.d.ts +21 -0
  116. package/dist/plugin/loader/react-loader.server.d.ts.map +1 -0
  117. package/dist/plugin/loader/react-loader.server.js +69 -0
  118. package/dist/plugin/loader/sourceMap.d.ts +35 -0
  119. package/dist/plugin/loader/sourceMap.d.ts.map +1 -0
  120. package/dist/plugin/loader/sourceMap.js +105 -0
  121. package/dist/plugin/loader/temporaryReferences.d.ts +1 -1
  122. package/dist/plugin/loader/temporaryReferences.d.ts.map +1 -1
  123. package/dist/plugin/loader/transformModuleIfNeeded.d.ts +2 -0
  124. package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -0
  125. package/dist/plugin/loader/transformModuleIfNeeded.js +27 -0
  126. package/dist/plugin/loader/transformModuleIfNeeded.js.map +1 -0
  127. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts +27 -0
  128. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts.map +1 -0
  129. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js +52 -0
  130. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js.map +1 -0
  131. package/dist/plugin/loader/types.d.ts +8 -0
  132. package/dist/plugin/loader/types.d.ts.map +1 -0
  133. package/dist/plugin/loader/types.js +1 -0
  134. package/dist/plugin/plugin.client.d.ts +2 -2
  135. package/dist/plugin/plugin.client.d.ts.map +1 -1
  136. package/dist/plugin/plugin.client.js +2 -3
  137. package/dist/plugin/plugin.client.js.map +1 -1
  138. package/dist/plugin/plugin.server.d.ts +2 -2
  139. package/dist/plugin/plugin.server.d.ts.map +1 -1
  140. package/dist/plugin/plugin.server.js +2 -2
  141. package/dist/plugin/plugin.server.js.map +1 -1
  142. package/dist/plugin/preserver/plugin.d.ts +2 -2
  143. package/dist/plugin/preserver/plugin.d.ts.map +1 -1
  144. package/dist/plugin/preserver/plugin.js +6 -2
  145. package/dist/plugin/preserver/plugin.js.map +1 -1
  146. package/dist/plugin/react-client/{server.d.ts → configureWorkerRequestHandler.d.ts} +4 -4
  147. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +1 -0
  148. package/dist/plugin/react-client/{server.js → configureWorkerRequestHandler.js} +11 -8
  149. package/dist/plugin/react-client/configureWorkerRequestHandler.js.map +1 -0
  150. package/dist/plugin/react-client/createMessageHandlers.d.ts +1 -1
  151. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  152. package/dist/plugin/react-client/createMessageHandlers.js +18 -11
  153. package/dist/plugin/react-client/createMessageHandlers.js.map +1 -1
  154. package/dist/plugin/react-client/createWorkerStream.d.ts +5 -3
  155. package/dist/plugin/react-client/createWorkerStream.d.ts.map +1 -1
  156. package/dist/plugin/react-client/createWorkerStream.js +61 -27
  157. package/dist/plugin/react-client/createWorkerStream.js.map +1 -1
  158. package/dist/plugin/react-client/handleWorkerRscStream.d.ts +1 -1
  159. package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +1 -1
  160. package/dist/plugin/react-client/handleWorkerRscStream.js +14 -4
  161. package/dist/plugin/react-client/handleWorkerRscStream.js.map +1 -1
  162. package/dist/plugin/react-client/plugin.d.ts +2 -2
  163. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  164. package/dist/plugin/react-client/plugin.js +7 -8
  165. package/dist/plugin/react-client/plugin.js.map +1 -1
  166. package/dist/plugin/react-client/restartWorker.d.ts +1 -1
  167. package/dist/plugin/react-client/restartWorker.d.ts.map +1 -1
  168. package/dist/plugin/react-client/restartWorker.js +9 -3
  169. package/dist/plugin/react-client/restartWorker.js.map +1 -1
  170. package/dist/plugin/react-server/configureReactServer.d.ts +9 -0
  171. package/dist/plugin/react-server/configureReactServer.d.ts.map +1 -0
  172. package/dist/plugin/react-server/{server.js → configureReactServer.js} +26 -8
  173. package/dist/plugin/react-server/configureReactServer.js.map +1 -0
  174. package/dist/plugin/react-server/handleServerAction.d.ts +5 -0
  175. package/dist/plugin/react-server/handleServerAction.d.ts.map +1 -0
  176. package/dist/plugin/react-server/handleServerAction.js +145 -0
  177. package/dist/plugin/react-server/handleServerAction.js.map +1 -0
  178. package/dist/plugin/react-server/plugin.d.ts +2 -2
  179. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  180. package/dist/plugin/react-server/plugin.js +1 -1
  181. package/dist/plugin/react-server/plugin.js.map +1 -1
  182. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +2 -2
  183. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +1 -1
  184. package/dist/plugin/react-static/collectHtmlWorkerContent.js.map +1 -1
  185. package/dist/plugin/react-static/collectRscContent.d.ts +2 -2
  186. package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
  187. package/dist/plugin/react-static/collectRscContent.js.map +1 -1
  188. package/dist/plugin/react-static/configurePreviewServer.d.ts +3 -3
  189. package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
  190. package/dist/plugin/react-static/configurePreviewServer.js +18 -7
  191. package/dist/plugin/react-static/configurePreviewServer.js.map +1 -1
  192. package/dist/plugin/react-static/plugin.d.ts +2 -2
  193. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  194. package/dist/plugin/react-static/plugin.js +28 -12
  195. package/dist/plugin/react-static/plugin.js.map +1 -1
  196. package/dist/plugin/react-static/renderPage.d.ts +2 -2
  197. package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
  198. package/dist/plugin/react-static/renderPage.js.map +1 -1
  199. package/dist/plugin/react-static/renderPages.d.ts +2 -2
  200. package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
  201. package/dist/plugin/react-static/renderPages.js.map +1 -1
  202. package/dist/plugin/react-static/renderStreams.d.ts +2 -2
  203. package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
  204. package/dist/plugin/react-static/renderStreams.js +4 -4
  205. package/dist/plugin/react-static/renderStreams.js.map +1 -1
  206. package/dist/plugin/source-map/createMappingsSerializer.d.ts +2 -0
  207. package/dist/plugin/source-map/createMappingsSerializer.d.ts.map +1 -0
  208. package/dist/plugin/source-map/createMappingsSerializer.js +159 -0
  209. package/dist/plugin/source-map/readMappings.d.ts +2 -0
  210. package/dist/plugin/source-map/readMappings.d.ts.map +1 -0
  211. package/dist/plugin/source-map/readMappings.js +201 -0
  212. package/dist/plugin/transformer/index.d.ts +0 -1
  213. package/dist/plugin/transformer/index.d.ts.map +1 -1
  214. package/dist/plugin/transformer/index.js +0 -1
  215. package/dist/plugin/transformer/plugin.client.d.ts +1 -3
  216. package/dist/plugin/transformer/plugin.client.d.ts.map +1 -1
  217. package/dist/plugin/transformer/plugin.client.js +1 -84
  218. package/dist/plugin/transformer/plugin.server.d.ts +2 -2
  219. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
  220. package/dist/plugin/transformer/plugin.server.js +52 -20
  221. package/dist/plugin/transformer/plugin.server.js.map +1 -1
  222. package/dist/plugin/types.d.ts +89 -119
  223. package/dist/plugin/types.d.ts.map +1 -1
  224. package/dist/plugin/utils/callServer.d.ts +1 -1
  225. package/dist/plugin/utils/callServer.d.ts.map +1 -1
  226. package/dist/plugin/utils/createCallServer.d.ts +1 -1
  227. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  228. package/dist/plugin/utils/createCallServer.js +13 -4
  229. package/dist/plugin/utils/createCallServer.js.map +1 -1
  230. package/dist/plugin/utils/index.d.ts +1 -0
  231. package/dist/plugin/utils/index.d.ts.map +1 -1
  232. package/dist/plugin/utils/index.js +1 -0
  233. package/dist/plugin/utils.js +1 -0
  234. package/dist/plugin/utils.js.map +1 -1
  235. package/dist/plugin/vendor/vendor.client.d.ts +2 -1
  236. package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
  237. package/dist/plugin/vendor/vendor.client.js +2 -1
  238. package/dist/plugin/vendor/vendor.client.js.map +1 -1
  239. package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
  240. package/dist/plugin/vendor/vendor.server.js +1 -1
  241. package/dist/plugin/vendor/vendor.server.js.map +1 -1
  242. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  243. package/dist/plugin/worker/createWorker.js +17 -22
  244. package/dist/plugin/worker/createWorker.js.map +1 -1
  245. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +1 -1
  246. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +25 -4
  247. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js.map +1 -1
  248. package/dist/plugin/worker/html/html-worker.development.js +15 -13
  249. package/dist/plugin/worker/html/html-worker.development.js.map +1 -1
  250. package/dist/plugin/worker/html/html-worker.production.js +2 -12
  251. package/dist/plugin/worker/html/html-worker.production.js.map +1 -1
  252. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  253. package/dist/plugin/worker/html/messageHandler.js +2 -2
  254. package/dist/plugin/worker/html/messageHandler.js.map +1 -1
  255. package/dist/plugin/worker/rsc/handleRender.d.ts +2 -1
  256. package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -1
  257. package/dist/plugin/worker/rsc/handleRender.js +8 -8
  258. package/dist/plugin/worker/rsc/handleRender.js.map +1 -1
  259. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  260. package/dist/plugin/worker/rsc/messageHandler.js +166 -107
  261. package/dist/plugin/worker/rsc/messageHandler.js.map +1 -1
  262. package/dist/plugin/worker/rsc/rsc-worker.development.js +112 -52
  263. package/dist/plugin/worker/rsc/rsc-worker.development.js.map +1 -1
  264. package/dist/plugin/worker/rsc/rsc-worker.production.js +1 -1
  265. package/dist/plugin/worker/rsc/rsc-worker.production.js.map +1 -1
  266. package/dist/plugin/worker/rsc/state.d.ts +5 -64
  267. package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
  268. package/dist/plugin/worker/rsc/state.js +5 -1
  269. package/dist/plugin/worker/rsc/state.js.map +1 -1
  270. package/dist/plugin/worker/sendMessage.d.ts +2 -0
  271. package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
  272. package/dist/plugin/worker/sendMessage.js +2 -1
  273. package/dist/plugin/worker/sendMessage.js.map +1 -1
  274. package/dist/plugin/worker/types.d.ts +52 -53
  275. package/dist/plugin/worker/types.d.ts.map +1 -1
  276. package/dist/tsconfig.tsbuildinfo +1 -1
  277. package/package.json +10 -8
  278. package/plugin/components/css-collector-elements.tsx +30 -9
  279. package/plugin/components/css-collector.tsx +13 -22
  280. package/plugin/components/html.tsx +12 -5
  281. package/plugin/config/autoDiscover/resolveAutoDiscover.ts +31 -13
  282. package/plugin/config/defaults.tsx +72 -16
  283. package/plugin/config/resolveAutoDiscoverMatcher.ts +23 -0
  284. package/plugin/config/resolveEnv.ts +20 -12
  285. package/plugin/config/resolveOptions.ts +152 -155
  286. package/plugin/config/resolveUserConfig.ts +20 -5
  287. package/plugin/error/toError.ts +35 -1
  288. package/plugin/helpers/cleanObject.ts +79 -15
  289. package/plugin/helpers/collectViteModuleGraphCss.ts +4 -3
  290. package/plugin/helpers/createCssProps.tsx +26 -9
  291. package/plugin/helpers/createHandler.ts +7 -4
  292. package/plugin/helpers/createRscStream.tsx +20 -14
  293. package/plugin/helpers/index.ts +2 -2
  294. package/plugin/helpers/inputNormalizer.ts +4 -2
  295. package/plugin/helpers/moduleResolver.ts +36 -0
  296. package/plugin/helpers/requestInfo.ts +117 -23
  297. package/plugin/helpers/resolvePage.ts +2 -3
  298. package/plugin/helpers/resolvePageAndProps.ts +7 -6
  299. package/plugin/helpers/serializeUserOptions.ts +20 -2
  300. package/plugin/helpers/sourceMap.ts +182 -0
  301. package/plugin/loader/createBuildLoader.ts +124 -104
  302. package/plugin/loader/createDefaultLoader.ts +62 -0
  303. package/plugin/loader/css-loader.development.ts +3 -2
  304. package/plugin/loader/handleExports.ts +276 -0
  305. package/plugin/loader/index.ts +6 -1
  306. package/plugin/loader/parse.ts +22 -0
  307. package/plugin/loader/react-loader.client.ts +1 -0
  308. package/plugin/loader/react-loader.server.ts +107 -0
  309. package/plugin/loader/react-loader.ts +4 -1002
  310. package/plugin/loader/sourceMap.ts +118 -0
  311. package/plugin/loader/transformModuleIfNeeded.ts +33 -0
  312. package/plugin/loader/transformModuleWithPreservedFunctions.ts +119 -0
  313. package/plugin/loader/types.ts +10 -0
  314. package/plugin/plugin.client.ts +18 -11
  315. package/plugin/plugin.server.ts +6 -3
  316. package/plugin/preserver/plugin.ts +37 -17
  317. package/plugin/react-client/{server.ts → configureWorkerRequestHandler.ts} +22 -12
  318. package/plugin/react-client/createMessageHandlers.ts +21 -13
  319. package/plugin/react-client/createWorkerStream.ts +71 -33
  320. package/plugin/react-client/handleWorkerRscStream.ts +15 -5
  321. package/plugin/react-client/plugin.ts +18 -13
  322. package/plugin/react-client/restartWorker.ts +17 -5
  323. package/plugin/react-server/{server.ts → configureReactServer.ts} +40 -9
  324. package/plugin/react-server/handleServerAction.ts +177 -0
  325. package/plugin/react-server/plugin.ts +8 -3
  326. package/plugin/react-static/collectHtmlWorkerContent.ts +11 -3
  327. package/plugin/react-static/collectRscContent.ts +17 -9
  328. package/plugin/react-static/configurePreviewServer.ts +37 -17
  329. package/plugin/react-static/plugin.ts +45 -22
  330. package/plugin/react-static/renderPage.ts +12 -6
  331. package/plugin/react-static/renderPages.ts +15 -4
  332. package/plugin/react-static/renderStreams.ts +13 -12
  333. package/plugin/source-map/createMappingsSerializer.ts +182 -0
  334. package/plugin/source-map/readMappings.ts +195 -0
  335. package/plugin/transformer/README.md +295 -29
  336. package/plugin/transformer/index.ts +0 -1
  337. package/plugin/transformer/plugin.client.ts +0 -111
  338. package/plugin/transformer/plugin.server.ts +94 -25
  339. package/plugin/types/react-server-dom-esm.d.ts +183 -24
  340. package/plugin/types/sourceMap.d.ts +2 -0
  341. package/plugin/types/webpack-sources.d.ts +24 -0
  342. package/plugin/types.ts +169 -132
  343. package/plugin/utils/createCallServer.ts +21 -6
  344. package/plugin/utils/index.ts +2 -1
  345. package/plugin/vendor/vendor.client.ts +2 -1
  346. package/plugin/vendor/vendor.server.ts +1 -1
  347. package/plugin/worker/createWorker.ts +21 -24
  348. package/plugin/worker/html/createHtmlWorkerRenderState.tsx +31 -7
  349. package/plugin/worker/html/html-worker.development.tsx +16 -16
  350. package/plugin/worker/html/html-worker.production.tsx +3 -19
  351. package/plugin/worker/html/messageHandler.tsx +2 -4
  352. package/plugin/worker/rsc/handleRender.ts +15 -12
  353. package/plugin/worker/rsc/messageHandler.tsx +191 -120
  354. package/plugin/worker/rsc/rsc-worker.development.ts +148 -77
  355. package/plugin/worker/rsc/rsc-worker.production.ts +1 -1
  356. package/plugin/worker/rsc/state.ts +10 -0
  357. package/plugin/worker/sendMessage.ts +32 -14
  358. package/plugin/worker/types.ts +99 -64
  359. package/dist/plugin/react-client/server.d.ts.map +0 -1
  360. package/dist/plugin/react-client/server.js.map +0 -1
  361. package/dist/plugin/react-server/server.d.ts +0 -9
  362. package/dist/plugin/react-server/server.d.ts.map +0 -1
  363. package/dist/plugin/react-server/server.js.map +0 -1
  364. package/dist/plugin/transformer/plugin.client.js.map +0 -1
  365. package/dist/plugin/transformer/upgradeCssModuleCode.d.ts +0 -2
  366. package/dist/plugin/transformer/upgradeCssModuleCode.d.ts.map +0 -1
  367. package/dist/plugin/transformer/upgradeCssModuleCode.js +0 -40
  368. package/dist/plugin/worker/loader.d.ts +0 -5
  369. package/dist/plugin/worker/loader.d.ts.map +0 -1
  370. package/dist/plugin/worker/loader.js +0 -11
  371. package/dist/plugin/worker/loader.js.map +0 -1
  372. package/plugin/transformer/upgradeCssModuleCode.ts +0 -42
  373. package/plugin/worker/loader.ts +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"resolveUserConfig.js","sources":["../../../plugin/config/resolveUserConfig.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n ResolvedUserConfig,\n ResolvedUserOptions,\n AutoDiscoveredFiles,\n} from \"../types.js\";\nimport { join } from \"node:path\";\nimport type { OutputOptions, PreRenderedAsset, PreRenderedChunk } from \"rollup\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\n\nlet stashedUserConfig: Record<string, ResolvedUserConfig | null> = {};\n\nexport type ResolveUserConfigProps = {\n condition: \"react-client\" | \"react-server\";\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions;\n autoDiscoveredFiles: Pick<AutoDiscoveredFiles, \"inputs\" | \"staticManifest\">;\n};\n\nexport type ResolveUserConfigReturn =\n | { type: \"success\"; userConfig: ResolvedUserConfig }\n | { type: \"error\"; error: Error };\n\nexport function resolveUserConfig({\n condition,\n config,\n configEnv,\n userOptions,\n autoDiscoveredFiles,\n}: ResolveUserConfigProps): ResolveUserConfigReturn {\n const ssr =\n typeof config.build?.ssr === \"boolean\"\n ? config.build?.ssr\n : Boolean(configEnv.isSsrBuild) ||\n condition === \"react-server\" ||\n (typeof process.env[\"VITE_SSR\"] === \"string\"\n ? process.env[\"VITE_SSR\"] === \"true\" ||\n process.env[\"VITE_SSR\"] === \"1\"\n : Boolean(process.env[\"VITE_SSR\"]));\n const envDir =\n condition === \"react-client\" && ssr\n ? userOptions.build.client\n : condition === \"react-client\"\n ? userOptions.build.static\n : userOptions.build.server;\n const envId = `${envDir}${ssr ? \"-ssr\" : \"\"}`;\n\n if (stashedUserConfig[envId]) {\n return {\n type: \"success\",\n userConfig: stashedUserConfig[envId],\n };\n }\n\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n\n const handleSsrName = <T extends PreRenderedChunk | PreRenderedAsset>(\n info: T,\n input: string | null,\n fallback: (info: T, ssr: boolean) => string,\n ssr: boolean\n ) => {\n if (!ssr || !input) {\n return fallback(info, false);\n }\n const [, value] = userOptions.normalizer(input);\n const entry = autoDiscoveredFiles.staticManifest[value];\n if (\n entry?.name &&\n info.type === \"asset\" &&\n userOptions.autoDiscover.cssPattern(value)\n ) {\n const withoutExt = entry.name?.split(\".\")[0];\n const found = entry.css?.find((css) =>\n css.startsWith(withoutExt as string)\n );\n if (found) {\n return found;\n } else {\n return entry.file;\n }\n } else if (entry) {\n return entry.file;\n }\n return fallback(info, true);\n };\n const userDefinedOutput = config.build?.rollupOptions?.output;\n const hasOtherOutput =\n Array.isArray(userDefinedOutput) && userDefinedOutput.length > 1;\n const hasValidOutput = userDefinedOutput && !hasOtherOutput;\n const hasObjectOutput =\n userDefinedOutput &&\n !hasOtherOutput &&\n typeof userDefinedOutput === \"object\" &&\n userDefinedOutput !== null;\n\n const userDefinedAssetFileNames = hasObjectOutput\n ? \"assetFileNames\" in userDefinedOutput\n ? userDefinedOutput.assetFileNames\n : undefined\n : // find the other asset file names\n hasOtherOutput\n ? (userDefinedOutput.find((o) => o.assetFileNames) as OutputOptions)\n .assetFileNames\n : undefined;\n\n const userDefinedChunkFileNames = hasValidOutput\n ? \"chunkFileNames\" in userDefinedOutput\n ? userDefinedOutput.chunkFileNames\n : undefined\n : undefined;\n const userDefinedEntryFileNames = hasValidOutput\n ? \"entryFileNames\" in userDefinedOutput\n ? userDefinedOutput.entryFileNames\n : undefined\n : undefined;\n\n let stashedReturns: Record<string, string> = {};\n const pluginOutput = {\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n entryFileNames:\n userDefinedEntryFileNames ??\n ((info) => {\n const input = info.facadeModuleId;\n return handleSsrName(info, input, userOptions.build.entryFile, ssr);\n }),\n assetFileNames: process.env[\"VITEST\"]\n ? undefined\n : userDefinedAssetFileNames ??\n ((i) => {\n const input = i.originalFileNames[0];\n if (!stashedReturns[input]) {\n const r = handleSsrName(i, input, userOptions.build.assetFile, ssr);\n stashedReturns[input] = r;\n }\n return stashedReturns[input];\n }),\n chunkFileNames:\n userDefinedChunkFileNames ??\n ((i) => {\n const input = i.facadeModuleId;\n return handleSsrName(i, input, userOptions.build.chunkFile, ssr);\n }),\n format: \"esm\",\n exports: \"named\",\n } satisfies OutputOptions;\n\n let newOutput = Array.isArray(config.build?.rollupOptions?.output)\n ? [...config.build?.rollupOptions?.output, pluginOutput]\n : typeof config.build?.rollupOptions?.output === \"object\" &&\n config.build?.rollupOptions?.output !== null\n ? [config.build?.rollupOptions?.output, pluginOutput]\n : pluginOutput;\n const vitePrefix = config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX;\n const mode = config.mode ?? process.env[\"VITE_MODE\"];\n const minify = config.build?.minify;\n\n const srrConfig = {\n ...config.ssr,\n target: config.ssr?.target ?? \"node\",\n optimizeDeps: {\n ...config.ssr?.optimizeDeps,\n include: config.ssr?.optimizeDeps?.include ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n resolve: {\n ...config.ssr?.resolve,\n externalConditions: config.ssr?.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n };\n let publicOrigin =\n userOptions.publicOrigin ?? process.env.VITE_PUBLIC_ORIGIN ?? \"\";\n let PROD = mode === \"production\";\n let DEV = mode === \"development\";\n if (configEnv.command === \"serve\" && !configEnv.isPreview) {\n publicOrigin = `http${config.server?.https ? \"s\" : \"\"}://${\n typeof config.server?.host === \"string\"\n ? config.server?.host\n : \"localhost\"\n }:${typeof config.server?.port === \"number\" ? config.server?.port : 5173}`;\n }\n const ssrDefine = ssr\n ? {\n [`process.env.${vitePrefix}SSR`]: `${ssr}`,\n [`process.env.${vitePrefix}DEV`]: `${DEV}`,\n [`process.env.${vitePrefix}PROD`]: `${PROD}`,\n [`process.env.${vitePrefix}MODE`]: `\"${mode}\"`,\n [`process.env.${vitePrefix}BASE_URL`]: `\"${userOptions.moduleBaseURL}\"`,\n [`process.env.${vitePrefix}PUBLIC_ORIGIN`]: `\"${publicOrigin}\"`,\n }\n : {};\n const define = {\n ...config.define,\n [`import.meta.env.PUBLIC_ORIGIN`]: `\"${publicOrigin}\"`,\n ...ssrDefine,\n };\n // these will never be cleaned up, because, we are resolving the user config\n // and it's assumed the thread closes after this and we don't want\n // it to change after the config has been resolved\n if (process.env.VITE_BASE_URL !== userOptions.moduleBaseURL) {\n process.env.VITE_BASE_URL = userOptions.moduleBaseURL;\n }\n if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {\n process.env.VITE_PUBLIC_ORIGIN = publicOrigin;\n }\n\n if (condition === \"react-client\") {\n // client plugin build options (client plugin still outputs server files)\n const clientConfig = {\n ...config,\n root: root,\n mode: mode,\n base: userOptions.moduleBaseURL,\n envPrefix: vitePrefix,\n resolve: {\n ...config.resolve,\n external: config.resolve?.external ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n define: define,\n ssr: srrConfig,\n // client build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n copyPublicDir:\n typeof config.build?.copyPublicDir === \"boolean\"\n ? config.build?.copyPublicDir\n : !ssr,\n // modern browsers\n target: config.build?.target ?? [\"esnext\"],\n minify: minify,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: autoDiscoveredFiles.inputs,\n output: newOutput,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ??\n \"exports-only\",\n },\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: config.build?.ssrEmitAssets ?? true,\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n },\n } satisfies ResolvedUserConfig;\n stashedUserConfig[envId] = clientConfig;\n return {\n type: \"success\",\n userConfig: clientConfig,\n };\n } else {\n const serverConfig = {\n ...config,\n root: root,\n mode: mode,\n base: userOptions.moduleBaseURL,\n envPrefix: vitePrefix,\n resolve: {\n ...config.resolve,\n externalConditions: config.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n define: define,\n ssr: srrConfig,\n // server build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n target: config.build?.target ?? \"node18\",\n minify: minify,\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets:\n typeof config.build?.ssrEmitAssets === \"boolean\"\n ? config.build?.ssrEmitAssets\n : true,\n copyPublicDir:\n typeof config.build?.copyPublicDir === \"boolean\"\n ? config.build?.copyPublicDir\n : !ssr,\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n // Ensure CSS files are output to static directory\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: autoDiscoveredFiles.inputs,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ?? \"strict\",\n output: newOutput,\n },\n },\n } satisfies ResolvedUserConfig;\n stashedUserConfig[envId] = serverConfig;\n return {\n type: \"success\",\n userConfig: serverConfig,\n };\n }\n}\n"],"names":["ssr"],"mappings":"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"}
1
+ {"version":3,"file":"resolveUserConfig.js","sources":["../../../plugin/config/resolveUserConfig.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n ResolvedUserConfig,\n ResolvedUserOptions,\n AutoDiscoveredFiles,\n PagePropOpt,\n InlineCssOpt,\n} from \"../types.js\";\nimport { join } from \"node:path\";\nimport type { OutputOptions, PreRenderedAsset, PreRenderedChunk } from \"rollup\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\n\nlet stashedUserConfig: Record<string, ResolvedUserConfig | null> = {};\n\nexport type ResolveUserConfigProps<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n> = {\n condition: \"react-client\" | \"react-server\";\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions<T, InlineCSS>;\n autoDiscoveredFiles: Pick<AutoDiscoveredFiles, \"inputs\" | \"staticManifest\">;\n};\n\nexport type ResolveUserConfigReturn =\n | { type: \"success\"; userConfig: ResolvedUserConfig }\n | { type: \"error\"; error: Error };\n\nexport function resolveUserConfig<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>({\n condition,\n config,\n configEnv,\n userOptions,\n autoDiscoveredFiles,\n}: ResolveUserConfigProps<T, InlineCSS>): ResolveUserConfigReturn {\n const ssr =\n typeof config.build?.ssr === \"boolean\"\n ? config.build?.ssr\n : Boolean(configEnv.isSsrBuild) ||\n condition === \"react-server\" ||\n (typeof process.env[\"VITE_SSR\"] === \"string\"\n ? process.env[\"VITE_SSR\"] === \"true\" ||\n process.env[\"VITE_SSR\"] === \"1\"\n : Boolean(process.env[\"VITE_SSR\"]));\n const envDir =\n condition === \"react-client\" && ssr\n ? userOptions.build.client\n : condition === \"react-client\"\n ? userOptions.build.static\n : userOptions.build.server;\n const envId = `${envDir}${ssr ? \"-ssr\" : \"\"}`;\n\n if (stashedUserConfig[envId]) {\n return {\n type: \"success\",\n userConfig: stashedUserConfig[envId],\n };\n }\n\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n\n const handleSsrName = <T extends PreRenderedChunk | PreRenderedAsset>(\n info: T,\n input: string | null,\n fallback: (info: T, ssr: boolean) => string,\n ssr: boolean\n ) => {\n if (\"source\" in info && info.source === \"\") {\n return \"\";\n }\n if (!ssr || !input) {\n return fallback(info, false);\n }\n const [, value] = userOptions.normalizer(input);\n const entry = autoDiscoveredFiles.staticManifest[value];\n if (\n entry?.name &&\n info.type === \"asset\" &&\n userOptions.autoDiscover.cssPattern(value)\n ) {\n const withoutExt = entry.name?.split(\".\")[0];\n const found = entry.css?.find((css) =>\n css.startsWith(withoutExt as string)\n );\n if (found) {\n return found;\n } else {\n return entry.file;\n }\n } else if (entry) {\n return entry.file;\n }\n return fallback(info, true);\n };\n const userDefinedOutput = config.build?.rollupOptions?.output;\n const hasOtherOutput =\n Array.isArray(userDefinedOutput) && userDefinedOutput.length > 1;\n const hasValidOutput = userDefinedOutput && !hasOtherOutput;\n const hasObjectOutput =\n userDefinedOutput &&\n !hasOtherOutput &&\n typeof userDefinedOutput === \"object\" &&\n userDefinedOutput !== null;\n\n const userDefinedAssetFileNames = hasObjectOutput\n ? \"assetFileNames\" in userDefinedOutput\n ? userDefinedOutput.assetFileNames\n : undefined\n : // find the other asset file names\n hasOtherOutput\n ? (userDefinedOutput.find((o) => o.assetFileNames) as OutputOptions)\n .assetFileNames\n : undefined;\n\n const userDefinedChunkFileNames = hasValidOutput\n ? \"chunkFileNames\" in userDefinedOutput\n ? userDefinedOutput.chunkFileNames\n : undefined\n : undefined;\n const userDefinedEntryFileNames = hasValidOutput\n ? \"entryFileNames\" in userDefinedOutput\n ? userDefinedOutput.entryFileNames\n : undefined\n : undefined;\n\n let stashedReturns: Record<string, string> = {};\n const pluginOutput = {\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n entryFileNames:\n userDefinedEntryFileNames ??\n ((info) => {\n const input = info.facadeModuleId;\n return handleSsrName(info, input, userOptions.build.entryFile, ssr);\n }),\n assetFileNames: process.env[\"VITEST\"]\n ? undefined\n : userDefinedAssetFileNames ??\n ((i) => {\n const input = i.originalFileNames[0];\n if (!stashedReturns[input]) {\n const r = handleSsrName(i, input, userOptions.build.assetFile, ssr);\n stashedReturns[input] = r;\n }\n return stashedReturns[input];\n }),\n chunkFileNames:\n userDefinedChunkFileNames ??\n ((i) => {\n const input = i.facadeModuleId;\n return handleSsrName(i, input, userOptions.build.chunkFile, ssr);\n }),\n format: \"esm\",\n exports: \"named\",\n } satisfies OutputOptions;\n\n let newOutput = Array.isArray(config.build?.rollupOptions?.output)\n ? [...config.build?.rollupOptions?.output, pluginOutput]\n : typeof config.build?.rollupOptions?.output === \"object\" &&\n config.build?.rollupOptions?.output !== null\n ? [config.build?.rollupOptions?.output, pluginOutput]\n : pluginOutput;\n const vitePrefix = config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX;\n const mode = config.mode ?? process.env[\"VITE_MODE\"];\n const minify = config.build?.minify;\n\n const srrConfig = {\n ...config.ssr,\n target: config.ssr?.target ?? \"node\",\n optimizeDeps: {\n ...config.ssr?.optimizeDeps,\n include: config.ssr?.optimizeDeps?.include ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n resolve: {\n ...config.ssr?.resolve,\n externalConditions: config.ssr?.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n };\n let publicOrigin =\n userOptions.publicOrigin ?? process.env.VITE_PUBLIC_ORIGIN ?? \"\";\n let PROD = mode === \"production\";\n let DEV = mode === \"development\";\n if (configEnv.command === \"serve\" && !configEnv.isPreview) {\n publicOrigin = `http${config.server?.https ? \"s\" : \"\"}://${\n typeof config.server?.host === \"string\"\n ? config.server?.host\n : \"localhost\"\n }:${typeof config.server?.port === \"number\" ? config.server?.port : 5173}`;\n }\n const ssrDefine = ssr\n ? {\n [`process.env.${vitePrefix}SSR`]: `${ssr}`,\n [`process.env.${vitePrefix}DEV`]: `${DEV}`,\n [`process.env.${vitePrefix}PROD`]: `${PROD}`,\n [`process.env.${vitePrefix}MODE`]: `\"${mode}\"`,\n [`process.env.${vitePrefix}BASE_URL`]: `\"${userOptions.moduleBaseURL}\"`,\n [`process.env.${vitePrefix}PUBLIC_ORIGIN`]: `\"${publicOrigin}\"`,\n }\n : {};\n const define = {\n ...config.define,\n [`import.meta.env.PUBLIC_ORIGIN`]: `\"${publicOrigin}\"`,\n ...ssrDefine,\n };\n // these will never be cleaned up, because, we are resolving the user config\n // and it's assumed the thread closes after this and we don't want\n // it to change after the config has been resolved\n if (process.env.VITE_BASE_URL !== userOptions.moduleBaseURL) {\n process.env.VITE_BASE_URL = userOptions.moduleBaseURL;\n }\n if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {\n process.env.VITE_PUBLIC_ORIGIN = publicOrigin;\n }\n\n if (condition === \"react-client\") {\n // client plugin build options (client plugin still outputs server files)\n const clientConfig = {\n ...config,\n root: root,\n mode: mode,\n base: userOptions.moduleBaseURL,\n envPrefix: vitePrefix,\n resolve: {\n ...config.resolve,\n external: config.resolve?.external ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n define: define,\n ssr: srrConfig,\n // client build options\n build: {\n ...config.build,\n modulePreload: config.build?.modulePreload ?? false,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n copyPublicDir:\n typeof config.build?.copyPublicDir === \"boolean\"\n ? config.build?.copyPublicDir\n : !ssr,\n // modern browsers\n target: config.build?.target ?? [\"esnext\"],\n minify: minify,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: {\n ...autoDiscoveredFiles.inputs,\n },\n output: newOutput,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ??\n \"exports-only\",\n },\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: config.build?.ssrEmitAssets ?? true,\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n },\n } satisfies ResolvedUserConfig;\n stashedUserConfig[envId] = clientConfig;\n return {\n type: \"success\",\n userConfig: clientConfig,\n };\n } else {\n const serverConfig = {\n ...config,\n root: root,\n mode: mode,\n base: userOptions.moduleBaseURL,\n envPrefix: vitePrefix,\n resolve: {\n ...config.resolve,\n externalConditions: config.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n define: define,\n ssr: srrConfig,\n // server build options\n build: {\n ...config.build,\n modulePreload: config.build?.modulePreload ?? false,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n target: config.build?.target ?? \"node18\",\n minify: minify,\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets:\n typeof config.build?.ssrEmitAssets === \"boolean\"\n ? config.build?.ssrEmitAssets\n : true,\n copyPublicDir:\n typeof config.build?.copyPublicDir === \"boolean\"\n ? config.build?.copyPublicDir\n : !ssr,\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n // Ensure CSS files are output to static directory\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: autoDiscoveredFiles.inputs,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ?? \"strict\",\n output: newOutput,\n },\n },\n } satisfies ResolvedUserConfig;\n stashedUserConfig[envId] = serverConfig;\n return {\n type: \"success\",\n userConfig: serverConfig,\n };\n }\n}\n"],"names":["ssr"],"mappings":"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"}
@@ -1,6 +1,9 @@
1
+ import type { Logger } from "vite";
1
2
  export declare function toError(error: unknown): {
2
3
  name: string;
3
4
  message: string;
4
5
  stack?: string;
6
+ cause?: unknown;
5
7
  };
8
+ export declare function logError(error: unknown, logger?: Logger | Console): void;
6
9
  //# sourceMappingURL=toError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toError.d.ts","sourceRoot":"","sources":["../../../plugin/error/toError.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAcA"}
1
+ {"version":3,"file":"toError.d.ts","sourceRoot":"","sources":["../../../plugin/error/toError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAwBA;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,GAAE,MAAM,GAAG,OAAiB,QAmB1E"}
@@ -4,16 +4,45 @@
4
4
  * MIT License
5
5
  */
6
6
  function toError(error) {
7
+ if (typeof error === "string") {
8
+ return {
9
+ name: "Error",
10
+ message: error,
11
+ stack: undefined,
12
+ cause: undefined
13
+ };
14
+ }
7
15
  return error instanceof Error ? error : typeof error === "object" && error !== null ? {
8
16
  name: "name" in error ? String(error.name) : "Unknown Error",
9
- message: "message" in error ? String(error.message) : "Unknown Error",
10
- stack: "stack" in error ? String(error.stack) : undefined
17
+ message: "message" in error ? typeof error.message === "string" ? error.message : JSON.stringify(error.message) : "Unknown Error",
18
+ stack: "stack" in error ? String(error.stack) : undefined,
19
+ cause: "cause" in error ? toError(error.cause) : error
11
20
  } : {
12
21
  name: "Unknown Error",
13
22
  message: typeof error === "string" ? error : "Unknown Error",
14
- stack: undefined
23
+ stack: undefined,
24
+ cause: error
15
25
  };
16
26
  }
27
+ function logError(error, logger = console) {
28
+ const err = toError(error);
29
+ if (process.env["NODE_ENV"] !== "production") {
30
+ console.trace(err);
31
+ if (err.stack && err.stack.includes(err.message)) {
32
+ logger.error(err.stack);
33
+ } else if (err.stack) {
34
+ logger.error(err.message + "\n" + err.stack, {
35
+ error: err
36
+ });
37
+ } else {
38
+ logger.error(err.message, {
39
+ error: err
40
+ });
41
+ }
42
+ } else {
43
+ logger.error(err.message);
44
+ }
45
+ }
17
46
 
18
- export { toError };
47
+ export { logError, toError };
19
48
  //# sourceMappingURL=toError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toError.js","sources":["../../../plugin/error/toError.ts"],"sourcesContent":["export function toError(error: unknown): {\n name: string;\n message: string;\n stack?: string;\n} {\n return error instanceof Error\n ? error\n : typeof error === \"object\" && error !== null\n ? {\n name: \"name\" in error ? String(error.name) : \"Unknown Error\",\n message: \"message\" in error ? String(error.message) : \"Unknown Error\",\n stack: \"stack\" in error ? String(error.stack) : undefined,\n }\n : {\n name: \"Unknown Error\",\n message: typeof error === \"string\" ? error : \"Unknown Error\",\n stack: undefined,\n };\n}\n"],"names":[],"mappings":";;;;;AAAO,SAAS,QAAQ,KAItB,EAAA;AACA,EAAA,OAAO,iBAAiB,KACpB,GAAA,KAAA,GACA,OAAO,KAAU,KAAA,QAAA,IAAY,UAAU,IACvC,GAAA;AAAA,IACE,MAAM,MAAU,IAAA,KAAA,GAAQ,MAAO,CAAA,KAAA,CAAM,IAAI,CAAI,GAAA,eAAA;AAAA,IAC7C,SAAS,SAAa,IAAA,KAAA,GAAQ,MAAO,CAAA,KAAA,CAAM,OAAO,CAAI,GAAA,eAAA;AAAA,IACtD,OAAO,OAAW,IAAA,KAAA,GAAQ,MAAO,CAAA,KAAA,CAAM,KAAK,CAAI,GAAA;AAAA,GAElD,GAAA;AAAA,IACE,IAAM,EAAA,eAAA;AAAA,IACN,OAAS,EAAA,OAAO,KAAU,KAAA,QAAA,GAAW,KAAQ,GAAA,eAAA;AAAA,IAC7C,KAAO,EAAA;AAAA,GACT;AACN;;;;"}
1
+ {"version":3,"file":"toError.js","sources":["../../../plugin/error/toError.ts"],"sourcesContent":["import type { Logger } from \"vite\";\n\nexport function toError(error: unknown): {\n name: string;\n message: string;\n stack?: string;\n cause?: unknown;\n} {\n if(typeof error === \"string\") {\n return {\n name: \"Error\",\n message: error,\n stack: undefined,\n cause: undefined,\n };\n }\n return error instanceof Error\n ? error\n : typeof error === \"object\" && error !== null\n ? {\n name: \"name\" in error ? String(error.name) : \"Unknown Error\",\n message: \"message\" in error ? typeof error.message === \"string\" ? error.message : JSON.stringify(error.message) : \"Unknown Error\",\n stack: \"stack\" in error ? String(error.stack) : undefined,\n cause: \"cause\" in error ? toError(error.cause) : error,\n }\n : {\n name: \"Unknown Error\",\n message: typeof error === \"string\" ? error : \"Unknown Error\",\n stack: undefined,\n cause: error,\n };\n}\n\nexport function logError(error: unknown, logger: Logger | Console = console) {\n const err = toError(error);\n if (process.env[\"NODE_ENV\"] !== \"production\") {\n console.trace(err)\n \n if (err.stack && err.stack.includes(err.message)) {\n logger.error(err.stack);\n } else if (err.stack) {\n logger.error(err.message + \"\\n\" + err.stack, {\n error: err,\n });\n } else {\n logger.error(err.message, {\n error: err,\n });\n }\n } else {\n logger.error(err.message);\n }\n}\n"],"names":[],"mappings":";;;;;AAEO,SAAS,QAAQ,KAKtB,EAAA;AACA,EAAG,IAAA,OAAO,UAAU,QAAU,EAAA;AAC5B,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,KAAA;AAAA,MACT,KAAO,EAAA,SAAA;AAAA,MACP,KAAO,EAAA;AAAA,KACT;AAAA;AAEF,EAAA,OAAO,iBAAiB,KACpB,GAAA,KAAA,GACA,OAAO,KAAU,KAAA,QAAA,IAAY,UAAU,IACvC,GAAA;AAAA,IACE,MAAM,MAAU,IAAA,KAAA,GAAQ,MAAO,CAAA,KAAA,CAAM,IAAI,CAAI,GAAA,eAAA;AAAA,IAC7C,OAAS,EAAA,SAAA,IAAa,KAAQ,GAAA,OAAO,KAAM,CAAA,OAAA,KAAY,QAAW,GAAA,KAAA,CAAM,OAAU,GAAA,IAAA,CAAK,SAAU,CAAA,KAAA,CAAM,OAAO,CAAI,GAAA,eAAA;AAAA,IAClH,OAAO,OAAW,IAAA,KAAA,GAAQ,MAAO,CAAA,KAAA,CAAM,KAAK,CAAI,GAAA,SAAA;AAAA,IAChD,OAAO,OAAW,IAAA,KAAA,GAAQ,OAAQ,CAAA,KAAA,CAAM,KAAK,CAAI,GAAA;AAAA,GAEnD,GAAA;AAAA,IACE,IAAM,EAAA,eAAA;AAAA,IACN,OAAS,EAAA,OAAO,KAAU,KAAA,QAAA,GAAW,KAAQ,GAAA,eAAA;AAAA,IAC7C,KAAO,EAAA,SAAA;AAAA,IACP,KAAO,EAAA;AAAA,GACT;AACN;AAEO,SAAS,QAAA,CAAS,KAAgB,EAAA,MAAA,GAA2B,OAAS,EAAA;AAC3E,EAAM,MAAA,GAAA,GAAM,QAAQ,KAAK,CAAA;AACzB,EAAA,IAAI,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAA,KAAM,YAAc,EAAA;AAC5C,IAAA,OAAA,CAAQ,MAAM,GAAG,CAAA;AAEjB,IAAA,IAAI,IAAI,KAAS,IAAA,GAAA,CAAI,MAAM,QAAS,CAAA,GAAA,CAAI,OAAO,CAAG,EAAA;AAChD,MAAO,MAAA,CAAA,KAAA,CAAM,IAAI,KAAK,CAAA;AAAA,KACxB,MAAA,IAAW,IAAI,KAAO,EAAA;AACpB,MAAA,MAAA,CAAO,KAAM,CAAA,GAAA,CAAI,OAAU,GAAA,IAAA,GAAO,IAAI,KAAO,EAAA;AAAA,QAC3C,KAAO,EAAA;AAAA,OACR,CAAA;AAAA,KACI,MAAA;AACL,MAAO,MAAA,CAAA,KAAA,CAAM,IAAI,OAAS,EAAA;AAAA,QACxB,KAAO,EAAA;AAAA,OACR,CAAA;AAAA;AACH,GACK,MAAA;AACL,IAAO,MAAA,CAAA,KAAA,CAAM,IAAI,OAAO,CAAA;AAAA;AAE5B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"cleanObject.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/cleanObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAWtD,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,6BAA6B,GAAE,GAAG,CAAC,MAAM,CAAa,EAAE,WAAW,GAAE,MAAW,GAAG,kBAAkB,GAAG,CAAC,CAsC/I"}
1
+ {"version":3,"file":"cleanObject.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/cleanObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA+CtD,wBAAgB,WAAW,CAAC,CAAC,EAC3B,GAAG,EAAE,CAAC,EACN,6BAA6B,GAAE,GAAG,CAAC,MAAM,CAAa,EACtD,WAAW,GAAE,MAAW,GACvB,kBAAkB,GAAG,CAAC,CA8DxB"}
@@ -10,17 +10,27 @@ function serializeRegExp(regex) {
10
10
  __isRegExp: true
11
11
  };
12
12
  }
13
+ const isSerializable = (x) => {
14
+ return typeof x === "number" || typeof x === "bigint" || typeof x === "boolean" || typeof x === "string" || x instanceof Buffer || Array.isArray(x) && (!x.length || x instanceof Uint8Array || x instanceof Uint16Array || x instanceof Uint32Array || x instanceof Int8Array || x instanceof Int16Array || x instanceof Int32Array);
15
+ };
13
16
  function cleanObject(obj, knownNonSerializableFunctions = /* @__PURE__ */ new Set(), currentPath = "") {
14
- if (obj === null || obj === undefined) return obj;
15
- if (typeof obj !== "object") return obj;
16
- if (obj instanceof RegExp) return serializeRegExp(obj);
17
+ if (typeof obj !== "object" || obj == null) return obj;
18
+ if (isSerializable(obj)) return obj;
17
19
  if (Array.isArray(obj)) {
18
- return obj.map((x, i) => cleanObject(x, knownNonSerializableFunctions, `${currentPath}[${i}]`)).filter((x) => x !== undefined);
20
+ return obj.map(
21
+ (x, i) => cleanObject(x, knownNonSerializableFunctions, `${currentPath}[${i}]`)
22
+ ).filter((x) => x !== undefined);
19
23
  }
24
+ if (obj instanceof RegExp)
25
+ return serializeRegExp(obj);
20
26
  const result = {};
21
27
  for (const [key, value] of Object.entries(obj)) {
22
28
  const fullPath = currentPath ? `${currentPath}.${key}` : key;
23
29
  const normalizedPath = fullPath.replace(/\[\d+\]/g, "[]");
30
+ if (isSerializable(value)) {
31
+ result[key] = value;
32
+ continue;
33
+ }
24
34
  if (typeof value === "function" || knownNonSerializableFunctions.has(normalizedPath) || knownNonSerializableFunctions.has(key)) {
25
35
  continue;
26
36
  }
@@ -32,7 +42,11 @@ function cleanObject(obj, knownNonSerializableFunctions = /* @__PURE__ */ new Se
32
42
  if (hasFunctions) {
33
43
  continue;
34
44
  }
35
- const cleaned = cleanObject(value, knownNonSerializableFunctions, `${normalizedPath}.${key}`);
45
+ const cleaned = cleanObject(
46
+ value,
47
+ knownNonSerializableFunctions,
48
+ `${normalizedPath}.${key}`
49
+ );
36
50
  if (cleaned !== undefined && Object.keys(cleaned).length > 0) {
37
51
  result[key] = cleaned;
38
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cleanObject.js","sources":["../../../plugin/helpers/cleanObject.ts"],"sourcesContent":["import type { SerializableRecord } from \"../types.js\";\n\n// Helper function to serialize RegExp objects\nfunction serializeRegExp(regex: RegExp): { source: string; flags: string; __isRegExp: boolean } {\n return {\n source: regex.source,\n flags: regex.flags,\n __isRegExp: true\n };\n}\n\nexport function cleanObject<T>(obj: T, knownNonSerializableFunctions: Set<string> = new Set(), currentPath: string = ''): SerializableRecord & T {\n if (obj === null || obj === undefined) return obj as Extract<SerializableRecord, T>;\n if (typeof obj !== 'object') return obj as Extract<SerializableRecord, T>;\n if (obj instanceof RegExp) return serializeRegExp(obj) as unknown as Extract<SerializableRecord, T>;\n if (Array.isArray(obj)) {\n return obj.map((x, i) => cleanObject(x, knownNonSerializableFunctions, `${currentPath}[${i}]`)).filter(x => x !== undefined) as Extract<SerializableRecord, T>;\n }\n \n const result: Record<string, any> = {};\n for (const [key, value] of Object.entries(obj)) {\n const fullPath = currentPath ? `${currentPath}.${key}` : key;\n const normalizedPath = fullPath.replace(/\\[\\d+\\]/g, '[]');\n // Skip if it's a function or known non-serializable property\n if (typeof value === 'function' || knownNonSerializableFunctions.has(normalizedPath) || knownNonSerializableFunctions.has(key)) {\n continue;\n }\n\n // Handle nested objects\n if (typeof value === 'object' && value !== null) {\n // Check if the object has any functions\n const hasFunctions = Object.entries(value).some(([k, v]) => {\n const nestedPath = `${normalizedPath}.${k}`;\n return typeof v === 'function' || knownNonSerializableFunctions.has(nestedPath);\n });\n\n if (hasFunctions) {\n continue;\n }\n\n const cleaned = cleanObject(value, knownNonSerializableFunctions, `${normalizedPath}.${key}`);\n if (cleaned !== undefined && Object.keys(cleaned).length > 0) {\n result[key] = cleaned;\n }\n } else {\n result[key] = value;\n }\n }\n return (Object.keys(result).length > 0 ? result : {}) as Extract<SerializableRecord, T>;\n}"],"names":[],"mappings":";;;;;AAGA,SAAS,gBAAgB,KAAuE,EAAA;AAC9F,EAAO,OAAA;AAAA,IACL,QAAQ,KAAM,CAAA,MAAA;AAAA,IACd,OAAO,KAAM,CAAA,KAAA;AAAA,IACb,UAAY,EAAA;AAAA,GACd;AACF;AAEO,SAAS,YAAe,GAAQ,EAAA,6BAAA,uBAAiD,GAAI,EAAA,EAAG,cAAsB,EAA4B,EAAA;AAC/I,EAAA,IAAI,GAAQ,KAAA,IAAA,IAAQ,GAAQ,KAAA,SAAA,EAAkB,OAAA,GAAA;AAC9C,EAAI,IAAA,OAAO,GAAQ,KAAA,QAAA,EAAiB,OAAA,GAAA;AACpC,EAAA,IAAI,GAAe,YAAA,MAAA,EAAe,OAAA,eAAA,CAAgB,GAAG,CAAA;AACrD,EAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,GAAG,CAAG,EAAA;AACtB,IAAA,OAAO,IAAI,GAAI,CAAA,CAAC,GAAG,CAAM,KAAA,WAAA,CAAY,GAAG,6BAA+B,EAAA,CAAA,EAAG,WAAW,CAAA,CAAA,EAAI,CAAC,CAAG,CAAA,CAAA,CAAC,EAAE,MAAO,CAAA,CAAA,CAAA,KAAK,MAAM,SAAS,CAAA;AAAA;AAG7H,EAAA,MAAM,SAA8B,EAAC;AACrC,EAAA,KAAA,MAAW,CAAC,GAAK,EAAA,KAAK,KAAK,MAAO,CAAA,OAAA,CAAQ,GAAG,CAAG,EAAA;AAC9C,IAAA,MAAM,WAAW,WAAc,GAAA,CAAA,EAAG,WAAW,CAAA,CAAA,EAAI,GAAG,CAAK,CAAA,GAAA,GAAA;AACzD,IAAA,MAAM,cAAiB,GAAA,QAAA,CAAS,OAAQ,CAAA,UAAA,EAAY,IAAI,CAAA;AAExD,IAAI,IAAA,OAAO,KAAU,KAAA,UAAA,IAAc,6BAA8B,CAAA,GAAA,CAAI,cAAc,CAAK,IAAA,6BAAA,CAA8B,GAAI,CAAA,GAAG,CAAG,EAAA;AAC9H,MAAA;AAAA;AAIF,IAAA,IAAI,OAAO,KAAA,KAAU,QAAY,IAAA,KAAA,KAAU,IAAM,EAAA;AAE/C,MAAM,MAAA,YAAA,GAAe,MAAO,CAAA,OAAA,CAAQ,KAAK,CAAA,CAAE,KAAK,CAAC,CAAC,CAAG,EAAA,CAAC,CAAM,KAAA;AAC1D,QAAA,MAAM,UAAa,GAAA,CAAA,EAAG,cAAc,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA;AACzC,QAAA,OAAO,OAAO,CAAA,KAAM,UAAc,IAAA,6BAAA,CAA8B,IAAI,UAAU,CAAA;AAAA,OAC/E,CAAA;AAED,MAAA,IAAI,YAAc,EAAA;AAChB,QAAA;AAAA;AAGF,MAAM,MAAA,OAAA,GAAU,YAAY,KAAO,EAAA,6BAAA,EAA+B,GAAG,cAAc,CAAA,CAAA,EAAI,GAAG,CAAE,CAAA,CAAA;AAC5F,MAAA,IAAI,YAAY,SAAa,IAAA,MAAA,CAAO,KAAK,OAAO,CAAA,CAAE,SAAS,CAAG,EAAA;AAC5D,QAAA,MAAA,CAAO,GAAG,CAAI,GAAA,OAAA;AAAA;AAChB,KACK,MAAA;AACL,MAAA,MAAA,CAAO,GAAG,CAAI,GAAA,KAAA;AAAA;AAChB;AAEF,EAAA,OAAQ,OAAO,IAAK,CAAA,MAAM,EAAE,MAAS,GAAA,CAAA,GAAI,SAAS,EAAC;AACrD;;;;"}
1
+ {"version":3,"file":"cleanObject.js","sources":["../../../plugin/helpers/cleanObject.ts"],"sourcesContent":["import type { SerializableRecord } from \"../types.js\";\n\n// Helper function to serialize RegExp objects\nfunction serializeRegExp(regex: RegExp): {\n source: string;\n flags: string;\n __isRegExp: boolean;\n} {\n return {\n source: regex.source,\n flags: regex.flags,\n __isRegExp: true,\n };\n}\n\nconst isSerializable = (\n x: unknown\n): x is\n | number\n | bigint\n | boolean\n | string\n | undefined\n | null\n | Uint8Array\n | Uint16Array\n | Uint32Array\n | Int8Array\n | Int16Array\n | Int32Array => {\n return (\n typeof x === \"number\" ||\n typeof x === \"bigint\" ||\n typeof x === \"boolean\" ||\n typeof x === \"string\" ||\n x instanceof Buffer ||\n (Array.isArray(x) &&\n (!x.length ||\n x instanceof Uint8Array ||\n x instanceof Uint16Array ||\n x instanceof Uint32Array ||\n x instanceof Int8Array ||\n x instanceof Int16Array ||\n x instanceof Int32Array))\n );\n};\n\nexport function cleanObject<T>(\n obj: T,\n knownNonSerializableFunctions: Set<string> = new Set(),\n currentPath: string = \"\"\n): SerializableRecord & T {\n if (typeof obj !== \"object\" || obj == null) return obj as Extract<SerializableRecord, T>;\n if (isSerializable(obj)) return obj as Extract<SerializableRecord, T>;\n\n if (Array.isArray(obj)) {\n return obj\n .map((x, i) =>\n cleanObject(x, knownNonSerializableFunctions, `${currentPath}[${i}]`)\n )\n .filter((x) => x !== undefined) as Extract<SerializableRecord, T>;\n }\n if (obj instanceof RegExp)\n return serializeRegExp(obj) as unknown as Extract<SerializableRecord, T>;\n\n const result: Record<string, any> = {};\n for (const [key, value] of Object.entries(obj)) {\n const fullPath = currentPath ? `${currentPath}.${key}` : key;\n const normalizedPath = fullPath.replace(/\\[\\d+\\]/g, \"[]\");\n // Skip if it's a function or known non-serializable property\n if(isSerializable(value)) {\n result[key] = value;\n continue;\n }\n if (\n typeof value === \"function\" ||\n knownNonSerializableFunctions.has(normalizedPath) ||\n knownNonSerializableFunctions.has(key)\n ) {\n continue;\n }\n\n // Handle nested objects\n if (typeof value === \"object\" && value !== null) {\n // Check if the object has any functions\n const hasFunctions = Object.entries(value).some(([k, v]) => {\n const nestedPath = `${normalizedPath}.${k}`;\n return (\n typeof v === \"function\" ||\n knownNonSerializableFunctions.has(nestedPath)\n );\n });\n\n if (hasFunctions) {\n continue;\n }\n\n const cleaned = cleanObject(\n value,\n knownNonSerializableFunctions,\n `${normalizedPath}.${key}`\n );\n if (cleaned !== undefined && Object.keys(cleaned).length > 0) {\n result[key] = cleaned;\n }\n } else {\n result[key] = value;\n }\n }\n return (Object.keys(result).length > 0 ? result : {}) as Extract<\n SerializableRecord,\n T\n >;\n}\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { EnvironmentModuleGraph, ModuleGraph } from "vite";
2
- import type { CreateHandlerOptions, CssContent } from "../types.js";
2
+ import type { CreateHandlerOptions, CssContent, InlineCssOpt, PagePropOpt } from "../types.js";
3
3
  type CollectViteModuleGraphCssResult = {
4
4
  type: "success";
5
5
  cssFiles: Map<string, CssContent>;
@@ -22,11 +22,11 @@ type CollectViteModuleGraphCssResult = {
22
22
  error?: never;
23
23
  metrics?: never;
24
24
  };
25
- export declare function collectViteModuleGraphCss<InlineCSS extends boolean | undefined = undefined>({ moduleGraph, onCss, parentUrl, handlerOptions, }: {
25
+ export declare function collectViteModuleGraphCss<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt>({ moduleGraph, onCss, parentUrl, handlerOptions, }: {
26
26
  moduleGraph: ModuleGraph | EnvironmentModuleGraph;
27
27
  onCss?: (cssContent: CssContent, parentUrl: string) => void;
28
28
  parentUrl?: string;
29
- handlerOptions: Pick<CreateHandlerOptions<InlineCSS>, "pagePath" | "moduleBaseURL" | "moduleBasePath" | "moduleRootPath" | "projectRoot" | "css" | "loader">;
29
+ handlerOptions: Pick<CreateHandlerOptions<T, InlineCSS>, "pagePath" | "moduleBaseURL" | "moduleBasePath" | "moduleRootPath" | "projectRoot" | "css" | "loader">;
30
30
  }): Promise<CollectViteModuleGraphCssResult>;
31
31
  export {};
32
32
  //# sourceMappingURL=collectViteModuleGraphCss.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectViteModuleGraphCss.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/collectViteModuleGraphCss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGpE,KAAK,+BAA+B,GAChC;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEN,wBAAsB,yBAAyB,CAC7C,SAAS,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACjD,EACA,WAAW,EACX,KAAK,EACL,SAAS,EACT,cAAc,GACf,EAAE;IACD,WAAW,EAAE,WAAW,GAAG,sBAAsB,CAAC;IAClD,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,IAAI,CAClB,oBAAoB,CAAC,SAAS,CAAC,EAC7B,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,GACb,KAAK,GACL,QAAQ,CACX,CAAC;CACH,GAAG,OAAO,CAAC,+BAA+B,CAAC,CA4G3C"}
1
+ {"version":3,"file":"collectViteModuleGraphCss.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/collectViteModuleGraphCss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAG,YAAY,EAAG,WAAW,EAAE,MAAM,aAAa,CAAC;AAGjG,KAAK,+BAA+B,GAChC;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEN,wBAAsB,yBAAyB,CAC7C,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAC7C,EACA,WAAW,EACX,KAAK,EACL,SAAS,EACT,cAAc,GACf,EAAE;IACD,WAAW,EAAE,WAAW,GAAG,sBAAsB,CAAC;IAClD,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,IAAI,CAClB,oBAAoB,CAAC,CAAC,EAAE,SAAS,CAAC,EAChC,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,GACb,KAAK,GACL,QAAQ,CACX,CAAC;CACH,GAAG,OAAO,CAAC,+BAA+B,CAAC,CA4G3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"collectViteModuleGraphCss.js","sources":["../../../plugin/helpers/collectViteModuleGraphCss.ts"],"sourcesContent":["import type { EnvironmentModuleGraph, ModuleGraph } from \"vite\";\nimport type { CreateHandlerOptions, CssContent } from \"../types.js\";\nimport { createCssProps } from \"./createCssProps.js\";\n\ntype CollectViteModuleGraphCssResult =\n | {\n type: \"success\";\n cssFiles: Map<string, CssContent>;\n error?: never;\n metrics: {\n cssFiles: number;\n processing: number;\n };\n }\n | {\n type: \"error\";\n error: Error;\n cssFiles?: never;\n metrics: {\n cssFiles: number;\n processing: number;\n };\n }\n | {\n type: \"skip\";\n cssFiles?: never;\n error?: never;\n metrics?: never;\n };\n\nexport async function collectViteModuleGraphCss<\n InlineCSS extends boolean | undefined = undefined\n>({\n moduleGraph,\n onCss,\n parentUrl,\n handlerOptions,\n}: {\n moduleGraph: ModuleGraph | EnvironmentModuleGraph;\n onCss?: (cssContent: CssContent, parentUrl: string) => void;\n parentUrl?: string;\n handlerOptions: Pick<\n CreateHandlerOptions<InlineCSS>,\n | \"pagePath\"\n | \"moduleBaseURL\"\n | \"moduleBasePath\"\n | \"moduleRootPath\"\n | \"projectRoot\"\n | \"css\"\n | \"loader\"\n >;\n}): Promise<CollectViteModuleGraphCssResult> {\n const {\n pagePath,\n moduleBaseURL,\n moduleBasePath,\n moduleRootPath,\n projectRoot,\n css,\n loader,\n } = handlerOptions;\n if (!pagePath) return { type: \"skip\" };\n\n const cssFiles = new Map<string, CssContent>();\n const pageModule = await moduleGraph.getModuleByUrl(pagePath, true);\n if (!pageModule) {\n return { type: \"skip\" };\n }\n\n const seen = new Set<string>();\n const processing = new Set<string>();\n\n const walkModule = async (mod: any) => {\n if (!mod?.id) {\n // Module has no id\n return;\n }\n\n if (seen.has(mod.id)) {\n // Already processed module\n return;\n }\n\n if (processing.has(mod.id)) {\n // Circular dependency detected for module\n return;\n }\n\n processing.add(mod.id);\n // Processing module\n if (mod.id.endsWith(\".css\")) {\n const string = await loader(mod.id + \"?inline\").then(\n (m) => m?.[\"default\"] ?? \"\"\n );\n if (typeof string !== \"string\") {\n throw new Error(`CSS module ${mod.id}?inline did not return a string`);\n } else if (string === \"\") {\n throw new Error(`CSS module ${mod.id}?inline returned an empty string`);\n }\n const cssContent = createCssProps({\n id: mod?.url,\n code: string,\n userOptions: {\n moduleBaseURL: moduleBaseURL,\n moduleBasePath: moduleBasePath,\n moduleRootPath: moduleRootPath,\n projectRoot: projectRoot,\n css: css,\n },\n });\n cssFiles.set(mod?.url, cssContent);\n onCss?.(cssContent, parentUrl ?? pagePath);\n }\n\n if (mod.importedModules) {\n // Processing imports for module\n const importedModules = Array.from(mod.importedModules);\n // Found imported modules\n for (const importedMod of importedModules) {\n if (typeof importedMod === \"object\" && importedMod != null) {\n if (\n \"id\" in importedMod &&\n importedMod.id &&\n typeof importedMod.id === \"string\"\n ) {\n await walkModule(importedMod);\n } else {\n throw new Error(`Imported module has no id`);\n }\n } else {\n throw new Error(`Imported module is not an object`);\n }\n }\n }\n\n processing.delete(mod.id);\n seen.add(mod.id);\n };\n\n try {\n await walkModule(pageModule);\n } catch (error) {\n return {\n type: \"error\",\n error: error as Error,\n metrics: {\n cssFiles: cssFiles.size,\n processing: processing.size,\n },\n };\n }\n return {\n type: \"success\",\n cssFiles,\n metrics: {\n cssFiles: cssFiles.size,\n processing: processing.size,\n },\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collectViteModuleGraphCss.js","sources":["../../../plugin/helpers/collectViteModuleGraphCss.ts"],"sourcesContent":["import type { EnvironmentModuleGraph, ModuleGraph } from \"vite\";\nimport type { CreateHandlerOptions, CssContent, InlineCssOpt, PagePropOpt } from \"../types.js\";\nimport { createCssProps } from \"./createCssProps.js\";\n\ntype CollectViteModuleGraphCssResult =\n | {\n type: \"success\";\n cssFiles: Map<string, CssContent>;\n error?: never;\n metrics: {\n cssFiles: number;\n processing: number;\n };\n }\n | {\n type: \"error\";\n error: Error;\n cssFiles?: never;\n metrics: {\n cssFiles: number;\n processing: number;\n };\n }\n | {\n type: \"skip\";\n cssFiles?: never;\n error?: never;\n metrics?: never;\n };\n\nexport async function collectViteModuleGraphCss<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>({\n moduleGraph,\n onCss,\n parentUrl,\n handlerOptions,\n}: {\n moduleGraph: ModuleGraph | EnvironmentModuleGraph;\n onCss?: (cssContent: CssContent, parentUrl: string) => void;\n parentUrl?: string;\n handlerOptions: Pick<\n CreateHandlerOptions<T, InlineCSS>,\n | \"pagePath\"\n | \"moduleBaseURL\"\n | \"moduleBasePath\"\n | \"moduleRootPath\"\n | \"projectRoot\"\n | \"css\"\n | \"loader\"\n >;\n}): Promise<CollectViteModuleGraphCssResult> {\n const {\n pagePath,\n moduleBaseURL,\n moduleBasePath,\n moduleRootPath,\n projectRoot,\n css,\n loader,\n } = handlerOptions;\n if (!pagePath) return { type: \"skip\" };\n\n const cssFiles = new Map<string, CssContent>();\n const pageModule = await moduleGraph.getModuleByUrl(pagePath, true);\n if (!pageModule) {\n return { type: \"skip\" };\n }\n\n const seen = new Set<string>();\n const processing = new Set<string>();\n\n const walkModule = async (mod: any) => {\n if (!mod?.id) {\n // Module has no id\n return;\n }\n\n if (seen.has(mod.id)) {\n // Already processed module\n return;\n }\n\n if (processing.has(mod.id)) {\n // Circular dependency detected for module\n return;\n }\n\n processing.add(mod.id);\n // Processing module\n if (mod.id.endsWith(\".css\")) {\n const string = await loader(mod.id + \"?inline\").then(\n (m) => m?.[\"default\"] ?? \"\"\n );\n if (typeof string !== \"string\") {\n throw new Error(`CSS module ${mod.id}?inline did not return a string`);\n } else if (string === \"\") {\n throw new Error(`CSS module ${mod.id}?inline returned an empty string`);\n }\n const cssContent = createCssProps({\n id: mod?.url,\n code: string,\n userOptions: {\n moduleBaseURL: moduleBaseURL,\n moduleBasePath: moduleBasePath,\n moduleRootPath: moduleRootPath,\n projectRoot: projectRoot,\n css: css,\n },\n });\n cssFiles.set(mod?.url, cssContent);\n onCss?.(cssContent, parentUrl ?? pagePath);\n }\n\n if (mod.importedModules) {\n // Processing imports for module\n const importedModules = Array.from(mod.importedModules);\n // Found imported modules\n for (const importedMod of importedModules) {\n if (typeof importedMod === \"object\" && importedMod != null) {\n if (\n \"id\" in importedMod &&\n importedMod.id &&\n typeof importedMod.id === \"string\"\n ) {\n await walkModule(importedMod);\n } else {\n throw new Error(`Imported module has no id`);\n }\n } else {\n throw new Error(`Imported module is not an object`);\n }\n }\n }\n\n processing.delete(mod.id);\n seen.add(mod.id);\n };\n\n try {\n await walkModule(pageModule);\n } catch (error) {\n return {\n type: \"error\",\n error: error as Error,\n metrics: {\n cssFiles: cssFiles.size,\n processing: processing.size,\n },\n };\n }\n return {\n type: \"success\",\n cssFiles,\n metrics: {\n cssFiles: cssFiles.size,\n processing: processing.size,\n },\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { ResolvedUserOptions, CssContent } from "../types.js";
2
+ import type { InlineCssOpt, PagePropOpt } from "../../server.js";
2
3
  /**
3
4
  * Creates a CssContent object for a given path and css options
4
5
  *
@@ -18,9 +19,9 @@ import type { ResolvedUserOptions, CssContent } from "../types.js";
18
19
  * @param css - The css options
19
20
  * @returns A CssContent object
20
21
  */
21
- export declare const createCssProps: ({ id, code, userOptions, }: {
22
+ export declare const createCssProps: <T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt>({ id, code, userOptions, }: {
22
23
  id: string;
23
24
  code: string;
24
- userOptions: Pick<ResolvedUserOptions, "css" | "moduleBaseURL" | "moduleBasePath" | "moduleRootPath" | "projectRoot">;
25
- }) => CssContent;
25
+ userOptions: Pick<ResolvedUserOptions<T, InlineCSS>, "css" | "moduleBaseURL" | "moduleBasePath" | "moduleRootPath" | "projectRoot">;
26
+ }) => CssContent<InlineCSS>;
26
27
  //# sourceMappingURL=createCssProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createCssProps.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/createCssProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAInE;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,cAAc,+BAIxB;IACD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,IAAI,CACf,mBAAmB,EACjB,KAAK,GACL,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,CAChB,CAAC;CACH,KAAG,UAiEH,CAAC"}
1
+ {"version":3,"file":"createCssProps.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/createCssProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAIjE;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,WAAW,gBACrB,SAAS,SAAS,YAAY,6CAK7B;IACD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,IAAI,CACf,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,EAC/B,KAAK,GACL,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,CAChB,CAAC;CACH,KAAG,UAAU,CAAC,SAAS,CA8EvB,CAAC"}
@@ -45,12 +45,17 @@ const createCssProps = ({
45
45
  const moduleBaseHasTrailingSlash = moduleBaseURL.endsWith("/");
46
46
  const joinedHasLeadingSlash = joined.startsWith("/");
47
47
  const safeParseURL = (() => {
48
- if (joined.startsWith(moduleBaseHasTrailingSlash ? moduleBaseURL.slice(0, -1) : moduleBaseURL)) {
48
+ if (joined.startsWith(
49
+ moduleBaseHasTrailingSlash ? moduleBaseURL.slice(0, -1) : moduleBaseURL
50
+ )) {
49
51
  return joined;
50
52
  }
51
53
  try {
52
54
  if (moduleBaseURL.includes("//")) {
53
- return new URL(joinedHasLeadingSlash ? joined.slice(1) : joined, moduleBaseURL).href;
55
+ return new URL(
56
+ joinedHasLeadingSlash ? joined.slice(1) : joined,
57
+ moduleBaseURL
58
+ ).href;
54
59
  }
55
60
  } catch (error) {
56
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createCssProps.js","sources":["../../../plugin/helpers/createCssProps.tsx"],"sourcesContent":["import type { ResolvedUserOptions, CssContent } from \"../types.js\";\nimport { join, relative } from \"node:path\";\nimport { deserializeRegExp } from \"./serializeUserOptions.js\";\n\n/**\n * Creates a CssContent object for a given path and css options\n *\n * Requirements:\n * - path is a string\n * - css is an object with the following properties:\n * - inlineCss: boolean\n * - purgeCss: boolean\n * - inlineThreshold: number\n * - inlinePatterns: RegExp[]\n * - linkPatterns: RegExp[]\n * based on the bundle, we retrieve the css content and check if it should be inlined or linked\n * inlined tags get the as:style and the children are the css content\n * linked tags get the as:link and the href is the path\n *\n * @param path - The path to the css file\n * @param css - The css options\n * @returns A CssContent object\n */\nexport const createCssProps = ({\n id,\n code,\n userOptions,\n}: {\n id: string;\n code: string;\n userOptions: Pick<\n ResolvedUserOptions,\n | \"css\"\n | \"moduleBaseURL\"\n | \"moduleBasePath\"\n | \"moduleRootPath\"\n | \"projectRoot\"\n >;\n}): CssContent => {\n const { css, moduleBaseURL, moduleBasePath, moduleRootPath, projectRoot } =\n userOptions;\n // If we don't have a bundle entry, create a linked CSS file\n let inline = typeof code === \"string\" && code.length > css.inlineThreshold;\n // Normalize the ID to be relative to src/\n const normalizedId = id.startsWith(projectRoot)\n ? relative(projectRoot, id)\n : id;\n\n if (css.inlinePatterns?.length) {\n // Deserialize RegExp patterns if they exist\n const inlinePatterns = css.inlinePatterns?.map((pattern) =>\n typeof pattern === \"string\" ? deserializeRegExp(pattern) : pattern\n );\n if (inlinePatterns.some((pattern) => pattern.test?.(normalizedId))) {\n inline = true;\n }\n }\n if (css.linkPatterns?.length) {\n const linkPatterns = css.linkPatterns?.map((pattern) =>\n typeof pattern === \"string\" ? deserializeRegExp(pattern) : pattern\n );\n if (linkPatterns.some((pattern) => pattern.test?.(normalizedId))) {\n inline = false;\n }\n }\n if (inline) {\n return {\n type: \"text/css\",\n id: normalizedId,\n as: \"style\",\n children: code.trim(),\n ...(process.env[\"NODE_ENV\"] !== \"production\"\n ? {\n \"data-vite-dev-id\": join(projectRoot, moduleRootPath, normalizedId),\n }\n : {}),\n } as CssContent<true>;\n }\n const joined = normalizedId.startsWith(moduleBasePath) ? normalizedId : join(moduleBasePath, normalizedId);\n const moduleBaseHasTrailingSlash = moduleBaseURL.endsWith(\"/\");\n const joinedHasLeadingSlash = joined.startsWith(\"/\");\n const safeParseURL = (() => {\n if(joined.startsWith(moduleBaseHasTrailingSlash ? moduleBaseURL.slice(0, -1) : moduleBaseURL)) {\n return joined;\n }\n try {\n if (moduleBaseURL.includes(\"//\")) {\n // relative to moduleBaseURL\n return new URL(joinedHasLeadingSlash ? joined.slice(1) : joined, moduleBaseURL).href;\n }\n } catch (error) {}\n // if the url is not valid, we return the moduleBaseURL + the normalizedId\n // dont make it a argument of join or it will mangle something like http:// into http:/\n return moduleBaseURL + (!moduleBaseHasTrailingSlash && !joinedHasLeadingSlash ? \"/\" : \"\") + (moduleBaseHasTrailingSlash ? joined.slice(1) : joined);\n })();\n // Default case\n return {\n id: normalizedId,\n as: \"link\",\n rel: \"stylesheet\",\n href: safeParseURL,\n precedence: \"high\",\n } as CssContent<false>;\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createCssProps.js","sources":["../../../plugin/helpers/createCssProps.tsx"],"sourcesContent":["import type { ResolvedUserOptions, CssContent } from \"../types.js\";\nimport type { InlineCssOpt, PagePropOpt } from \"../../server.js\";\nimport { join, relative } from \"node:path\";\nimport { deserializeRegExp } from \"./serializeUserOptions.js\";\n\n/**\n * Creates a CssContent object for a given path and css options\n *\n * Requirements:\n * - path is a string\n * - css is an object with the following properties:\n * - inlineCss: boolean\n * - purgeCss: boolean\n * - inlineThreshold: number\n * - inlinePatterns: RegExp[]\n * - linkPatterns: RegExp[]\n * based on the bundle, we retrieve the css content and check if it should be inlined or linked\n * inlined tags get the as:style and the children are the css content\n * linked tags get the as:link and the href is the path\n *\n * @param path - The path to the css file\n * @param css - The css options\n * @returns A CssContent object\n */\nexport const createCssProps = <\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>({\n id,\n code,\n userOptions,\n}: {\n id: string;\n code: string;\n userOptions: Pick<\n ResolvedUserOptions<T, InlineCSS>,\n | \"css\"\n | \"moduleBaseURL\"\n | \"moduleBasePath\"\n | \"moduleRootPath\"\n | \"projectRoot\"\n >;\n}): CssContent<InlineCSS> => {\n const { css, moduleBaseURL, moduleBasePath, moduleRootPath, projectRoot } =\n userOptions;\n // If we don't have a bundle entry, create a linked CSS file\n let inline = typeof code === \"string\" && code.length > css.inlineThreshold;\n // Normalize the ID to be relative to src/\n const normalizedId = id.startsWith(projectRoot)\n ? relative(projectRoot, id)\n : id;\n\n if (css.inlinePatterns?.length) {\n // Deserialize RegExp patterns if they exist\n const inlinePatterns = css.inlinePatterns?.map((pattern) =>\n typeof pattern === \"string\" ? deserializeRegExp(pattern) : pattern\n );\n if (inlinePatterns.some((pattern) => pattern.test?.(normalizedId))) {\n inline = true;\n }\n }\n if (css.linkPatterns?.length) {\n const linkPatterns = css.linkPatterns?.map((pattern) =>\n typeof pattern === \"string\" ? deserializeRegExp(pattern) : pattern\n );\n if (linkPatterns.some((pattern) => pattern.test?.(normalizedId))) {\n inline = false;\n }\n }\n if (inline) {\n return {\n type: \"text/css\",\n id: normalizedId,\n as: \"style\",\n children: code.trim(),\n ...(process.env[\"NODE_ENV\"] !== \"production\"\n ? {\n \"data-vite-dev-id\": join(projectRoot, moduleRootPath, normalizedId),\n }\n : {}),\n } as CssContent<InlineCSS>;\n }\n const joined = normalizedId.startsWith(moduleBasePath)\n ? normalizedId\n : join(moduleBasePath, normalizedId);\n const moduleBaseHasTrailingSlash = moduleBaseURL.endsWith(\"/\");\n const joinedHasLeadingSlash = joined.startsWith(\"/\");\n const safeParseURL = (() => {\n if (\n joined.startsWith(\n moduleBaseHasTrailingSlash ? moduleBaseURL.slice(0, -1) : moduleBaseURL\n )\n ) {\n return joined;\n }\n try {\n if (moduleBaseURL.includes(\"//\")) {\n // relative to moduleBaseURL\n return new URL(\n joinedHasLeadingSlash ? joined.slice(1) : joined,\n moduleBaseURL\n ).href;\n }\n } catch (error) {}\n // if the url is not valid, we return the moduleBaseURL + the normalizedId\n // dont make it a argument of join or it will mangle something like http:// into http:/\n return (\n moduleBaseURL +\n (!moduleBaseHasTrailingSlash && !joinedHasLeadingSlash ? \"/\" : \"\") +\n (moduleBaseHasTrailingSlash ? joined.slice(1) : joined)\n );\n })();\n // Default case\n return {\n id: normalizedId,\n as: \"link\",\n rel: \"stylesheet\",\n href: safeParseURL,\n precedence: \"high\",\n } as CssContent<InlineCSS>;\n};\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { CreateHandlerOptions } from "../types.js";
2
- export declare function createHandler(handlerOptions: CreateHandlerOptions): Promise<{
1
+ import type { CreateHandlerOptions, InlineCssOpt } from "../types.js";
2
+ import type { PagePropOpt } from "../../server.js";
3
+ export declare function createHandler<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt>(handlerOptions: CreateHandlerOptions<T, InlineCSS>): {
3
4
  type: string;
4
5
  stream: any;
5
6
  error?: undefined;
@@ -7,5 +8,5 @@ export declare function createHandler(handlerOptions: CreateHandlerOptions): Pro
7
8
  type: string;
8
9
  error: Error;
9
10
  stream?: undefined;
10
- }>;
11
+ };
11
12
  //# sourceMappingURL=createHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createHandler.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/createHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAIxD,wBAAsB,aAAa,CAAC,cAAc,EAAE,oBAAoB;;;;;;WA0DlD,KAAK;;GAG1B"}
1
+ {"version":3,"file":"createHandler.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/createHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,wBAAgB,aAAa,CAC3B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAC7C,cAAc,EAAE,oBAAoB,CAAC,CAAC,EAAE,SAAS,CAAC;;;;;;WA0D9B,KAAK;;EAG1B"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { createRscStream } from './createRscStream.js';
7
7
 
8
- async function createHandler(handlerOptions) {
8
+ function createHandler(handlerOptions) {
9
9
  if (!handlerOptions.PageComponent) {
10
10
  throw new Error("PageComponent is required");
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createHandler.js","sources":["../../../plugin/helpers/createHandler.ts"],"sourcesContent":["import type { CreateHandlerOptions } from \"../types.js\";\nimport { createRscStream } from \"./createRscStream.js\";\n\n\nexport async function createHandler(handlerOptions: CreateHandlerOptions) {\n if(!handlerOptions.PageComponent) {\n throw new Error(\"PageComponent is required\");\n }\n try {\n const adaptedOnEvent = (event: \"error\" | \"postpone\", data: any) => {\n if (event === \"error\") {\n handlerOptions.onEvent?.({\n type: \"route.error\",\n data: {\n route: handlerOptions.route,\n ...data,\n },\n });\n } else if (event === \"postpone\") {\n handlerOptions.onEvent?.({\n type: \"route.postpone\",\n data: {\n route: handlerOptions.route,\n ...data,\n },\n });\n }\n };\n\n const streamResult = createRscStream({\n ...handlerOptions,\n onEvent: adaptedOnEvent,\n cssFiles: handlerOptions.cssFiles,\n PageComponent: handlerOptions.PageComponent as any,\n pageProps: handlerOptions.pageProps,\n });\n\n if (streamResult.type === \"error\") {\n handlerOptions.onEvent?.({\n type: \"route.error\",\n data: {\n route: handlerOptions.route,\n error: streamResult.error,\n },\n });\n throw streamResult.error;\n }\n\n return {\n type: \"success\",\n stream: streamResult.stream,\n };\n } catch (error) {\n handlerOptions.onEvent?.({\n type: \"route.error\",\n data: {\n route: handlerOptions.route,\n error,\n },\n });\n return {\n type: \"error\",\n error: error as Error,\n };\n }\n}\n"],"names":[],"mappings":";;;;;;;AAIA,eAAsB,cAAc,cAAsC,EAAA;AACxE,EAAG,IAAA,CAAC,eAAe,aAAe,EAAA;AAChC,IAAM,MAAA,IAAI,MAAM,2BAA2B,CAAA;AAAA;AAE7C,EAAI,IAAA;AACF,IAAM,MAAA,cAAA,GAAiB,CAAC,KAAA,EAA6B,IAAc,KAAA;AACjE,MAAA,IAAI,UAAU,OAAS,EAAA;AACrB,QAAA,cAAA,CAAe,OAAU,GAAA;AAAA,UACvB,IAAM,EAAA,aAAA;AAAA,UACN,IAAM,EAAA;AAAA,YACJ,OAAO,cAAe,CAAA,KAAA;AAAA,YACtB,GAAG;AAAA;AACL,SACD,CAAA;AAAA,OACH,MAAA,IAAW,UAAU,UAAY,EAAA;AAC/B,QAAA,cAAA,CAAe,OAAU,GAAA;AAAA,UACvB,IAAM,EAAA,gBAAA;AAAA,UACN,IAAM,EAAA;AAAA,YACJ,OAAO,cAAe,CAAA,KAAA;AAAA,YACtB,GAAG;AAAA;AACL,SACD,CAAA;AAAA;AACH,KACF;AAEA,IAAA,MAAM,eAAe,eAAgB,CAAA;AAAA,MACnC,GAAG,cAAA;AAAA,MACH,OAAS,EAAA,cAAA;AAAA,MACT,UAAU,cAAe,CAAA,QAAA;AAAA,MACzB,eAAe,cAAe,CAAA,aAAA;AAAA,MAC9B,WAAW,cAAe,CAAA;AAAA,KAC3B,CAAA;AAED,IAAI,IAAA,YAAA,CAAa,SAAS,OAAS,EAAA;AACjC,MAAA,cAAA,CAAe,OAAU,GAAA;AAAA,QACvB,IAAM,EAAA,aAAA;AAAA,QACN,IAAM,EAAA;AAAA,UACJ,OAAO,cAAe,CAAA,KAAA;AAAA,UACtB,OAAO,YAAa,CAAA;AAAA;AACtB,OACD,CAAA;AACD,MAAA,MAAM,YAAa,CAAA,KAAA;AAAA;AAGrB,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,QAAQ,YAAa,CAAA;AAAA,KACvB;AAAA,WACO,KAAO,EAAA;AACd,IAAA,cAAA,CAAe,OAAU,GAAA;AAAA,MACvB,IAAM,EAAA,aAAA;AAAA,MACN,IAAM,EAAA;AAAA,QACJ,OAAO,cAAe,CAAA,KAAA;AAAA,QACtB;AAAA;AACF,KACD,CAAA;AACD,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN;AAAA,KACF;AAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"createHandler.js","sources":["../../../plugin/helpers/createHandler.ts"],"sourcesContent":["import type { CreateHandlerOptions, InlineCssOpt } from \"../types.js\";\nimport type { PagePropOpt } from \"../../server.js\";\nimport { createRscStream } from \"./createRscStream.js\";\n\nexport function createHandler<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>(handlerOptions: CreateHandlerOptions<T, InlineCSS>) {\n if (!handlerOptions.PageComponent) {\n throw new Error(\"PageComponent is required\");\n }\n try {\n const adaptedOnEvent = (event: \"error\" | \"postpone\", data: any) => {\n if (event === \"error\") {\n handlerOptions.onEvent?.({\n type: \"route.error\",\n data: {\n route: handlerOptions.route,\n ...data,\n },\n });\n } else if (event === \"postpone\") {\n handlerOptions.onEvent?.({\n type: \"route.postpone\",\n data: {\n route: handlerOptions.route,\n ...data,\n },\n });\n }\n };\n\n const streamResult = createRscStream({\n ...handlerOptions,\n onEvent: adaptedOnEvent,\n cssFiles: handlerOptions.cssFiles,\n PageComponent: handlerOptions.PageComponent as any,\n pageProps: handlerOptions.pageProps,\n });\n\n if (streamResult.type === \"error\") {\n handlerOptions.onEvent?.({\n type: \"route.error\",\n data: {\n route: handlerOptions.route,\n error: streamResult.error,\n },\n });\n throw streamResult.error;\n }\n\n return {\n type: \"success\",\n stream: streamResult.stream,\n };\n } catch (error) {\n handlerOptions.onEvent?.({\n type: \"route.error\",\n data: {\n route: handlerOptions.route,\n error,\n },\n });\n return {\n type: \"error\",\n error: error as Error,\n };\n }\n}\n"],"names":[],"mappings":";;;;;;;AAIO,SAAS,cAGd,cAAoD,EAAA;AACpD,EAAI,IAAA,CAAC,eAAe,aAAe,EAAA;AACjC,IAAM,MAAA,IAAI,MAAM,2BAA2B,CAAA;AAAA;AAE7C,EAAI,IAAA;AACF,IAAM,MAAA,cAAA,GAAiB,CAAC,KAAA,EAA6B,IAAc,KAAA;AACjE,MAAA,IAAI,UAAU,OAAS,EAAA;AACrB,QAAA,cAAA,CAAe,OAAU,GAAA;AAAA,UACvB,IAAM,EAAA,aAAA;AAAA,UACN,IAAM,EAAA;AAAA,YACJ,OAAO,cAAe,CAAA,KAAA;AAAA,YACtB,GAAG;AAAA;AACL,SACD,CAAA;AAAA,OACH,MAAA,IAAW,UAAU,UAAY,EAAA;AAC/B,QAAA,cAAA,CAAe,OAAU,GAAA;AAAA,UACvB,IAAM,EAAA,gBAAA;AAAA,UACN,IAAM,EAAA;AAAA,YACJ,OAAO,cAAe,CAAA,KAAA;AAAA,YACtB,GAAG;AAAA;AACL,SACD,CAAA;AAAA;AACH,KACF;AAEA,IAAA,MAAM,eAAe,eAAgB,CAAA;AAAA,MACnC,GAAG,cAAA;AAAA,MACH,OAAS,EAAA,cAAA;AAAA,MACT,UAAU,cAAe,CAAA,QAAA;AAAA,MACzB,eAAe,cAAe,CAAA,aAAA;AAAA,MAC9B,WAAW,cAAe,CAAA;AAAA,KAC3B,CAAA;AAED,IAAI,IAAA,YAAA,CAAa,SAAS,OAAS,EAAA;AACjC,MAAA,cAAA,CAAe,OAAU,GAAA;AAAA,QACvB,IAAM,EAAA,aAAA;AAAA,QACN,IAAM,EAAA;AAAA,UACJ,OAAO,cAAe,CAAA,KAAA;AAAA,UACtB,OAAO,YAAa,CAAA;AAAA;AACtB,OACD,CAAA;AACD,MAAA,MAAM,YAAa,CAAA,KAAA;AAAA;AAGrB,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,QAAQ,YAAa,CAAA;AAAA,KACvB;AAAA,WACO,KAAO,EAAA;AACd,IAAA,cAAA,CAAe,OAAU,GAAA;AAAA,MACvB,IAAM,EAAA,aAAA;AAAA,MACN,IAAM,EAAA;AAAA,QACJ,OAAO,cAAe,CAAA,KAAA;AAAA,QACtB;AAAA;AACF,KACD,CAAA;AACD,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN;AAAA,KACF;AAAA;AAEJ;;;;"}
@@ -1,5 +1,5 @@
1
- import type { CreateHandlerOptions, StreamMetrics } from "../types.js";
2
- export declare function createRscStream<T, C extends React.ComponentType<T>, InlineCSS extends boolean = true>({ Html, PageComponent, pageProps, moduleBase, moduleRootPath, moduleBasePath, moduleBaseURL, cssFiles, globalCss, route, pipeableStreamOptions, CssCollector, manifest, onEvent, projectRoot, }: Pick<CreateHandlerOptions<T, C, InlineCSS>, "Html" | "PageComponent" | "pageProps" | "moduleBase" | "moduleRootPath" | "moduleBasePath" | "moduleBaseURL" | "cssFiles" | "route" | "pipeableStreamOptions" | "CssCollector" | "globalCss" | "manifest" | "projectRoot"> & {
1
+ import type { CreateHandlerOptions, StreamMetrics, PagePropOpt } from "../types.js";
2
+ export declare function createRscStream<T extends PagePropOpt = PagePropOpt>({ Html, PageComponent, pageProps, moduleBase, moduleRootPath, moduleBasePath, moduleBaseURL, cssFiles, globalCss, route, pipeableStreamOptions, CssCollector, manifest, onEvent, projectRoot, }: Pick<CreateHandlerOptions<T>, "Html" | "PageComponent" | "pageProps" | "moduleBase" | "moduleRootPath" | "moduleBasePath" | "moduleBaseURL" | "cssFiles" | "route" | "pipeableStreamOptions" | "CssCollector" | "globalCss" | "manifest" | "projectRoot"> & {
3
3
  onEvent?: (event: "error" | "postpone", data: any) => void;
4
4
  }): {
5
5
  type: "success";
@@ -1 +1 @@
1
- {"version":3,"file":"createRscStream.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/createRscStream.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvE,wBAAgB,eAAe,CAC7B,CAAC,EACD,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAChC,SAAS,SAAS,OAAO,GAAG,IAAI,EAChC,EACA,IAAqB,EACrB,aAAa,EACb,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,QAAoB,EACpB,SAAqB,EACrB,KAAK,EACL,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,GACZ,EAAE,IAAI,CACL,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,EACnC,MAAM,GACN,eAAe,GACf,WAAW,GACX,YAAY,GACZ,gBAAgB,GAChB,gBAAgB,GAChB,eAAe,GACf,UAAU,GACV,OAAO,GACP,uBAAuB,GACvB,cAAc,GACd,WAAW,GACX,UAAU,GACV,aAAa,CAChB,GAAG;IACF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CAC5D,GACG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CA4G1D"}
1
+ {"version":3,"file":"createRscStream.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/createRscStream.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,WAAW,EACZ,MAAM,aAAa,CAAC;AAGrB,wBAAgB,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,EACnE,IAAqB,EACrB,aAAa,EACb,SAAS,EACT,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,QAAoB,EACpB,SAAqB,EACrB,KAAK,EACL,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,GACZ,EAAE,IAAI,CACL,oBAAoB,CAAC,CAAC,CAAC,EACrB,MAAM,GACN,eAAe,GACf,WAAW,GACX,YAAY,GACZ,gBAAgB,GAChB,gBAAgB,GAChB,eAAe,GACf,UAAU,GACV,OAAO,GACP,uBAAuB,GACvB,cAAc,GACd,WAAW,GACX,UAAU,GACV,aAAa,CAChB,GAAG;IACF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CAC5D,GACG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CAiH1D"}
@@ -27,7 +27,7 @@ function createRscStream({
27
27
  let streamError = null;
28
28
  const startTime = performance.now();
29
29
  try {
30
- const htmlIsFragment = Html == React.Fragment;
30
+ const htmlIsFragment = Html === React.Fragment;
31
31
  const url = route.startsWith(moduleBaseURL) ? route : moduleBaseURL + route;
32
32
  if (!PageComponent) {
33
33
  return {
@@ -44,7 +44,16 @@ function createRscStream({
44
44
  }
45
45
  };
46
46
  }
47
- const elements = htmlIsFragment ? /* @__PURE__ */ React.createElement(CssCollector, { cssFiles }, /* @__PURE__ */ React.createElement(PageComponent, { ...pageProps })) : /* @__PURE__ */ React.createElement(
47
+ const elements = htmlIsFragment ? /* @__PURE__ */ React.createElement(
48
+ CssCollector,
49
+ {
50
+ key: route,
51
+ as: React.Fragment,
52
+ cssFiles,
53
+ pageProps,
54
+ Page: PageComponent
55
+ }
56
+ ) : /* @__PURE__ */ React.createElement(
48
57
  Html,
49
58
  {
50
59
  moduleBase,
@@ -58,9 +67,10 @@ function createRscStream({
58
67
  cssFiles,
59
68
  globalCss,
60
69
  CssCollector,
61
- manifest
62
- },
63
- /* @__PURE__ */ React.createElement(PageComponent, { ...pageProps })
70
+ manifest,
71
+ Page: PageComponent,
72
+ as: "div"
73
+ }
64
74
  );
65
75
  const stream = ReactDOMServer.renderToPipeableStream(
66
76
  elements,
@@ -1 +1 @@
1
- {"version":3,"file":"createRscStream.js","sources":["../../../plugin/helpers/createRscStream.tsx"],"sourcesContent":["import { React, ReactDOMServer } from \"../vendor/vendor.server.js\";\nimport type { CreateHandlerOptions, StreamMetrics } from \"../types.js\";\nimport { performance } from \"node:perf_hooks\";\nexport function createRscStream<\n T,\n C extends React.ComponentType<T>,\n InlineCSS extends boolean = true\n>({\n Html = React.Fragment,\n PageComponent,\n pageProps,\n moduleBase,\n moduleRootPath,\n moduleBasePath,\n moduleBaseURL,\n cssFiles = new Map(),\n globalCss = new Map(),\n route,\n pipeableStreamOptions,\n CssCollector,\n manifest,\n onEvent,\n projectRoot,\n}: Pick<\n CreateHandlerOptions<T, C, InlineCSS>,\n | \"Html\"\n | \"PageComponent\"\n | \"pageProps\"\n | \"moduleBase\"\n | \"moduleRootPath\"\n | \"moduleBasePath\"\n | \"moduleBaseURL\"\n | \"cssFiles\"\n | \"route\"\n | \"pipeableStreamOptions\"\n | \"CssCollector\"\n | \"globalCss\"\n | \"manifest\"\n | \"projectRoot\"\n> & {\n onEvent?: (event: \"error\" | \"postpone\", data: any) => void;\n}):\n | { type: \"success\"; stream: any; metrics: StreamMetrics }\n | { type: \"error\"; error: Error; metrics: StreamMetrics } {\n let errorCount = 0;\n let streamError: Error | null = null;\n const startTime = performance.now();\n try {\n const htmlIsFragment = Html == React.Fragment;\n const url = route.startsWith(moduleBaseURL) ? route : moduleBaseURL + route;\n\n if (!PageComponent) {\n return {\n type: \"error\",\n error: new Error(\"PageComponent is required\"),\n metrics: {\n chunks: 0,\n bytes: 0,\n backpressureCount: 0,\n drainCount: 0,\n errorCount: 0,\n duration: 0,\n startTime: 0,\n },\n };\n }\n const elements = htmlIsFragment ? (\n <CssCollector cssFiles={cssFiles}>\n <PageComponent {...(pageProps as any)} />\n </CssCollector>\n ) : (\n <Html\n moduleBase={moduleBase}\n moduleBaseURL={moduleBaseURL}\n moduleBasePath={moduleBasePath}\n moduleRootPath={moduleRootPath}\n projectRoot={projectRoot}\n url={url}\n route={route}\n pageProps={pageProps}\n cssFiles={cssFiles}\n globalCss={globalCss}\n CssCollector={CssCollector}\n manifest={manifest}\n >\n <PageComponent {...(pageProps as any)} />\n </Html>\n );\n const stream = ReactDOMServer.renderToPipeableStream(\n elements,\n moduleBasePath,\n {\n ...pipeableStreamOptions,\n onError(error: Error, errorInfo: any) {\n const err = error instanceof Error ? error : new Error(String(error));\n streamError = err;\n onEvent?.(\"error\", { route, error: err, errorInfo });\n errorCount++;\n },\n onPostpone(reason: string) {\n onEvent?.(\"postpone\", { route, reason });\n },\n }\n );\n // If we have a stream error, return it immediately\n if (streamError) {\n return {\n type: \"error\",\n error: streamError,\n metrics: {\n chunks: 0,\n bytes: 0,\n backpressureCount: 0,\n drainCount: 0,\n errorCount,\n duration: Date.now() - startTime,\n startTime: startTime,\n },\n };\n }\n\n return {\n type: \"success\",\n stream,\n metrics: {\n chunks: 0,\n bytes: 0,\n backpressureCount: 0,\n drainCount: 0,\n errorCount,\n duration: Date.now() - startTime,\n startTime: startTime,\n },\n };\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n onEvent?.(\"error\", { route, error: err });\n return {\n type: \"error\",\n error: err,\n metrics: {\n chunks: 0,\n bytes: 0,\n backpressureCount: 0,\n drainCount: 0,\n errorCount: errorCount + 1,\n duration: Date.now() - startTime,\n startTime: startTime,\n },\n };\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createRscStream.js","sources":["../../../plugin/helpers/createRscStream.tsx"],"sourcesContent":["import { React, ReactDOMServer } from \"../vendor/vendor.server.js\";\nimport type {\n CreateHandlerOptions,\n StreamMetrics,\n PagePropOpt,\n} from \"../types.js\";\nimport { performance } from \"node:perf_hooks\";\n\nexport function createRscStream<T extends PagePropOpt = PagePropOpt>({\n Html = React.Fragment,\n PageComponent,\n pageProps,\n moduleBase,\n moduleRootPath,\n moduleBasePath,\n moduleBaseURL,\n cssFiles = new Map(),\n globalCss = new Map(),\n route,\n pipeableStreamOptions,\n CssCollector,\n manifest,\n onEvent,\n projectRoot,\n}: Pick<\n CreateHandlerOptions<T>,\n | \"Html\"\n | \"PageComponent\"\n | \"pageProps\"\n | \"moduleBase\"\n | \"moduleRootPath\"\n | \"moduleBasePath\"\n | \"moduleBaseURL\"\n | \"cssFiles\"\n | \"route\"\n | \"pipeableStreamOptions\"\n | \"CssCollector\"\n | \"globalCss\"\n | \"manifest\"\n | \"projectRoot\"\n> & {\n onEvent?: (event: \"error\" | \"postpone\", data: any) => void;\n}):\n | { type: \"success\"; stream: any; metrics: StreamMetrics }\n | { type: \"error\"; error: Error; metrics: StreamMetrics } {\n let errorCount = 0;\n let streamError: Error | null = null;\n const startTime = performance.now();\n try {\n const htmlIsFragment = Html === React.Fragment;\n const url = route.startsWith(moduleBaseURL) ? route : moduleBaseURL + route;\n\n if (!PageComponent) {\n return {\n type: \"error\",\n error: new Error(\"PageComponent is required\"),\n metrics: {\n chunks: 0,\n bytes: 0,\n backpressureCount: 0,\n drainCount: 0,\n errorCount: 0,\n duration: 0,\n startTime: 0,\n },\n };\n }\n\n const elements = htmlIsFragment ? (\n <CssCollector\n key={route}\n as={React.Fragment}\n cssFiles={cssFiles}\n pageProps={pageProps}\n Page={PageComponent}\n />\n ) : (\n <Html\n moduleBase={moduleBase}\n moduleBaseURL={moduleBaseURL}\n moduleBasePath={moduleBasePath}\n moduleRootPath={moduleRootPath}\n projectRoot={projectRoot}\n url={url}\n route={route}\n pageProps={pageProps}\n cssFiles={cssFiles}\n globalCss={globalCss}\n CssCollector={CssCollector}\n manifest={manifest}\n Page={PageComponent}\n as={\"div\"}\n />\n );\n const stream = ReactDOMServer.renderToPipeableStream(\n elements,\n moduleBasePath,\n {\n ...pipeableStreamOptions,\n onError(error: Error, errorInfo: any) {\n const err = error instanceof Error ? error : new Error(String(error));\n streamError = err;\n onEvent?.(\"error\", { route, error: err, errorInfo });\n errorCount++;\n },\n onPostpone(reason: string) {\n onEvent?.(\"postpone\", { route, reason });\n },\n }\n );\n // If we have a stream error, return it immediately\n if (streamError) {\n return {\n type: \"error\",\n error: streamError,\n metrics: {\n chunks: 0,\n bytes: 0,\n backpressureCount: 0,\n drainCount: 0,\n errorCount,\n duration: Date.now() - startTime,\n startTime: startTime,\n },\n };\n }\n\n return {\n type: \"success\",\n stream,\n metrics: {\n chunks: 0,\n bytes: 0,\n backpressureCount: 0,\n drainCount: 0,\n errorCount,\n duration: Date.now() - startTime,\n startTime: startTime,\n },\n };\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error));\n onEvent?.(\"error\", { route, error: err });\n return {\n type: \"error\",\n error: err,\n metrics: {\n chunks: 0,\n bytes: 0,\n backpressureCount: 0,\n drainCount: 0,\n errorCount: errorCount + 1,\n duration: Date.now() - startTime,\n startTime: startTime,\n },\n };\n }\n}\n"],"names":[],"mappings":"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"}
@@ -10,8 +10,8 @@ export * from "./inputNormalizer.js";
10
10
  export * from "./collectBundleManifestCss.js";
11
11
  export * from "./collectManifestCss.js";
12
12
  export * from "./collectViteModuleGraphCss.js";
13
- export * from "./createCssProps.jsx";
14
- export * from "./createRscStream.jsx";
13
+ export * from "./createCssProps.js";
14
+ export * from "./createRscStream.js";
15
15
  export * from "./createHandler.js";
16
16
  export * from "./createEventHandler.js";
17
17
  export * from "./formatMetrics.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AAGrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAG7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AAGpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAG7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC"}
@@ -13,9 +13,9 @@ export * from "./inputNormalizer.js";
13
13
  export * from "./collectBundleManifestCss.js";
14
14
  export * from "./collectManifestCss.js";
15
15
  export * from "./collectViteModuleGraphCss.js";
16
- export * from "./createCssProps.jsx";
16
+ export * from "./createCssProps.js";
17
17
  // Stream and handler creation
18
- export * from "./createRscStream.jsx";
18
+ export * from "./createRscStream.js";
19
19
  export * from "./createHandler.js";
20
20
  export * from "./createEventHandler.js";
21
21
  // Metrics and monitoring