vite-plugin-react-server 1.1.12 → 1.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/dist/package.json +10 -8
  2. package/dist/plugin/components/css-collector-elements.d.ts +4 -2
  3. package/dist/plugin/components/css-collector-elements.d.ts.map +1 -1
  4. package/dist/plugin/components/css-collector-elements.js +21 -7
  5. package/dist/plugin/components/css-collector-elements.js.map +1 -1
  6. package/dist/plugin/components/css-collector.d.ts +4 -5
  7. package/dist/plugin/components/css-collector.d.ts.map +1 -1
  8. package/dist/plugin/components/css-collector.js +5 -9
  9. package/dist/plugin/components/css-collector.js.map +1 -1
  10. package/dist/plugin/components/html.d.ts +1 -1
  11. package/dist/plugin/components/html.d.ts.map +1 -1
  12. package/dist/plugin/components/html.js +14 -3
  13. package/dist/plugin/components/html.js.map +1 -1
  14. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts +4 -4
  15. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
  16. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +14 -9
  17. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js.map +1 -1
  18. package/dist/plugin/config/defaults.d.ts +66 -12
  19. package/dist/plugin/config/defaults.d.ts.map +1 -1
  20. package/dist/plugin/config/defaults.js +69 -15
  21. package/dist/plugin/config/defaults.js.map +1 -1
  22. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts +5 -0
  23. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts.map +1 -0
  24. package/dist/plugin/config/resolveAutoDiscoverMatcher.js +25 -0
  25. package/dist/plugin/config/resolveAutoDiscoverMatcher.js.map +1 -0
  26. package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
  27. package/dist/plugin/config/resolveEnv.js +16 -5
  28. package/dist/plugin/config/resolveEnv.js.map +1 -1
  29. package/dist/plugin/config/resolveOptions.d.ts +3 -3
  30. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  31. package/dist/plugin/config/resolveOptions.js +59 -87
  32. package/dist/plugin/config/resolveOptions.js.map +1 -1
  33. package/dist/plugin/config/resolveUserConfig.d.ts +4 -4
  34. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  35. package/dist/plugin/config/resolveUserConfig.js +8 -1
  36. package/dist/plugin/config/resolveUserConfig.js.map +1 -1
  37. package/dist/plugin/error/toError.d.ts +3 -0
  38. package/dist/plugin/error/toError.d.ts.map +1 -1
  39. package/dist/plugin/error/toError.js +33 -4
  40. package/dist/plugin/error/toError.js.map +1 -1
  41. package/dist/plugin/helpers/cleanObject.d.ts.map +1 -1
  42. package/dist/plugin/helpers/cleanObject.js +19 -5
  43. package/dist/plugin/helpers/cleanObject.js.map +1 -1
  44. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +3 -3
  45. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
  46. package/dist/plugin/helpers/collectViteModuleGraphCss.js.map +1 -1
  47. package/dist/plugin/helpers/createCssProps.d.ts +4 -3
  48. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
  49. package/dist/plugin/helpers/createCssProps.js +7 -2
  50. package/dist/plugin/helpers/createCssProps.js.map +1 -1
  51. package/dist/plugin/helpers/createHandler.d.ts +4 -3
  52. package/dist/plugin/helpers/createHandler.d.ts.map +1 -1
  53. package/dist/plugin/helpers/createHandler.js +1 -1
  54. package/dist/plugin/helpers/createHandler.js.map +1 -1
  55. package/dist/plugin/helpers/createRscStream.d.ts +2 -2
  56. package/dist/plugin/helpers/createRscStream.d.ts.map +1 -1
  57. package/dist/plugin/helpers/createRscStream.js +15 -5
  58. package/dist/plugin/helpers/createRscStream.js.map +1 -1
  59. package/dist/plugin/helpers/index.d.ts +2 -2
  60. package/dist/plugin/helpers/index.d.ts.map +1 -1
  61. package/dist/plugin/helpers/index.js +2 -2
  62. package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
  63. package/dist/plugin/helpers/inputNormalizer.js +4 -1
  64. package/dist/plugin/helpers/inputNormalizer.js.map +1 -1
  65. package/dist/plugin/helpers/moduleResolver.d.ts +3 -0
  66. package/dist/plugin/helpers/moduleResolver.d.ts.map +1 -0
  67. package/dist/plugin/helpers/moduleResolver.js +25 -0
  68. package/dist/plugin/helpers/requestInfo.d.ts +18 -3
  69. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  70. package/dist/plugin/helpers/requestInfo.js +75 -11
  71. package/dist/plugin/helpers/requestInfo.js.map +1 -1
  72. package/dist/plugin/helpers/resolvePage.d.ts.map +1 -1
  73. package/dist/plugin/helpers/resolvePage.js +2 -3
  74. package/dist/plugin/helpers/resolvePage.js.map +1 -1
  75. package/dist/plugin/helpers/resolvePageAndProps.d.ts +4 -3
  76. package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
  77. package/dist/plugin/helpers/resolvePageAndProps.js.map +1 -1
  78. package/dist/plugin/helpers/serializeUserOptions.d.ts +3 -2
  79. package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
  80. package/dist/plugin/helpers/serializeUserOptions.js +13 -1
  81. package/dist/plugin/helpers/serializeUserOptions.js.map +1 -1
  82. package/dist/plugin/helpers/sourceMap.d.ts +8 -0
  83. package/dist/plugin/helpers/sourceMap.d.ts.map +1 -0
  84. package/dist/plugin/helpers/sourceMap.js +136 -0
  85. package/dist/plugin/helpers.js +1 -1
  86. package/dist/plugin/loader/createBuildLoader.d.ts +7 -22
  87. package/dist/plugin/loader/createBuildLoader.d.ts.map +1 -1
  88. package/dist/plugin/loader/createBuildLoader.js +79 -65
  89. package/dist/plugin/loader/createBuildLoader.js.map +1 -1
  90. package/dist/plugin/loader/createDefaultLoader.d.ts +13 -0
  91. package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -0
  92. package/dist/plugin/loader/createDefaultLoader.js +47 -0
  93. package/dist/plugin/loader/css-loader.development.d.ts +1 -0
  94. package/dist/plugin/loader/css-loader.development.d.ts.map +1 -1
  95. package/dist/plugin/loader/css-loader.development.js +1 -1
  96. package/dist/plugin/loader/css-loader.development.js.map +1 -1
  97. package/dist/plugin/loader/handleExports.d.ts +33 -0
  98. package/dist/plugin/loader/handleExports.d.ts.map +1 -0
  99. package/dist/plugin/loader/handleExports.js +174 -0
  100. package/dist/plugin/loader/handleExports.js.map +1 -0
  101. package/dist/plugin/loader/index.d.ts +1 -1
  102. package/dist/plugin/loader/index.d.ts.map +1 -1
  103. package/dist/plugin/loader/index.js +4 -1
  104. package/dist/plugin/loader/parse.d.ts +6 -0
  105. package/dist/plugin/loader/parse.d.ts.map +1 -0
  106. package/dist/plugin/loader/parse.js +23 -0
  107. package/dist/plugin/loader/parse.js.map +1 -0
  108. package/dist/plugin/loader/react-loader.client.d.ts +2 -0
  109. package/dist/plugin/loader/react-loader.client.d.ts.map +1 -0
  110. package/dist/plugin/loader/react-loader.client.js +2 -0
  111. package/dist/plugin/loader/react-loader.d.ts +1 -12
  112. package/dist/plugin/loader/react-loader.d.ts.map +1 -1
  113. package/dist/plugin/loader/react-loader.js +5 -687
  114. package/dist/plugin/loader/react-loader.js.map +1 -1
  115. package/dist/plugin/loader/react-loader.server.d.ts +21 -0
  116. package/dist/plugin/loader/react-loader.server.d.ts.map +1 -0
  117. package/dist/plugin/loader/react-loader.server.js +69 -0
  118. package/dist/plugin/loader/sourceMap.d.ts +35 -0
  119. package/dist/plugin/loader/sourceMap.d.ts.map +1 -0
  120. package/dist/plugin/loader/sourceMap.js +105 -0
  121. package/dist/plugin/loader/temporaryReferences.d.ts +1 -1
  122. package/dist/plugin/loader/temporaryReferences.d.ts.map +1 -1
  123. package/dist/plugin/loader/transformModuleIfNeeded.d.ts +2 -0
  124. package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -0
  125. package/dist/plugin/loader/transformModuleIfNeeded.js +27 -0
  126. package/dist/plugin/loader/transformModuleIfNeeded.js.map +1 -0
  127. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts +27 -0
  128. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts.map +1 -0
  129. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js +52 -0
  130. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js.map +1 -0
  131. package/dist/plugin/loader/types.d.ts +8 -0
  132. package/dist/plugin/loader/types.d.ts.map +1 -0
  133. package/dist/plugin/loader/types.js +1 -0
  134. package/dist/plugin/plugin.client.d.ts +2 -2
  135. package/dist/plugin/plugin.client.d.ts.map +1 -1
  136. package/dist/plugin/plugin.client.js +2 -3
  137. package/dist/plugin/plugin.client.js.map +1 -1
  138. package/dist/plugin/plugin.server.d.ts +2 -2
  139. package/dist/plugin/plugin.server.d.ts.map +1 -1
  140. package/dist/plugin/plugin.server.js +2 -2
  141. package/dist/plugin/plugin.server.js.map +1 -1
  142. package/dist/plugin/preserver/plugin.d.ts +2 -2
  143. package/dist/plugin/preserver/plugin.d.ts.map +1 -1
  144. package/dist/plugin/preserver/plugin.js +6 -2
  145. package/dist/plugin/preserver/plugin.js.map +1 -1
  146. package/dist/plugin/react-client/{server.d.ts → configureWorkerRequestHandler.d.ts} +4 -4
  147. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +1 -0
  148. package/dist/plugin/react-client/{server.js → configureWorkerRequestHandler.js} +11 -8
  149. package/dist/plugin/react-client/configureWorkerRequestHandler.js.map +1 -0
  150. package/dist/plugin/react-client/createMessageHandlers.d.ts +1 -1
  151. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  152. package/dist/plugin/react-client/createMessageHandlers.js +18 -11
  153. package/dist/plugin/react-client/createMessageHandlers.js.map +1 -1
  154. package/dist/plugin/react-client/createWorkerStream.d.ts +5 -3
  155. package/dist/plugin/react-client/createWorkerStream.d.ts.map +1 -1
  156. package/dist/plugin/react-client/createWorkerStream.js +61 -27
  157. package/dist/plugin/react-client/createWorkerStream.js.map +1 -1
  158. package/dist/plugin/react-client/handleWorkerRscStream.d.ts +1 -1
  159. package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +1 -1
  160. package/dist/plugin/react-client/handleWorkerRscStream.js +14 -4
  161. package/dist/plugin/react-client/handleWorkerRscStream.js.map +1 -1
  162. package/dist/plugin/react-client/plugin.d.ts +2 -2
  163. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  164. package/dist/plugin/react-client/plugin.js +7 -8
  165. package/dist/plugin/react-client/plugin.js.map +1 -1
  166. package/dist/plugin/react-client/restartWorker.d.ts +1 -1
  167. package/dist/plugin/react-client/restartWorker.d.ts.map +1 -1
  168. package/dist/plugin/react-client/restartWorker.js +9 -3
  169. package/dist/plugin/react-client/restartWorker.js.map +1 -1
  170. package/dist/plugin/react-server/configureReactServer.d.ts +9 -0
  171. package/dist/plugin/react-server/configureReactServer.d.ts.map +1 -0
  172. package/dist/plugin/react-server/{server.js → configureReactServer.js} +26 -8
  173. package/dist/plugin/react-server/configureReactServer.js.map +1 -0
  174. package/dist/plugin/react-server/handleServerAction.d.ts +5 -0
  175. package/dist/plugin/react-server/handleServerAction.d.ts.map +1 -0
  176. package/dist/plugin/react-server/handleServerAction.js +145 -0
  177. package/dist/plugin/react-server/handleServerAction.js.map +1 -0
  178. package/dist/plugin/react-server/plugin.d.ts +2 -2
  179. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  180. package/dist/plugin/react-server/plugin.js +1 -1
  181. package/dist/plugin/react-server/plugin.js.map +1 -1
  182. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +2 -2
  183. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +1 -1
  184. package/dist/plugin/react-static/collectHtmlWorkerContent.js.map +1 -1
  185. package/dist/plugin/react-static/collectRscContent.d.ts +2 -2
  186. package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
  187. package/dist/plugin/react-static/collectRscContent.js.map +1 -1
  188. package/dist/plugin/react-static/configurePreviewServer.d.ts +3 -3
  189. package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
  190. package/dist/plugin/react-static/configurePreviewServer.js +18 -7
  191. package/dist/plugin/react-static/configurePreviewServer.js.map +1 -1
  192. package/dist/plugin/react-static/plugin.d.ts +2 -2
  193. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  194. package/dist/plugin/react-static/plugin.js +28 -12
  195. package/dist/plugin/react-static/plugin.js.map +1 -1
  196. package/dist/plugin/react-static/renderPage.d.ts +2 -2
  197. package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
  198. package/dist/plugin/react-static/renderPage.js.map +1 -1
  199. package/dist/plugin/react-static/renderPages.d.ts +2 -2
  200. package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
  201. package/dist/plugin/react-static/renderPages.js.map +1 -1
  202. package/dist/plugin/react-static/renderStreams.d.ts +2 -2
  203. package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
  204. package/dist/plugin/react-static/renderStreams.js +4 -4
  205. package/dist/plugin/react-static/renderStreams.js.map +1 -1
  206. package/dist/plugin/source-map/createMappingsSerializer.d.ts +2 -0
  207. package/dist/plugin/source-map/createMappingsSerializer.d.ts.map +1 -0
  208. package/dist/plugin/source-map/createMappingsSerializer.js +159 -0
  209. package/dist/plugin/source-map/readMappings.d.ts +2 -0
  210. package/dist/plugin/source-map/readMappings.d.ts.map +1 -0
  211. package/dist/plugin/source-map/readMappings.js +201 -0
  212. package/dist/plugin/transformer/index.d.ts +0 -1
  213. package/dist/plugin/transformer/index.d.ts.map +1 -1
  214. package/dist/plugin/transformer/index.js +0 -1
  215. package/dist/plugin/transformer/plugin.client.d.ts +1 -3
  216. package/dist/plugin/transformer/plugin.client.d.ts.map +1 -1
  217. package/dist/plugin/transformer/plugin.client.js +1 -84
  218. package/dist/plugin/transformer/plugin.server.d.ts +2 -2
  219. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
  220. package/dist/plugin/transformer/plugin.server.js +52 -20
  221. package/dist/plugin/transformer/plugin.server.js.map +1 -1
  222. package/dist/plugin/types.d.ts +89 -119
  223. package/dist/plugin/types.d.ts.map +1 -1
  224. package/dist/plugin/utils/callServer.d.ts +1 -1
  225. package/dist/plugin/utils/callServer.d.ts.map +1 -1
  226. package/dist/plugin/utils/createCallServer.d.ts +1 -1
  227. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  228. package/dist/plugin/utils/createCallServer.js +13 -4
  229. package/dist/plugin/utils/createCallServer.js.map +1 -1
  230. package/dist/plugin/utils/index.d.ts +1 -0
  231. package/dist/plugin/utils/index.d.ts.map +1 -1
  232. package/dist/plugin/utils/index.js +1 -0
  233. package/dist/plugin/utils.js +1 -0
  234. package/dist/plugin/utils.js.map +1 -1
  235. package/dist/plugin/vendor/vendor.client.d.ts +2 -1
  236. package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
  237. package/dist/plugin/vendor/vendor.client.js +2 -1
  238. package/dist/plugin/vendor/vendor.client.js.map +1 -1
  239. package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
  240. package/dist/plugin/vendor/vendor.server.js +1 -1
  241. package/dist/plugin/vendor/vendor.server.js.map +1 -1
  242. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  243. package/dist/plugin/worker/createWorker.js +17 -22
  244. package/dist/plugin/worker/createWorker.js.map +1 -1
  245. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +1 -1
  246. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +25 -4
  247. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js.map +1 -1
  248. package/dist/plugin/worker/html/html-worker.development.js +15 -13
  249. package/dist/plugin/worker/html/html-worker.development.js.map +1 -1
  250. package/dist/plugin/worker/html/html-worker.production.js +2 -12
  251. package/dist/plugin/worker/html/html-worker.production.js.map +1 -1
  252. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  253. package/dist/plugin/worker/html/messageHandler.js +2 -2
  254. package/dist/plugin/worker/html/messageHandler.js.map +1 -1
  255. package/dist/plugin/worker/rsc/handleRender.d.ts +2 -1
  256. package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -1
  257. package/dist/plugin/worker/rsc/handleRender.js +8 -8
  258. package/dist/plugin/worker/rsc/handleRender.js.map +1 -1
  259. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  260. package/dist/plugin/worker/rsc/messageHandler.js +166 -107
  261. package/dist/plugin/worker/rsc/messageHandler.js.map +1 -1
  262. package/dist/plugin/worker/rsc/rsc-worker.development.js +112 -52
  263. package/dist/plugin/worker/rsc/rsc-worker.development.js.map +1 -1
  264. package/dist/plugin/worker/rsc/rsc-worker.production.js +1 -1
  265. package/dist/plugin/worker/rsc/rsc-worker.production.js.map +1 -1
  266. package/dist/plugin/worker/rsc/state.d.ts +5 -64
  267. package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
  268. package/dist/plugin/worker/rsc/state.js +5 -1
  269. package/dist/plugin/worker/rsc/state.js.map +1 -1
  270. package/dist/plugin/worker/sendMessage.d.ts +2 -0
  271. package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
  272. package/dist/plugin/worker/sendMessage.js +2 -1
  273. package/dist/plugin/worker/sendMessage.js.map +1 -1
  274. package/dist/plugin/worker/types.d.ts +52 -53
  275. package/dist/plugin/worker/types.d.ts.map +1 -1
  276. package/dist/tsconfig.tsbuildinfo +1 -1
  277. package/package.json +10 -8
  278. package/plugin/components/css-collector-elements.tsx +30 -9
  279. package/plugin/components/css-collector.tsx +13 -22
  280. package/plugin/components/html.tsx +12 -5
  281. package/plugin/config/autoDiscover/resolveAutoDiscover.ts +31 -13
  282. package/plugin/config/defaults.tsx +72 -16
  283. package/plugin/config/resolveAutoDiscoverMatcher.ts +23 -0
  284. package/plugin/config/resolveEnv.ts +20 -12
  285. package/plugin/config/resolveOptions.ts +152 -155
  286. package/plugin/config/resolveUserConfig.ts +20 -5
  287. package/plugin/error/toError.ts +35 -1
  288. package/plugin/helpers/cleanObject.ts +79 -15
  289. package/plugin/helpers/collectViteModuleGraphCss.ts +4 -3
  290. package/plugin/helpers/createCssProps.tsx +26 -9
  291. package/plugin/helpers/createHandler.ts +7 -4
  292. package/plugin/helpers/createRscStream.tsx +20 -14
  293. package/plugin/helpers/index.ts +2 -2
  294. package/plugin/helpers/inputNormalizer.ts +4 -2
  295. package/plugin/helpers/moduleResolver.ts +36 -0
  296. package/plugin/helpers/requestInfo.ts +117 -23
  297. package/plugin/helpers/resolvePage.ts +2 -3
  298. package/plugin/helpers/resolvePageAndProps.ts +7 -6
  299. package/plugin/helpers/serializeUserOptions.ts +20 -2
  300. package/plugin/helpers/sourceMap.ts +182 -0
  301. package/plugin/loader/createBuildLoader.ts +124 -104
  302. package/plugin/loader/createDefaultLoader.ts +62 -0
  303. package/plugin/loader/css-loader.development.ts +3 -2
  304. package/plugin/loader/handleExports.ts +276 -0
  305. package/plugin/loader/index.ts +6 -1
  306. package/plugin/loader/parse.ts +22 -0
  307. package/plugin/loader/react-loader.client.ts +1 -0
  308. package/plugin/loader/react-loader.server.ts +107 -0
  309. package/plugin/loader/react-loader.ts +4 -1002
  310. package/plugin/loader/sourceMap.ts +118 -0
  311. package/plugin/loader/transformModuleIfNeeded.ts +33 -0
  312. package/plugin/loader/transformModuleWithPreservedFunctions.ts +119 -0
  313. package/plugin/loader/types.ts +10 -0
  314. package/plugin/plugin.client.ts +18 -11
  315. package/plugin/plugin.server.ts +6 -3
  316. package/plugin/preserver/plugin.ts +37 -17
  317. package/plugin/react-client/{server.ts → configureWorkerRequestHandler.ts} +22 -12
  318. package/plugin/react-client/createMessageHandlers.ts +21 -13
  319. package/plugin/react-client/createWorkerStream.ts +71 -33
  320. package/plugin/react-client/handleWorkerRscStream.ts +15 -5
  321. package/plugin/react-client/plugin.ts +18 -13
  322. package/plugin/react-client/restartWorker.ts +17 -5
  323. package/plugin/react-server/{server.ts → configureReactServer.ts} +40 -9
  324. package/plugin/react-server/handleServerAction.ts +177 -0
  325. package/plugin/react-server/plugin.ts +8 -3
  326. package/plugin/react-static/collectHtmlWorkerContent.ts +11 -3
  327. package/plugin/react-static/collectRscContent.ts +17 -9
  328. package/plugin/react-static/configurePreviewServer.ts +37 -17
  329. package/plugin/react-static/plugin.ts +45 -22
  330. package/plugin/react-static/renderPage.ts +12 -6
  331. package/plugin/react-static/renderPages.ts +15 -4
  332. package/plugin/react-static/renderStreams.ts +13 -12
  333. package/plugin/source-map/createMappingsSerializer.ts +182 -0
  334. package/plugin/source-map/readMappings.ts +195 -0
  335. package/plugin/transformer/README.md +295 -29
  336. package/plugin/transformer/index.ts +0 -1
  337. package/plugin/transformer/plugin.client.ts +0 -111
  338. package/plugin/transformer/plugin.server.ts +94 -25
  339. package/plugin/types/react-server-dom-esm.d.ts +183 -24
  340. package/plugin/types/sourceMap.d.ts +2 -0
  341. package/plugin/types/webpack-sources.d.ts +24 -0
  342. package/plugin/types.ts +169 -132
  343. package/plugin/utils/createCallServer.ts +21 -6
  344. package/plugin/utils/index.ts +2 -1
  345. package/plugin/vendor/vendor.client.ts +2 -1
  346. package/plugin/vendor/vendor.server.ts +1 -1
  347. package/plugin/worker/createWorker.ts +21 -24
  348. package/plugin/worker/html/createHtmlWorkerRenderState.tsx +31 -7
  349. package/plugin/worker/html/html-worker.development.tsx +16 -16
  350. package/plugin/worker/html/html-worker.production.tsx +3 -19
  351. package/plugin/worker/html/messageHandler.tsx +2 -4
  352. package/plugin/worker/rsc/handleRender.ts +15 -12
  353. package/plugin/worker/rsc/messageHandler.tsx +191 -120
  354. package/plugin/worker/rsc/rsc-worker.development.ts +148 -77
  355. package/plugin/worker/rsc/rsc-worker.production.ts +1 -1
  356. package/plugin/worker/rsc/state.ts +10 -0
  357. package/plugin/worker/sendMessage.ts +32 -14
  358. package/plugin/worker/types.ts +99 -64
  359. package/dist/plugin/react-client/server.d.ts.map +0 -1
  360. package/dist/plugin/react-client/server.js.map +0 -1
  361. package/dist/plugin/react-server/server.d.ts +0 -9
  362. package/dist/plugin/react-server/server.d.ts.map +0 -1
  363. package/dist/plugin/react-server/server.js.map +0 -1
  364. package/dist/plugin/transformer/plugin.client.js.map +0 -1
  365. package/dist/plugin/transformer/upgradeCssModuleCode.d.ts +0 -2
  366. package/dist/plugin/transformer/upgradeCssModuleCode.d.ts.map +0 -1
  367. package/dist/plugin/transformer/upgradeCssModuleCode.js +0 -40
  368. package/dist/plugin/worker/loader.d.ts +0 -5
  369. package/dist/plugin/worker/loader.d.ts.map +0 -1
  370. package/dist/plugin/worker/loader.js +0 -11
  371. package/dist/plugin/worker/loader.js.map +0 -1
  372. package/plugin/transformer/upgradeCssModuleCode.ts +0 -42
  373. package/plugin/worker/loader.ts +0 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveAutoDiscoverMatcher.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveAutoDiscoverMatcher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,0BAA0B,YAC5B,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YACxD,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YADC,MAAM,KAAK,OAkB3D,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ const resolveAutoDiscoverMatcher = (options, fallback) => {
7
+ if (!options) {
8
+ if (typeof fallback === "function") {
9
+ return fallback;
10
+ } else {
11
+ return (path) => fallback.test(path);
12
+ }
13
+ }
14
+ if (typeof options === "string") {
15
+ const matcher = new RegExp(options);
16
+ return (path) => matcher.test(path);
17
+ } else if (typeof options === "function") {
18
+ return options;
19
+ } else {
20
+ return (path) => options.test(path);
21
+ }
22
+ };
23
+
24
+ export { resolveAutoDiscoverMatcher };
25
+ //# sourceMappingURL=resolveAutoDiscoverMatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveAutoDiscoverMatcher.js","sources":["../../../plugin/config/resolveAutoDiscoverMatcher.ts"],"sourcesContent":["/**\n * Resolves a matcher pattern to a function that tests paths\n */\nexport const resolveAutoDiscoverMatcher = (\n options: undefined | string | RegExp | ((path: string) => boolean),\n fallback: RegExp | ((path: string) => boolean)\n) => {\n if (!options) {\n if (typeof fallback === \"function\") {\n return fallback;\n } else {\n return (path: string) => fallback.test(path);\n }\n }\n if (typeof options === \"string\") {\n const matcher = new RegExp(options);\n return (path: string) => matcher.test(path);\n } else if (typeof options === \"function\") {\n return options;\n } else {\n return (path: string) => options.test(path);\n }\n};\n"],"names":[],"mappings":";;;;;AAGa,MAAA,0BAAA,GAA6B,CACxC,OAAA,EACA,QACG,KAAA;AACH,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAI,IAAA,OAAO,aAAa,UAAY,EAAA;AAClC,MAAO,OAAA,QAAA;AAAA,KACF,MAAA;AACL,MAAA,OAAO,CAAC,IAAA,KAAiB,QAAS,CAAA,IAAA,CAAK,IAAI,CAAA;AAAA;AAC7C;AAEF,EAAI,IAAA,OAAO,YAAY,QAAU,EAAA;AAC/B,IAAM,MAAA,OAAA,GAAU,IAAI,MAAA,CAAO,OAAO,CAAA;AAClC,IAAA,OAAO,CAAC,IAAA,KAAiB,OAAQ,CAAA,IAAA,CAAK,IAAI,CAAA;AAAA,GAC5C,MAAA,IAAW,OAAO,OAAA,KAAY,UAAY,EAAA;AACxC,IAAO,OAAA,OAAA;AAAA,GACF,MAAA;AACL,IAAA,OAAO,CAAC,IAAA,KAAiB,OAAQ,CAAA,IAAA,CAAK,IAAI,CAAA;AAAA;AAE9C;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveEnv.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,MAAM,CAAC;AAIpD,KAAK,SAAS,GAAG;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpC,CAAC;AAgBF;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,GAAG,MAAM,EAA8B,cAyGxD;AAED,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,cAsB7D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,cAM9C;AAED,eAAO,MAAM,UAAU,uCAEX,MAAM,GAAG,MAAM,EAAE,QAgB1B,CAAC"}
1
+ {"version":3,"file":"resolveEnv.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,MAAM,CAAC;AAIpD,KAAK,SAAS,GAAG;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpC,CAAC;AAgBF;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,GAAG,MAAM,EAA8B,cAiHxD;AAED,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,cAsB7D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,cAM9C;AAED,eAAO,MAAM,UAAU,uCAEX,MAAM,GAAG,MAAM,EAAE,QAgB1B,CAAC"}
@@ -48,10 +48,19 @@ function resolveEnv(mode, envDir, prefixes = DEFAULT_CONFIG.ENV_PREFIX) {
48
48
  );
49
49
  mergedEnv["VITE_MODE"] = process.env["NODE_ENV"] === "production" ? "production" : "development";
50
50
  } else if (inferredMode === "development" && process.env["NODE_ENV"] !== "development") {
51
- console.warn(
52
- `NODE_ENV is not ${inferredMode} but VITE_MODE is ${inferredMode}, NODE_ENV takes precedence`
53
- );
54
- mergedEnv["VITE_MODE"] = process.env["NODE_ENV"] === "development" ? "development" : "production";
51
+ if (process.env["NODE_ENV"] === "test") {
52
+ if (process.env["NODE_ENV"] !== "test") {
53
+ console.warn(
54
+ `NODE_ENV is not ${inferredMode} but VITE_MODE is ${mode}, NODE_ENV takes precedence`
55
+ );
56
+ }
57
+ mergedEnv["VITE_MODE"] = "development";
58
+ } else {
59
+ console.warn(
60
+ `NODE_ENV is not ${inferredMode} but VITE_MODE is ${mode}, NODE_ENV takes precedence`
61
+ );
62
+ mergedEnv["VITE_MODE"] = process.env["NODE_ENV"] === "development" ? "development" : "production";
63
+ }
55
64
  } else {
56
65
  mergedEnv["VITE_MODE"] = inferredMode;
57
66
  }
@@ -67,7 +76,9 @@ function resolveEnv(mode, envDir, prefixes = DEFAULT_CONFIG.ENV_PREFIX) {
67
76
  if (!mergedEnv["VITE_BASE_URL"] && process.env["VITE_BASE_URL"] != null)
68
77
  mergedEnv["VITE_BASE_URL"] = "/";
69
78
  if (!mergedEnv["VITE_SSR"] && process.env["VITE_SSR"] == null)
70
- mergedEnv["VITE_SSR"] = String(process.argv.includes("--ssr") || getCondition("") === "server");
79
+ mergedEnv["VITE_SSR"] = String(
80
+ process.argv.includes("--ssr") || getCondition("") === "server"
81
+ );
71
82
  if (!mergedEnv["VITE_DEV"] && process.env["VITE_DEV"] == null)
72
83
  mergedEnv["VITE_DEV"] = mergedEnv["VITE_MODE"] === "development";
73
84
  if (!mergedEnv["VITE_PROD"] && process.env["VITE_PROD"] == null)
@@ -1 +1 @@
1
- {"version":3,"file":"resolveEnv.js","sources":["../../../plugin/config/resolveEnv.ts"],"sourcesContent":["import { loadEnv, type ResolvedConfig } from \"vite\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { getCondition } from \"./getCondition.js\";\n\ntype NestedEnv = {\n [key: string]: unknown | NestedEnv;\n};\n\nfunction setNestedEnv(obj: NestedEnv, path: string[], value: string) {\n if (!path.length) return;\n const key = path[0];\n console.log(\"setNestedEnv:\", { key, path, value, currentObj: obj[key] });\n if (path.length === 1) {\n obj[key] = value;\n return;\n }\n if (!obj[key] || typeof obj[key] === \"string\") {\n obj[key] = {};\n }\n setNestedEnv(obj[key] as NestedEnv, path.slice(1), value);\n}\n\n/**\n * Adds the env to the process.env directly, returns a function to remove previously added env.\n */\nexport function resolveEnv(\n mode: string,\n envDir: string,\n prefixes: string | string[] = DEFAULT_CONFIG.ENV_PREFIX\n) {\n const isPrefixesArray = Array.isArray(prefixes);\n if (isPrefixesArray && !prefixes.includes(DEFAULT_CONFIG.ENV_PREFIX)) {\n prefixes.push(DEFAULT_CONFIG.ENV_PREFIX);\n }\n const env: Record<string, string | boolean> = loadEnv(mode, envDir, prefixes);\n\n // First, copy any existing environment variables that match our prefixes\n const existingEnv = Object.entries(process.env).reduce(\n (acc, [key, value]) => {\n if (\n value &&\n (isPrefixesArray\n ? prefixes.some((p) => key.startsWith(p))\n : key.startsWith(prefixes))\n ) {\n acc[key] = value;\n }\n return acc;\n },\n {} as Record<string, string>\n );\n\n // Merge existing env with loaded env, preferring existing values\n const mergedEnv = { ...env, ...existingEnv };\n\n if (!mergedEnv[\"VITE_MODE\"] && process.env[\"VITE_MODE\"] == null) {\n const modeIndex = process.argv.findIndex((arg) => arg === \"--mode\");\n const isBuild = process.argv.includes(\"build\");\n const isPreview = process.argv.includes(\"preview\");\n if (modeIndex === -1) {\n const inferredMode = isPreview || isBuild\n ? \"production\"\n : \"development\";\n if (\n inferredMode === \"production\" &&\n process.env[\"NODE_ENV\"] !== \"production\"\n ) {\n console.warn(\n `NODE_ENV is not ${inferredMode} but VITE_MODE is ${inferredMode}, NODE_ENV takes precedence`\n );\n mergedEnv[\"VITE_MODE\"] =\n process.env[\"NODE_ENV\"] === \"production\"\n ? \"production\"\n : \"development\";\n } else if (\n inferredMode === \"development\" &&\n process.env[\"NODE_ENV\"] !== \"development\"\n ) {\n console.warn(\n `NODE_ENV is not ${inferredMode} but VITE_MODE is ${inferredMode}, NODE_ENV takes precedence`\n );\n mergedEnv[\"VITE_MODE\"] =\n process.env[\"NODE_ENV\"] === \"development\"\n ? \"development\"\n : \"production\";\n } else {\n mergedEnv[\"VITE_MODE\"] = inferredMode;\n }\n } else {\n // Check if the mode value is in the next argument\n const modeValue = process.argv[modeIndex + 1];\n if (modeValue && !modeValue.startsWith(\"--\")) {\n mergedEnv[\"VITE_MODE\"] = modeValue;\n } else {\n // Fallback to default mode\n mergedEnv[\"VITE_MODE\"] =\n process.env[\"NODE_ENV\"] === \"production\"\n ? \"production\"\n : \"development\";\n }\n }\n }\n\n if (!mergedEnv[\"VITE_BASE_URL\"] && process.env[\"VITE_BASE_URL\"] != null)\n mergedEnv[\"VITE_BASE_URL\"] = \"/\";\n if (!mergedEnv[\"VITE_SSR\"] && process.env[\"VITE_SSR\"] == null)\n mergedEnv[\"VITE_SSR\"] =\n String(process.argv.includes(\"--ssr\") || getCondition(\"\") === \"server\");\n if (!mergedEnv[\"VITE_DEV\"] && process.env[\"VITE_DEV\"] == null)\n mergedEnv[\"VITE_DEV\"] = mergedEnv[\"VITE_MODE\"] === \"development\";\n if (!mergedEnv[\"VITE_PROD\"] && process.env[\"VITE_PROD\"] == null)\n mergedEnv[\"VITE_PROD\"] = mergedEnv[\"VITE_MODE\"] === \"production\";\n if (\n !mergedEnv[\"VITE_PUBLIC_ORIGIN\"] &&\n process.env[\"VITE_PUBLIC_ORIGIN\"] == null\n )\n mergedEnv[\"VITE_PUBLIC_ORIGIN\"] = \"\";\n\n if (!Object.keys(mergedEnv).length) return () => {};\n const addedEnv: NestedEnv = {};\n const exclude = isPrefixesArray\n ? (key: string) => !prefixes.some((prefix) => key.startsWith(prefix))\n : (key: string) => !key.startsWith(prefixes);\n\n for (const key in mergedEnv) {\n if (exclude(key)) continue;\n if (process.env[key] != null) {\n continue;\n }\n process.env[key] = mergedEnv[key] as string;\n addedEnv[key] = mergedEnv[key];\n }\n return createCleanupEnv(addedEnv);\n}\n\nexport function resolveConfigDefine(\n resolvedConfig: Pick<ResolvedConfig, \"define\" | \"envPrefix\">\n) {\n const { define } = resolvedConfig;\n const addedEnv: NestedEnv = {};\n const envPrefix = Array.isArray(resolvedConfig.envPrefix)\n ? resolvedConfig.envPrefix[0]\n : resolvedConfig.envPrefix;\n for (const key in define) {\n if (!key || !key.startsWith(`process.env.${envPrefix}`)) continue;\n const withoutPrefix = key.split(\"process.env.\")[1];\n if (typeof define[key] === \"string\") {\n const path = withoutPrefix.split(\".\");\n setNestedEnv(addedEnv, path, define[key] as string);\n if (!process.env[path[0]]) process.env[path[0]] = {} as any;\n setNestedEnv(\n process.env[path[0]] as any,\n path.slice(1),\n define[key] as string\n );\n }\n }\n return createCleanupEnv(addedEnv);\n}\n\nexport function createCleanupEnv(env: NestedEnv) {\n return () => {\n for (const key in env) {\n delete process.env[key];\n }\n };\n}\n\nexport const getMetaEnv = (\n env = process.env,\n prefixes: string | string[] = DEFAULT_CONFIG.ENV_PREFIX\n) =>\n Object.fromEntries(\n Object.entries(env)\n .map(([key, value]) => {\n const prefix = Array.isArray(prefixes)\n ? prefixes.find((prefix) => key.startsWith(prefix))\n : key.startsWith(prefixes)\n ? prefixes\n : undefined;\n if (typeof prefix !== \"string\" || prefix === \"\") {\n return undefined;\n }\n return [key.slice(prefix.length), value];\n })\n .filter(Array.isArray)\n );\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveEnv.js","sources":["../../../plugin/config/resolveEnv.ts"],"sourcesContent":["import { loadEnv, type ResolvedConfig } from \"vite\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { getCondition } from \"./getCondition.js\";\n\ntype NestedEnv = {\n [key: string]: unknown | NestedEnv;\n};\n\nfunction setNestedEnv(obj: NestedEnv, path: string[], value: string) {\n if (!path.length) return;\n const key = path[0];\n console.log(\"setNestedEnv:\", { key, path, value, currentObj: obj[key] });\n if (path.length === 1) {\n obj[key] = value;\n return;\n }\n if (!obj[key] || typeof obj[key] === \"string\") {\n obj[key] = {};\n }\n setNestedEnv(obj[key] as NestedEnv, path.slice(1), value);\n}\n\n/**\n * Adds the env to the process.env directly, returns a function to remove previously added env.\n */\nexport function resolveEnv(\n mode: string,\n envDir: string,\n prefixes: string | string[] = DEFAULT_CONFIG.ENV_PREFIX\n) {\n const isPrefixesArray = Array.isArray(prefixes);\n if (isPrefixesArray && !prefixes.includes(DEFAULT_CONFIG.ENV_PREFIX)) {\n prefixes.push(DEFAULT_CONFIG.ENV_PREFIX);\n }\n const env: Record<string, string | boolean> = loadEnv(mode, envDir, prefixes);\n\n // First, copy any existing environment variables that match our prefixes\n const existingEnv = Object.entries(process.env).reduce(\n (acc, [key, value]) => {\n if (\n value &&\n (isPrefixesArray\n ? prefixes.some((p) => key.startsWith(p))\n : key.startsWith(prefixes))\n ) {\n acc[key] = value;\n }\n return acc;\n },\n {} as Record<string, string>\n );\n\n // Merge existing env with loaded env, preferring existing values\n const mergedEnv = { ...env, ...existingEnv };\n\n if (!mergedEnv[\"VITE_MODE\"] && process.env[\"VITE_MODE\"] == null) {\n const modeIndex = process.argv.findIndex((arg) => arg === \"--mode\");\n const isBuild = process.argv.includes(\"build\");\n const isPreview = process.argv.includes(\"preview\");\n if (modeIndex === -1) {\n const inferredMode = isPreview || isBuild ? \"production\" : \"development\";\n if (\n inferredMode === \"production\" &&\n process.env[\"NODE_ENV\"] !== \"production\"\n ) {\n console.warn(\n `NODE_ENV is not ${inferredMode} but VITE_MODE is ${inferredMode}, NODE_ENV takes precedence`\n );\n mergedEnv[\"VITE_MODE\"] =\n process.env[\"NODE_ENV\"] === \"production\"\n ? \"production\"\n : \"development\";\n } else if (\n inferredMode === \"development\" &&\n process.env[\"NODE_ENV\"] !== \"development\"\n ) {\n if (process.env[\"NODE_ENV\"] === \"test\") {\n if (process.env[\"NODE_ENV\"] !== \"test\") {\n console.warn(\n `NODE_ENV is not ${inferredMode} but VITE_MODE is ${mode}, NODE_ENV takes precedence`\n );\n }\n mergedEnv[\"VITE_MODE\"] = \"development\";\n } else {\n console.warn(\n `NODE_ENV is not ${inferredMode} but VITE_MODE is ${mode}, NODE_ENV takes precedence`\n );\n mergedEnv[\"VITE_MODE\"] =\n process.env[\"NODE_ENV\"] === \"development\"\n ? \"development\"\n : \"production\";\n }\n } else {\n mergedEnv[\"VITE_MODE\"] = inferredMode;\n }\n } else {\n // Check if the mode value is in the next argument\n const modeValue = process.argv[modeIndex + 1];\n if (modeValue && !modeValue.startsWith(\"--\")) {\n mergedEnv[\"VITE_MODE\"] = modeValue;\n } else {\n // Fallback to default mode\n mergedEnv[\"VITE_MODE\"] =\n process.env[\"NODE_ENV\"] === \"production\"\n ? \"production\"\n : \"development\";\n }\n }\n }\n\n if (!mergedEnv[\"VITE_BASE_URL\"] && process.env[\"VITE_BASE_URL\"] != null)\n mergedEnv[\"VITE_BASE_URL\"] = \"/\";\n if (!mergedEnv[\"VITE_SSR\"] && process.env[\"VITE_SSR\"] == null)\n mergedEnv[\"VITE_SSR\"] = String(\n process.argv.includes(\"--ssr\") || getCondition(\"\") === \"server\"\n );\n if (!mergedEnv[\"VITE_DEV\"] && process.env[\"VITE_DEV\"] == null)\n mergedEnv[\"VITE_DEV\"] = mergedEnv[\"VITE_MODE\"] === \"development\";\n if (!mergedEnv[\"VITE_PROD\"] && process.env[\"VITE_PROD\"] == null)\n mergedEnv[\"VITE_PROD\"] = mergedEnv[\"VITE_MODE\"] === \"production\";\n if (\n !mergedEnv[\"VITE_PUBLIC_ORIGIN\"] &&\n process.env[\"VITE_PUBLIC_ORIGIN\"] == null\n )\n mergedEnv[\"VITE_PUBLIC_ORIGIN\"] = \"\";\n\n if (!Object.keys(mergedEnv).length) return () => {};\n const addedEnv: NestedEnv = {};\n const exclude = isPrefixesArray\n ? (key: string) => !prefixes.some((prefix) => key.startsWith(prefix))\n : (key: string) => !key.startsWith(prefixes);\n\n for (const key in mergedEnv) {\n if (exclude(key)) continue;\n if (process.env[key] != null) {\n continue;\n }\n process.env[key] = mergedEnv[key] as string;\n addedEnv[key] = mergedEnv[key];\n }\n return createCleanupEnv(addedEnv);\n}\n\nexport function resolveConfigDefine(\n resolvedConfig: Pick<ResolvedConfig, \"define\" | \"envPrefix\">\n) {\n const { define } = resolvedConfig;\n const addedEnv: NestedEnv = {};\n const envPrefix = Array.isArray(resolvedConfig.envPrefix)\n ? resolvedConfig.envPrefix[0]\n : resolvedConfig.envPrefix;\n for (const key in define) {\n if (!key || !key.startsWith(`process.env.${envPrefix}`)) continue;\n const withoutPrefix = key.split(\"process.env.\")[1];\n if (typeof define[key] === \"string\") {\n const path = withoutPrefix.split(\".\");\n setNestedEnv(addedEnv, path, define[key] as string);\n if (!process.env[path[0]]) process.env[path[0]] = {} as any;\n setNestedEnv(\n process.env[path[0]] as any,\n path.slice(1),\n define[key] as string\n );\n }\n }\n return createCleanupEnv(addedEnv);\n}\n\nexport function createCleanupEnv(env: NestedEnv) {\n return () => {\n for (const key in env) {\n delete process.env[key];\n }\n };\n}\n\nexport const getMetaEnv = (\n env = process.env,\n prefixes: string | string[] = DEFAULT_CONFIG.ENV_PREFIX\n) =>\n Object.fromEntries(\n Object.entries(env)\n .map(([key, value]) => {\n const prefix = Array.isArray(prefixes)\n ? prefixes.find((prefix) => key.startsWith(prefix))\n : key.startsWith(prefixes)\n ? prefixes\n : undefined;\n if (typeof prefix !== \"string\" || prefix === \"\") {\n return undefined;\n }\n return [key.slice(prefix.length), value];\n })\n .filter(Array.isArray)\n );\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { StreamPluginOptions, ResolvedUserOptions } from "../types.js";
2
- export declare const resolveOptions: <InlineCSS extends boolean | undefined = boolean | undefined>(options: StreamPluginOptions<InlineCSS>) => {
1
+ import type { StreamPluginOptions, ResolvedUserOptions, PagePropOpt, InlineCssOpt } from "../types.js";
2
+ export declare const resolveOptions: <T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt>(options: StreamPluginOptions<T, InlineCSS>) => {
3
3
  type: "success";
4
- userOptions: ResolvedUserOptions<InlineCSS>;
4
+ userOptions: ResolvedUserOptions<T, InlineCSS>;
5
5
  } | {
6
6
  type: "error";
7
7
  error: Error;
@@ -1 +1 @@
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;CAgbhC,CAAC"}
1
+ {"version":3,"file":"resolveOptions.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AA4CrB,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,WAAW,gBACrB,SAAS,SAAS,YAAY,0BAErB,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,KAExC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAkchC,CAAC"}
@@ -8,24 +8,8 @@ import { join } from 'node:path';
8
8
  import { pluginRoot } from '../root.js';
9
9
  import { CssCollector } from '../components/css-collector.js';
10
10
  import { createInputNormalizer } from '../helpers/inputNormalizer.js';
11
+ import { resolveAutoDiscoverMatcher } from './resolveAutoDiscoverMatcher.js';
11
12
 
12
- const resolveAutoDiscoverMatcher = (options, fallback) => {
13
- if (!options) {
14
- if (typeof fallback === "function") {
15
- return fallback;
16
- } else {
17
- return (path) => fallback.test(path);
18
- }
19
- }
20
- if (typeof options === "string") {
21
- const matcher = new RegExp(options);
22
- return (path) => matcher.test(path);
23
- } else if (typeof options === "function") {
24
- return options;
25
- } else {
26
- return (path) => options.test(path);
27
- }
28
- };
29
13
  const addExtension = (path, extension = "js") => {
30
14
  if (path.endsWith(`.${extension}`)) return path;
31
15
  if (path.endsWith("/.")) return path.slice(0, -2) + "." + extension;
@@ -55,27 +39,34 @@ const resolveOptions = (options) => {
55
39
  const staticBuild = options.build?.static ?? DEFAULT_CONFIG.BUILD.static;
56
40
  const outDir = options.build?.outDir ?? DEFAULT_CONFIG.BUILD.outDir;
57
41
  const assetsDir = options.build?.assetsDir ?? `${DEFAULT_CONFIG.CLIENT_ASSETS_DIR}`;
58
- const ensureModuleBase = (n) => {
59
- if (!n) return "";
60
- return n.startsWith(moduleBase + "/") ? n.slice(moduleBase.length + 1) : n;
61
- };
62
- const hasWrongRoot = !projectRoot.startsWith("/");
63
- if (hasWrongRoot) {
64
- console.warn("projectRoot is not a full path", projectRoot);
42
+ const preserveModulesRoot = options.build?.preserveModulesRoot ?? DEFAULT_CONFIG.BUILD.preserveModulesRoot;
43
+ const moduleBase = typeof options.moduleBase === "string" ? options.moduleBase : DEFAULT_CONFIG.MODULE_BASE;
44
+ const moduleBasePath = typeof options.moduleBasePath === "string" ? options.moduleBasePath : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_PATH;
45
+ const moduleBaseURL = typeof options.moduleBaseURL === "string" ? options.moduleBaseURL : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_URL;
46
+ const moduleRootPath = typeof options.moduleRootPath === "string" ? options.moduleRootPath : join(projectRoot, outDir, client);
47
+ const publicOrigin = typeof options.publicOrigin === "string" ? options.publicOrigin : process.env.VITE_PUBLIC_ORIGIN ?? DEFAULT_CONFIG.PUBLIC_ORIGIN;
48
+ const rscWorkerPath = typeof options.rscWorkerPath === "string" ? join(projectRoot, options.rscWorkerPath) : join(pluginRoot, DEFAULT_CONFIG.RSC_WORKER_PATH);
49
+ const htmlWorkerPath = typeof options.htmlWorkerPath === "string" ? join(projectRoot, options.htmlWorkerPath) : join(pluginRoot, DEFAULT_CONFIG.HTML_WORKER_PATH);
50
+ const loaderPath = typeof options.loaderPath === "string" ? join(projectRoot, options.loaderPath) : join(pluginRoot, DEFAULT_CONFIG.LOADER_PATH);
51
+ if (process.env.VITE_BASE_URL !== moduleBaseURL) {
52
+ process.env.VITE_BASE_URL = moduleBaseURL;
65
53
  }
66
- const wrongRoot = !hasWrongRoot ? projectRoot.slice(1) : projectRoot;
67
- const ensureNoRoot = (n) => {
68
- if (typeof n !== "string" || n === "") {
69
- return "";
70
- }
71
- if (n.startsWith(wrongRoot)) {
72
- return n.slice(wrongRoot.length + 1);
73
- }
74
- return n.startsWith(projectRoot + "/") ? n.slice(projectRoot.length + 1) : n;
75
- };
54
+ if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {
55
+ process.env.VITE_PUBLIC_ORIGIN = publicOrigin;
56
+ }
57
+ const normalizer = options.normalizer ?? createInputNormalizer({
58
+ root: projectRoot,
59
+ preserveModulesRoot: preserveModulesRoot === true ? moduleBase : undefined,
60
+ removeExtension: true,
61
+ moduleBasePath
62
+ });
63
+ const testModuleExtension = resolveAutoDiscoverMatcher(
64
+ options.autoDiscover?.moduleExtension,
65
+ DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension
66
+ );
76
67
  const testModulePattern = resolveAutoDiscoverMatcher(
77
68
  options.autoDiscover?.modulePattern,
78
- DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern
69
+ options.autoDiscover?.moduleExtension ? (id) => testModuleExtension(id.toLowerCase()) : DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern
79
70
  );
80
71
  const testJson = resolveAutoDiscoverMatcher(
81
72
  options.autoDiscover?.jsonPattern,
@@ -95,11 +86,11 @@ const resolveOptions = (options) => {
95
86
  );
96
87
  const testClientComponents = resolveAutoDiscoverMatcher(
97
88
  options.autoDiscover?.clientComponents,
98
- DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents
89
+ options.autoDiscover?.moduleExtension ? (id) => testModuleExtension(id.toLowerCase()) && /(\.|\/)?client(\.|\/)/.test(id.toLowerCase()) : DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents
99
90
  );
100
91
  const testServerFunctions = resolveAutoDiscoverMatcher(
101
92
  options.autoDiscover?.serverFunctions,
102
- DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions
93
+ options.autoDiscover?.moduleExtension ? (id) => testModuleExtension(id.toLowerCase()) && /(\.|\/)?server(\.|\/)/.test(id.toLowerCase()) : DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions
103
94
  );
104
95
  const testNodeOnly = resolveAutoDiscoverMatcher(
105
96
  options.autoDiscover?.nodeOnly,
@@ -107,11 +98,11 @@ const resolveOptions = (options) => {
107
98
  );
108
99
  const testPropsPattern = resolveAutoDiscoverMatcher(
109
100
  options.autoDiscover?.propsPattern,
110
- DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern
101
+ options.autoDiscover?.moduleExtension ? (id) => testModuleExtension(id.toLowerCase()) && /(\.|\/)?props(\.|\/)/.test(id.toLowerCase()) : DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern
111
102
  );
112
103
  const testPagePattern = resolveAutoDiscoverMatcher(
113
104
  options.autoDiscover?.pagePattern,
114
- DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern
105
+ options.autoDiscover?.moduleExtension ? (id) => testModuleExtension(id.toLowerCase()) && /(\.|\/)?page(\.|\/)/.test(id.toLowerCase()) : DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern
115
106
  );
116
107
  const testCssModule = resolveAutoDiscoverMatcher(
117
108
  options.autoDiscover?.cssModulePattern,
@@ -129,7 +120,14 @@ const resolveOptions = (options) => {
129
120
  options.autoDiscover?.dotFiles,
130
121
  DEFAULT_CONFIG.AUTO_DISCOVER.dotFiles
131
122
  );
132
- const preserveModulesRoot = options.build?.preserveModulesRoot ?? DEFAULT_CONFIG.BUILD.preserveModulesRoot;
123
+ const isServerFunction = resolveAutoDiscoverMatcher(
124
+ options.autoDiscover?.isServerFunction,
125
+ options.autoDiscover?.serverDirective ? (code) => code.match(options.autoDiscover?.serverDirective) !== null : DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective
126
+ );
127
+ const isClientComponent = resolveAutoDiscoverMatcher(
128
+ options.autoDiscover?.isClientComponent,
129
+ options.autoDiscover?.clientDirective ? (code) => code.match(options.autoDiscover?.clientDirective) !== null : DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective
130
+ );
133
131
  const hashOption = typeof options.build?.hash === "string" ? options.build.hash : DEFAULT_CONFIG.BUILD.hash;
134
132
  const hashString = hashOption === "" ? "" : `-[${hashOption}]`;
135
133
  const addModuleExtension = (path) => {
@@ -202,39 +200,30 @@ const resolveOptions = (options) => {
202
200
  return hash(`${n.name}.js`, ssr);
203
201
  }
204
202
  }
205
- return hash(
206
- addModuleExtension(getOutputPath(ensureModuleBase(ensureNoRoot(n.name)))),
207
- ssr
208
- );
203
+ return hash(addModuleExtension(getOutputPath(normalizer(n.name)[0])), ssr);
209
204
  };
210
205
  const chunkFile = (n, ssr) => {
211
- return hash(
212
- addModuleExtension(
213
- getOutputPath(ensureModuleBase(ensureNoRoot("_" + n.name)))
214
- ),
215
- ssr
216
- );
206
+ return hash(addModuleExtension(getOutputPath(normalizer(n.name)[0])), ssr);
217
207
  };
218
208
  const assetFile = (n, ssr) => {
219
- return hash(getOutputPath(ensureModuleBase(ensureNoRoot(n.names[0]))), ssr);
209
+ return hash(getOutputPath(normalizer(n.names[0])[0]), ssr);
220
210
  };
221
211
  const moduleID = typeof options.moduleID === "function" ? options.moduleID : (id) => {
222
- if (moduleBasePath !== "" && !id.startsWith(moduleBasePath)) {
223
- id = join(moduleBasePath, id);
212
+ let normalizedId = id.replace(/^\/+|\/+$/g, "");
213
+ if (moduleBasePath !== "" && !normalizedId.startsWith(moduleBasePath)) {
214
+ normalizedId = join(moduleBasePath, normalizedId);
224
215
  }
225
- if (!id.startsWith("/")) {
226
- if (id.startsWith(moduleBase)) {
227
- id = id.slice(moduleBase.length);
216
+ if (process.env["NODE_ENV"] === "production") {
217
+ if (normalizedId.startsWith(moduleBase)) {
218
+ normalizedId = normalizedId.slice(moduleBase.length);
219
+ } else if (normalizedId.startsWith("/" + moduleBase)) {
220
+ normalizedId = normalizedId.slice(moduleBase.length + 1);
228
221
  }
229
- id = "/" + id;
230
222
  }
231
- if (id.startsWith("/" + moduleBase)) {
232
- id = id.slice(moduleBase.length + 1);
233
- if (!id.startsWith("/")) {
234
- id = "/" + id;
235
- }
223
+ if (!normalizedId.startsWith("/")) {
224
+ normalizedId = "/" + normalizedId;
236
225
  }
237
- return id;
226
+ return normalizedId;
238
227
  };
239
228
  const rscOutputPath = options.build?.rscOutputPath ?? DEFAULT_CONFIG.BUILD.rscOutputPath;
240
229
  const htmlOutputPath = options.build?.htmlOutputPath ?? DEFAULT_CONFIG.BUILD.htmlOutputPath;
@@ -254,22 +243,10 @@ const resolveOptions = (options) => {
254
243
  chunkFile: typeof options.build?.chunkFile === "function" ? options.build.chunkFile : chunkFile,
255
244
  assetFile: typeof options.build?.assetFile === "function" ? options.build.assetFile : assetFile
256
245
  };
257
- const moduleBase = typeof options.moduleBase === "string" ? options.moduleBase : DEFAULT_CONFIG.MODULE_BASE;
258
- const moduleBasePath = typeof options.moduleBasePath === "string" ? options.moduleBasePath : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_PATH;
259
- const moduleBaseURL = typeof options.moduleBaseURL === "string" ? options.moduleBaseURL : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_URL;
260
- const moduleRootPath = typeof options.moduleRootPath === "string" ? options.moduleRootPath : join(projectRoot, outDir, client);
261
- const publicOrigin = typeof options.publicOrigin === "string" ? options.publicOrigin : process.env.VITE_PUBLIC_ORIGIN ?? DEFAULT_CONFIG.PUBLIC_ORIGIN;
262
- const rscWorkerPath = typeof options.rscWorkerPath === "string" ? join(projectRoot, options.rscWorkerPath) : join(pluginRoot, DEFAULT_CONFIG.RSC_WORKER_PATH);
263
- const htmlWorkerPath = typeof options.htmlWorkerPath === "string" ? join(projectRoot, options.htmlWorkerPath) : join(pluginRoot, DEFAULT_CONFIG.HTML_WORKER_PATH);
264
- const loaderPath = typeof options.loaderPath === "string" ? join(projectRoot, options.loaderPath) : join(pluginRoot, DEFAULT_CONFIG.LOADER_PATH);
265
- if (process.env.VITE_BASE_URL !== moduleBaseURL) {
266
- process.env.VITE_BASE_URL = moduleBaseURL;
267
- }
268
- if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {
269
- process.env.VITE_PUBLIC_ORIGIN = publicOrigin;
270
- }
271
246
  const autoDiscover = {
272
- moduleExtension: options.autoDiscover?.moduleExtension ?? DEFAULT_CONFIG.MODULE_EXTENSION,
247
+ moduleExtension: options.autoDiscover?.moduleExtension ?? DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension,
248
+ serverDirective: options.autoDiscover?.serverDirective ?? DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective,
249
+ clientDirective: options.autoDiscover?.clientDirective ?? DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective,
273
250
  modulePattern: testModulePattern,
274
251
  cssPattern: testCss,
275
252
  jsonPattern: testJson,
@@ -283,14 +260,10 @@ const resolveOptions = (options) => {
283
260
  dotFiles: testDotFiles,
284
261
  virtualPattern: testVirtual,
285
262
  htmlPattern: testHtml,
286
- rscPattern: testRsc
263
+ rscPattern: testRsc,
264
+ isServerFunction,
265
+ isClientComponent
287
266
  };
288
- const normalizer = options.normalizer ?? createInputNormalizer({
289
- root: projectRoot,
290
- preserveModulesRoot: preserveModulesRoot === true ? moduleBase : undefined,
291
- removeExtension: true,
292
- moduleBasePath
293
- });
294
267
  const pipeableStreamOptions = options.pipeableStreamOptions ? options.pipeableStreamOptions : {};
295
268
  try {
296
269
  return {
@@ -317,7 +290,6 @@ const resolveOptions = (options) => {
317
290
  css: {
318
291
  inlineCss: options.css?.inlineCss ?? DEFAULT_CONFIG.CSS.inlineCss,
319
292
  inlineThreshold: options.css?.inlineThreshold ?? DEFAULT_CONFIG.CSS.inlineThreshold,
320
- purgeCss: options.css?.purgeCss ?? DEFAULT_CONFIG.CSS.purgeCss,
321
293
  inlinePatterns: options.css?.inlinePatterns ?? DEFAULT_CONFIG.CSS.inlinePatterns,
322
294
  linkPatterns: options.css?.linkPatterns ?? DEFAULT_CONFIG.CSS.linkPatterns
323
295
  },
@@ -326,7 +298,7 @@ const resolveOptions = (options) => {
326
298
  loaderPath,
327
299
  clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,
328
300
  serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,
329
- moduleBaseExceptions: options.moduleBaseExceptions ?? [],
301
+ // moduleBaseExceptions: options.moduleBaseExceptions ?? [],
330
302
  autoDiscover,
331
303
  pipeableStreamOptions
332
304
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolveOptions.js","sources":["../../../plugin/config/resolveOptions.ts"],"sourcesContent":["import type { PreRenderedAsset } from \"rollup\";\nimport type { PreRenderedChunk } from \"rollup\";\nimport type { StreamPluginOptions, ResolvedUserOptions } from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { join } from \"node:path\";\nimport { pluginRoot } from \"../root.js\";\nimport { CssCollector } from \"../components/css-collector.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\n\n// ============================================================================\n// Utility Functions\n// ============================================================================\n\n/**\n * Resolves a matcher pattern to a function that tests paths\n */\nconst resolveAutoDiscoverMatcher = (\n options: undefined | string | RegExp | ((path: string) => boolean),\n fallback: RegExp | ((path: string) => boolean)\n) => {\n if (!options) {\n if (typeof fallback === \"function\") {\n return fallback;\n } else {\n return (path: string) => fallback.test(path);\n }\n }\n if (typeof options === \"string\") {\n const matcher = new RegExp(options);\n return (path: string) => matcher.test(path);\n } else if (typeof options === \"function\") {\n return options;\n } else {\n return (path: string) => options.test(path);\n }\n};\n\n/**\n * Ensures a path ends with .js extension\n */\nconst addExtension = (path: string, extension: string = \"js\") => {\n if (path.endsWith(`.${extension}`)) return path;\n if (path.endsWith(\"/.\")) return path.slice(0, -2) + \".\" + extension;\n if (path.endsWith(\".\")) return path + \".\" + extension;\n return path + \".\" + extension;\n};\n\n/**\n * Handles search query parameters in file paths\n */\nconst handleSearchQuery = (path: string) => {\n const searchQuery = path.split(\"?\")[1];\n if (!searchQuery) return path;\n const folder = path.split(\"/\").slice(0, -1).join(\"/\");\n const filename = path.split(\"/\").pop();\n return `${folder}/${filename}?${searchQuery}`;\n};\n\n/**\n * Applies pattern matching to file paths\n */\nconst registerPath = (\n path: string,\n _pattern?: string | RegExp | ((path: string) => boolean) | undefined,\n _fallback?: string | undefined\n) => {\n return path;\n};\n\n// ============================================================================\n// Main Options Resolver\n// ============================================================================\n\nexport const resolveOptions = <\n InlineCSS extends boolean | undefined = boolean | undefined\n>(\n options: StreamPluginOptions<InlineCSS>\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions<InlineCSS> }\n | { type: \"error\"; error: Error } => {\n \n // Basic configuration\n const projectRoot = options.projectRoot ?? process.cwd();\n const {\n pageExportName = DEFAULT_CONFIG.PAGE_EXPORT_NAME,\n propsExportName = DEFAULT_CONFIG.PROPS_EXPORT_NAME,\n } = options;\n\n // Build configuration\n const pages =\n typeof options.build?.pages === \"function\"\n ? options.build.pages\n : Array.isArray(options.build?.pages)\n ? options.build.pages\n : DEFAULT_CONFIG.BUILD.pages;\n\n let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;\n let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;\n const api = options.build?.api ?? DEFAULT_CONFIG.BUILD.api;\n const staticBuild = options.build?.static ?? DEFAULT_CONFIG.BUILD.static;\n const outDir = options.build?.outDir ?? DEFAULT_CONFIG.BUILD.outDir;\n const assetsDir =\n options.build?.assetsDir ?? `${DEFAULT_CONFIG.CLIENT_ASSETS_DIR}`;\n\n // Path normalization helpers\n const ensureModuleBase = (n: string | null) => {\n if (!n) return \"\";\n return n.startsWith(moduleBase + \"/\") ? n.slice(moduleBase.length + 1) : n;\n };\n\n const hasWrongRoot = !projectRoot.startsWith(\"/\");\n if (hasWrongRoot) {\n console.warn(\"projectRoot is not a full path\", projectRoot);\n }\n /**\n * If the defined project root is already wrong, we keep it as is.\n * Otherwise, we remove the leading slash as a representation of the wrong root.\n */\n const wrongRoot = !hasWrongRoot ? projectRoot.slice(1) : projectRoot;\n\n const ensureNoRoot = (n: string | null) => {\n if (typeof n !== \"string\" || n === \"\") {\n return \"\";\n }\n // if the path starts with the wrong root, we remove the wrong root\n if (n.startsWith(wrongRoot)) {\n return n.slice(wrongRoot.length + 1);\n }\n // if the path starts with the project root, we remove the project root\n return n.startsWith(projectRoot + \"/\")\n ? n.slice(projectRoot.length + 1)\n : n;\n };\n\n // Auto-discovery pattern matchers\n const testModulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.modulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern\n );\n\n const testJson = resolveAutoDiscoverMatcher(\n options.autoDiscover?.jsonPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.jsonPattern\n );\n\n const testCss = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssPattern\n );\n\n const testHtml = resolveAutoDiscoverMatcher(\n options.autoDiscover?.htmlPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.htmlPattern\n );\n\n const testRsc = resolveAutoDiscoverMatcher(\n options.autoDiscover?.rscPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.rscPattern\n );\n\n const testClientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n\n const testServerFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n\n const testNodeOnly = resolveAutoDiscoverMatcher(\n options.autoDiscover?.nodeOnly,\n DEFAULT_CONFIG.AUTO_DISCOVER.nodeOnly\n );\n\n const testPropsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n\n const testPagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n\n const testCssModule = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n\n const testVendor = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n\n const testVirtual = resolveAutoDiscoverMatcher(\n options.autoDiscover?.virtualPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.virtualPattern\n );\n\n const testDotFiles = resolveAutoDiscoverMatcher(\n options.autoDiscover?.dotFiles,\n DEFAULT_CONFIG.AUTO_DISCOVER.dotFiles\n );\n\n // Build options\n const preserveModulesRoot =\n options.build?.preserveModulesRoot ??\n DEFAULT_CONFIG.BUILD.preserveModulesRoot;\n\n const hashOption =\n typeof options.build?.hash === \"string\"\n ? options.build.hash\n : DEFAULT_CONFIG.BUILD.hash;\n\n const hashString = hashOption === \"\" ? \"\" : `-[${hashOption}]`;\n\n const addModuleExtension = (path: string) => {\n const isAsset =\n autoDiscover.cssPattern(path) || autoDiscover.jsonPattern(path);\n if (isAsset) {\n return path;\n }\n return addExtension(path);\n };\n\n // File naming and hashing\n\n const hash = (n: string | null, ssr: boolean) => {\n if (!n) return \"\";\n if (ssr) return n;\n if (hashString === \"\" || autoDiscover.nodeOnly(n)) {\n return n;\n }\n const extensionIndex = n.lastIndexOf(\".\");\n if (extensionIndex !== -1) {\n const extension = n.slice(extensionIndex);\n const filename = n.slice(0, extensionIndex);\n return filename + hashString + extension;\n } else {\n return n + hashString;\n }\n };\n\n // Output path resolution\n const getOutputPath = (n: string | null) => {\n if (!n) return \"\";\n let path = handleSearchQuery(n);\n path = path.startsWith(moduleBase + \"/\")\n ? path.slice(moduleBase.length + 1)\n : path;\n\n if (testVendor(path))\n return registerPath(path, options.autoDiscover?.vendorPattern, \"vendor\");\n if (testCssModule(path))\n return registerPath(\n path,\n options.autoDiscover?.cssModulePattern,\n \".css.js\"\n );\n if (testCss(path))\n return registerPath(path, options.autoDiscover?.cssPattern, \".css\");\n if (testClientComponents(path))\n return registerPath(\n path,\n options.autoDiscover?.clientComponents,\n \"client\"\n );\n if (testHtml(path))\n return registerPath(path, options.autoDiscover?.htmlPattern, \".html\");\n if (testJson(path))\n return registerPath(path, options.autoDiscover?.jsonPattern, \".json\");\n if (testPropsPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.propsPattern,\n options.propsExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PROPS_EXPORT_NAME.toLowerCase()\n );\n if (testPagePattern(path))\n return registerPath(\n path,\n options.autoDiscover?.pagePattern,\n options.pageExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PAGE_EXPORT_NAME.toLowerCase()\n );\n if (testServerFunctions(path))\n return registerPath(\n path,\n options.autoDiscover?.serverFunctions,\n \"server\"\n );\n if (testModulePattern(path)) return path;\n return path;\n };\n\n // File naming functions\n const entryFile = (n: PreRenderedChunk, ssr: boolean) => {\n if (testVendor(n.name)) {\n const search = n.facadeModuleId?.split(\"?\")[1];\n if (search) {\n return hash(`${n.name}.${search}.js`, ssr);\n } else {\n return hash(`${n.name}.js`, ssr);\n }\n }\n return hash(\n addModuleExtension(getOutputPath(ensureModuleBase(ensureNoRoot(n.name)))),\n ssr\n );\n };\n\n const chunkFile = (n: PreRenderedChunk, ssr: boolean) => {\n return hash(\n addModuleExtension(\n getOutputPath(ensureModuleBase(ensureNoRoot(\"_\" + n.name)))\n ),\n ssr\n );\n };\n\n const assetFile = (n: PreRenderedAsset, ssr: boolean) => {\n return hash(getOutputPath(ensureModuleBase(ensureNoRoot(n.names[0]))), ssr);\n };\n\n const moduleID =\n typeof options.moduleID === \"function\"\n ? options.moduleID\n : (id: string) => {\n if (moduleBasePath !== \"\" && !id.startsWith(moduleBasePath)) {\n id = join(moduleBasePath, id);\n }\n if (!id.startsWith(\"/\")) {\n if (id.startsWith(moduleBase)) {\n id = id.slice(moduleBase.length);\n }\n id = \"/\" + id;\n }\n if (id.startsWith(\"/\" + moduleBase)) {\n id = id.slice(moduleBase.length + 1);\n if (!id.startsWith(\"/\")) {\n id = \"/\" + id;\n }\n }\n return id;\n };\n\n const rscOutputPath =\n options.build?.rscOutputPath ?? DEFAULT_CONFIG.BUILD.rscOutputPath;\n const htmlOutputPath =\n options.build?.htmlOutputPath ?? DEFAULT_CONFIG.BUILD.htmlOutputPath;\n\n // Build configuration object\n const build = {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n rscOutputPath,\n htmlOutputPath,\n entryFile:\n typeof options.build?.entryFile === \"function\"\n ? options.build.entryFile\n : entryFile,\n chunkFile:\n typeof options.build?.chunkFile === \"function\"\n ? options.build.chunkFile\n : chunkFile,\n assetFile:\n typeof options.build?.assetFile === \"function\"\n ? options.build.assetFile\n : assetFile,\n };\n\n // Module path configuration\n const moduleBase =\n typeof options.moduleBase === \"string\"\n ? options.moduleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n\n const moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_PATH;\n\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_URL;\n\n const moduleRootPath =\n typeof options.moduleRootPath === \"string\"\n ? options.moduleRootPath\n : join(projectRoot, outDir, client);\n\n const publicOrigin =\n typeof options.publicOrigin === \"string\"\n ? options.publicOrigin\n : process.env.VITE_PUBLIC_ORIGIN ?? DEFAULT_CONFIG.PUBLIC_ORIGIN;\n\n // Worker and loader paths\n const rscWorkerPath =\n typeof options.rscWorkerPath === \"string\"\n ? join(projectRoot, options.rscWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.RSC_WORKER_PATH);\n\n const htmlWorkerPath =\n typeof options.htmlWorkerPath === \"string\"\n ? join(projectRoot, options.htmlWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.HTML_WORKER_PATH);\n\n const loaderPath =\n typeof options.loaderPath === \"string\"\n ? join(projectRoot, options.loaderPath)\n : join(pluginRoot, DEFAULT_CONFIG.LOADER_PATH);\n // these will never be cleaned up, because, we are resolving the user options\n // and it's assumed they are relevant until the process stops\n if (process.env.VITE_BASE_URL !== moduleBaseURL) {\n process.env.VITE_BASE_URL = moduleBaseURL;\n }\n if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {\n process.env.VITE_PUBLIC_ORIGIN = publicOrigin;\n }\n // Auto-discovery configuration\n const autoDiscover = {\n moduleExtension:\n options.autoDiscover?.moduleExtension ?? DEFAULT_CONFIG.MODULE_EXTENSION,\n modulePattern: testModulePattern,\n cssPattern: testCss,\n jsonPattern: testJson,\n clientComponents: testClientComponents,\n serverFunctions: testServerFunctions,\n nodeOnly: testNodeOnly,\n propsPattern: testPropsPattern,\n pagePattern: testPagePattern,\n cssModulePattern: testCssModule,\n vendorPattern: testVendor,\n dotFiles: testDotFiles,\n virtualPattern: testVirtual,\n htmlPattern: testHtml,\n rscPattern: testRsc,\n };\n\n const normalizer =\n options.normalizer ??\n createInputNormalizer({\n root: projectRoot,\n preserveModulesRoot:\n preserveModulesRoot === true ? moduleBase : undefined,\n removeExtension: true,\n moduleBasePath,\n });\n const pipeableStreamOptions = options.pipeableStreamOptions\n ? options.pipeableStreamOptions\n : {};\n\n // Return resolved options\n try {\n return {\n type: \"success\",\n userOptions: {\n projectRoot,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n moduleRootPath,\n publicOrigin,\n build: build,\n verbose: options.verbose ?? DEFAULT_CONFIG.VERBOSE,\n onMetrics: options.onMetrics ?? DEFAULT_CONFIG.ON_METRICS,\n onEvent: options.onEvent,\n Page: options.Page ?? undefined,\n props: options.props ?? undefined,\n Html: options.Html ?? DEFAULT_CONFIG.HTML,\n CssCollector: options.CssCollector ?? CssCollector,\n normalizer: normalizer,\n moduleID: moduleID,\n pageExportName: pageExportName,\n propsExportName: propsExportName,\n css: {\n inlineCss: options.css?.inlineCss ?? DEFAULT_CONFIG.CSS.inlineCss,\n inlineThreshold:\n options.css?.inlineThreshold ?? DEFAULT_CONFIG.CSS.inlineThreshold,\n purgeCss: options.css?.purgeCss ?? DEFAULT_CONFIG.CSS.purgeCss,\n inlinePatterns:\n options.css?.inlinePatterns ?? DEFAULT_CONFIG.CSS.inlinePatterns,\n linkPatterns:\n options.css?.linkPatterns ?? DEFAULT_CONFIG.CSS.linkPatterns,\n },\n htmlWorkerPath: htmlWorkerPath,\n rscWorkerPath: rscWorkerPath,\n loaderPath: loaderPath,\n clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,\n moduleBaseExceptions: options.moduleBaseExceptions ?? [],\n autoDiscover: autoDiscover,\n pipeableStreamOptions,\n } as ResolvedUserOptions<InlineCSS>,\n };\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error ? error : new Error(\"Failed to resolve options\"),\n };\n }\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveOptions.js","sources":["../../../plugin/config/resolveOptions.ts"],"sourcesContent":["import type { PreRenderedAsset } from \"rollup\";\nimport type { PreRenderedChunk } from \"rollup\";\nimport type {\n StreamPluginOptions,\n ResolvedUserOptions,\n PagePropOpt,\n InlineCssOpt,\n} from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { join } from \"node:path\";\nimport { pluginRoot } from \"../root.js\";\nimport { CssCollector } from \"../components/css-collector.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\nimport { resolveAutoDiscoverMatcher } from \"./resolveAutoDiscoverMatcher.js\";\n\n/**\n * Ensures a path ends with .js extension\n */\nconst addExtension = (path: string, extension: string = \"js\") => {\n if (path.endsWith(`.${extension}`)) return path;\n if (path.endsWith(\"/.\")) return path.slice(0, -2) + \".\" + extension;\n if (path.endsWith(\".\")) return path + \".\" + extension;\n return path + \".\" + extension;\n};\n\n/**\n * Handles search query parameters in file paths\n */\nconst handleSearchQuery = (path: string) => {\n const searchQuery = path.split(\"?\")[1];\n if (!searchQuery) return path;\n const folder = path.split(\"/\").slice(0, -1).join(\"/\");\n const filename = path.split(\"/\").pop();\n return `${folder}/${filename}?${searchQuery}`;\n};\n\n/**\n * Applies pattern matching to file paths\n */\nconst registerPath = (\n path: string,\n _pattern?: string | RegExp | ((path: string) => boolean) | undefined,\n _fallback?: string | undefined\n) => {\n return path;\n};\n\n// ============================================================================\n// Main Options Resolver\n// ============================================================================\n\nexport const resolveOptions = <\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>(\n options: StreamPluginOptions<T, InlineCSS>\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions<T, InlineCSS> }\n | { type: \"error\"; error: Error } => {\n // Basic configuration\n const projectRoot = options.projectRoot ?? process.cwd();\n const {\n pageExportName = DEFAULT_CONFIG.PAGE_EXPORT_NAME,\n propsExportName = DEFAULT_CONFIG.PROPS_EXPORT_NAME,\n } = options;\n\n // Build configuration\n const pages =\n typeof options.build?.pages === \"function\"\n ? options.build.pages\n : Array.isArray(options.build?.pages)\n ? options.build.pages\n : DEFAULT_CONFIG.BUILD.pages;\n\n let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;\n let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;\n const api = options.build?.api ?? DEFAULT_CONFIG.BUILD.api;\n const staticBuild = options.build?.static ?? DEFAULT_CONFIG.BUILD.static;\n const outDir = options.build?.outDir ?? DEFAULT_CONFIG.BUILD.outDir;\n const assetsDir =\n options.build?.assetsDir ?? `${DEFAULT_CONFIG.CLIENT_ASSETS_DIR}`;\n\n // Build options\n const preserveModulesRoot =\n options.build?.preserveModulesRoot ??\n DEFAULT_CONFIG.BUILD.preserveModulesRoot;\n\n // Module path configuration\n const moduleBase =\n typeof options.moduleBase === \"string\"\n ? options.moduleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n\n const moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_PATH;\n\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_URL;\n\n const moduleRootPath =\n typeof options.moduleRootPath === \"string\"\n ? options.moduleRootPath\n : join(projectRoot, outDir, client);\n\n const publicOrigin =\n typeof options.publicOrigin === \"string\"\n ? options.publicOrigin\n : process.env.VITE_PUBLIC_ORIGIN ?? DEFAULT_CONFIG.PUBLIC_ORIGIN;\n\n // Worker and loader paths\n const rscWorkerPath =\n typeof options.rscWorkerPath === \"string\"\n ? join(projectRoot, options.rscWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.RSC_WORKER_PATH);\n\n const htmlWorkerPath =\n typeof options.htmlWorkerPath === \"string\"\n ? join(projectRoot, options.htmlWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.HTML_WORKER_PATH);\n\n const loaderPath =\n typeof options.loaderPath === \"string\"\n ? join(projectRoot, options.loaderPath)\n : join(pluginRoot, DEFAULT_CONFIG.LOADER_PATH);\n // these will never be cleaned up, because, we are resolving the user options\n // and it's assumed they are relevant until the process stops\n if (process.env.VITE_BASE_URL !== moduleBaseURL) {\n process.env.VITE_BASE_URL = moduleBaseURL;\n }\n if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {\n process.env.VITE_PUBLIC_ORIGIN = publicOrigin;\n }\n\n const normalizer =\n options.normalizer ??\n createInputNormalizer({\n root: projectRoot,\n preserveModulesRoot:\n preserveModulesRoot === true ? moduleBase : undefined,\n removeExtension: true,\n moduleBasePath,\n });\n\n const testModuleExtension = resolveAutoDiscoverMatcher(\n options.autoDiscover?.moduleExtension,\n DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension\n );\n // Auto-discovery pattern matchers\n const testModulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.modulePattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) => testModuleExtension(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern\n );\n\n const testJson = resolveAutoDiscoverMatcher(\n options.autoDiscover?.jsonPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.jsonPattern\n );\n\n const testCss = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssPattern\n );\n\n const testHtml = resolveAutoDiscoverMatcher(\n options.autoDiscover?.htmlPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.htmlPattern\n );\n\n const testRsc = resolveAutoDiscoverMatcher(\n options.autoDiscover?.rscPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.rscPattern\n );\n\n const testClientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n options.autoDiscover?.moduleExtension\n ? (id: string) =>\n testModuleExtension(id.toLowerCase()) &&\n /(\\.|\\/)?client(\\.|\\/)/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n\n const testServerFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n options.autoDiscover?.moduleExtension\n ? (id: string) =>\n testModuleExtension(id.toLowerCase()) &&\n /(\\.|\\/)?server(\\.|\\/)/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n\n const testNodeOnly = resolveAutoDiscoverMatcher(\n options.autoDiscover?.nodeOnly,\n DEFAULT_CONFIG.AUTO_DISCOVER.nodeOnly\n );\n\n const testPropsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) =>\n testModuleExtension(id.toLowerCase()) &&\n /(\\.|\\/)?props(\\.|\\/)/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n\n const testPagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) =>\n testModuleExtension(id.toLowerCase()) &&\n /(\\.|\\/)?page(\\.|\\/)/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n\n const testCssModule = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n\n const testVendor = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n\n const testVirtual = resolveAutoDiscoverMatcher(\n options.autoDiscover?.virtualPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.virtualPattern\n );\n\n const testDotFiles = resolveAutoDiscoverMatcher(\n options.autoDiscover?.dotFiles,\n DEFAULT_CONFIG.AUTO_DISCOVER.dotFiles\n );\n\n const isServerFunction = resolveAutoDiscoverMatcher(\n options.autoDiscover?.isServerFunction,\n options.autoDiscover?.serverDirective\n ? (code: string) =>\n code.match(options.autoDiscover?.serverDirective!) !== null\n : DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective\n );\n\n const isClientComponent = resolveAutoDiscoverMatcher(\n options.autoDiscover?.isClientComponent,\n options.autoDiscover?.clientDirective\n ? (code: string) =>\n code.match(options.autoDiscover?.clientDirective!) !== null\n : DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective\n );\n\n const hashOption =\n typeof options.build?.hash === \"string\"\n ? options.build.hash\n : DEFAULT_CONFIG.BUILD.hash;\n\n const hashString = hashOption === \"\" ? \"\" : `-[${hashOption}]`;\n\n const addModuleExtension = (path: string) => {\n const isAsset =\n autoDiscover.cssPattern(path) || autoDiscover.jsonPattern(path);\n if (isAsset) {\n return path;\n }\n return addExtension(path);\n };\n\n // File naming and hashing\n\n const hash = (n: string | null, ssr: boolean) => {\n if (!n) return \"\";\n if (ssr) return n;\n if (hashString === \"\" || autoDiscover.nodeOnly(n)) {\n return n;\n }\n const extensionIndex = n.lastIndexOf(\".\");\n if (extensionIndex !== -1) {\n const extension = n.slice(extensionIndex);\n const filename = n.slice(0, extensionIndex);\n return filename + hashString + extension;\n } else {\n return n + hashString;\n }\n };\n\n // Output path resolution\n const getOutputPath = (n: string | null) => {\n if (!n) return \"\";\n let path = handleSearchQuery(n);\n path = path.startsWith(moduleBase + \"/\")\n ? path.slice(moduleBase.length + 1)\n : path;\n\n if (testVendor(path))\n return registerPath(path, options.autoDiscover?.vendorPattern, \"vendor\");\n if (testCssModule(path))\n return registerPath(\n path,\n options.autoDiscover?.cssModulePattern,\n \".css.js\"\n );\n if (testCss(path))\n return registerPath(path, options.autoDiscover?.cssPattern, \".css\");\n if (testClientComponents(path))\n return registerPath(\n path,\n options.autoDiscover?.clientComponents,\n \"client\"\n );\n if (testHtml(path))\n return registerPath(path, options.autoDiscover?.htmlPattern, \".html\");\n if (testJson(path))\n return registerPath(path, options.autoDiscover?.jsonPattern, \".json\");\n if (testPropsPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.propsPattern,\n options.propsExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PROPS_EXPORT_NAME.toLowerCase()\n );\n if (testPagePattern(path))\n return registerPath(\n path,\n options.autoDiscover?.pagePattern,\n options.pageExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PAGE_EXPORT_NAME.toLowerCase()\n );\n if (testServerFunctions(path))\n return registerPath(\n path,\n options.autoDiscover?.serverFunctions,\n \"server\"\n );\n if (testModulePattern(path)) return path;\n return path;\n };\n\n // File naming functions\n const entryFile = (n: PreRenderedChunk, ssr: boolean) => {\n if (testVendor(n.name)) {\n const search = n.facadeModuleId?.split(\"?\")[1];\n if (search) {\n return hash(`${n.name}.${search}.js`, ssr);\n } else {\n return hash(`${n.name}.js`, ssr);\n }\n }\n return hash(addModuleExtension(getOutputPath(normalizer(n.name)[0])), ssr);\n };\n\n const chunkFile = (n: PreRenderedChunk, ssr: boolean) => {\n return hash(addModuleExtension(getOutputPath(normalizer(n.name)[0])), ssr);\n };\n\n const assetFile = (n: PreRenderedAsset, ssr: boolean) => {\n return hash(getOutputPath(normalizer(n.names[0])[0]), ssr);\n };\n\n const moduleID =\n typeof options.moduleID === \"function\"\n ? options.moduleID\n : (id: string) => {\n // First normalize the path to handle any leading/trailing slashes\n let normalizedId = id.replace(/^\\/+|\\/+$/g, \"\");\n\n // If moduleBasePath is set and id doesn't start with it, add it\n if (\n moduleBasePath !== \"\" &&\n !normalizedId.startsWith(moduleBasePath)\n ) {\n normalizedId = join(moduleBasePath, normalizedId);\n }\n\n // Handle moduleBase in production\n if (process.env[\"NODE_ENV\"] === \"production\") {\n if (normalizedId.startsWith(moduleBase)) {\n normalizedId = normalizedId.slice(moduleBase.length);\n } else if (normalizedId.startsWith(\"/\" + moduleBase)) {\n normalizedId = normalizedId.slice(moduleBase.length + 1);\n }\n }\n\n // Ensure the path starts with a slash\n if (!normalizedId.startsWith(\"/\")) {\n normalizedId = \"/\" + normalizedId;\n }\n\n return normalizedId;\n };\n\n const rscOutputPath =\n options.build?.rscOutputPath ?? DEFAULT_CONFIG.BUILD.rscOutputPath;\n const htmlOutputPath =\n options.build?.htmlOutputPath ?? DEFAULT_CONFIG.BUILD.htmlOutputPath;\n\n // Build configuration object\n const build = {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n rscOutputPath,\n htmlOutputPath,\n entryFile:\n typeof options.build?.entryFile === \"function\"\n ? options.build.entryFile\n : entryFile,\n chunkFile:\n typeof options.build?.chunkFile === \"function\"\n ? options.build.chunkFile\n : chunkFile,\n assetFile:\n typeof options.build?.assetFile === \"function\"\n ? options.build.assetFile\n : assetFile,\n };\n\n // Auto-discovery configuration\n const autoDiscover = {\n moduleExtension:\n options.autoDiscover?.moduleExtension ??\n DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension,\n serverDirective:\n options.autoDiscover?.serverDirective ??\n DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective,\n clientDirective:\n options.autoDiscover?.clientDirective ??\n DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective,\n modulePattern: testModulePattern,\n cssPattern: testCss,\n jsonPattern: testJson,\n clientComponents: testClientComponents,\n serverFunctions: testServerFunctions,\n nodeOnly: testNodeOnly,\n propsPattern: testPropsPattern,\n pagePattern: testPagePattern,\n cssModulePattern: testCssModule,\n vendorPattern: testVendor,\n dotFiles: testDotFiles,\n virtualPattern: testVirtual,\n htmlPattern: testHtml,\n rscPattern: testRsc,\n isServerFunction: isServerFunction,\n isClientComponent: isClientComponent,\n };\n const pipeableStreamOptions = options.pipeableStreamOptions\n ? options.pipeableStreamOptions\n : {};\n\n // Return resolved options\n try {\n return {\n type: \"success\",\n userOptions: {\n projectRoot,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n moduleRootPath,\n publicOrigin,\n build: build,\n verbose: options.verbose ?? DEFAULT_CONFIG.VERBOSE,\n onMetrics: options.onMetrics ?? DEFAULT_CONFIG.ON_METRICS,\n onEvent: options.onEvent,\n Page: options.Page ?? undefined,\n props: options.props ?? undefined,\n Html: options.Html ?? DEFAULT_CONFIG.HTML,\n CssCollector: options.CssCollector ?? CssCollector,\n normalizer: normalizer,\n moduleID: moduleID,\n pageExportName: pageExportName,\n propsExportName: propsExportName,\n css: {\n inlineCss: options.css?.inlineCss ?? DEFAULT_CONFIG.CSS.inlineCss,\n inlineThreshold:\n options.css?.inlineThreshold ?? DEFAULT_CONFIG.CSS.inlineThreshold,\n inlinePatterns:\n options.css?.inlinePatterns ?? DEFAULT_CONFIG.CSS.inlinePatterns,\n linkPatterns:\n options.css?.linkPatterns ?? DEFAULT_CONFIG.CSS.linkPatterns,\n },\n htmlWorkerPath: htmlWorkerPath,\n rscWorkerPath: rscWorkerPath,\n loaderPath: loaderPath,\n clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,\n // moduleBaseExceptions: options.moduleBaseExceptions ?? [],\n autoDiscover: autoDiscover,\n pipeableStreamOptions,\n } as ResolvedUserOptions<T, InlineCSS>,\n };\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error ? error : new Error(\"Failed to resolve options\"),\n };\n }\n};\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { ConfigEnv, UserConfig } from "vite";
2
- import type { ResolvedUserConfig, ResolvedUserOptions, AutoDiscoveredFiles } from "../types.js";
3
- export type ResolveUserConfigProps = {
2
+ import type { ResolvedUserConfig, ResolvedUserOptions, AutoDiscoveredFiles, PagePropOpt, InlineCssOpt } from "../types.js";
3
+ export type ResolveUserConfigProps<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt> = {
4
4
  condition: "react-client" | "react-server";
5
5
  config: UserConfig;
6
6
  configEnv: ConfigEnv;
7
- userOptions: ResolvedUserOptions;
7
+ userOptions: ResolvedUserOptions<T, InlineCSS>;
8
8
  autoDiscoveredFiles: Pick<AutoDiscoveredFiles, "inputs" | "staticManifest">;
9
9
  };
10
10
  export type ResolveUserConfigReturn = {
@@ -14,5 +14,5 @@ export type ResolveUserConfigReturn = {
14
14
  type: "error";
15
15
  error: Error;
16
16
  };
17
- export declare function resolveUserConfig({ condition, config, configEnv, userOptions, autoDiscoveredFiles, }: ResolveUserConfigProps): ResolveUserConfigReturn;
17
+ export declare function resolveUserConfig<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt>({ condition, config, configEnv, userOptions, autoDiscoveredFiles, }: ResolveUserConfigProps<T, InlineCSS>): ResolveUserConfigReturn;
18
18
  //# sourceMappingURL=resolveUserConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveUserConfig.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveUserConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAOrB,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,gBAAgB,CAAC,CAAC;CAC7E,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpC,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,mBAAmB,GACpB,EAAE,sBAAsB,GAAG,uBAAuB,CAqSlD"}
1
+ {"version":3,"file":"resolveUserConfig.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveUserConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AAOrB,MAAM,MAAM,sBAAsB,CAChC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,IAC3C;IACF,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,gBAAgB,CAAC,CAAC;CAC7E,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpC,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAC7C,EACA,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,mBAAmB,GACpB,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,uBAAuB,CA4ShE"}
@@ -25,6 +25,9 @@ function resolveUserConfig({
25
25
  }
26
26
  const root = config.root ?? userOptions.projectRoot ?? process.cwd();
27
27
  const handleSsrName = (info, input, fallback, ssr2) => {
28
+ if ("source" in info && info.source === "") {
29
+ return "";
30
+ }
28
31
  if (!ssr2 || !input) {
29
32
  return fallback(info, false);
30
33
  }
@@ -144,6 +147,7 @@ function resolveUserConfig({
144
147
  // client build options
145
148
  build: {
146
149
  ...config.build,
150
+ modulePreload: config.build?.modulePreload ?? false,
147
151
  emptyOutDir: config.build?.emptyOutDir ?? true,
148
152
  outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),
149
153
  assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,
@@ -153,7 +157,9 @@ function resolveUserConfig({
153
157
  minify,
154
158
  rollupOptions: {
155
159
  ...config.build?.rollupOptions,
156
- input: autoDiscoveredFiles.inputs,
160
+ input: {
161
+ ...autoDiscoveredFiles.inputs
162
+ },
157
163
  output: newOutput,
158
164
  preserveEntrySignatures: config.build?.rollupOptions?.preserveEntrySignatures ?? "exports-only"
159
165
  },
@@ -187,6 +193,7 @@ function resolveUserConfig({
187
193
  // server build options
188
194
  build: {
189
195
  ...config.build,
196
+ modulePreload: config.build?.modulePreload ?? false,
190
197
  emptyOutDir: config.build?.emptyOutDir ?? true,
191
198
  outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),
192
199
  target: config.build?.target ?? "node18",