vite-plugin-react-server 1.1.11 → 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 (376) 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/callServer.js +1 -1
  227. package/dist/plugin/utils/callServer.js.map +1 -1
  228. package/dist/plugin/utils/createCallServer.d.ts +1 -1
  229. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  230. package/dist/plugin/utils/createCallServer.js +13 -4
  231. package/dist/plugin/utils/createCallServer.js.map +1 -1
  232. package/dist/plugin/utils/index.d.ts +1 -0
  233. package/dist/plugin/utils/index.d.ts.map +1 -1
  234. package/dist/plugin/utils/index.js +1 -0
  235. package/dist/plugin/utils.js +1 -0
  236. package/dist/plugin/utils.js.map +1 -1
  237. package/dist/plugin/vendor/vendor.client.d.ts +2 -1
  238. package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
  239. package/dist/plugin/vendor/vendor.client.js +2 -1
  240. package/dist/plugin/vendor/vendor.client.js.map +1 -1
  241. package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
  242. package/dist/plugin/vendor/vendor.server.js +1 -1
  243. package/dist/plugin/vendor/vendor.server.js.map +1 -1
  244. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  245. package/dist/plugin/worker/createWorker.js +17 -22
  246. package/dist/plugin/worker/createWorker.js.map +1 -1
  247. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +1 -1
  248. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +25 -4
  249. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js.map +1 -1
  250. package/dist/plugin/worker/html/html-worker.development.js +15 -13
  251. package/dist/plugin/worker/html/html-worker.development.js.map +1 -1
  252. package/dist/plugin/worker/html/html-worker.production.js +2 -12
  253. package/dist/plugin/worker/html/html-worker.production.js.map +1 -1
  254. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  255. package/dist/plugin/worker/html/messageHandler.js +2 -2
  256. package/dist/plugin/worker/html/messageHandler.js.map +1 -1
  257. package/dist/plugin/worker/rsc/handleRender.d.ts +2 -1
  258. package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -1
  259. package/dist/plugin/worker/rsc/handleRender.js +8 -8
  260. package/dist/plugin/worker/rsc/handleRender.js.map +1 -1
  261. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  262. package/dist/plugin/worker/rsc/messageHandler.js +166 -107
  263. package/dist/plugin/worker/rsc/messageHandler.js.map +1 -1
  264. package/dist/plugin/worker/rsc/rsc-worker.development.js +112 -52
  265. package/dist/plugin/worker/rsc/rsc-worker.development.js.map +1 -1
  266. package/dist/plugin/worker/rsc/rsc-worker.production.js +1 -1
  267. package/dist/plugin/worker/rsc/rsc-worker.production.js.map +1 -1
  268. package/dist/plugin/worker/rsc/state.d.ts +5 -64
  269. package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
  270. package/dist/plugin/worker/rsc/state.js +5 -1
  271. package/dist/plugin/worker/rsc/state.js.map +1 -1
  272. package/dist/plugin/worker/sendMessage.d.ts +2 -0
  273. package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
  274. package/dist/plugin/worker/sendMessage.js +2 -1
  275. package/dist/plugin/worker/sendMessage.js.map +1 -1
  276. package/dist/plugin/worker/types.d.ts +52 -53
  277. package/dist/plugin/worker/types.d.ts.map +1 -1
  278. package/dist/tsconfig.tsbuildinfo +1 -1
  279. package/package.json +10 -8
  280. package/plugin/components/css-collector-elements.tsx +30 -9
  281. package/plugin/components/css-collector.tsx +13 -22
  282. package/plugin/components/html.tsx +12 -5
  283. package/plugin/config/autoDiscover/resolveAutoDiscover.ts +31 -13
  284. package/plugin/config/defaults.tsx +72 -16
  285. package/plugin/config/resolveAutoDiscoverMatcher.ts +23 -0
  286. package/plugin/config/resolveEnv.ts +20 -12
  287. package/plugin/config/resolveOptions.ts +152 -155
  288. package/plugin/config/resolveUserConfig.ts +20 -5
  289. package/plugin/error/toError.ts +35 -1
  290. package/plugin/helpers/cleanObject.ts +79 -15
  291. package/plugin/helpers/collectViteModuleGraphCss.ts +4 -3
  292. package/plugin/helpers/createCssProps.tsx +26 -9
  293. package/plugin/helpers/createHandler.ts +7 -4
  294. package/plugin/helpers/createRscStream.tsx +20 -14
  295. package/plugin/helpers/index.ts +2 -2
  296. package/plugin/helpers/inputNormalizer.ts +4 -2
  297. package/plugin/helpers/moduleResolver.ts +36 -0
  298. package/plugin/helpers/requestInfo.ts +117 -23
  299. package/plugin/helpers/resolvePage.ts +2 -3
  300. package/plugin/helpers/resolvePageAndProps.ts +7 -6
  301. package/plugin/helpers/serializeUserOptions.ts +20 -2
  302. package/plugin/helpers/sourceMap.ts +182 -0
  303. package/plugin/loader/createBuildLoader.ts +124 -104
  304. package/plugin/loader/createDefaultLoader.ts +62 -0
  305. package/plugin/loader/css-loader.development.ts +3 -2
  306. package/plugin/loader/handleExports.ts +276 -0
  307. package/plugin/loader/index.ts +6 -1
  308. package/plugin/loader/parse.ts +22 -0
  309. package/plugin/loader/react-loader.client.ts +1 -0
  310. package/plugin/loader/react-loader.server.ts +107 -0
  311. package/plugin/loader/react-loader.ts +4 -1002
  312. package/plugin/loader/sourceMap.ts +118 -0
  313. package/plugin/loader/transformModuleIfNeeded.ts +33 -0
  314. package/plugin/loader/transformModuleWithPreservedFunctions.ts +119 -0
  315. package/plugin/loader/types.ts +10 -0
  316. package/plugin/plugin.client.ts +18 -11
  317. package/plugin/plugin.server.ts +6 -3
  318. package/plugin/preserver/plugin.ts +37 -17
  319. package/plugin/react-client/{server.ts → configureWorkerRequestHandler.ts} +22 -12
  320. package/plugin/react-client/createMessageHandlers.ts +21 -13
  321. package/plugin/react-client/createWorkerStream.ts +71 -33
  322. package/plugin/react-client/handleWorkerRscStream.ts +15 -5
  323. package/plugin/react-client/plugin.ts +18 -13
  324. package/plugin/react-client/restartWorker.ts +17 -5
  325. package/plugin/react-server/{server.ts → configureReactServer.ts} +40 -9
  326. package/plugin/react-server/handleServerAction.ts +177 -0
  327. package/plugin/react-server/plugin.ts +8 -3
  328. package/plugin/react-static/collectHtmlWorkerContent.ts +11 -3
  329. package/plugin/react-static/collectRscContent.ts +17 -9
  330. package/plugin/react-static/configurePreviewServer.ts +37 -17
  331. package/plugin/react-static/plugin.ts +45 -22
  332. package/plugin/react-static/renderPage.ts +12 -6
  333. package/plugin/react-static/renderPages.ts +15 -4
  334. package/plugin/react-static/renderStreams.ts +13 -12
  335. package/plugin/source-map/createMappingsSerializer.ts +182 -0
  336. package/plugin/source-map/readMappings.ts +195 -0
  337. package/plugin/transformer/README.md +295 -29
  338. package/plugin/transformer/index.ts +0 -1
  339. package/plugin/transformer/plugin.client.ts +0 -111
  340. package/plugin/transformer/plugin.server.ts +94 -25
  341. package/plugin/types/react-server-dom-esm.d.ts +183 -24
  342. package/plugin/types/sourceMap.d.ts +2 -0
  343. package/plugin/types/webpack-sources.d.ts +24 -0
  344. package/plugin/types.ts +169 -132
  345. package/plugin/utils/callServer.ts +1 -1
  346. package/plugin/utils/createCallServer.ts +21 -6
  347. package/plugin/utils/index.ts +2 -1
  348. package/plugin/vendor/vendor.client.ts +2 -1
  349. package/plugin/vendor/vendor.server.ts +1 -1
  350. package/plugin/worker/createWorker.ts +21 -24
  351. package/plugin/worker/html/createHtmlWorkerRenderState.tsx +31 -7
  352. package/plugin/worker/html/html-worker.development.tsx +16 -16
  353. package/plugin/worker/html/html-worker.production.tsx +3 -19
  354. package/plugin/worker/html/messageHandler.tsx +2 -4
  355. package/plugin/worker/rsc/handleRender.ts +15 -12
  356. package/plugin/worker/rsc/messageHandler.tsx +191 -120
  357. package/plugin/worker/rsc/rsc-worker.development.ts +148 -77
  358. package/plugin/worker/rsc/rsc-worker.production.ts +1 -1
  359. package/plugin/worker/rsc/state.ts +10 -0
  360. package/plugin/worker/sendMessage.ts +32 -14
  361. package/plugin/worker/types.ts +99 -64
  362. package/dist/plugin/react-client/server.d.ts.map +0 -1
  363. package/dist/plugin/react-client/server.js.map +0 -1
  364. package/dist/plugin/react-server/server.d.ts +0 -9
  365. package/dist/plugin/react-server/server.d.ts.map +0 -1
  366. package/dist/plugin/react-server/server.js.map +0 -1
  367. package/dist/plugin/transformer/plugin.client.js.map +0 -1
  368. package/dist/plugin/transformer/upgradeCssModuleCode.d.ts +0 -2
  369. package/dist/plugin/transformer/upgradeCssModuleCode.d.ts.map +0 -1
  370. package/dist/plugin/transformer/upgradeCssModuleCode.js +0 -40
  371. package/dist/plugin/worker/loader.d.ts +0 -5
  372. package/dist/plugin/worker/loader.d.ts.map +0 -1
  373. package/dist/plugin/worker/loader.js +0 -11
  374. package/dist/plugin/worker/loader.js.map +0 -1
  375. package/plugin/transformer/upgradeCssModuleCode.ts +0 -42
  376. package/plugin/worker/loader.ts +0 -7
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-plugin-react-server",
3
- "version": "1.1.11",
3
+ "version": "1.1.13",
4
4
  "description": "Vite plugin for React Server Components (RSC)",
5
5
  "type": "module",
6
6
  "main": "./dist/plugin/index.js",
@@ -86,14 +86,12 @@
86
86
  "prepublishOnly": "npm run build",
87
87
  "lint": "eslint ./src --fix",
88
88
  "setup:test-fixtures": "npx tsx test/setup.ts",
89
- "test:server": "NODE_ENV=development NODE_OPTIONS='--conditions react-server' vitest run test/server",
90
- "test:client": "NODE_ENV=development vitest run test/client",
89
+ "test:server": "NODE_OPTIONS='--conditions react-server' vitest run test/server",
90
+ "test:client": "vitest run test/client",
91
91
  "test:build": "npm run setup:test-fixtures && npm test test/server/build.test.ts",
92
- "test:unit": "vitest run test/unit",
92
+ "test:unit": "NODE_OPTIONS='--conditions react-server' vitest run test/unit",
93
93
  "test:llm": "rm -f build.log && npm run test:build 2>&1 | tee build.log",
94
- "test:streams": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/renderStreams.test.ts",
95
- "test:renders": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/renderPages.test.ts",
96
- "test:html-worker": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/rscToHtmlStream.test.ts",
94
+ "test:rsc-worker": "npm run build && vitest run test/client/rsc-worker.test.ts",
97
95
  "test:large-html": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/large-html.test.ts --reporter=verbose",
98
96
  "test:metrics": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/metrics.test.ts --reporter=verbose",
99
97
  "test:hooks": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/hooks.test.ts --reporter=verbose",
@@ -101,6 +99,9 @@
101
99
  "test:dev-server-env": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/dev-server-env.test.ts --reporter=verbose",
102
100
  "test:rsc-server": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/rsc-server.test.ts --reporter=verbose",
103
101
  "test:client-env": "npm run build && vitest run test/client/dev-client-server-env.test.ts --reporter=verbose",
102
+ "test:todo": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/todo.test.ts --reporter=verbose",
103
+ "test:server-action": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/server-action.test.ts --reporter=verbose",
104
+ "test:server-action-integration": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/server-action-integration.test.ts --reporter=verbose",
104
105
  "test": "npm run build && npm run test:server && npm run test:client && npm run test:unit",
105
106
  "test:coverage": "npm run setup:test-fixtures && vitest run --coverage",
106
107
  "test:ui": "npm run setup:test-fixtures && vitest --ui",
@@ -110,7 +111,8 @@
110
111
  "experimental:move-patches": "mv patches/* ./scripts/",
111
112
  "experimental:setup": "rm -rf patches/* && npm run experimental:clean-install && npm run experimental:copy && npm run experimental:patch && npm run experimental:move-patches",
112
113
  "experimental:patch-react": "npm run experimental:clean-install && node scripts/check-react-version.mjs && node bin/patch.mjs",
113
- "postinstall": "patch-package"
114
+ "postinstall": "patch-package",
115
+ "test-parse": "node -e \"const acorn = require('acorn'); const ast = acorn.parse('export async function test() {}', { sourceType: 'module', ecmaVersion: 'latest' }); console.log(JSON.stringify(ast, null, 2));\""
114
116
  },
115
117
  "keywords": [
116
118
  "vite",
@@ -1,4 +1,6 @@
1
1
  import React from "react";
2
- import type { CssCollectorProps } from "../types.js";
3
- export declare const CssCollectorElements: ({ cssFiles, }: Pick<CssCollectorProps, "cssFiles">) => React.JSX.Element[];
2
+ import type { CssContent } from "../types.js";
3
+ export declare const CssCollectorElements: ({ cssFiles, }: {
4
+ cssFiles: Map<string, CssContent> | CssContent[];
5
+ }) => React.JSX.Element[] | null;
4
6
  //# sourceMappingURL=css-collector-elements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"css-collector-elements.d.ts","sourceRoot":"","sources":["../../../plugin/components/css-collector-elements.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,aAAa,CAAC;AAGjE,eAAO,MAAM,oBAAoB,kBAE9B,IAAI,CACL,iBAAiB,EACjB,UAAU,CACX,wBAWG,CAAC"}
1
+ {"version":3,"file":"css-collector-elements.d.ts","sourceRoot":"","sources":["../../../plugin/components/css-collector-elements.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,eAAO,MAAM,oBAAoB,kBAE9B;IACD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,UAAU,EAAE,CAAC;CAClD,+BAiCA,CAAC"}
@@ -7,13 +7,27 @@ import React__default from 'react';
7
7
 
8
8
  const CssCollectorElements = ({
9
9
  cssFiles
10
- }) => Array.from(cssFiles?.values() ?? []).map((cssFile) => {
11
- const { as: As, id, children, precedence, type, ...rest } = cssFile;
12
- if (As !== "link" && (typeof children === "string" || React__default.isValidElement(children))) {
13
- return /* @__PURE__ */ React__default.createElement(As, { ...rest, type: type ?? "text/css", key: cssFile.id }, children);
14
- }
15
- return /* @__PURE__ */ React__default.createElement(As, { ...rest, key: cssFile.id, precedence });
16
- });
10
+ }) => {
11
+ if (!cssFiles) return null;
12
+ const cssFilesArray = Array.isArray(cssFiles) ? cssFiles : Array.from(cssFiles.values());
13
+ if (!cssFilesArray.length) return null;
14
+ const arr = cssFilesArray.map((cssFile) => {
15
+ const {
16
+ as: As = React__default.Fragment,
17
+ id,
18
+ children,
19
+ precedence,
20
+ type,
21
+ ...rest
22
+ } = cssFile;
23
+ if (As !== "link" && (typeof children === "string" || React__default.isValidElement(children))) {
24
+ return /* @__PURE__ */ React__default.createElement(As, { ...rest, type: type ?? "text/css", key: cssFile.id }, children ?? null);
25
+ }
26
+ return /* @__PURE__ */ React__default.createElement(As, { ...rest, key: cssFile.id, precedence });
27
+ });
28
+ if (!arr.length) return null;
29
+ return arr;
30
+ };
17
31
 
18
32
  export { CssCollectorElements };
19
33
  //# sourceMappingURL=css-collector-elements.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"css-collector-elements.js","sources":["../../../plugin/components/css-collector-elements.tsx"],"sourcesContent":["import React from \"react\";\nimport type { CssCollectorProps, CssContent } from \"../types.js\";\n\n// Create link elements for each CSS file\nexport const CssCollectorElements = ({\n cssFiles,\n}: Pick<\n CssCollectorProps,\n \"cssFiles\"\n>) =>\n Array.from(cssFiles?.values() ?? []).map((cssFile: CssContent) => {\n // Emit style tag for inline CSS\n const { as: As, id, children, precedence, type, ...rest } = cssFile;\n if(As !== \"link\" && (typeof children === \"string\" || React.isValidElement(children))) {\n // style tag\n // since we can't bubble up the style tags, we need to be creative\n return <As {...rest} type={type ?? \"text/css\"} key={cssFile.id}>{children}</As>;\n }\n // link tag\n return <As {...rest} key={cssFile.id} precedence={precedence} />;\n });\n"],"names":["React"],"mappings":";;;;;;;AAIO,MAAM,uBAAuB,CAAC;AAAA,EACnC;AACF,CAIE,KAAA,KAAA,CAAM,IAAK,CAAA,QAAA,EAAU,MAAO,EAAA,IAAK,EAAE,CAAA,CAAE,GAAI,CAAA,CAAC,OAAwB,KAAA;AAEhE,EAAM,MAAA,EAAE,IAAI,EAAI,EAAA,EAAA,EAAI,UAAU,UAAY,EAAA,IAAA,EAAM,GAAG,IAAA,EAAS,GAAA,OAAA;AAC5D,EAAG,IAAA,EAAA,KAAO,WAAW,OAAO,QAAA,KAAa,YAAYA,cAAM,CAAA,cAAA,CAAe,QAAQ,CAAI,CAAA,EAAA;AAGpF,IAAO,uBAAAA,cAAA,CAAA,aAAA,CAAC,EAAI,EAAA,EAAA,GAAG,IAAM,EAAA,IAAA,EAAM,QAAQ,UAAY,EAAA,GAAA,EAAK,OAAQ,CAAA,EAAA,EAAA,EAAK,QAAS,CAAA;AAAA;AAG5E,EAAA,oDAAQ,EAAI,EAAA,EAAA,GAAG,MAAM,GAAK,EAAA,OAAA,CAAQ,IAAI,UAAwB,EAAA,CAAA;AAChE,CAAC;;;;"}
1
+ {"version":3,"file":"css-collector-elements.js","sources":["../../../plugin/components/css-collector-elements.tsx"],"sourcesContent":["import React from \"react\";\nimport type { CssContent } from \"../types.js\";\n\n// Create link elements for each CSS file\nexport const CssCollectorElements = ({\n cssFiles,\n}: {\n cssFiles: Map<string, CssContent> | CssContent[];\n}) => {\n if (!cssFiles) return null;\n const cssFilesArray = Array.isArray(cssFiles)\n ? cssFiles\n : Array.from(cssFiles.values());\n if (!cssFilesArray.length) return null;\n const arr = cssFilesArray.map((cssFile: CssContent) => {\n // Emit style tag for inline CSS\n const {\n as: As = React.Fragment,\n id,\n children,\n precedence,\n type,\n ...rest\n } = cssFile;\n if (\n As !== \"link\" &&\n (typeof children === \"string\" || React.isValidElement(children))\n ) {\n // style tag\n // since we can't bubble up the style tags, we need to be creative\n return (\n <As {...rest} type={type ?? \"text/css\"} key={cssFile.id}>\n {children ?? null}\n </As>\n );\n }\n // link tag\n return <As {...rest} key={cssFile.id} precedence={precedence} />;\n });\n if (!arr.length) return null;\n return arr;\n};\n"],"names":["React"],"mappings":";;;;;;;AAIO,MAAM,uBAAuB,CAAC;AAAA,EACnC;AACF,CAEM,KAAA;AACJ,EAAI,IAAA,CAAC,UAAiB,OAAA,IAAA;AACtB,EAAM,MAAA,aAAA,GAAgB,KAAM,CAAA,OAAA,CAAQ,QAAQ,CAAA,GACxC,WACA,KAAM,CAAA,IAAA,CAAK,QAAS,CAAA,MAAA,EAAQ,CAAA;AAChC,EAAI,IAAA,CAAC,aAAc,CAAA,MAAA,EAAe,OAAA,IAAA;AAClC,EAAA,MAAM,GAAM,GAAA,aAAA,CAAc,GAAI,CAAA,CAAC,OAAwB,KAAA;AAErD,IAAM,MAAA;AAAA,MACJ,EAAA,EAAI,KAAKA,cAAM,CAAA,QAAA;AAAA,MACf,EAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA;AAAA,MACA,IAAA;AAAA,MACA,GAAG;AAAA,KACD,GAAA,OAAA;AACJ,IACE,IAAA,EAAA,KAAO,WACN,OAAO,QAAA,KAAa,YAAYA,cAAM,CAAA,cAAA,CAAe,QAAQ,CAC9D,CAAA,EAAA;AAGA,MACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,EAAI,EAAA,EAAA,GAAG,IAAM,EAAA,IAAA,EAAM,IAAQ,IAAA,UAAA,EAAY,GAAK,EAAA,OAAA,CAAQ,EAClD,EAAA,EAAA,QAAA,IAAY,IACf,CAAA;AAAA;AAIJ,IAAA,oDAAQ,EAAI,EAAA,EAAA,GAAG,MAAM,GAAK,EAAA,OAAA,CAAQ,IAAI,UAAwB,EAAA,CAAA;AAAA,GAC/D,CAAA;AACD,EAAI,IAAA,CAAC,GAAI,CAAA,MAAA,EAAe,OAAA,IAAA;AACxB,EAAO,OAAA,GAAA;AACT;;;;"}
@@ -1,8 +1,7 @@
1
- import React from "react";
2
- import type { CssCollectorProps } from "../types.js";
1
+ import type { CssCollectorBoxedType } from "../types.js";
3
2
  /**
4
- * A component that emits <link> tags for CSS files during streaming.
5
- * The high precedence ensures they bubble up to the document head.
3
+ * A upgraded Root component that adds the cssFiles to the bottom of the page,,
4
+ * expecting links to bubble up to the document head.
6
5
  */
7
- export declare function CssCollector({ children, cssFiles, as: As, ...props }: Pick<CssCollectorProps, "children" | "cssFiles" | "as">): React.JSX.Element;
6
+ export declare const CssCollector: CssCollectorBoxedType;
8
7
  //# sourceMappingURL=css-collector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"css-collector.d.ts","sourceRoot":"","sources":["../../../plugin/components/css-collector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAe,EACf,QAAoB,EACpB,EAAE,EAAE,EAAmB,EACvB,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC,qBAezD"}
1
+ {"version":3,"file":"css-collector.d.ts","sourceRoot":"","sources":["../../../plugin/components/css-collector.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGzD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,qBAW1B,CAAC"}
@@ -6,17 +6,13 @@
6
6
  import React__default from 'react';
7
7
  import { CssCollectorElements } from './css-collector-elements.js';
8
8
 
9
- function CssCollector({
10
- children = null,
11
- cssFiles = /* @__PURE__ */ new Map(),
9
+ const CssCollector = ({
12
10
  as: As = React__default.Fragment,
11
+ cssFiles,
12
+ pageProps,
13
+ Page,
13
14
  ...props
14
- }) {
15
- if (As === React__default.Fragment) {
16
- return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, children, /* @__PURE__ */ React__default.createElement(CssCollectorElements, { cssFiles }));
17
- }
18
- return /* @__PURE__ */ React__default.createElement(As, { ...props }, children, /* @__PURE__ */ React__default.createElement(CssCollectorElements, { cssFiles }));
19
- }
15
+ }) => /* @__PURE__ */ React__default.createElement(As, { ...As != React__default.Fragment ? props : null }, /* @__PURE__ */ React__default.createElement(Page, { ...pageProps }), /* @__PURE__ */ React__default.createElement(CssCollectorElements, { cssFiles }));
20
16
 
21
17
  export { CssCollector };
22
18
  //# sourceMappingURL=css-collector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"css-collector.js","sources":["../../../plugin/components/css-collector.tsx"],"sourcesContent":["import React from \"react\";\nimport type { CssCollectorProps } from \"../types.js\";\nimport { CssCollectorElements } from \"./css-collector-elements.js\";\n\n/**\n * A component that emits <link> tags for CSS files during streaming.\n * The high precedence ensures they bubble up to the document head.\n */\nexport function CssCollector({\n children = null,\n cssFiles = new Map(),\n as: As = React.Fragment,\n ...props\n}: Pick<CssCollectorProps, \"children\" | \"cssFiles\" | \"as\">) {\n if (As === React.Fragment) {\n return (\n <>\n {children}\n <CssCollectorElements cssFiles={cssFiles} />\n </>\n );\n }\n return (\n <As {...props}>\n {children}\n <CssCollectorElements cssFiles={cssFiles} />\n </As>\n );\n}\n"],"names":["React"],"mappings":";;;;;;;;AAQO,SAAS,YAAa,CAAA;AAAA,EAC3B,QAAW,GAAA,IAAA;AAAA,EACX,QAAA,uBAAe,GAAI,EAAA;AAAA,EACnB,EAAA,EAAI,KAAKA,cAAM,CAAA,QAAA;AAAA,EACf,GAAG;AACL,CAA4D,EAAA;AAC1D,EAAI,IAAA,EAAA,KAAOA,eAAM,QAAU,EAAA;AACzB,IAAA,uBAEKA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EAAA,QAAA,kBACAA,cAAA,CAAA,aAAA,CAAA,oBAAA,EAAA,EAAqB,UAAoB,CAC5C,CAAA;AAAA;AAGJ,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,MAAI,GAAG,KAAA,EAAA,EACL,0BACAA,cAAA,CAAA,aAAA,CAAA,oBAAA,EAAA,EAAqB,UAAoB,CAC5C,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"css-collector.js","sources":["../../../plugin/components/css-collector.tsx"],"sourcesContent":["import React from \"react\";\nimport type { CssCollectorBoxedType } from \"../types.js\";\nimport { CssCollectorElements } from \"./css-collector-elements.js\";\n\n/**\n * A upgraded Root component that adds the cssFiles to the bottom of the page,,\n * expecting links to bubble up to the document head.\n */\nexport const CssCollector: CssCollectorBoxedType = ({\n as: As = React.Fragment,\n cssFiles,\n pageProps,\n Page,\n ...props\n}) => (\n <As {...(As != React.Fragment ? (props as any) : null)}>\n <Page {...pageProps!} />\n <CssCollectorElements cssFiles={cssFiles!} />\n </As>\n);\n"],"names":["React"],"mappings":";;;;;;;;AAQO,MAAM,eAAsC,CAAC;AAAA,EAClD,EAAA,EAAI,KAAKA,cAAM,CAAA,QAAA;AAAA,EACf,QAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAG;AACL,CAAA,kDACG,EAAI,EAAA,EAAA,GAAI,EAAM,IAAAA,cAAA,CAAM,WAAY,KAAgB,GAAA,IAAA,EAAA,kBAC9CA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAM,GAAG,SAAY,EAAA,CAAA,kBACrBA,cAAA,CAAA,aAAA,CAAA,oBAAA,EAAA,EAAqB,UAAqB,CAC7C;;;;"}
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import type { HtmlProps } from "../types.js";
3
- export declare const Html: ({ children, CssCollector, cssFiles, globalCss, }: React.PropsWithChildren<HtmlProps>) => React.JSX.Element;
3
+ export declare const Html: ({ CssCollector, cssFiles, globalCss, pageProps, Page, as, }: HtmlProps) => React.JSX.Element;
4
4
  //# sourceMappingURL=html.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../plugin/components/html.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,IAAI,qDAKd,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,sBAWpC,CAAC"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../plugin/components/html.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,eAAO,MAAM,IAAI,gEAOd,SAAS,sBAeX,CAAC"}
@@ -7,11 +7,22 @@ import React__default from 'react';
7
7
  import { CssCollectorElements } from './css-collector-elements.js';
8
8
 
9
9
  const Html = ({
10
- children,
11
10
  CssCollector,
12
11
  cssFiles,
13
- globalCss
14
- }) => /* @__PURE__ */ React__default.createElement("html", null, /* @__PURE__ */ React__default.createElement("head", null, /* @__PURE__ */ React__default.createElement(CssCollectorElements, { cssFiles: globalCss })), /* @__PURE__ */ React__default.createElement("body", null, /* @__PURE__ */ React__default.createElement(CssCollector, { as: "div", id: "root", cssFiles }, children)));
12
+ globalCss,
13
+ pageProps,
14
+ Page,
15
+ as = "div"
16
+ }) => /* @__PURE__ */ React__default.createElement("html", null, /* @__PURE__ */ React__default.createElement("head", null, /* @__PURE__ */ React__default.createElement(CssCollectorElements, { cssFiles: globalCss })), /* @__PURE__ */ React__default.createElement("body", null, /* @__PURE__ */ React__default.createElement(
17
+ CssCollector,
18
+ {
19
+ as,
20
+ id: "root",
21
+ cssFiles,
22
+ pageProps,
23
+ Page
24
+ }
25
+ )));
15
26
 
16
27
  export { Html };
17
28
  //# sourceMappingURL=html.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sources":["../../../plugin/components/html.tsx"],"sourcesContent":["import React from \"react\";\nimport type { HtmlProps } from \"../types.js\";\nimport { CssCollectorElements } from \"./css-collector-elements.js\";\nexport const Html = ({\n children,\n CssCollector,\n cssFiles,\n globalCss,\n}: React.PropsWithChildren<HtmlProps>) => (\n <html>\n <head>\n <CssCollectorElements cssFiles={globalCss} />\n </head>\n <body>\n <CssCollector as={\"div\"} id=\"root\" cssFiles={cssFiles}>\n {children}\n </CssCollector>\n </body>\n </html>\n);\n"],"names":["React"],"mappings":";;;;;;;;AAGO,MAAM,OAAO,CAAC;AAAA,EACnB,QAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CACE,qBAAAA,cAAA,CAAA,aAAA,CAAC,8BACEA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,+CACE,oBAAqB,EAAA,EAAA,QAAA,EAAU,WAAW,CAC7C,CAAA,+CACC,MACC,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,gBAAa,EAAI,EAAA,KAAA,EAAO,IAAG,MAAO,EAAA,QAAA,EAAA,EAChC,QACH,CACF,CACF;;;;"}
1
+ {"version":3,"file":"html.js","sources":["../../../plugin/components/html.tsx"],"sourcesContent":["import React from \"react\";\nimport type { HtmlProps } from \"../types.js\";\nimport { CssCollectorElements } from \"./css-collector-elements.js\";\n\nexport const Html = ({\n CssCollector,\n cssFiles,\n globalCss,\n pageProps,\n Page,\n as = \"div\",\n}: HtmlProps) => (\n <html>\n <head>\n <CssCollectorElements cssFiles={globalCss} />\n </head>\n <body>\n <CssCollector\n as={as}\n id=\"root\"\n cssFiles={cssFiles}\n pageProps={pageProps}\n Page={Page}\n />\n </body>\n </html>\n);\n"],"names":["React"],"mappings":";;;;;;;;AAIO,MAAM,OAAO,CAAC;AAAA,EACnB,YAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AAAA,EACA,EAAK,GAAA;AACP,CACE,qBAAAA,cAAA,CAAA,aAAA,CAAC,MACC,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,MACC,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,oBAAqB,EAAA,EAAA,QAAA,EAAU,SAAW,EAAA,CAC7C,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,MACC,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,EAAC,YAAA;AAAA,EAAA;AAAA,IACC,EAAA;AAAA,IACA,EAAG,EAAA,MAAA;AAAA,IACH,QAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA;AACF,CACF,CACF;;;;"}
@@ -1,9 +1,9 @@
1
1
  import type { ConfigEnv, UserConfig } from "vite";
2
- import type { ResolvedUserOptions, AutoDiscoveredFiles } from "../../types.js";
3
- type ResolveAutoDiscoverProps = {
2
+ import type { ResolvedUserOptions, AutoDiscoveredFiles, PagePropOpt, InlineCssOpt } from "../../types.js";
3
+ type ResolveAutoDiscoverProps<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt> = {
4
4
  config: UserConfig;
5
5
  configEnv: ConfigEnv;
6
- userOptions: ResolvedUserOptions;
6
+ userOptions: ResolvedUserOptions<T, InlineCSS>;
7
7
  condition: "react-server" | "react-client";
8
8
  };
9
9
  type ResolveAutoDiscoverReturn = {
@@ -17,6 +17,6 @@ type ResolveAutoDiscoverReturn = {
17
17
  id: string;
18
18
  autoDiscoveredFiles?: never;
19
19
  };
20
- export declare function resolveAutoDiscover({ config, configEnv, userOptions, condition, }: ResolveAutoDiscoverProps): Promise<ResolveAutoDiscoverReturn>;
20
+ export declare function resolveAutoDiscover<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt>({ config, configEnv, userOptions, condition, }: ResolveAutoDiscoverProps<T, InlineCSS>): Promise<ResolveAutoDiscoverReturn>;
21
21
  export {};
22
22
  //# sourceMappingURL=resolveAutoDiscover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAutoDiscover.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/resolveAutoDiscover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAe/E,KAAK,wBAAwB,GAAG;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;CAC5C,CAAC;AAEF,KAAK,yBAAyB,GAC1B;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,CAAC,EAAE,KAAK,CAAC;CAC7B,CAAC;AAEN,wBAAsB,mBAAmB,CAAC,EACxC,MAAM,EACN,SAAS,EACT,WAAW,EACX,SAAS,GACV,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAqI/D"}
1
+ {"version":3,"file":"resolveAutoDiscover.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/resolveAutoDiscover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACb,MAAM,gBAAgB,CAAC;AAexB,KAAK,wBAAwB,CAC3B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,IAC3C;IACF,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;CAC5C,CAAC;AAEF,KAAK,yBAAyB,GAC1B;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,CAAC,EAAE,KAAK,CAAC;CAC7B,CAAC;AAEN,wBAAsB,mBAAmB,CACvC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAC7C,EACA,MAAM,EACN,SAAS,EACT,WAAW,EACX,SAAS,GACV,EAAE,wBAAwB,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA4I7E"}
@@ -50,7 +50,7 @@ async function resolveAutoDiscover({
50
50
  userOptions
51
51
  });
52
52
  let staticManifest = {};
53
- if (ssr) {
53
+ if (ssr && configEnv.command === "build") {
54
54
  const staticManifestResult = await tryManifest({
55
55
  root: userOptions.projectRoot,
56
56
  ssrManifest: false,
@@ -72,7 +72,7 @@ async function resolveAutoDiscover({
72
72
  inputs: {},
73
73
  userOptions
74
74
  });
75
- const serverInputs = await serverFiles({
75
+ const serverActions = await serverFiles({
76
76
  inputs: {},
77
77
  userOptions
78
78
  });
@@ -92,21 +92,25 @@ async function resolveAutoDiscover({
92
92
  ...configInputRecord,
93
93
  ...clientInputs,
94
94
  ...clientEntry,
95
- ...serverInputs,
96
- ...serverEntry
95
+ ...cssInputs,
96
+ ...jsonInputs
97
97
  };
98
98
  const inputs = condition === "react-client" ? {
99
99
  ...indexHtmlInputs,
100
100
  ...agnosticInputs,
101
- ...cssInputs,
102
- ...jsonInputs
101
+ ...!(configEnv.command === "build" || configEnv.isSsrBuild) ? {
102
+ // when we are not building, we likely still want the files for the client server, so we include them in the inputs
103
+ ...pageAndPropInputs,
104
+ ...serverActions,
105
+ ...serverEntry
106
+ } : {}
103
107
  } : {
104
108
  ...configInputRecord,
105
109
  ...customWorkerInputs,
106
110
  ...pageAndPropInputs,
107
111
  ...agnosticInputs,
108
- ...cssInputs,
109
- ...jsonInputs
112
+ ...serverActions,
113
+ ...serverEntry
110
114
  };
111
115
  return {
112
116
  type: "success",
@@ -117,7 +121,8 @@ async function resolveAutoDiscover({
117
121
  serverEntry,
118
122
  clientEntry,
119
123
  staticManifest,
120
- inputs
124
+ inputs,
125
+ serverActions
121
126
  }
122
127
  };
123
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolveAutoDiscover.js","sources":["../../../../plugin/config/autoDiscover/resolveAutoDiscover.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type { ResolvedUserOptions, AutoDiscoveredFiles } from \"../../types.js\";\nimport { join } from \"path\";\nimport { resolveBuildPages } from \"./resolveBuildPages.js\";\nimport { resolvePages } from \"../resolvePages.js\";\nimport { tryManifest } from \"../../helpers/tryManifest.js\";\nimport type { Manifest } from \"vite\";\nimport { createGlobAutoDiscover } from \"./createGlobAutoDiscover.js\";\nimport { customWorkerFiles } from \"./customWorkerFiles.js\";\nimport { pageAndPropFiles } from \"./pageAndPropFiles.js\";\n\nconst clientFiles = createGlobAutoDiscover(\"**/*.client.*\");\nconst serverFiles = createGlobAutoDiscover(\"**/*.server.*\");\nconst cssFiles = createGlobAutoDiscover(\"**/*.css\");\nconst jsonFiles = createGlobAutoDiscover(\"**/*.json\");\n\ntype ResolveAutoDiscoverProps = {\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions;\n condition: \"react-server\" | \"react-client\";\n};\n\ntype ResolveAutoDiscoverReturn =\n | {\n type: \"success\";\n id: string;\n autoDiscoveredFiles: AutoDiscoveredFiles;\n error?: never;\n }\n | {\n type: \"error\";\n error: Error;\n id: string;\n autoDiscoveredFiles?: never;\n };\n\nexport async function resolveAutoDiscover({\n config,\n configEnv,\n userOptions,\n condition,\n}: ResolveAutoDiscoverProps): Promise<ResolveAutoDiscoverReturn> {\n const ssr = configEnv.isSsrBuild || condition === \"react-server\";\n const envDir =\n condition === \"react-server\"\n ? userOptions.build.server\n : ssr\n ? userOptions.build.client\n : userOptions.build.static;\n const envId = `${envDir}${ssr ? \"-ssr\" : \"\"}`;\n const configInputRecord = {} as Record<string, string>;\n if (typeof config.build?.rollupOptions?.input === \"string\") {\n configInputRecord[\n userOptions.normalizer(config.build?.rollupOptions?.input)[0]\n ] = config.build?.rollupOptions?.input;\n } else if (typeof config.build?.rollupOptions?.input === \"object\") {\n for (const [, value] of Object.entries(\n config.build?.rollupOptions?.input\n )) {\n configInputRecord[userOptions.normalizer(value)[0]] = value;\n }\n }\n\n const serverEntry =\n typeof userOptions.serverEntry === \"string\"\n ? Object.fromEntries([userOptions.normalizer(userOptions.serverEntry)])\n : null;\n\n const indexHtmlInputs = { index: \"index.html\" };\n\n const clientEntry =\n typeof userOptions.clientEntry === \"string\"\n ? Object.fromEntries([userOptions.normalizer(userOptions.clientEntry)])\n : {};\n\n const { type, error, pages } = await resolvePages(userOptions.build.pages);\n\n if (type === \"error\") {\n return {\n type: \"error\",\n error,\n id: envId,\n };\n }\n\n const files = await resolveBuildPages({\n pages,\n userOptions,\n });\n\n // Load static manifest for client build\n let staticManifest: Manifest = {};\n if (ssr) {\n const staticManifestResult = await tryManifest({\n root: userOptions.projectRoot,\n ssrManifest: false,\n outDir: join(userOptions.build.outDir, userOptions.build.static),\n });\n if (staticManifestResult.type === \"success\") {\n staticManifest = staticManifestResult.manifest;\n } else if (configEnv.command === \"build\") {\n // in dev mode, the static manifest is not needed\n // with ssr, WE ARE BUILDING the static manifest, so only warn in the case of a build\n console.error(staticManifestResult.error);\n console.warn(\"Continuing without static manifest\");\n // this can still work, but, it won't be able to look up any client-side assets\n // so likely the error will happen later in the build loader not being able to find the asset\n staticManifest = {};\n }\n }\n\n const customWorkerInputs = customWorkerFiles({\n inputs: {},\n userOptions,\n });\n const clientInputs = await clientFiles({\n inputs: {},\n userOptions,\n });\n const serverInputs = await serverFiles({\n inputs: {},\n userOptions,\n });\n\n const pageAndPropInputs = pageAndPropFiles({\n files,\n inputs: {},\n });\n\n const cssInputs = await cssFiles({\n inputs: {},\n userOptions,\n });\n\n const jsonInputs = await jsonFiles({\n inputs: {},\n userOptions,\n });\n const agnosticInputs = {\n ...configInputRecord,\n ...clientInputs,\n ...clientEntry,\n ...serverInputs,\n ...serverEntry,\n };\n // Add inputs based on condition\n const inputs =\n condition === \"react-client\"\n ? {\n ...indexHtmlInputs,\n ...agnosticInputs,\n ...cssInputs,\n ...jsonInputs,\n }\n : {\n ...configInputRecord,\n ...customWorkerInputs,\n ...pageAndPropInputs,\n ...agnosticInputs,\n ...cssInputs,\n ...jsonInputs,\n };\n return {\n type: \"success\",\n id: envId,\n autoDiscoveredFiles: {\n ...files,\n workerPaths: customWorkerInputs,\n serverEntry,\n clientEntry,\n staticManifest,\n inputs,\n },\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveAutoDiscover.js","sources":["../../../../plugin/config/autoDiscover/resolveAutoDiscover.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n ResolvedUserOptions,\n AutoDiscoveredFiles,\n PagePropOpt,\n InlineCssOpt,\n} from \"../../types.js\";\nimport { join } from \"path\";\nimport { resolveBuildPages } from \"./resolveBuildPages.js\";\nimport { resolvePages } from \"../resolvePages.js\";\nimport { tryManifest } from \"../../helpers/tryManifest.js\";\nimport type { Manifest } from \"vite\";\nimport { createGlobAutoDiscover } from \"./createGlobAutoDiscover.js\";\nimport { customWorkerFiles } from \"./customWorkerFiles.js\";\nimport { pageAndPropFiles } from \"./pageAndPropFiles.js\";\n\nconst clientFiles = createGlobAutoDiscover(\"**/*.client.*\");\nconst serverFiles = createGlobAutoDiscover(\"**/*.server.*\");\nconst cssFiles = createGlobAutoDiscover(\"**/*.css\");\nconst jsonFiles = createGlobAutoDiscover(\"**/*.json\");\n\ntype ResolveAutoDiscoverProps<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n> = {\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions<T, InlineCSS>;\n condition: \"react-server\" | \"react-client\";\n};\n\ntype ResolveAutoDiscoverReturn =\n | {\n type: \"success\";\n id: string;\n autoDiscoveredFiles: AutoDiscoveredFiles;\n error?: never;\n }\n | {\n type: \"error\";\n error: Error;\n id: string;\n autoDiscoveredFiles?: never;\n };\n\nexport async function resolveAutoDiscover<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>({\n config,\n configEnv,\n userOptions,\n condition,\n}: ResolveAutoDiscoverProps<T, InlineCSS>): Promise<ResolveAutoDiscoverReturn> {\n const ssr = configEnv.isSsrBuild || condition === \"react-server\";\n const envDir =\n condition === \"react-server\"\n ? userOptions.build.server\n : ssr\n ? userOptions.build.client\n : userOptions.build.static;\n const envId = `${envDir}${ssr ? \"-ssr\" : \"\"}`;\n const configInputRecord = {} as Record<string, string>;\n if (typeof config.build?.rollupOptions?.input === \"string\") {\n configInputRecord[\n userOptions.normalizer(config.build?.rollupOptions?.input)[0]\n ] = config.build?.rollupOptions?.input;\n } else if (typeof config.build?.rollupOptions?.input === \"object\") {\n for (const [, value] of Object.entries(\n config.build?.rollupOptions?.input\n )) {\n configInputRecord[userOptions.normalizer(value)[0]] = value;\n }\n }\n\n const serverEntry =\n typeof userOptions.serverEntry === \"string\"\n ? Object.fromEntries([userOptions.normalizer(userOptions.serverEntry)])\n : null;\n\n const indexHtmlInputs = { index: \"index.html\" };\n\n const clientEntry =\n typeof userOptions.clientEntry === \"string\"\n ? Object.fromEntries([userOptions.normalizer(userOptions.clientEntry)])\n : {};\n\n const { type, error, pages } = await resolvePages(userOptions.build.pages);\n\n if (type === \"error\") {\n return {\n type: \"error\",\n error,\n id: envId,\n };\n }\n\n const files = await resolveBuildPages({\n pages,\n userOptions,\n });\n\n // Load static manifest for client build\n let staticManifest: Manifest = {};\n if (ssr && configEnv.command === \"build\") {\n const staticManifestResult = await tryManifest({\n root: userOptions.projectRoot,\n ssrManifest: false,\n outDir: join(userOptions.build.outDir, userOptions.build.static),\n });\n if (staticManifestResult.type === \"success\") {\n staticManifest = staticManifestResult.manifest;\n } else if (configEnv.command === \"build\") {\n // in dev mode, the static manifest is not needed\n // with ssr, WE ARE BUILDING the static manifest, so only warn in the case of a build\n console.error(staticManifestResult.error);\n console.warn(\"Continuing without static manifest\");\n // this can still work, but, it won't be able to look up any client-side assets\n // so likely the error will happen later in the build loader not being able to find the asset\n staticManifest = {};\n }\n }\n\n const customWorkerInputs = customWorkerFiles({\n inputs: {},\n userOptions,\n });\n const clientInputs = await clientFiles({\n inputs: {},\n userOptions,\n });\n const serverActions = await serverFiles({\n inputs: {},\n userOptions,\n });\n\n const pageAndPropInputs = pageAndPropFiles({\n files,\n inputs: {},\n });\n\n const cssInputs = await cssFiles({\n inputs: {},\n userOptions,\n });\n\n const jsonInputs = await jsonFiles({\n inputs: {},\n userOptions,\n });\n const agnosticInputs = {\n ...configInputRecord,\n ...clientInputs,\n ...clientEntry,\n ...cssInputs,\n ...jsonInputs,\n };\n // Add inputs based on condition\n const inputs =\n condition === \"react-client\"\n ? {\n ...indexHtmlInputs,\n ...agnosticInputs,\n ...(!(configEnv.command === \"build\" || configEnv.isSsrBuild)\n ? {\n // when we are not building, we likely still want the files for the client server, so we include them in the inputs\n ...pageAndPropInputs,\n ...serverActions,\n ...serverEntry,\n }\n : {}),\n }\n : {\n ...configInputRecord,\n ...customWorkerInputs,\n ...pageAndPropInputs,\n ...agnosticInputs,\n ...serverActions,\n ...serverEntry,\n };\n return {\n type: \"success\",\n id: envId,\n autoDiscoveredFiles: {\n ...files,\n workerPaths: customWorkerInputs,\n serverEntry,\n clientEntry,\n staticManifest,\n inputs,\n serverActions,\n },\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
- import { CssCollector } from "../components/css-collector.js";
2
1
  export declare const DEFAULT_CONFIG: {
3
- readonly MODULE_EXTENSION: RegExp;
4
2
  readonly CLIENT_ASSETS_DIR: "assets";
5
3
  readonly RSC_DIR: "rsc";
6
4
  readonly MODULE_BASE: "src";
@@ -17,8 +15,8 @@ export declare const DEFAULT_CONFIG: {
17
15
  readonly RSC_WORKER_PATH: "worker/rsc/rsc-worker.production.js" | "worker/rsc/rsc-worker.development.js";
18
16
  readonly LOADER_PATH: "worker/loader.js";
19
17
  readonly RSC_EXTENSION: ".rsc";
20
- readonly CSS_COLLECTOR: typeof CssCollector;
21
- readonly HTML: ({ children, CssCollector, cssFiles, globalCss, }: React.PropsWithChildren<import("../types.js").HtmlProps>) => import("react").JSX.Element;
18
+ readonly CSS_COLLECTOR: import("../types.js").CssCollectorBoxedType;
19
+ readonly HTML: ({ CssCollector, cssFiles, globalCss, pageProps, Page, as, }: import("../types.js").HtmlProps) => import("react").JSX.Element;
22
20
  readonly ON_METRICS: () => void;
23
21
  readonly DEV_PORT: 5173;
24
22
  readonly PREVIEW_PORT: 4173;
@@ -47,20 +45,76 @@ export declare const DEFAULT_CONFIG: {
47
45
  };
48
46
  readonly MODULE_BASE_EXCEPTIONS: string[];
49
47
  readonly AUTO_DISCOVER: {
48
+ /**
49
+ * /\.(m|c)?(j|t)sx?$/ and .lowerCase()
50
+ */
50
51
  readonly modulePattern: (n: string) => boolean;
52
+ /**
53
+ * /\.?page(\.(m|c)?(j|t)sx?)$/ and .lowerCase()
54
+ */
51
55
  readonly pagePattern: (n: string) => boolean;
56
+ /**
57
+ * /\.?props(\.(m|c)?(j|t)sx?)$/ and .lowerCase()
58
+ */
52
59
  readonly propsPattern: (n: string) => boolean;
60
+ /**
61
+ * /(\.|\/)?client(\.(m|c)?(j|t)sx?)$/ and .lowerCase()
62
+ */
53
63
  readonly clientComponents: (n: string) => boolean;
64
+ /**
65
+ * /(\.|\/)?server(\.(m|c)?(j|t)sx?)$/ and .lowerCase()
66
+ */
54
67
  readonly serverFunctions: (n: string) => boolean;
55
- readonly cssPattern: (n: string) => boolean;
56
- readonly cssModulePattern: (n: string) => boolean;
57
- readonly virtualPattern: (n: string) => boolean;
58
- readonly vendorPattern: (n: string) => boolean;
59
- readonly htmlPattern: (n: string) => boolean;
60
- readonly jsonPattern: (n: string) => boolean;
61
- readonly nodeOnly: (n: string) => boolean;
68
+ /**
69
+ * /\.css$/
70
+ */
71
+ readonly cssPattern: RegExp;
72
+ /**
73
+ * /\.css\.js$/
74
+ */
75
+ readonly cssModulePattern: RegExp;
76
+ /**
77
+ * /^\/@\//
78
+ */
79
+ readonly virtualPattern: RegExp;
80
+ /**
81
+ * /^\/node_modules\//
82
+ */
83
+ readonly vendorPattern: RegExp;
84
+ /**
85
+ * /\.html$/
86
+ */
87
+ readonly htmlPattern: RegExp;
88
+ /**
89
+ * /\.json$/
90
+ */
91
+ readonly jsonPattern: RegExp;
92
+ /**
93
+ * /\.node(\.js)?$/
94
+ */
95
+ readonly nodeOnly: RegExp;
96
+ /**
97
+ * /\.node(\.js)?$/
98
+ */
62
99
  readonly dotFiles: (n: string) => boolean;
63
- readonly rscPattern: (n: string) => boolean;
100
+ /**
101
+ * /\.rsc$/
102
+ */
103
+ readonly rscPattern: RegExp;
104
+ /**
105
+ * /\.(m|c)?(j|t)sx?$/
106
+ */
107
+ readonly moduleExtension: RegExp;
108
+ /**
109
+ * /^"use server"[\s;]*\n?/m
110
+ */
111
+ readonly serverDirective: RegExp;
112
+ /**
113
+ * /^"use client"[\s;]*\n?/m
114
+ */
115
+ readonly clientDirective: RegExp;
116
+ readonly isServerFunction: (code: string) => boolean;
117
+ readonly isClientComponent: (code: string) => boolean;
64
118
  };
65
119
  readonly MODULE_ID: (id: string) => string;
66
120
  readonly VERBOSE: false;
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../plugin/config/defaults.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;sEAGrB,MAAO,iBACD;;;;;;;;;;;;;;;;;;;;;;;;iCA2Cc,MAAM,EAAE;+BACV,MAAM,EAAE;;qCAEA,MAAM,EAAE;;oCAUjB,MAAM;kCACR,MAAM;mCACL,MAAM;uCACF,MAAM;sCACP,MAAM;iCACX,MAAM;uCACA,MAAM;qCACR,MAAM;oCACP,MAAM;kCAER,MAAM;kCACN,MAAM;+BACT,MAAM;+BACN,MAAM;iCACJ,MAAM;;6BAER,MAAM;;CAEd,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../plugin/config/defaults.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA8CD,MAAM,EAAE;+BACV,MAAM,EAAE;;qCAEA,MAAM,EAAE;;QAUpC;;WAEG;oCACgB,MAAM;QACzB;;WAEG;kCACc,MAAM;QACvB;;WAEG;mCACe,MAAM;QACxB;;WAEG;uCACmB,MAAM;QAC5B;;WAEG;sCACkB,MAAM;QAC3B;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;+BACW,MAAM;QACpB;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;0CAGsB,MAAM;2CACL,MAAM;;6BAGlB,MAAM;;CAEd,CAAC"}
@@ -6,7 +6,6 @@
6
6
  import { Html } from '../components/html.js';
7
7
 
8
8
  const DEFAULT_CONFIG = {
9
- MODULE_EXTENSION: /\.(m|c)?(j|t)sx?$/,
10
9
  CLIENT_ASSETS_DIR: "assets",
11
10
  MODULE_BASE: "src",
12
11
  MODULE_BASE_PATH: "/",
@@ -37,7 +36,6 @@ const DEFAULT_CONFIG = {
37
36
  },
38
37
  CSS: {
39
38
  inlineCss: false,
40
- purgeCss: false,
41
39
  inlineThreshold: 4096,
42
40
  // 4KB
43
41
  inlinePatterns: [],
@@ -54,20 +52,76 @@ const DEFAULT_CONFIG = {
54
52
  // ? = optional
55
53
  // () = group
56
54
  // | = or
57
- modulePattern: (n) => /\.(m|c)?(j|t)sx?$/.test(n),
58
- pagePattern: (n) => /\.?page(\.js)?$/.test(n),
59
- propsPattern: (n) => /\.?props(\.js)?$/.test(n),
60
- clientComponents: (n) => /(\.|\/)?client(\.js)?$/.test(n),
61
- serverFunctions: (n) => /(\.|\/)?server(\.js)?$/.test(n),
62
- cssPattern: (n) => /\.css$/.test(n),
63
- cssModulePattern: (n) => /\.css\.js$/.test(n),
64
- virtualPattern: (n) => /^\/_virtual\//.test(n),
65
- vendorPattern: (n) => /^\/node_modules\//.test(n),
66
- htmlPattern: (n) => /\.html$/.test(n),
67
- jsonPattern: (n) => /\.json$/.test(n),
68
- nodeOnly: (n) => /\.node(\.js)?$/.test(n),
55
+ /**
56
+ * /\.(m|c)?(j|t)sx?$/ and .lowerCase()
57
+ */
58
+ modulePattern: (n) => /\.(m|c)?(j|t)sx?$/.test(n.toLowerCase()),
59
+ /**
60
+ * /\.?page(\.(m|c)?(j|t)sx?)$/ and .lowerCase()
61
+ */
62
+ pagePattern: (n) => /\.?page(\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()),
63
+ /**
64
+ * /\.?props(\.(m|c)?(j|t)sx?)$/ and .lowerCase()
65
+ */
66
+ propsPattern: (n) => /\.?props(\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()),
67
+ /**
68
+ * /(\.|\/)?client(\.(m|c)?(j|t)sx?)$/ and .lowerCase()
69
+ */
70
+ clientComponents: (n) => /(\.|\/)?client(\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()),
71
+ /**
72
+ * /(\.|\/)?server(\.(m|c)?(j|t)sx?)$/ and .lowerCase()
73
+ */
74
+ serverFunctions: (n) => /(\.|\/)?server(\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()),
75
+ /**
76
+ * /\.css$/
77
+ */
78
+ cssPattern: /\.css$/,
79
+ /**
80
+ * /\.css\.js$/
81
+ */
82
+ cssModulePattern: /\.css\.js$/,
83
+ /**
84
+ * /^\/@\//
85
+ */
86
+ virtualPattern: /^\/@\//,
87
+ /**
88
+ * /^\/node_modules\//
89
+ */
90
+ vendorPattern: /^\/node_modules\//,
91
+ /**
92
+ * /\.html$/
93
+ */
94
+ htmlPattern: /\.html$/,
95
+ /**
96
+ * /\.json$/
97
+ */
98
+ jsonPattern: /\.json$/,
99
+ /**
100
+ * /\.node(\.js)?$/
101
+ */
102
+ nodeOnly: /\.node(\.js)?$/,
103
+ /**
104
+ * /\.node(\.js)?$/
105
+ */
69
106
  dotFiles: (n) => n.split("/").some((p) => p.startsWith(".")),
70
- rscPattern: (n) => /\.rsc$/.test(n)
107
+ /**
108
+ * /\.rsc$/
109
+ */
110
+ rscPattern: /\.rsc$/,
111
+ /**
112
+ * /\.(m|c)?(j|t)sx?$/
113
+ */
114
+ moduleExtension: /\.(m|c)?(j|t)sx?$/,
115
+ /**
116
+ * /^"use server"[\s;]*\n?/m
117
+ */
118
+ serverDirective: /^"use server"[\s;]*\n?/m,
119
+ /**
120
+ * /^"use client"[\s;]*\n?/m
121
+ */
122
+ clientDirective: /^"use client"[\s;]*\n?/m,
123
+ isServerFunction: (code) => code.match(DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective) !== null,
124
+ isClientComponent: (code) => code.match(DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective) !== null
71
125
  },
72
126
  VERBOSE: false
73
127
  };
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sources":["../../../plugin/config/defaults.tsx"],"sourcesContent":["import { CssCollector } from \"../components/css-collector.js\";\nimport { Html } from \"../components/html.js\";\nexport const DEFAULT_CONFIG = {\n MODULE_EXTENSION: /\\.(m|c)?(j|t)sx?$/,\n CLIENT_ASSETS_DIR: \"assets\",\n RSC_DIR: \"rsc\",\n MODULE_BASE: \"src\",\n MODULE_BASE_PATH: \"/\",\n MODULE_BASE_URL: \"/\",\n PUBLIC_ORIGIN: \"\",\n PAGE: \"page.tsx\",\n PROPS: \"props.ts\",\n CLIENT_ENTRY: undefined,\n SERVER_ENTRY: undefined,\n PAGE_EXPORT_NAME: \"Page\",\n PROPS_EXPORT_NAME: \"props\",\n HTML_WORKER_PATH: `worker/html/html-worker.${\n process.env[\"NODE_ENV\"] === \"production\" ? \"production\" : \"development\"\n }.js`,\n RSC_WORKER_PATH: `worker/rsc/rsc-worker.${\n process.env[\"NODE_ENV\"] === \"production\" ? \"production\" : \"development\"\n }.js`,\n LOADER_PATH: \"worker/loader.js\",\n RSC_EXTENSION: \".rsc\",\n CSS_COLLECTOR: CssCollector,\n HTML: Html,\n ON_METRICS: ()=>{},\n DEV_PORT: 5173,\n PREVIEW_PORT: 4173,\n DEV_HOST: \"localhost\",\n PREVIEW_HOST: \"localhost\",\n ENV_PREFIX: \"VITE_\",\n BUILD: {\n pages: [],\n client: \"client\",\n server: \"server\",\n static: \"static\",\n api: \"api\",\n outDir: \"dist\",\n assetsDir: \"assets\",\n hash: \"hash\",\n rscOutputPath: \"index.rsc\",\n htmlOutputPath: \"index.html\",\n preserveModulesRoot: true,\n },\n CSS: {\n inlineCss: false,\n purgeCss: false,\n inlineThreshold: 4096, // 4KB\n inlinePatterns: [] as RegExp[], // Always inline CSS modules\n linkPatterns: [] as RegExp[], // Always link node_modules CSS\n },\n MODULE_BASE_EXCEPTIONS: [] as string[],\n AUTO_DISCOVER: {\n // All REGEX tricks used here are based on the following:\n // $ = endsWith\n // ^ = startsWith\n // . = includes\n // \\ = escape\n // ? = optional\n // () = group\n // | = or\n modulePattern: (n: string) => /\\.(m|c)?(j|t)sx?$/.test(n),\n pagePattern: (n: string) => /\\.?page(\\.js)?$/.test(n),\n propsPattern: (n: string) => /\\.?props(\\.js)?$/.test(n),\n clientComponents: (n: string) => /(\\.|\\/)?client(\\.js)?$/.test(n),\n serverFunctions: (n: string) => /(\\.|\\/)?server(\\.js)?$/.test(n),\n cssPattern: (n: string) => /\\.css$/.test(n),\n cssModulePattern: (n: string) => /\\.css\\.js$/.test(n),\n virtualPattern: (n: string) => /^\\/_virtual\\//.test(n),\n vendorPattern: (n: string) =>\n /^\\/node_modules\\//.test(n),\n htmlPattern: (n: string) => /\\.html$/.test(n),\n jsonPattern: (n: string) => /\\.json$/.test(n),\n nodeOnly: (n: string) => /\\.node(\\.js)?$/.test(n),\n dotFiles: (n: string) => n.split('/').some(p => p.startsWith('.')),\n rscPattern: (n: string) => /\\.rsc$/.test(n), \n },\n MODULE_ID: (id: string) => id,\n VERBOSE: false,\n} as const;"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","sources":["../../../plugin/config/defaults.tsx"],"sourcesContent":["import { CssCollector } from \"../components/css-collector.js\";\nimport { Html } from \"../components/html.js\";\nexport const DEFAULT_CONFIG = {\n CLIENT_ASSETS_DIR: \"assets\",\n RSC_DIR: \"rsc\",\n MODULE_BASE: \"src\",\n MODULE_BASE_PATH: \"/\",\n MODULE_BASE_URL: \"/\",\n PUBLIC_ORIGIN: \"\",\n PAGE: \"page.tsx\",\n PROPS: \"props.ts\",\n CLIENT_ENTRY: undefined,\n SERVER_ENTRY: undefined,\n PAGE_EXPORT_NAME: \"Page\",\n PROPS_EXPORT_NAME: \"props\",\n HTML_WORKER_PATH: `worker/html/html-worker.${\n process.env[\"NODE_ENV\"] === \"production\" ? \"production\" : \"development\"\n }.js`,\n RSC_WORKER_PATH: `worker/rsc/rsc-worker.${\n process.env[\"NODE_ENV\"] === \"production\" ? \"production\" : \"development\"\n }.js`,\n LOADER_PATH: \"worker/loader.js\",\n RSC_EXTENSION: \".rsc\",\n CSS_COLLECTOR: CssCollector,\n HTML: Html,\n ON_METRICS: ()=>{},\n DEV_PORT: 5173,\n PREVIEW_PORT: 4173,\n DEV_HOST: \"localhost\",\n PREVIEW_HOST: \"localhost\",\n ENV_PREFIX: \"VITE_\",\n BUILD: {\n pages: [],\n client: \"client\",\n server: \"server\",\n static: \"static\",\n api: \"api\",\n outDir: \"dist\",\n assetsDir: \"assets\",\n hash: \"hash\",\n rscOutputPath: \"index.rsc\",\n htmlOutputPath: \"index.html\",\n preserveModulesRoot: true,\n },\n CSS: {\n inlineCss: false,\n purgeCss: false,\n inlineThreshold: 4096, // 4KB\n inlinePatterns: [] as RegExp[], // Always inline CSS modules\n linkPatterns: [] as RegExp[], // Always link node_modules CSS\n },\n MODULE_BASE_EXCEPTIONS: [] as string[],\n AUTO_DISCOVER: {\n // All REGEX tricks used here are based on the following:\n // $ = endsWith\n // ^ = startsWith\n // . = includes\n // \\ = escape\n // ? = optional\n // () = group\n // | = or\n /**\n * /\\.(m|c)?(j|t)sx?$/ and .lowerCase()\n */\n modulePattern: (n: string) => /\\.(m|c)?(j|t)sx?$/.test(n.toLowerCase()),\n /**\n * /\\.?page(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n pagePattern: (n: string) => /\\.?page(\\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()),\n /**\n * /\\.?props(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n propsPattern: (n: string) => /\\.?props(\\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()), \n /**\n * /(\\.|\\/)?client(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n clientComponents: (n: string) => /(\\.|\\/)?client(\\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()),\n /**\n * /(\\.|\\/)?server(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n serverFunctions: (n: string) => /(\\.|\\/)?server(\\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()),\n /**\n * /\\.css$/\n */\n cssPattern: /\\.css$/,\n /**\n * /\\.css\\.js$/\n */\n cssModulePattern: /\\.css\\.js$/,\n /**\n * /^\\/@\\//\n */\n virtualPattern: /^\\/@\\//,\n /**\n * /^\\/node_modules\\//\n */\n vendorPattern: /^\\/node_modules\\//,\n /**\n * /\\.html$/\n */\n htmlPattern: /\\.html$/,\n /**\n * /\\.json$/\n */\n jsonPattern: /\\.json$/,\n /**\n * /\\.node(\\.js)?$/\n */\n nodeOnly: /\\.node(\\.js)?$/,\n /**\n * /\\.node(\\.js)?$/\n */\n dotFiles: (n: string) => n.split('/').some(p => p.startsWith('.')), \n /**\n * /\\.rsc$/\n */\n rscPattern: /\\.rsc$/, \n /**\n * /\\.(m|c)?(j|t)sx?$/\n */\n moduleExtension: /\\.(m|c)?(j|t)sx?$/,\n /**\n * /^\"use server\"[\\s;]*\\n?/m\n */\n serverDirective: /^\"use server\"[\\s;]*\\n?/m,\n /**\n * /^\"use client\"[\\s;]*\\n?/m\n */\n clientDirective: /^\"use client\"[\\s;]*\\n?/m,\n\n isServerFunction: (code: string) => code.match(DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective) !== null,\n isClientComponent: (code: string) => code.match(DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective) !== null,\n \n },\n MODULE_ID: (id: string) => id,\n VERBOSE: false,\n} as const;"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Resolves a matcher pattern to a function that tests paths
3
+ */
4
+ export declare const resolveAutoDiscoverMatcher: (options: undefined | string | RegExp | ((path: string) => boolean), fallback: RegExp | ((path: string) => boolean)) => (path: string) => boolean;
5
+ //# sourceMappingURL=resolveAutoDiscoverMatcher.d.ts.map