vite-plugin-react-server 1.0.2 → 1.1.0

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 (490) hide show
  1. package/README.md +49 -76
  2. package/bin/patch.mjs +27 -20
  3. package/dist/_virtual/dynamic-import-helper.js +24 -0
  4. package/dist/_virtual/dynamic-import-helper.js.map +1 -0
  5. package/dist/client.d.ts +1 -1
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +1 -1
  8. package/dist/index.d.ts +2 -4
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +9 -26
  11. package/dist/index.js.map +1 -1
  12. package/dist/package.json +24 -14
  13. package/dist/plugin/components.d.ts +1 -1
  14. package/dist/plugin/components.d.ts.map +1 -1
  15. package/dist/plugin/components.js +1 -1
  16. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.d.ts +6 -0
  17. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.d.ts.map +1 -0
  18. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js +30 -0
  19. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js.map +1 -0
  20. package/dist/plugin/config/autoDiscover/customWorkerFiles.d.ts +13 -0
  21. package/dist/plugin/config/autoDiscover/customWorkerFiles.d.ts.map +1 -0
  22. package/dist/plugin/config/autoDiscover/customWorkerFiles.js +24 -0
  23. package/dist/plugin/config/autoDiscover/customWorkerFiles.js.map +1 -0
  24. package/dist/plugin/config/autoDiscover/pageAndPropFiles.d.ts +11 -0
  25. package/dist/plugin/config/autoDiscover/pageAndPropFiles.d.ts.map +1 -0
  26. package/dist/plugin/config/autoDiscover/pageAndPropFiles.js +29 -0
  27. package/dist/plugin/config/autoDiscover/pageAndPropFiles.js.map +1 -0
  28. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts +6 -0
  29. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts.map +1 -0
  30. package/dist/plugin/config/autoDiscover/resolveBuildPages.js +83 -0
  31. package/dist/plugin/config/autoDiscover/resolveBuildPages.js.map +1 -0
  32. package/dist/plugin/config/defaults.d.ts +18 -14
  33. package/dist/plugin/config/defaults.d.ts.map +1 -1
  34. package/dist/plugin/config/defaults.js +42 -21
  35. package/dist/plugin/config/defaults.js.map +1 -1
  36. package/dist/plugin/config/getCondition.d.ts +1 -1
  37. package/dist/plugin/config/getCondition.d.ts.map +1 -1
  38. package/dist/plugin/config/getCondition.js +2 -2
  39. package/dist/plugin/config/getCondition.js.map +1 -1
  40. package/dist/plugin/config/getPaths.d.ts +0 -1
  41. package/dist/plugin/config/getPaths.d.ts.map +1 -1
  42. package/dist/plugin/config/getPaths.js.map +1 -1
  43. package/dist/plugin/config/index.d.ts +0 -1
  44. package/dist/plugin/config/index.d.ts.map +1 -1
  45. package/dist/plugin/config/index.js +0 -1
  46. package/dist/plugin/config/resolveAutoDiscover.d.ts +20 -0
  47. package/dist/plugin/config/resolveAutoDiscover.d.ts.map +1 -0
  48. package/dist/plugin/config/resolveAutoDiscover.js +128 -0
  49. package/dist/plugin/config/resolveAutoDiscover.js.map +1 -0
  50. package/dist/plugin/config/resolveOptions.d.ts +1 -1
  51. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  52. package/dist/plugin/config/resolveOptions.js +109 -77
  53. package/dist/plugin/config/resolveOptions.js.map +1 -1
  54. package/dist/plugin/config/resolvePages.d.ts +0 -1
  55. package/dist/plugin/config/resolvePages.d.ts.map +1 -1
  56. package/dist/plugin/config/resolvePages.js +6 -8
  57. package/dist/plugin/config/resolvePages.js.map +1 -1
  58. package/dist/plugin/config/resolveUrlOption.d.ts +16 -0
  59. package/dist/plugin/config/resolveUrlOption.d.ts.map +1 -0
  60. package/dist/plugin/config/resolveUrlOption.js +37 -0
  61. package/dist/plugin/config/resolveUrlOption.js.map +1 -0
  62. package/dist/plugin/config/resolveUserConfig.d.ts +4 -5
  63. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  64. package/dist/plugin/config/resolveUserConfig.js +80 -132
  65. package/dist/plugin/config/resolveUserConfig.js.map +1 -1
  66. package/dist/plugin/copy.d.ts +7 -0
  67. package/dist/plugin/copy.d.ts.map +1 -0
  68. package/dist/plugin/copy.js +30 -0
  69. package/dist/plugin/css-collector-elements.d.ts +4 -0
  70. package/dist/plugin/css-collector-elements.d.ts.map +1 -0
  71. package/dist/plugin/css-collector-elements.js +19 -0
  72. package/dist/plugin/css-collector-elements.js.map +1 -0
  73. package/dist/plugin/css-collector.d.ts +2 -8
  74. package/dist/plugin/css-collector.d.ts.map +1 -1
  75. package/dist/plugin/css-collector.js +9 -36
  76. package/dist/plugin/css-collector.js.map +1 -1
  77. package/dist/plugin/helpers/cleanObject.d.ts +3 -0
  78. package/dist/plugin/helpers/cleanObject.d.ts.map +1 -0
  79. package/dist/plugin/helpers/cleanObject.js +47 -0
  80. package/dist/plugin/helpers/cleanObject.js.map +1 -0
  81. package/dist/plugin/helpers/collectBundleManifestCss.d.ts +8 -0
  82. package/dist/plugin/helpers/collectBundleManifestCss.d.ts.map +1 -0
  83. package/dist/plugin/helpers/collectBundleManifestCss.js +110 -0
  84. package/dist/plugin/helpers/collectManifestCss.d.ts +7 -0
  85. package/dist/plugin/helpers/collectManifestCss.d.ts.map +1 -0
  86. package/dist/plugin/helpers/collectManifestCss.js +44 -0
  87. package/dist/plugin/helpers/collectManifestCss.js.map +1 -0
  88. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +31 -0
  89. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -0
  90. package/dist/plugin/helpers/collectViteModuleGraphCss.js +104 -0
  91. package/dist/plugin/helpers/collectViteModuleGraphCss.js.map +1 -0
  92. package/dist/plugin/helpers/createCssProps.d.ts +25 -0
  93. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -0
  94. package/dist/plugin/helpers/createCssProps.js +57 -0
  95. package/dist/plugin/helpers/createCssProps.js.map +1 -0
  96. package/dist/plugin/helpers/createEventHandler.d.ts +22 -0
  97. package/dist/plugin/helpers/createEventHandler.d.ts.map +1 -0
  98. package/dist/plugin/helpers/createEventHandler.js +36 -0
  99. package/dist/plugin/helpers/createEventHandler.js.map +1 -0
  100. package/dist/plugin/helpers/createHandler.d.ts +7 -13
  101. package/dist/plugin/helpers/createHandler.d.ts.map +1 -1
  102. package/dist/plugin/helpers/createHandler.js +54 -96
  103. package/dist/plugin/helpers/createHandler.js.map +1 -1
  104. package/dist/plugin/helpers/createRscStream.d.ts +12 -26
  105. package/dist/plugin/helpers/createRscStream.d.ts.map +1 -1
  106. package/dist/plugin/helpers/createRscStream.js +105 -51
  107. package/dist/plugin/helpers/createRscStream.js.map +1 -1
  108. package/dist/plugin/helpers/defaultFileWriter.d.ts +2 -0
  109. package/dist/plugin/helpers/defaultFileWriter.d.ts.map +1 -0
  110. package/dist/plugin/helpers/defaultFileWriter.js +1 -0
  111. package/dist/plugin/helpers/getBundleManifest.d.ts +10 -16
  112. package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
  113. package/dist/plugin/helpers/getBundleManifest.js +30 -22
  114. package/dist/plugin/helpers/getBundleManifest.js.map +1 -1
  115. package/dist/plugin/helpers/getRouteFiles.d.ts +14 -0
  116. package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -0
  117. package/dist/plugin/helpers/getRouteFiles.js +36 -0
  118. package/dist/plugin/helpers/getRouteFiles.js.map +1 -0
  119. package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
  120. package/dist/plugin/helpers/inputNormalizer.js +38 -32
  121. package/dist/plugin/helpers/inputNormalizer.js.map +1 -1
  122. package/dist/plugin/helpers/metrics.d.ts +11 -0
  123. package/dist/plugin/helpers/metrics.d.ts.map +1 -0
  124. package/dist/plugin/helpers/metrics.js +35 -0
  125. package/dist/plugin/helpers/metrics.js.map +1 -0
  126. package/dist/plugin/helpers/resolvePageAndProps.d.ts +27 -0
  127. package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -0
  128. package/dist/plugin/helpers/resolvePageAndProps.js +51 -0
  129. package/dist/plugin/helpers/resolvePageAndProps.js.map +1 -0
  130. package/dist/plugin/helpers/serializeUserOptions.d.ts +8 -0
  131. package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -0
  132. package/dist/plugin/helpers/serializeUserOptions.js +182 -0
  133. package/dist/plugin/helpers/serializeUserOptions.js.map +1 -0
  134. package/dist/plugin/helpers/stashReturnValue.d.ts +2 -0
  135. package/dist/plugin/helpers/stashReturnValue.d.ts.map +1 -0
  136. package/dist/plugin/helpers/stashReturnValue.js +14 -0
  137. package/dist/plugin/helpers/tryManifest.d.ts +5 -3
  138. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
  139. package/dist/plugin/helpers/tryManifest.js +16 -7
  140. package/dist/plugin/helpers/tryManifest.js.map +1 -1
  141. package/dist/plugin/html.d.ts +2 -3
  142. package/dist/plugin/html.d.ts.map +1 -1
  143. package/dist/plugin/html.js +7 -1
  144. package/dist/plugin/html.js.map +1 -1
  145. package/dist/plugin/index.d.ts +1 -2
  146. package/dist/plugin/index.d.ts.map +1 -1
  147. package/dist/plugin/index.js +3 -1
  148. package/dist/plugin/loader/createBuildLoader.d.ts +26 -4
  149. package/dist/plugin/loader/createBuildLoader.d.ts.map +1 -1
  150. package/dist/plugin/loader/createBuildLoader.js +98 -33
  151. package/dist/plugin/loader/createBuildLoader.js.map +1 -1
  152. package/dist/plugin/loader/css-loader.development.d.ts +57 -0
  153. package/dist/plugin/loader/css-loader.development.d.ts.map +1 -0
  154. package/dist/plugin/loader/css-loader.development.js +81 -0
  155. package/dist/plugin/loader/css-loader.development.js.map +1 -0
  156. package/dist/plugin/loader/css-loader.production.d.ts +31 -0
  157. package/dist/plugin/loader/css-loader.production.d.ts.map +1 -0
  158. package/dist/plugin/loader/css-loader.production.js +45 -0
  159. package/dist/plugin/loader/css-loader.production.js.map +1 -0
  160. package/dist/plugin/loader/index.d.ts +2 -0
  161. package/dist/plugin/loader/index.d.ts.map +1 -0
  162. package/dist/plugin/loader/index.js +1 -0
  163. package/dist/plugin/loader/plugin.d.ts +22 -0
  164. package/dist/plugin/loader/plugin.d.ts.map +1 -0
  165. package/dist/plugin/loader/plugin.js +27 -0
  166. package/dist/plugin/loader/react-loader.d.ts +3 -7
  167. package/dist/plugin/loader/react-loader.d.ts.map +1 -1
  168. package/dist/plugin/loader/react-loader.js +85 -30
  169. package/dist/plugin/loader/react-loader.js.map +1 -1
  170. package/dist/plugin/loader/temporaryReferences.d.ts +2 -0
  171. package/dist/plugin/loader/temporaryReferences.d.ts.map +1 -0
  172. package/dist/plugin/loader/temporaryReferences.js +11 -0
  173. package/dist/plugin/loader/temporaryReferences.js.map +1 -0
  174. package/dist/plugin/moduleRefs.d.ts +7 -0
  175. package/dist/plugin/moduleRefs.d.ts.map +1 -0
  176. package/dist/plugin/moduleRefs.js +17 -0
  177. package/dist/plugin/moduleRefs.js.map +1 -0
  178. package/dist/plugin/plugin.client.d.ts +3 -0
  179. package/dist/plugin/plugin.client.d.ts.map +1 -0
  180. package/dist/plugin/plugin.client.js +19 -0
  181. package/dist/plugin/plugin.client.js.map +1 -0
  182. package/dist/plugin/plugin.d.ts +1 -5
  183. package/dist/plugin/plugin.d.ts.map +1 -1
  184. package/dist/plugin/plugin.js +3 -9
  185. package/dist/plugin/plugin.server.d.ts +3 -0
  186. package/dist/plugin/plugin.server.d.ts.map +1 -0
  187. package/dist/plugin/plugin.server.js +28 -0
  188. package/dist/plugin/plugin.server.js.map +1 -0
  189. package/dist/plugin/preserver/plugin.js +1 -1
  190. package/dist/plugin/preserver/plugin.js.map +1 -1
  191. package/dist/plugin/react-client/index.d.ts +1 -2
  192. package/dist/plugin/react-client/index.d.ts.map +1 -1
  193. package/dist/plugin/react-client/index.js +1 -19
  194. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  195. package/dist/plugin/react-client/plugin.js +60 -219
  196. package/dist/plugin/react-client/plugin.js.map +1 -1
  197. package/dist/plugin/react-client/server.d.ts +27 -0
  198. package/dist/plugin/react-client/server.d.ts.map +1 -0
  199. package/dist/plugin/react-client/server.js +197 -0
  200. package/dist/plugin/react-client/server.js.map +1 -0
  201. package/dist/plugin/react-server/index.d.ts +1 -2
  202. package/dist/plugin/react-server/index.d.ts.map +1 -1
  203. package/dist/plugin/react-server/index.js +1 -21
  204. package/dist/plugin/react-server/plugin.d.ts +0 -1
  205. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  206. package/dist/plugin/react-server/plugin.js +60 -186
  207. package/dist/plugin/react-server/plugin.js.map +1 -1
  208. package/dist/plugin/react-server/server.d.ts +9 -0
  209. package/dist/plugin/react-server/server.d.ts.map +1 -0
  210. package/dist/plugin/react-server/server.js +120 -0
  211. package/dist/plugin/react-server/server.js.map +1 -0
  212. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +23 -0
  213. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +1 -0
  214. package/dist/plugin/react-static/collectHtmlWorkerContent.js +85 -0
  215. package/dist/plugin/react-static/collectHtmlWorkerContent.js.map +1 -0
  216. package/dist/plugin/react-static/collectRscContent.d.ts +24 -0
  217. package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -0
  218. package/dist/plugin/react-static/collectRscContent.js +49 -0
  219. package/dist/plugin/react-static/collectRscContent.js.map +1 -0
  220. package/dist/plugin/react-static/configurePreviewServer.d.ts +7 -0
  221. package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -0
  222. package/dist/plugin/react-static/configurePreviewServer.js +67 -0
  223. package/dist/plugin/react-static/configurePreviewServer.js.map +1 -0
  224. package/dist/plugin/react-static/fileWriter.d.ts +23 -0
  225. package/dist/plugin/react-static/fileWriter.d.ts.map +1 -0
  226. package/dist/plugin/react-static/fileWriter.js +65 -0
  227. package/dist/plugin/react-static/fileWriter.js.map +1 -0
  228. package/dist/plugin/react-static/plugin.d.ts +15 -0
  229. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  230. package/dist/plugin/react-static/plugin.js +248 -149
  231. package/dist/plugin/react-static/plugin.js.map +1 -1
  232. package/dist/plugin/react-static/renderPage.d.ts +3 -0
  233. package/dist/plugin/react-static/renderPage.d.ts.map +1 -0
  234. package/dist/plugin/react-static/renderPage.js +116 -0
  235. package/dist/plugin/react-static/renderPage.js.map +1 -0
  236. package/dist/plugin/react-static/renderPages.d.ts +3 -0
  237. package/dist/plugin/react-static/renderPages.d.ts.map +1 -0
  238. package/dist/plugin/react-static/renderPages.js +125 -0
  239. package/dist/plugin/react-static/renderPages.js.map +1 -0
  240. package/dist/plugin/react-static/renderStreams.d.ts +26 -0
  241. package/dist/plugin/react-static/renderStreams.d.ts.map +1 -0
  242. package/dist/plugin/react-static/renderStreams.js +27 -0
  243. package/dist/plugin/react-static/renderStreams.js.map +1 -0
  244. package/dist/plugin/react-static/rscToHtmlStream.d.ts +22 -0
  245. package/dist/plugin/react-static/rscToHtmlStream.d.ts.map +1 -0
  246. package/dist/plugin/react-static/rscToHtmlStream.js +54 -0
  247. package/dist/plugin/react-static/rscToHtmlStream.js.map +1 -0
  248. package/dist/plugin/react-static/streamHandler.d.ts +2 -0
  249. package/dist/plugin/react-static/streamHandler.d.ts.map +1 -0
  250. package/dist/plugin/react-static/streamHandler.js +1 -0
  251. package/dist/plugin/react-static/types.d.ts +11 -0
  252. package/dist/plugin/react-static/types.d.ts.map +1 -1
  253. package/dist/plugin/resolvePage.d.ts +26 -9
  254. package/dist/plugin/resolvePage.d.ts.map +1 -1
  255. package/dist/plugin/resolvePage.js +41 -39
  256. package/dist/plugin/resolvePage.js.map +1 -1
  257. package/dist/plugin/resolveProps.d.ts +40 -7
  258. package/dist/plugin/resolveProps.d.ts.map +1 -1
  259. package/dist/plugin/resolveProps.js +100 -75
  260. package/dist/plugin/resolveProps.js.map +1 -1
  261. package/dist/plugin/root.d.ts +1 -0
  262. package/dist/plugin/root.d.ts.map +1 -1
  263. package/dist/plugin/root.js +1 -0
  264. package/dist/plugin/root.js.map +1 -1
  265. package/dist/plugin/transformer/index.d.ts +2 -1
  266. package/dist/plugin/transformer/index.d.ts.map +1 -1
  267. package/dist/plugin/transformer/index.js +2 -1
  268. package/dist/plugin/transformer/plugin.client.d.ts +4 -0
  269. package/dist/plugin/transformer/plugin.client.d.ts.map +1 -0
  270. package/dist/plugin/transformer/plugin.client.js +83 -0
  271. package/dist/plugin/transformer/plugin.client.js.map +1 -0
  272. package/dist/plugin/transformer/plugin.d.ts +1 -27
  273. package/dist/plugin/transformer/plugin.d.ts.map +1 -1
  274. package/dist/plugin/transformer/plugin.js +3 -87
  275. package/dist/plugin/transformer/plugin.js.map +1 -1
  276. package/dist/plugin/transformer/plugin.server.d.ts +4 -0
  277. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -0
  278. package/dist/plugin/transformer/plugin.server.js +76 -0
  279. package/dist/plugin/transformer/plugin.server.js.map +1 -0
  280. package/dist/plugin/transformer/upgradeCssModuleCode.d.ts +11 -0
  281. package/dist/plugin/transformer/upgradeCssModuleCode.d.ts.map +1 -0
  282. package/dist/plugin/transformer/upgradeCssModuleCode.js +38 -0
  283. package/dist/plugin/types/css-tracking.d.ts +6 -0
  284. package/dist/plugin/types/css-tracking.d.ts.map +1 -0
  285. package/dist/plugin/types/css-tracking.js +1 -0
  286. package/dist/plugin/types.d.ts +372 -86
  287. package/dist/plugin/types.d.ts.map +1 -1
  288. package/dist/plugin/types.js +1 -1
  289. package/dist/plugin/vendor.client.d.ts +4 -0
  290. package/dist/plugin/vendor.client.d.ts.map +1 -0
  291. package/dist/plugin/vendor.client.js +16 -0
  292. package/dist/plugin/vendor.client.js.map +1 -0
  293. package/dist/plugin/vendor.server.d.ts +4 -0
  294. package/dist/plugin/vendor.server.d.ts.map +1 -0
  295. package/dist/plugin/vendor.server.js +16 -0
  296. package/dist/plugin/vendor.server.js.map +1 -0
  297. package/dist/plugin/worker/createWorker.d.ts +25 -7
  298. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  299. package/dist/plugin/worker/createWorker.js +108 -33
  300. package/dist/plugin/worker/createWorker.js.map +1 -1
  301. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts +12 -0
  302. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +1 -0
  303. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +103 -0
  304. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js.map +1 -0
  305. package/dist/plugin/worker/html/html-worker.development.d.ts +0 -30
  306. package/dist/plugin/worker/html/html-worker.development.d.ts.map +1 -1
  307. package/dist/plugin/worker/html/html-worker.development.js +3 -17
  308. package/dist/plugin/worker/html/html-worker.development.js.map +1 -1
  309. package/dist/plugin/worker/html/html-worker.production.js +12 -5
  310. package/dist/plugin/worker/html/html-worker.production.js.map +1 -1
  311. package/dist/plugin/worker/html/messageHandler.d.ts +2 -2
  312. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  313. package/dist/plugin/worker/html/messageHandler.js +87 -84
  314. package/dist/plugin/worker/html/messageHandler.js.map +1 -1
  315. package/dist/plugin/worker/html/types.d.ts +18 -0
  316. package/dist/plugin/worker/html/types.d.ts.map +1 -0
  317. package/dist/plugin/worker/html/types.js +1 -0
  318. package/dist/plugin/worker/registerLoaders.d.ts +9 -0
  319. package/dist/plugin/worker/registerLoaders.d.ts.map +1 -0
  320. package/dist/plugin/worker/registerLoaders.js +45 -0
  321. package/dist/plugin/worker/rsc/handleRender.d.ts +4 -0
  322. package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -0
  323. package/dist/plugin/worker/rsc/handleRender.js +147 -0
  324. package/dist/plugin/worker/rsc/handleRender.js.map +1 -0
  325. package/dist/plugin/worker/rsc/messageHandler.d.ts +2 -2
  326. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  327. package/dist/plugin/worker/rsc/messageHandler.js +47 -112
  328. package/dist/plugin/worker/rsc/messageHandler.js.map +1 -1
  329. package/dist/plugin/worker/rsc/rsc-worker.development.d.ts +0 -30
  330. package/dist/plugin/worker/rsc/rsc-worker.development.d.ts.map +1 -1
  331. package/dist/plugin/worker/rsc/rsc-worker.development.js +29 -4
  332. package/dist/plugin/worker/rsc/rsc-worker.development.js.map +1 -1
  333. package/dist/plugin/worker/rsc/rsc-worker.production.js +3 -3
  334. package/dist/plugin/worker/rsc/rsc-worker.production.js.map +1 -1
  335. package/dist/plugin/worker/rsc/state.d.ts +73 -2
  336. package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
  337. package/dist/plugin/worker/rsc/state.js +40 -3
  338. package/dist/plugin/worker/rsc/state.js.map +1 -1
  339. package/dist/plugin/worker/sendMessage.d.ts +3 -0
  340. package/dist/plugin/worker/sendMessage.d.ts.map +1 -0
  341. package/dist/plugin/worker/sendMessage.js +48 -0
  342. package/dist/plugin/worker/types.d.ts +218 -76
  343. package/dist/plugin/worker/types.d.ts.map +1 -1
  344. package/dist/server.d.ts +1 -1
  345. package/dist/server.d.ts.map +1 -1
  346. package/dist/server.js +6 -1
  347. package/dist/server.js.map +1 -1
  348. package/dist/tsconfig.tsbuildinfo +1 -1
  349. package/package.json +24 -14
  350. package/plugin/components.ts +1 -1
  351. package/plugin/config/autoDiscover/createGlobAutoDiscover.ts +29 -0
  352. package/plugin/config/autoDiscover/customWorkerFiles.ts +27 -0
  353. package/plugin/config/autoDiscover/pageAndPropFiles.ts +36 -0
  354. package/plugin/config/autoDiscover/resolveBuildPages.ts +98 -0
  355. package/plugin/config/defaults.tsx +38 -29
  356. package/plugin/config/getCondition.ts +7 -3
  357. package/plugin/config/getPaths.ts +1 -7
  358. package/plugin/config/index.ts +0 -1
  359. package/plugin/config/resolveAutoDiscover.ts +177 -0
  360. package/plugin/config/resolveOptions.ts +220 -118
  361. package/plugin/config/resolvePages.ts +5 -7
  362. package/plugin/config/resolveUrlOption.ts +43 -0
  363. package/plugin/config/resolveUserConfig.ts +116 -166
  364. package/plugin/copy.ts +39 -0
  365. package/plugin/css-collector-elements.tsx +21 -0
  366. package/plugin/css-collector.tsx +20 -53
  367. package/plugin/helpers/cleanObject.ts +50 -0
  368. package/plugin/helpers/collectBundleManifestCss.ts +160 -0
  369. package/plugin/helpers/collectManifestCss.ts +61 -0
  370. package/plugin/helpers/collectViteModuleGraphCss.ts +158 -0
  371. package/plugin/helpers/createCssProps.tsx +85 -0
  372. package/plugin/helpers/createEventHandler.ts +44 -0
  373. package/plugin/helpers/createHandler.ts +57 -126
  374. package/plugin/helpers/createRscStream.tsx +156 -0
  375. package/plugin/helpers/defaultFileWriter.ts +0 -0
  376. package/plugin/helpers/getBundleManifest.ts +42 -37
  377. package/plugin/helpers/getRouteFiles.ts +47 -0
  378. package/plugin/helpers/inputNormalizer.ts +16 -10
  379. package/plugin/helpers/metrics.ts +64 -0
  380. package/plugin/helpers/resolvePageAndProps.ts +81 -0
  381. package/plugin/helpers/serializeUserOptions.ts +209 -0
  382. package/plugin/helpers/stashReturnValue.ts +16 -0
  383. package/plugin/helpers/tryManifest.ts +35 -18
  384. package/plugin/html.tsx +14 -3
  385. package/plugin/index.ts +5 -2
  386. package/plugin/loader/createBuildLoader.ts +152 -47
  387. package/plugin/loader/css-loader.development.ts +157 -0
  388. package/plugin/loader/css-loader.production.ts +86 -0
  389. package/plugin/loader/index.ts +1 -0
  390. package/plugin/loader/plugin.ts +33 -0
  391. package/plugin/loader/react-loader.ts +109 -41
  392. package/plugin/loader/temporaryReferences.ts +3 -0
  393. package/plugin/moduleRefs.ts +11 -0
  394. package/plugin/plugin.client.ts +12 -0
  395. package/plugin/plugin.server.ts +25 -0
  396. package/plugin/plugin.ts +5 -9
  397. package/plugin/preserver/plugin.ts +1 -1
  398. package/plugin/react-client/index.ts +1 -12
  399. package/plugin/react-client/plugin.ts +70 -259
  400. package/plugin/react-client/server.ts +276 -0
  401. package/plugin/react-server/index.ts +1 -14
  402. package/plugin/react-server/plugin.ts +69 -220
  403. package/plugin/react-server/server.ts +128 -0
  404. package/plugin/react-static/collectHtmlWorkerContent.ts +120 -0
  405. package/plugin/react-static/collectRscContent.ts +77 -0
  406. package/plugin/react-static/configurePreviewServer.ts +68 -0
  407. package/plugin/react-static/fileWriter.ts +103 -0
  408. package/plugin/react-static/plugin.ts +308 -181
  409. package/plugin/react-static/renderPage.ts +151 -0
  410. package/plugin/react-static/renderPages.ts +154 -0
  411. package/plugin/react-static/renderStreams.ts +48 -0
  412. package/plugin/react-static/rscToHtmlStream.ts +85 -0
  413. package/plugin/react-static/streamHandler.ts +0 -0
  414. package/plugin/react-static/types.ts +10 -0
  415. package/plugin/resolvePage.ts +67 -57
  416. package/plugin/resolveProps.ts +148 -104
  417. package/plugin/root.ts +1 -1
  418. package/plugin/transformer/index.ts +2 -1
  419. package/plugin/transformer/plugin.client.ts +109 -0
  420. package/plugin/transformer/plugin.server.ts +98 -0
  421. package/plugin/transformer/plugin.ts +2 -115
  422. package/plugin/transformer/upgradeCssModuleCode.ts +42 -0
  423. package/plugin/types/css-tracking.ts +5 -0
  424. package/plugin/types/react-server-dom-esm.d.ts +54 -0
  425. package/plugin/types.ts +508 -97
  426. package/plugin/vendor.client.ts +12 -0
  427. package/plugin/vendor.server.ts +12 -0
  428. package/plugin/worker/createWorker.ts +158 -53
  429. package/plugin/worker/html/createHtmlWorkerRenderState.tsx +112 -0
  430. package/plugin/worker/html/html-worker.development.tsx +5 -75
  431. package/plugin/worker/html/html-worker.production.tsx +18 -7
  432. package/plugin/worker/html/messageHandler.tsx +126 -0
  433. package/plugin/worker/html/types.ts +19 -0
  434. package/plugin/worker/registerLoaders.ts +54 -0
  435. package/plugin/worker/rsc/handleRender.ts +180 -0
  436. package/plugin/worker/rsc/messageHandler.tsx +58 -132
  437. package/plugin/worker/rsc/rsc-worker.development.ts +49 -63
  438. package/plugin/worker/rsc/rsc-worker.production.ts +5 -5
  439. package/plugin/worker/rsc/state.ts +79 -2
  440. package/plugin/worker/sendMessage.ts +49 -0
  441. package/plugin/worker/types.ts +299 -100
  442. package/scripts/check-react-version.mjs +60 -48
  443. package/scripts/react+0.0.0-experimental-0ca8420f-20250504.patch +57 -0
  444. package/scripts/react-dom+0.0.0-experimental-0ca8420f-20250504.patch +819 -0
  445. package/scripts/{react-server-dom-esm+0.0.0-experimental-eda36a1c-20250228.patch → react-server-dom-esm+0.0.0-experimental-0ca8420f-20250504.patch} +1702 -2820
  446. package/tsconfig.json +7 -2
  447. package/dist/plugin/assertServerCondition.d.ts +0 -6
  448. package/dist/plugin/assertServerCondition.d.ts.map +0 -1
  449. package/dist/plugin/assertServerCondition.js +0 -13
  450. package/dist/plugin/checkFilesExist.d.ts +0 -3
  451. package/dist/plugin/checkFilesExist.d.ts.map +0 -1
  452. package/dist/plugin/checkFilesExist.js +0 -67
  453. package/dist/plugin/checkFilesExist.js.map +0 -1
  454. package/dist/plugin/collect-manifest-client-files.d.ts +0 -23
  455. package/dist/plugin/collect-manifest-client-files.d.ts.map +0 -1
  456. package/dist/plugin/collect-manifest-client-files.js +0 -131
  457. package/dist/plugin/collect-manifest-client-files.js.map +0 -1
  458. package/dist/plugin/config/getWorkerPath.d.ts +0 -2
  459. package/dist/plugin/config/getWorkerPath.d.ts.map +0 -1
  460. package/dist/plugin/config/getWorkerPath.js +0 -4
  461. package/dist/plugin/copy-dir.d.ts +0 -4
  462. package/dist/plugin/copy-dir.d.ts.map +0 -1
  463. package/dist/plugin/copy-dir.js +0 -25
  464. package/dist/plugin/copy-dir.js.map +0 -1
  465. package/dist/plugin/css-collector-inline.d.ts +0 -10
  466. package/dist/plugin/css-collector-inline.d.ts.map +0 -1
  467. package/dist/plugin/css-collector-inline.js +0 -55
  468. package/dist/plugin/css-collector-inline.js.map +0 -1
  469. package/dist/plugin/loader/css-loader.d.ts +0 -16
  470. package/dist/plugin/loader/css-loader.d.ts.map +0 -1
  471. package/dist/plugin/loader/css-loader.js +0 -70
  472. package/dist/plugin/loader/css-loader.js.map +0 -1
  473. package/dist/plugin/react-client/index.js.map +0 -1
  474. package/dist/plugin/react-server/index.js.map +0 -1
  475. package/dist/plugin/worker/html/renderPages.d.ts +0 -26
  476. package/dist/plugin/worker/html/renderPages.d.ts.map +0 -1
  477. package/dist/plugin/worker/html/renderPages.js +0 -241
  478. package/dist/plugin/worker/html/renderPages.js.map +0 -1
  479. package/plugin/assertServerCondition.ts +0 -12
  480. package/plugin/checkFilesExist.ts +0 -66
  481. package/plugin/collect-manifest-client-files.ts +0 -167
  482. package/plugin/config/getWorkerPath.ts +0 -5
  483. package/plugin/copy-dir.ts +0 -27
  484. package/plugin/css-collector-inline.tsx +0 -60
  485. package/plugin/helpers/createRscStream.ts +0 -109
  486. package/plugin/loader/css-loader.ts +0 -94
  487. package/plugin/worker/html/messageHandler.ts +0 -130
  488. package/plugin/worker/html/renderPages.ts +0 -293
  489. package/scripts/react+0.0.0-experimental-eda36a1c-20250228.patch +0 -159
  490. package/scripts/react-dom+0.0.0-experimental-eda36a1c-20250228.patch +0 -12508
@@ -0,0 +1,29 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ const pageAndPropFiles = ({
7
+ files,
8
+ inputs
9
+ }) => {
10
+ if (!files) return inputs;
11
+ for (const [key, value] of files.pageMap) {
12
+ if (!inputs[key]) {
13
+ inputs[key] = value;
14
+ } else {
15
+ console.warn(`[RSC] Page file already exists: ${key}`);
16
+ }
17
+ }
18
+ for (const [key, value] of files.propsMap) {
19
+ if (!inputs[key]) {
20
+ inputs[key] = value;
21
+ } else {
22
+ console.warn(`[RSC] Props file already exists: ${key}`);
23
+ }
24
+ }
25
+ return inputs;
26
+ };
27
+
28
+ export { pageAndPropFiles };
29
+ //# sourceMappingURL=pageAndPropFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageAndPropFiles.js","sources":["../../../../plugin/config/autoDiscover/pageAndPropFiles.ts"],"sourcesContent":["import type { ResolvedBuildPages } from \"../../types.js\";\n\n/**\n * Logic to add page and prop files to the inputs, without extra prefix\n * @param param0 \n * @returns \n */\nexport const pageAndPropFiles = ({\n files,\n inputs,\n }: {\n files: ResolvedBuildPages | undefined;\n inputs: Record<string, string>;\n }) => {\n if (!files) return inputs;\n \n // Add page files without extra prefix\n for (const [key, value] of files.pageMap) {\n if (!inputs[key]) {\n inputs[key] = value;\n } else {\n console.warn(`[RSC] Page file already exists: ${key}`);\n }\n }\n \n // Add props files without extra prefix\n for (const [key, value] of files.propsMap) {\n if (!inputs[key]) {\n inputs[key] = value;\n } else {\n console.warn(`[RSC] Props file already exists: ${key}`);\n }\n }\n \n return inputs;\n };"],"names":[],"mappings":";;;;;AAOO,MAAM,mBAAmB,CAAC;AAAA,EAC7B,KAAA;AAAA,EACA;AACF,CAGM,KAAA;AACJ,EAAI,IAAA,CAAC,OAAc,OAAA,MAAA;AAGnB,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,CAAA,IAAK,MAAM,OAAS,EAAA;AACxC,IAAI,IAAA,CAAC,MAAO,CAAA,GAAG,CAAG,EAAA;AAChB,MAAA,MAAA,CAAO,GAAG,CAAI,GAAA,KAAA;AAAA,KACT,MAAA;AACL,MAAQ,OAAA,CAAA,IAAA,CAAK,CAAmC,gCAAA,EAAA,GAAG,CAAE,CAAA,CAAA;AAAA;AACvD;AAIF,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,CAAA,IAAK,MAAM,QAAU,EAAA;AACzC,IAAI,IAAA,CAAC,MAAO,CAAA,GAAG,CAAG,EAAA;AAChB,MAAA,MAAA,CAAO,GAAG,CAAI,GAAA,KAAA;AAAA,KACT,MAAA;AACL,MAAQ,OAAA,CAAA,IAAA,CAAK,CAAoC,iCAAA,EAAA,GAAG,CAAE,CAAA,CAAA;AAAA;AACxD;AAGF,EAAO,OAAA,MAAA;AACT;;;;"}
@@ -0,0 +1,6 @@
1
+ import type { ResolvedBuildPages, ResolvedUserOptions } from "../../types.js";
2
+ export declare function resolveBuildPages({ pages, userOptions, }: {
3
+ pages: string[];
4
+ userOptions: Pick<ResolvedUserOptions, "Page" | "props" | "build" | "moduleBase" | "projectRoot" | "normalizer">;
5
+ }): Promise<ResolvedBuildPages>;
6
+ //# sourceMappingURL=resolveBuildPages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveBuildPages.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/resolveBuildPages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAM9E,wBAAsB,iBAAiB,CAAC,EACtC,KAAK,EACL,WAAW,GACZ,EAAE;IACD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,YAAY,CAAC,CAAC;CAClH,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAmF9B"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ import { access } from 'node:fs/promises';
7
+ import { join } from 'node:path';
8
+ import { resolveUrlOption } from '../resolveUrlOption.js';
9
+
10
+ let stashedBuildPages = null;
11
+ let stashedPages = null;
12
+ async function resolveBuildPages({
13
+ pages,
14
+ userOptions
15
+ }) {
16
+ const pagesChanged = !stashedPages || stashedPages.length !== pages.length || !stashedPages.every((page, i) => page === pages[i]);
17
+ if (stashedBuildPages && !pagesChanged) {
18
+ return stashedBuildPages;
19
+ }
20
+ const errors = [];
21
+ const pageMap = /* @__PURE__ */ new Map();
22
+ const propsMap = /* @__PURE__ */ new Map();
23
+ const urlMap = /* @__PURE__ */ new Map();
24
+ const routeMap = /* @__PURE__ */ new Map();
25
+ for (const page of pages) {
26
+ const pageResult = await resolveUrlOption(userOptions, "Page", page);
27
+ if (pageResult.type === "error") {
28
+ errors.push(pageResult.error);
29
+ continue;
30
+ }
31
+ if (!userOptions.props) {
32
+ urlMap.set(page, { props: undefined, page: pageResult.Page });
33
+ pageMap.set(page, pageResult.Page);
34
+ const routes = routeMap.get(pageResult.Page) || [];
35
+ routes.push(page);
36
+ routeMap.set(pageResult.Page, routes);
37
+ continue;
38
+ }
39
+ const propsResult = await resolveUrlOption(userOptions, "props", page);
40
+ if (propsResult.type === "error") {
41
+ errors.push(propsResult.error);
42
+ continue;
43
+ }
44
+ const [pageKey, pageValue] = userOptions.normalizer(pageResult.Page);
45
+ try {
46
+ await access(join(userOptions.projectRoot, pageValue));
47
+ } catch {
48
+ errors.push(new Error(`Page file not found: ${pageValue}`));
49
+ }
50
+ if (propsResult.props) {
51
+ const [propsKey, propsValue] = userOptions.normalizer(propsResult.props);
52
+ if (propsValue !== pageValue) {
53
+ try {
54
+ await access(join(userOptions.projectRoot, propsValue));
55
+ } catch {
56
+ errors.push(
57
+ new Error(`Props file not found: ${propsValue}`)
58
+ );
59
+ }
60
+ }
61
+ urlMap.set(page, { props: propsValue, page: pageValue });
62
+ propsMap.set(propsKey, propsValue);
63
+ const pageRoutes = routeMap.get(pageValue) || [];
64
+ pageRoutes.push(page);
65
+ routeMap.set(pageValue, pageRoutes);
66
+ const propsRoutes = routeMap.get(propsValue) || [];
67
+ propsRoutes.push(page);
68
+ routeMap.set(propsValue, propsRoutes);
69
+ } else {
70
+ urlMap.set(page, { props: undefined, page: pageValue });
71
+ const routes = routeMap.get(pageValue) || [];
72
+ routes.push(page);
73
+ routeMap.set(pageValue, routes);
74
+ }
75
+ pageMap.set(pageKey, pageValue);
76
+ }
77
+ stashedBuildPages = { pageMap, propsMap, urlMap, routeMap, errors };
78
+ stashedPages = [...pages];
79
+ return stashedBuildPages;
80
+ }
81
+
82
+ export { resolveBuildPages };
83
+ //# sourceMappingURL=resolveBuildPages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveBuildPages.js","sources":["../../../../plugin/config/autoDiscover/resolveBuildPages.ts"],"sourcesContent":["import { access } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport type { ResolvedBuildPages, ResolvedUserOptions } from \"../../types.js\";\nimport { resolveUrlOption } from \"../resolveUrlOption.js\";\n\nlet stashedBuildPages: ResolvedBuildPages | null = null;\nlet stashedPages: string[] | null = null;\n\nexport async function resolveBuildPages({\n pages,\n userOptions,\n}: {\n pages: string[];\n userOptions: Pick<ResolvedUserOptions, \"Page\" | \"props\" | \"build\" | \"moduleBase\" | \"projectRoot\" | \"normalizer\">;\n}): Promise<ResolvedBuildPages> {\n // Check if pages array has changed\n const pagesChanged =\n !stashedPages ||\n stashedPages.length !== pages.length ||\n !stashedPages.every((page, i) => page === pages[i]);\n\n if (stashedBuildPages && !pagesChanged) {\n return stashedBuildPages; // Return directly without Promise.resolve\n }\n const errors: Error[] = [];\n const pageMap = new Map<string, string>();\n const propsMap = new Map<string, string>();\n const urlMap = new Map<string, { props: string | undefined; page: string }>();\n const routeMap = new Map<string, string[]>();\n\n for (const page of pages) {\n const pageResult = await resolveUrlOption(userOptions, \"Page\", page);\n if(pageResult.type === \"error\") {\n errors.push(pageResult.error);\n continue;\n }\n if(!userOptions.props) {\n urlMap.set(page, { props: undefined, page: pageResult.Page });\n pageMap.set(page, pageResult.Page);\n // Add to routeMap\n const routes = routeMap.get(pageResult.Page) || [];\n routes.push(page);\n routeMap.set(pageResult.Page, routes);\n continue;\n }\n const propsResult = await resolveUrlOption(userOptions, \"props\", page);\n if(propsResult.type === \"error\") {\n errors.push(propsResult.error);\n continue;\n }\n const [pageKey, pageValue] = userOptions.normalizer(pageResult.Page);\n\n try {\n await access(join(userOptions.projectRoot, pageValue));\n } catch {\n errors.push(new Error(`Page file not found: ${pageValue}`));\n }\n\n // If propsPath is defined, check if it exists\n if (propsResult.props) {\n const [propsKey, propsValue] = userOptions.normalizer(propsResult.props);\n if (propsValue !== pageValue) {\n try {\n await access(join(userOptions.projectRoot, propsValue));\n } catch {\n errors.push(\n new Error(`Props file not found: ${propsValue}`)\n );\n }\n }\n urlMap.set(page, { props: propsValue, page: pageValue });\n propsMap.set(propsKey, propsValue);\n \n // Add to routeMap for both page and props files\n const pageRoutes = routeMap.get(pageValue) || [];\n pageRoutes.push(page);\n routeMap.set(pageValue, pageRoutes);\n \n const propsRoutes = routeMap.get(propsValue) || [];\n propsRoutes.push(page);\n routeMap.set(propsValue, propsRoutes);\n } else {\n // If no props path, use the page path for both\n urlMap.set(page, { props: undefined, page: pageValue });\n \n // Add to routeMap for page file only\n const routes = routeMap.get(pageValue) || [];\n routes.push(page);\n routeMap.set(pageValue, routes);\n }\n\n pageMap.set(pageKey, pageValue);\n }\n\n stashedBuildPages = { pageMap, propsMap, urlMap, routeMap, errors };\n stashedPages = [...pages];\n return stashedBuildPages;\n}\n"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import { CssCollector } from "../css-collector.js";
2
2
  export declare const DEFAULT_CONFIG: {
3
- readonly FILE_REGEX: RegExp;
3
+ readonly MODULE_EXTENSION: RegExp;
4
4
  readonly CLIENT_ASSETS_DIR: "assets";
5
5
  readonly RSC_DIR: "rsc";
6
6
  readonly MODULE_BASE: "src";
7
7
  readonly MODULE_BASE_PATH: "";
8
8
  readonly MODULE_BASE_URL: "";
9
- readonly PAGE: "src/page/page.tsx";
10
- readonly PROPS: "src/page/props.ts";
11
- readonly CLIENT_ENTRY: "src/client.tsx";
12
- readonly SERVER_ENTRY: "src/server.tsx";
9
+ readonly PAGE: "page.tsx";
10
+ readonly PROPS: "props.ts";
11
+ readonly CLIENT_ENTRY: undefined;
12
+ readonly SERVER_ENTRY: undefined;
13
13
  readonly PAGE_EXPORT_NAME: "Page";
14
14
  readonly PROPS_EXPORT_NAME: "props";
15
15
  readonly HTML_WORKER_PATH: "worker/html/html-worker.production.js" | "worker/html/html-worker.development.js";
@@ -17,19 +17,15 @@ export declare const DEFAULT_CONFIG: {
17
17
  readonly LOADER_PATH: "worker/loader.js";
18
18
  readonly RSC_EXTENSION: ".rsc";
19
19
  readonly CSS_COLLECTOR: typeof CssCollector;
20
- readonly HTML: ({ children }: {
21
- children: any;
22
- }) => import("react").JSX.Element;
23
- readonly COLLECT_CSS: true;
24
- readonly COLLECT_ASSETS: true;
25
- readonly INLINE_CSS: true;
20
+ readonly HTML: ({ children, CssCollector, cssFiles, globalCss, }: React.PropsWithChildren<import("../types.js").HtmlProps>) => import("react").JSX.Element;
21
+ readonly ON_METRICS: () => void;
26
22
  readonly DEV_PORT: 5173;
27
23
  readonly PREVIEW_PORT: 4173;
28
24
  readonly DEV_HOST: "localhost";
29
25
  readonly PREVIEW_HOST: "localhost";
30
26
  readonly ENV_PREFIX: "VITE_";
31
27
  readonly BUILD: {
32
- readonly pages: () => string[];
28
+ readonly pages: readonly ["/"];
33
29
  readonly client: "client";
34
30
  readonly server: "server";
35
31
  readonly static: "static";
@@ -37,12 +33,16 @@ export declare const DEFAULT_CONFIG: {
37
33
  readonly outDir: "dist";
38
34
  readonly assetsDir: "assets";
39
35
  readonly hash: "hash";
36
+ readonly rscOutputPath: "index.rsc";
37
+ readonly htmlOutputPath: "index.html";
40
38
  readonly preserveModulesRoot: true;
41
39
  };
42
40
  readonly CSS: {
41
+ readonly inlineCss: false;
42
+ readonly purgeCss: false;
43
43
  readonly inlineThreshold: 4096;
44
- readonly inlinePatterns: readonly [RegExp];
45
- readonly linkPatterns: readonly [RegExp];
44
+ readonly inlinePatterns: RegExp[];
45
+ readonly linkPatterns: RegExp[];
46
46
  };
47
47
  readonly MODULE_BASE_EXCEPTIONS: string[];
48
48
  readonly AUTO_DISCOVER: {
@@ -53,9 +53,13 @@ export declare const DEFAULT_CONFIG: {
53
53
  readonly serverFunctions: (n: string) => boolean;
54
54
  readonly cssPattern: (n: string) => boolean;
55
55
  readonly cssModulePattern: (n: string) => boolean;
56
+ readonly virtualPattern: (n: string) => boolean;
56
57
  readonly vendorPattern: (n: string) => boolean;
57
58
  readonly htmlPattern: (n: string) => boolean;
58
59
  readonly jsonPattern: (n: string) => boolean;
60
+ readonly nodeOnly: (n: string) => boolean;
61
+ readonly dotFiles: (n: string) => boolean;
62
+ readonly rscPattern: (n: string) => boolean;
59
63
  };
60
64
  readonly MODULE_ID: (id: string) => string;
61
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../plugin/config/defaults.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCA+CK,MAAM,EAAE;;oCAEjB,MAAM;kCACR,MAAM;mCAEL,MAAM;uCAEF,MAAM;sCAEP,MAAM;iCAEX,MAAM;uCACA,MAAM;oCACT,MAAM;kCAGR,MAAM;kCACN,MAAM;;6BAET,MAAM;CACd,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../plugin/config/defaults.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;sEAIlB,MAAO,iBACL;;;;;;;;;;;;;;;;;;;;;;;;iCAyCe,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;CACd,CAAC"}
@@ -6,45 +6,66 @@
6
6
  import { Html } from '../html.js';
7
7
 
8
8
  const DEFAULT_CONFIG = {
9
- FILE_REGEX: /\.(m|c)?(j|t)sx?$/,
9
+ MODULE_EXTENSION: /\.(m|c)?(j|t)sx?$/,
10
10
  CLIENT_ASSETS_DIR: "assets",
11
11
  MODULE_BASE: "src",
12
12
  MODULE_BASE_PATH: "",
13
13
  MODULE_BASE_URL: "",
14
- PAGE: "src/page/page.tsx",
15
- PROPS: "src/page/props.ts",
16
- CLIENT_ENTRY: "src/client.tsx",
17
- SERVER_ENTRY: "src/server.tsx",
14
+ CLIENT_ENTRY: undefined,
15
+ SERVER_ENTRY: undefined,
18
16
  PAGE_EXPORT_NAME: "Page",
19
17
  PROPS_EXPORT_NAME: "props",
20
- HTML_WORKER_PATH: `worker/html/html-worker.${process.env["NODE_ENV"] === "development" ? "development" : "production"}.js`,
21
- RSC_WORKER_PATH: `worker/rsc/rsc-worker.${process.env["NODE_ENV"] === "development" ? "development" : "production"}.js`,
18
+ HTML_WORKER_PATH: `worker/html/html-worker.${process.env["NODE_ENV"] === "production" ? "production" : "development"}.js`,
19
+ RSC_WORKER_PATH: `worker/rsc/rsc-worker.${process.env["NODE_ENV"] === "production" ? "production" : "development"}.js`,
22
20
  LOADER_PATH: "worker/loader.js",
23
21
  HTML: Html,
24
- COLLECT_CSS: true,
25
- COLLECT_ASSETS: true,
26
- INLINE_CSS: true,
22
+ ON_METRICS: () => {
23
+ },
27
24
  BUILD: {
28
- pages: () => ["/"],
25
+ pages: ["/"],
29
26
  client: "client",
30
27
  server: "server",
31
28
  static: "static",
32
29
  api: "api",
33
30
  outDir: "dist",
34
31
  hash: "hash",
32
+ rscOutputPath: "index.rsc",
33
+ htmlOutputPath: "index.html",
35
34
  preserveModulesRoot: true
36
35
  },
36
+ CSS: {
37
+ inlineCss: false,
38
+ purgeCss: false,
39
+ inlineThreshold: 4096,
40
+ // 4KB
41
+ inlinePatterns: [],
42
+ // Always inline CSS modules
43
+ linkPatterns: []
44
+ // Always link node_modules CSS
45
+ },
37
46
  AUTO_DISCOVER: {
38
- modulePattern: (n) => DEFAULT_CONFIG.FILE_REGEX.test(n),
39
- pagePattern: (n) => n.toLowerCase().endsWith("/page") || n.toLowerCase() === "page",
40
- propsPattern: (n) => n.toLowerCase().endsWith("/props") || n.toLowerCase() === "props",
41
- clientComponents: (n) => n.toLowerCase().endsWith(".client") || n.toLowerCase() === "client",
42
- serverFunctions: (n) => n.toLowerCase().endsWith(".server") || n.toLowerCase() === "server",
43
- cssPattern: (n) => n.toLowerCase().endsWith(".css"),
44
- cssModulePattern: (n) => n.toLowerCase().endsWith(".css.js"),
45
- vendorPattern: (n) => n.toLowerCase().startsWith("node_modules") || n.toLowerCase().startsWith("_virtual"),
46
- htmlPattern: (n) => n.toLowerCase().endsWith(".html"),
47
- jsonPattern: (n) => n.toLowerCase().endsWith(".json")
47
+ // All REGEX tricks used here are based on the following:
48
+ // $ = endsWith
49
+ // ^ = startsWith
50
+ // . = includes
51
+ // \ = escape
52
+ // ? = optional
53
+ // () = group
54
+ // | = or
55
+ modulePattern: (n) => /\.(m|c)?(j|t)sx?$/.test(n),
56
+ pagePattern: (n) => /\.?page(\.js)?$/.test(n),
57
+ propsPattern: (n) => /\.?props(\.js)?$/.test(n),
58
+ clientComponents: (n) => /(\.|\/)?client(\.js)?$/.test(n),
59
+ serverFunctions: (n) => /(\.|\/)?server(\.js)?$/.test(n),
60
+ cssPattern: (n) => /\.css$/.test(n),
61
+ cssModulePattern: (n) => /\.css\.js$/.test(n),
62
+ virtualPattern: (n) => /^\/_virtual\//.test(n),
63
+ vendorPattern: (n) => /^\/node_modules\//.test(n),
64
+ htmlPattern: (n) => /\.html$/.test(n),
65
+ jsonPattern: (n) => /\.json$/.test(n),
66
+ nodeOnly: (n) => /\.node(\.js)?$/.test(n),
67
+ dotFiles: (n) => n.split("/").some((p) => p.startsWith(".")),
68
+ rscPattern: (n) => /\.rsc$/.test(n)
48
69
  }};
49
70
 
50
71
  export { DEFAULT_CONFIG };
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sources":["../../../plugin/config/defaults.tsx"],"sourcesContent":["import { CssCollector } from \"../css-collector.js\";\nimport { Html } from \"../html.js\";\nexport const DEFAULT_CONFIG = {\n FILE_REGEX: /\\.(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 PAGE: \"src/page/page.tsx\",\n PROPS: \"src/page/props.ts\",\n CLIENT_ENTRY: \"src/client.tsx\",\n SERVER_ENTRY: \"src/server.tsx\",\n PAGE_EXPORT_NAME: \"Page\",\n PROPS_EXPORT_NAME: \"props\",\n HTML_WORKER_PATH: `worker/html/html-worker.${\n process.env[\"NODE_ENV\"] === \"development\" ? \"development\" : \"production\"\n }.js`,\n RSC_WORKER_PATH: `worker/rsc/rsc-worker.${\n process.env[\"NODE_ENV\"] === \"development\" ? \"development\" : \"production\"\n }.js`,\n LOADER_PATH: \"worker/loader.js\",\n RSC_EXTENSION: \".rsc\",\n CSS_COLLECTOR: CssCollector,\n HTML: Html,\n COLLECT_CSS: true,\n COLLECT_ASSETS: true,\n INLINE_CSS: true,\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 preserveModulesRoot: true,\n },\n CSS: {\n inlineThreshold: 4096, // 4KB\n inlinePatterns: [/\\.module\\.css$/], // Always inline CSS modules\n linkPatterns: [/node_modules/], // Always link node_modules CSS\n },\n MODULE_BASE_EXCEPTIONS: [] as string[],\n AUTO_DISCOVER: {\n modulePattern: (n: string) => DEFAULT_CONFIG.FILE_REGEX.test(n),\n pagePattern: (n: string) =>\n n.toLowerCase().endsWith(\"/page\") || n.toLowerCase() === \"page\",\n propsPattern: (n: string) =>\n n.toLowerCase().endsWith(\"/props\") || n.toLowerCase() === \"props\",\n clientComponents: (n: string) =>\n n.toLowerCase().endsWith(\".client\") || n.toLowerCase() === \"client\",\n serverFunctions: (n: string) =>\n n.toLowerCase().endsWith(\".server\") || n.toLowerCase() === \"server\",\n cssPattern: (n: string) => n.toLowerCase().endsWith(\".css\"),\n cssModulePattern: (n: string) => n.toLowerCase().endsWith(\".css.js\"),\n vendorPattern: (n: string) =>\n n.toLowerCase().startsWith(\"node_modules\") ||\n n.toLowerCase().startsWith(\"_virtual\"),\n htmlPattern: (n: string) => n.toLowerCase().endsWith(\".html\"),\n jsonPattern: (n: string) => n.toLowerCase().endsWith(\".json\"),\n },\n MODULE_ID: (id: string) => id,\n} as const;\n"],"names":[],"mappings":";;;;;;;AAEO,MAAM,cAAiB,GAAA;AAAA,EAC5B,UAAY,EAAA,mBAAA;AAAA,EACZ,iBAAmB,EAAA,QAAA;AAAA,EAEnB,WAAa,EAAA,KAAA;AAAA,EACb,gBAAkB,EAAA,EAAA;AAAA,EAClB,eAAiB,EAAA,EAAA;AAAA,EACjB,IAAM,EAAA,mBAAA;AAAA,EACN,KAAO,EAAA,mBAAA;AAAA,EACP,YAAc,EAAA,gBAAA;AAAA,EACd,YAAc,EAAA,gBAAA;AAAA,EACd,gBAAkB,EAAA,MAAA;AAAA,EAClB,iBAAmB,EAAA,OAAA;AAAA,EACnB,gBAAA,EAAkB,2BAChB,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAM,KAAA,aAAA,GAAgB,gBAAgB,YAC9D,CAAA,GAAA,CAAA;AAAA,EACA,eAAA,EAAiB,yBACf,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAM,KAAA,aAAA,GAAgB,gBAAgB,YAC9D,CAAA,GAAA,CAAA;AAAA,EACA,WAAa,EAAA,kBAAA;AAAA,EAGb,IAAM,EAAA,IAAA;AAAA,EACN,WAAa,EAAA,IAAA;AAAA,EACb,cAAgB,EAAA,IAAA;AAAA,EAChB,UAAY,EAAA,IAAA;AAAA,EAMZ,KAAO,EAAA;AAAA,IACL,KAAA,EAAO,MAAM,CAAC,GAAG,CAAA;AAAA,IACjB,MAAQ,EAAA,QAAA;AAAA,IACR,MAAQ,EAAA,QAAA;AAAA,IACR,MAAQ,EAAA,QAAA;AAAA,IACR,GAAK,EAAA,KAAA;AAAA,IACL,MAAQ,EAAA,MAAA;AAAA,IAER,IAAM,EAAA,MAAA;AAAA,IACN,mBAAqB,EAAA;AAAA,GACvB;AAAA,EAOA,aAAe,EAAA;AAAA,IACb,eAAe,CAAC,CAAA,KAAc,cAAe,CAAA,UAAA,CAAW,KAAK,CAAC,CAAA;AAAA,IAC9D,WAAA,EAAa,CAAC,CAAA,KACZ,CAAE,CAAA,WAAA,EAAc,CAAA,QAAA,CAAS,OAAO,CAAA,IAAK,CAAE,CAAA,WAAA,EAAkB,KAAA,MAAA;AAAA,IAC3D,YAAA,EAAc,CAAC,CAAA,KACb,CAAE,CAAA,WAAA,EAAc,CAAA,QAAA,CAAS,QAAQ,CAAA,IAAK,CAAE,CAAA,WAAA,EAAkB,KAAA,OAAA;AAAA,IAC5D,gBAAA,EAAkB,CAAC,CAAA,KACjB,CAAE,CAAA,WAAA,EAAc,CAAA,QAAA,CAAS,SAAS,CAAA,IAAK,CAAE,CAAA,WAAA,EAAkB,KAAA,QAAA;AAAA,IAC7D,eAAA,EAAiB,CAAC,CAAA,KAChB,CAAE,CAAA,WAAA,EAAc,CAAA,QAAA,CAAS,SAAS,CAAA,IAAK,CAAE,CAAA,WAAA,EAAkB,KAAA,QAAA;AAAA,IAC7D,YAAY,CAAC,CAAA,KAAc,EAAE,WAAY,EAAA,CAAE,SAAS,MAAM,CAAA;AAAA,IAC1D,kBAAkB,CAAC,CAAA,KAAc,EAAE,WAAY,EAAA,CAAE,SAAS,SAAS,CAAA;AAAA,IACnE,aAAe,EAAA,CAAC,CACd,KAAA,CAAA,CAAE,WAAY,EAAA,CAAE,UAAW,CAAA,cAAc,CACzC,IAAA,CAAA,CAAE,WAAY,EAAA,CAAE,WAAW,UAAU,CAAA;AAAA,IACvC,aAAa,CAAC,CAAA,KAAc,EAAE,WAAY,EAAA,CAAE,SAAS,OAAO,CAAA;AAAA,IAC5D,aAAa,CAAC,CAAA,KAAc,EAAE,WAAY,EAAA,CAAE,SAAS,OAAO;AAAA,GAGhE;;;;"}
1
+ {"version":3,"file":"defaults.js","sources":["../../../plugin/config/defaults.tsx"],"sourcesContent":["import { CssCollector } from \"../css-collector.js\";\nimport { Html } from \"../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 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} as const;"],"names":[],"mappings":";;;;;;;AAEO,MAAM,cAAiB,GAAA;AAAA,EAC5B,gBAAkB,EAAA,mBAAA;AAAA,EAClB,iBAAmB,EAAA,QAAA;AAAA,EAEnB,WAAa,EAAA,KAAA;AAAA,EACb,gBAAkB,EAAA,EAAA;AAAA,EAClB,eAAiB,EAAA,EAAA;AAAA,EAGjB,YAAc,EAAA,SAAA;AAAA,EACd,YAAc,EAAA,SAAA;AAAA,EACd,gBAAkB,EAAA,MAAA;AAAA,EAClB,iBAAmB,EAAA,OAAA;AAAA,EACnB,gBAAA,EAAkB,2BAChB,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAM,KAAA,YAAA,GAAe,eAAe,aAC5D,CAAA,GAAA,CAAA;AAAA,EACA,eAAA,EAAiB,yBACf,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAM,KAAA,YAAA,GAAe,eAAe,aAC5D,CAAA,GAAA,CAAA;AAAA,EACA,WAAa,EAAA,kBAAA;AAAA,EAGb,IAAM,EAAA,IAAA;AAAA,EACN,YAAY,MAAI;AAAA,GAAC;AAAA,EAMjB,KAAO,EAAA;AAAA,IACL,KAAA,EAAO,CAAC,GAAG,CAAA;AAAA,IACX,MAAQ,EAAA,QAAA;AAAA,IACR,MAAQ,EAAA,QAAA;AAAA,IACR,MAAQ,EAAA,QAAA;AAAA,IACR,GAAK,EAAA,KAAA;AAAA,IACL,MAAQ,EAAA,MAAA;AAAA,IAER,IAAM,EAAA,MAAA;AAAA,IACN,aAAe,EAAA,WAAA;AAAA,IACf,cAAgB,EAAA,YAAA;AAAA,IAChB,mBAAqB,EAAA;AAAA,GACvB;AAAA,EACA,GAAK,EAAA;AAAA,IACH,SAAW,EAAA,KAAA;AAAA,IACX,QAAU,EAAA,KAAA;AAAA,IACV,eAAiB,EAAA,IAAA;AAAA;AAAA,IACjB,gBAAgB,EAAC;AAAA;AAAA,IACjB,cAAc;AAAC;AAAA,GACjB;AAAA,EAEA,aAAe,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASb,aAAe,EAAA,CAAC,CAAc,KAAA,mBAAA,CAAoB,KAAK,CAAC,CAAA;AAAA,IACxD,WAAa,EAAA,CAAC,CAAc,KAAA,iBAAA,CAAkB,KAAK,CAAC,CAAA;AAAA,IACpD,YAAc,EAAA,CAAC,CAAc,KAAA,kBAAA,CAAmB,KAAK,CAAC,CAAA;AAAA,IACtD,gBAAkB,EAAA,CAAC,CAAc,KAAA,wBAAA,CAAyB,KAAK,CAAC,CAAA;AAAA,IAChE,eAAiB,EAAA,CAAC,CAAc,KAAA,wBAAA,CAAyB,KAAK,CAAC,CAAA;AAAA,IAC/D,UAAY,EAAA,CAAC,CAAc,KAAA,QAAA,CAAS,KAAK,CAAC,CAAA;AAAA,IAC1C,gBAAkB,EAAA,CAAC,CAAc,KAAA,YAAA,CAAa,KAAK,CAAC,CAAA;AAAA,IACpD,cAAgB,EAAA,CAAC,CAAc,KAAA,eAAA,CAAgB,KAAK,CAAC,CAAA;AAAA,IACrD,aAAe,EAAA,CAAC,CACd,KAAA,mBAAA,CAAoB,KAAK,CAAC,CAAA;AAAA,IAC5B,WAAa,EAAA,CAAC,CAAc,KAAA,SAAA,CAAU,KAAK,CAAC,CAAA;AAAA,IAC5C,WAAa,EAAA,CAAC,CAAc,KAAA,SAAA,CAAU,KAAK,CAAC,CAAA;AAAA,IAC5C,QAAU,EAAA,CAAC,CAAc,KAAA,gBAAA,CAAiB,KAAK,CAAC,CAAA;AAAA,IAChD,QAAU,EAAA,CAAC,CAAc,KAAA,CAAA,CAAE,KAAM,CAAA,GAAG,CAAE,CAAA,IAAA,CAAK,CAAK,CAAA,KAAA,CAAA,CAAE,UAAW,CAAA,GAAG,CAAC,CAAA;AAAA,IACjE,UAAY,EAAA,CAAC,CAAc,KAAA,QAAA,CAAS,KAAK,CAAC;AAAA,GAG9C;;;;"}
@@ -1,2 +1,2 @@
1
- export declare const getCondition: () => "react-client" | "react-server";
1
+ export declare const getCondition: <Prefix extends string = "react-">(prefix?: Prefix) => `${Prefix}client` | `${Prefix}server`;
2
2
  //# sourceMappingURL=getCondition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCondition.d.ts","sourceRoot":"","sources":["../../../plugin/config/getCondition.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,QAAO,cAAc,GAAG,cAEhD,CAAA"}
1
+ {"version":3,"file":"getCondition.d.ts","sourceRoot":"","sources":["../../../plugin/config/getCondition.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,sBACxC,MAAM,KACb,GAAG,MAAM,QAAQ,GAAG,GAAG,MAAM,QAI/B,CAAC"}
@@ -3,8 +3,8 @@
3
3
  * Copyright (c) Nico Brinkkemper
4
4
  * MIT License
5
5
  */
6
- const getCondition = () => {
7
- return process.env["NODE_OPTIONS"]?.match(/--condition[= ]react-server/) ? "react-server" : "react-client";
6
+ const getCondition = (prefix = "react-") => {
7
+ return process.env["NODE_OPTIONS"]?.match(/--conditions[= ]react-server/) ? `${prefix}server` : `${prefix}client`;
8
8
  };
9
9
 
10
10
  export { getCondition };
@@ -1 +1 @@
1
- {"version":3,"file":"getCondition.js","sources":["../../../plugin/config/getCondition.ts"],"sourcesContent":["export const getCondition = (): 'react-client' | 'react-server' => {\n return process.env['NODE_OPTIONS']?.match(/--condition[= ]react-server/) ? 'react-server' : 'react-client';\n} "],"names":[],"mappings":";;;;;AAAO,MAAM,eAAe,MAAuC;AACjE,EAAA,OAAO,QAAQ,GAAI,CAAA,cAAc,GAAG,KAAM,CAAA,6BAA6B,IAAI,cAAiB,GAAA,cAAA;AAC9F;;;;"}
1
+ {"version":3,"file":"getCondition.js","sources":["../../../plugin/config/getCondition.ts"],"sourcesContent":["export const getCondition = <Prefix extends string = \"react-\">(\n prefix: Prefix = \"react-\" as Prefix\n): `${Prefix}client` | `${Prefix}server` => {\n return process.env[\"NODE_OPTIONS\"]?.match(/--conditions[= ]react-server/)\n ? (`${prefix}server` as `${Prefix}server`)\n : (`${prefix}client` as `${Prefix}client`);\n};\n"],"names":[],"mappings":";;;;;AAAa,MAAA,YAAA,GAAe,CAC1B,MAAA,GAAiB,QACyB,KAAA;AAC1C,EAAO,OAAA,OAAA,CAAQ,GAAI,CAAA,cAAc,CAAG,EAAA,KAAA,CAAM,8BAA8B,CAAA,GACnE,CAAG,EAAA,MAAM,CACT,MAAA,CAAA,GAAA,CAAA,EAAG,MAAM,CAAA,MAAA,CAAA;AAChB;;;;"}
@@ -1,4 +1,3 @@
1
1
  export declare const getNodePath: (root?: string) => string;
2
2
  export declare const getMode: () => "production" | "development" | "test";
3
- export declare const getDistDir: (mode: "production" | "development" | "test") => string;
4
3
  //# sourceMappingURL=getPaths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPaths.d.ts","sourceRoot":"","sources":["../../../plugin/config/getPaths.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,UAAU,MAAM,KAAmB,MAE1D,CAAA;AAED,eAAO,MAAM,OAAO,QAAO,YAAY,GAAG,aAAa,GAAG,MAMzD,CAAA;AAED,eAAO,MAAM,UAAU,SAAU,YAAY,GAAG,aAAa,GAAG,MAAM,KAAG,MAIxE,CAAA"}
1
+ {"version":3,"file":"getPaths.d.ts","sourceRoot":"","sources":["../../../plugin/config/getPaths.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,UAAU,MAAM,KAAmB,MAE1D,CAAA;AAED,eAAO,MAAM,OAAO,QAAO,YAAY,GAAG,aAAa,GAAG,MAMzD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPaths.js","sources":["../../../plugin/config/getPaths.ts"],"sourcesContent":["import { join } from 'node:path';\n\nexport const getNodePath = (root: string = process.cwd()): string => {\n return process.env['module_root'] ?? join(root, \"node_modules\");\n}\n\nexport const getMode = (): \"production\" | \"development\" | \"test\" => {\n return process.env['NODE_ENV'] === \"development\" \n ? \"development\" \n : process.env['NODE_ENV'] === \"test\" \n ? \"test\" \n : \"production\";\n}\n\nexport const getDistDir = (mode: \"production\" | \"development\" | \"test\"): string => {\n return mode === 'production' \n ? join(process.cwd(), 'dist') \n : join(process.cwd(), 'test/fixtures/dist');\n} \n"],"names":[],"mappings":";;;;;;;AAEO,MAAM,WAAc,GAAA,CAAC,IAAe,GAAA,OAAA,CAAQ,KAAkB,KAAA;AACnE,EAAA,OAAO,QAAQ,GAAI,CAAA,aAAa,CAAK,IAAA,IAAA,CAAK,MAAM,cAAc,CAAA;AAChE;AAEO,MAAM,UAAU,MAA6C;AAClE,EAAO,OAAA,OAAA,CAAQ,GAAI,CAAA,UAAU,CAAM,KAAA,aAAA,GAC/B,aACA,GAAA,OAAA,CAAQ,GAAI,CAAA,UAAU,CAAM,KAAA,MAAA,GAC1B,MACA,GAAA,YAAA;AACR;;;;"}
1
+ {"version":3,"file":"getPaths.js","sources":["../../../plugin/config/getPaths.ts"],"sourcesContent":["import { join } from 'node:path';\n\nexport const getNodePath = (root: string = process.cwd()): string => {\n return process.env['module_root'] ?? join(root, \"node_modules\");\n}\n\nexport const getMode = (): \"production\" | \"development\" | \"test\" => {\n return process.env['NODE_ENV'] === \"development\" \n ? \"development\" \n : process.env['NODE_ENV'] === \"test\" \n ? \"test\" \n : \"production\";\n}"],"names":[],"mappings":";;;;;;;AAEO,MAAM,WAAc,GAAA,CAAC,IAAe,GAAA,OAAA,CAAQ,KAAkB,KAAA;AACnE,EAAA,OAAO,QAAQ,GAAI,CAAA,aAAa,CAAK,IAAA,IAAA,CAAK,MAAM,cAAc,CAAA;AAChE;AAEO,MAAM,UAAU,MAA6C;AAClE,EAAO,OAAA,OAAA,CAAQ,GAAI,CAAA,UAAU,CAAM,KAAA,aAAA,GAC/B,aACA,GAAA,OAAA,CAAQ,GAAI,CAAA,UAAU,CAAM,KAAA,MAAA,GAC1B,MACA,GAAA,YAAA;AACR;;;;"}
@@ -1,5 +1,4 @@
1
1
  export * from './getCondition.js';
2
- export * from './getWorkerPath.js';
3
2
  export * from './getPaths.js';
4
3
  export * from './defaults.js';
5
4
  export * from './resolveUserConfig.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../plugin/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../plugin/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  export * from './getCondition.js';
2
- export * from './getWorkerPath.js';
3
2
  export * from './getPaths.js';
4
3
  export * from './defaults.js';
5
4
  export * from './resolveUserConfig.js';
@@ -0,0 +1,20 @@
1
+ import type { ConfigEnv, UserConfig } from "vite";
2
+ import type { ResolvedUserOptions, AutoDiscoveredFiles } from "../types.js";
3
+ type ResolveAutoDiscoverProps = {
4
+ config: UserConfig;
5
+ configEnv: ConfigEnv;
6
+ userOptions: ResolvedUserOptions;
7
+ condition: "react-server" | "react-client";
8
+ };
9
+ type ResolveAutoDiscoverReturn = {
10
+ type: "success";
11
+ autoDiscoveredFiles: AutoDiscoveredFiles;
12
+ error?: never;
13
+ } | {
14
+ type: "error";
15
+ error: Error;
16
+ autoDiscoveredFiles?: never;
17
+ };
18
+ export declare function resolveAutoDiscover({ config, configEnv, userOptions, condition, }: ResolveAutoDiscoverProps): Promise<ResolveAutoDiscoverReturn>;
19
+ export {};
20
+ //# sourceMappingURL=resolveAutoDiscover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveAutoDiscover.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveAutoDiscover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAiBrB,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,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,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,CAmI/D"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ import { join } from 'path';
7
+ import { resolveBuildPages } from './autoDiscover/resolveBuildPages.js';
8
+ import { resolvePages } from './resolvePages.js';
9
+ import { tryManifest } from '../helpers/tryManifest.js';
10
+ import { createGlobAutoDiscover } from './autoDiscover/createGlobAutoDiscover.js';
11
+ import { customWorkerFiles } from './autoDiscover/customWorkerFiles.js';
12
+ import { pageAndPropFiles } from './autoDiscover/pageAndPropFiles.js';
13
+
14
+ let stashedAutoDiscover = {};
15
+ const clientFiles = createGlobAutoDiscover("**/*.client.*");
16
+ const serverFiles = createGlobAutoDiscover("**/*.server.*");
17
+ const cssFiles = createGlobAutoDiscover("**/*.css");
18
+ const jsonFiles = createGlobAutoDiscover("**/*.json");
19
+ async function resolveAutoDiscover({
20
+ config,
21
+ configEnv,
22
+ userOptions,
23
+ condition
24
+ }) {
25
+ const ssr = configEnv.isSsrBuild;
26
+ const envDir = condition === "react-server" ? userOptions.build.server : ssr ? userOptions.build.client : userOptions.build.static;
27
+ const envId = `${envDir}${ssr ? "-ssr" : ""}`;
28
+ const configInputRecord = {};
29
+ if (typeof config.build?.rollupOptions?.input === "string") {
30
+ configInputRecord[userOptions.normalizer(config.build?.rollupOptions?.input)[0]] = config.build?.rollupOptions?.input;
31
+ } else if (typeof config.build?.rollupOptions?.input === "object") {
32
+ for (const [, value] of Object.entries(
33
+ config.build?.rollupOptions?.input
34
+ )) {
35
+ configInputRecord[userOptions.normalizer(value)[0]] = value;
36
+ }
37
+ }
38
+ if (stashedAutoDiscover[envId]) {
39
+ return {
40
+ type: "success",
41
+ autoDiscoveredFiles: stashedAutoDiscover[envId]
42
+ };
43
+ }
44
+ const serverEntry = typeof userOptions.serverEntry === "string" ? Object.fromEntries([userOptions.normalizer(userOptions.serverEntry)]) : null;
45
+ const indexHtmlInputs = { index: "index.html" };
46
+ const clientEntry = typeof userOptions.clientEntry === "string" ? Object.fromEntries([userOptions.normalizer(userOptions.clientEntry)]) : {};
47
+ const { type, error, pages } = await resolvePages(userOptions.build.pages);
48
+ if (type === "error") {
49
+ return {
50
+ type: "error",
51
+ error
52
+ };
53
+ }
54
+ const files = await resolveBuildPages({
55
+ pages,
56
+ userOptions
57
+ });
58
+ let staticManifest = {};
59
+ if (ssr) {
60
+ const staticManifestResult = await tryManifest({
61
+ root: userOptions.projectRoot,
62
+ ssrManifest: false,
63
+ outDir: join(userOptions.build.outDir, userOptions.build.static)
64
+ });
65
+ if (staticManifestResult.type === "success") {
66
+ staticManifest = staticManifestResult.manifest;
67
+ }
68
+ }
69
+ const customWorkerInputs = customWorkerFiles({
70
+ inputs: {},
71
+ userOptions
72
+ });
73
+ const clientInputs = await clientFiles({
74
+ inputs: {},
75
+ userOptions
76
+ });
77
+ const serverInputs = await serverFiles({
78
+ inputs: {},
79
+ userOptions
80
+ });
81
+ const pageAndPropInputs = pageAndPropFiles({
82
+ files,
83
+ inputs: {}
84
+ });
85
+ const cssInputs = await cssFiles({
86
+ inputs: {},
87
+ userOptions
88
+ });
89
+ const jsonInputs = await jsonFiles({
90
+ inputs: {},
91
+ userOptions
92
+ });
93
+ const agnosticInputs = {
94
+ ...configInputRecord,
95
+ ...clientInputs,
96
+ ...clientEntry,
97
+ ...serverInputs,
98
+ ...serverEntry
99
+ };
100
+ const inputs = condition === "react-client" ? {
101
+ ...indexHtmlInputs,
102
+ ...agnosticInputs,
103
+ ...cssInputs,
104
+ ...jsonInputs
105
+ } : {
106
+ ...configInputRecord,
107
+ ...customWorkerInputs,
108
+ ...pageAndPropInputs,
109
+ ...agnosticInputs,
110
+ ...cssInputs,
111
+ ...jsonInputs
112
+ };
113
+ stashedAutoDiscover[envId] = {
114
+ ...files,
115
+ workerPaths: customWorkerInputs,
116
+ serverEntry,
117
+ clientEntry,
118
+ staticManifest,
119
+ inputs
120
+ };
121
+ return {
122
+ type: "success",
123
+ autoDiscoveredFiles: stashedAutoDiscover[envId]
124
+ };
125
+ }
126
+
127
+ export { resolveAutoDiscover };
128
+ //# sourceMappingURL=resolveAutoDiscover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveAutoDiscover.js","sources":["../../../plugin/config/resolveAutoDiscover.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n ResolvedUserOptions,\n AutoDiscoveredFiles,\n} from \"../types.js\";\nimport { join } from \"path\";\nimport { resolveBuildPages } from \"./autoDiscover/resolveBuildPages.js\";\nimport { resolvePages } from \"./resolvePages.js\";\nimport { tryManifest } from \"../helpers/tryManifest.js\";\nimport type { Manifest } from \"vite\";\nimport { createGlobAutoDiscover } from \"./autoDiscover/createGlobAutoDiscover.js\";\nimport { customWorkerFiles } from \"./autoDiscover/customWorkerFiles.js\";\nimport { pageAndPropFiles } from \"./autoDiscover/pageAndPropFiles.js\";\n\nlet stashedAutoDiscover: Record<string, AutoDiscoveredFiles | null> = {};\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 autoDiscoveredFiles: AutoDiscoveredFiles;\n error?: never;\n }\n | {\n type: \"error\";\n error: Error;\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;\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 if (stashedAutoDiscover[envId]) {\n return {\n type: \"success\",\n autoDiscoveredFiles: stashedAutoDiscover[envId],\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 };\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 }\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\n stashedAutoDiscover[envId] = {\n ...files,\n workerPaths: customWorkerInputs,\n serverEntry,\n clientEntry,\n staticManifest,\n inputs,\n };\n return {\n type: \"success\",\n autoDiscoveredFiles: stashedAutoDiscover[envId],\n };\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAcA,IAAI,sBAAkE,EAAC;AAEvE,MAAM,WAAA,GAAc,uBAAuB,eAAe,CAAA;AAC1D,MAAM,WAAA,GAAc,uBAAuB,eAAe,CAAA;AAC1D,MAAM,QAAA,GAAW,uBAAuB,UAAU,CAAA;AAClD,MAAM,SAAA,GAAY,uBAAuB,WAAW,CAAA;AAqBpD,eAAsB,mBAAoB,CAAA;AAAA,EACxC,MAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAiE,EAAA;AAC/D,EAAA,MAAM,MAAM,SAAU,CAAA,UAAA;AACtB,EAAM,MAAA,MAAA,GACJ,SAAc,KAAA,cAAA,GACV,WAAY,CAAA,KAAA,CAAM,MAClB,GAAA,GAAA,GACA,WAAY,CAAA,KAAA,CAAM,MAClB,GAAA,WAAA,CAAY,KAAM,CAAA,MAAA;AACxB,EAAA,MAAM,QAAQ,CAAG,EAAA,MAAM,CAAG,EAAA,GAAA,GAAM,SAAS,EAAE,CAAA,CAAA;AAC3C,EAAA,MAAM,oBAAoB,EAAC;AAC3B,EAAA,IAAI,OAAO,MAAA,CAAO,KAAO,EAAA,aAAA,EAAe,UAAU,QAAU,EAAA;AAC1D,IAAA,iBAAA,CACE,WAAY,CAAA,UAAA,CAAW,MAAO,CAAA,KAAA,EAAO,aAAe,EAAA,KAAK,CAAE,CAAA,CAAC,CAC9D,CAAA,GAAI,MAAO,CAAA,KAAA,EAAO,aAAe,EAAA,KAAA;AAAA,aACxB,OAAO,MAAA,CAAO,KAAO,EAAA,aAAA,EAAe,UAAU,QAAU,EAAA;AACjE,IAAA,KAAA,MAAW,GAAG,KAAK,CAAA,IAAK,MAAO,CAAA,OAAA;AAAA,MAC7B,MAAA,CAAO,OAAO,aAAe,EAAA;AAAA,KAC5B,EAAA;AACD,MAAA,iBAAA,CAAkB,YAAY,UAAW,CAAA,KAAK,CAAE,CAAA,CAAC,CAAC,CAAI,GAAA,KAAA;AAAA;AACxD;AAEF,EAAI,IAAA,mBAAA,CAAoB,KAAK,CAAG,EAAA;AAC9B,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,mBAAA,EAAqB,oBAAoB,KAAK;AAAA,KAChD;AAAA;AAGF,EAAA,MAAM,WACJ,GAAA,OAAO,WAAY,CAAA,WAAA,KAAgB,WAC/B,MAAO,CAAA,WAAA,CAAY,CAAC,WAAA,CAAY,UAAW,CAAA,WAAA,CAAY,WAAW,CAAC,CAAC,CACpE,GAAA,IAAA;AAEN,EAAM,MAAA,eAAA,GAAkB,EAAE,KAAA,EAAO,YAAa,EAAA;AAE9C,EAAA,MAAM,WACJ,GAAA,OAAO,WAAY,CAAA,WAAA,KAAgB,WAC/B,MAAO,CAAA,WAAA,CAAY,CAAC,WAAA,CAAY,WAAW,WAAY,CAAA,WAAW,CAAC,CAAC,IACpE,EAAC;AAEP,EAAM,MAAA,EAAE,MAAM,KAAO,EAAA,KAAA,KAAU,MAAM,YAAA,CAAa,WAAY,CAAA,KAAA,CAAM,KAAK,CAAA;AAEzE,EAAA,IAAI,SAAS,OAAS,EAAA;AACpB,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN;AAAA,KACF;AAAA;AAGF,EAAM,MAAA,KAAA,GAAQ,MAAM,iBAAkB,CAAA;AAAA,IACpC,KAAA;AAAA,IACA;AAAA,GACD,CAAA;AAGD,EAAA,IAAI,iBAA2B,EAAC;AAChC,EAAA,IAAI,GAAK,EAAA;AACP,IAAM,MAAA,oBAAA,GAAuB,MAAM,WAAY,CAAA;AAAA,MAC7C,MAAM,WAAY,CAAA,WAAA;AAAA,MAClB,WAAa,EAAA,KAAA;AAAA,MACb,QAAQ,IAAK,CAAA,WAAA,CAAY,MAAM,MAAQ,EAAA,WAAA,CAAY,MAAM,MAAM;AAAA,KAChE,CAAA;AACD,IAAI,IAAA,oBAAA,CAAqB,SAAS,SAAW,EAAA;AAC3C,MAAA,cAAA,GAAiB,oBAAqB,CAAA,QAAA;AAAA;AACxC;AAGF,EAAA,MAAM,qBAAqB,iBAAkB,CAAA;AAAA,IAC3C,QAAQ,EAAC;AAAA,IACT;AAAA,GACD,CAAA;AACD,EAAM,MAAA,YAAA,GAAe,MAAM,WAAY,CAAA;AAAA,IACrC,QAAQ,EAAC;AAAA,IACT;AAAA,GACD,CAAA;AACD,EAAM,MAAA,YAAA,GAAe,MAAM,WAAY,CAAA;AAAA,IACrC,QAAQ,EAAC;AAAA,IACT;AAAA,GACD,CAAA;AAED,EAAA,MAAM,oBAAoB,gBAAiB,CAAA;AAAA,IACzC,KAAA;AAAA,IACA,QAAQ;AAAC,GACV,CAAA;AAED,EAAM,MAAA,SAAA,GAAY,MAAM,QAAS,CAAA;AAAA,IAC/B,QAAQ,EAAC;AAAA,IACT;AAAA,GACD,CAAA;AAED,EAAM,MAAA,UAAA,GAAa,MAAM,SAAU,CAAA;AAAA,IACjC,QAAQ,EAAC;AAAA,IACT;AAAA,GACD,CAAA;AACD,EAAA,MAAM,cAAiB,GAAA;AAAA,IACrB,GAAG,iBAAA;AAAA,IACH,GAAG,YAAA;AAAA,IACH,GAAG,WAAA;AAAA,IACH,GAAG,YAAA;AAAA,IACH,GAAG;AAAA,GACL;AAEA,EAAM,MAAA,MAAA,GACJ,cAAc,cACV,GAAA;AAAA,IACE,GAAG,eAAA;AAAA,IACH,GAAG,cAAA;AAAA,IACH,GAAG,SAAA;AAAA,IACH,GAAG;AAAA,GAEL,GAAA;AAAA,IACE,GAAG,iBAAA;AAAA,IACH,GAAG,kBAAA;AAAA,IACH,GAAG,iBAAA;AAAA,IACH,GAAG,cAAA;AAAA,IACH,GAAG,SAAA;AAAA,IACH,GAAG;AAAA,GACL;AAEN,EAAA,mBAAA,CAAoB,KAAK,CAAI,GAAA;AAAA,IAC3B,GAAG,KAAA;AAAA,IACH,WAAa,EAAA,kBAAA;AAAA,IACb,WAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,GACF;AACA,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,SAAA;AAAA,IACN,mBAAA,EAAqB,oBAAoB,KAAK;AAAA,GAChD;AACF;;;;"}
@@ -1,5 +1,5 @@
1
1
  import type { StreamPluginOptions, ResolvedUserOptions } from "../types.js";
2
- export declare const resolveOptions: <InlineCSS extends boolean = boolean>(options: StreamPluginOptions<InlineCSS>, isClient: boolean) => {
2
+ export declare const resolveOptions: <InlineCSS extends boolean | undefined = boolean | undefined>(options: StreamPluginOptions<InlineCSS>) => {
3
3
  type: "success";
4
4
  userOptions: ResolvedUserOptions<InlineCSS>;
5
5
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"resolveOptions.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAA8C,MAAM,aAAa,CAAC;AAsDxH,eAAO,MAAM,cAAc,GAAI,SAAS,SAAS,OAAO,qBAC7C,mBAAmB,CAAC,SAAS,CAAC,YAC7B,OAAO,KAEf;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAyThC,CAAC"}
1
+ {"version":3,"file":"resolveOptions.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAuE5E,eAAO,MAAM,cAAc,GACzB,SAAS,SAAS,OAAO,GAAG,SAAS,iCAE5B,mBAAmB,CAAC,SAAS,CAAC,KAErC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CA6YhC,CAAC"}