vite-plugin-react-server 1.1.20 → 1.2.0-alpha.1

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 (824) hide show
  1. package/README.md +95 -396
  2. package/dist/_virtual/dynamic-import-helper.js +1 -1
  3. package/dist/client.d.ts +2 -1
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +6 -2
  6. package/dist/index.js +1 -1
  7. package/dist/package.json +58 -25
  8. package/dist/plugin/components/{css-collector-elements.d.ts → css.d.ts} +2 -2
  9. package/dist/plugin/components/css.d.ts.map +1 -0
  10. package/dist/plugin/components/css.js +33 -0
  11. package/dist/plugin/components/html.d.ts +1 -1
  12. package/dist/plugin/components/html.d.ts.map +1 -1
  13. package/dist/plugin/components/html.js +5 -5
  14. package/dist/plugin/components/index.d.ts +3 -3
  15. package/dist/plugin/components/index.d.ts.map +1 -1
  16. package/dist/plugin/components/index.js +9 -3
  17. package/dist/plugin/components/root.d.ts +7 -0
  18. package/dist/plugin/components/root.d.ts.map +1 -0
  19. package/dist/plugin/components/root.js +18 -0
  20. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js +1 -1
  21. package/dist/plugin/config/autoDiscover/customWorkerFiles.js +1 -1
  22. package/dist/plugin/config/autoDiscover/pageAndPropFiles.js +1 -1
  23. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts +5 -4
  24. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
  25. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +26 -7
  26. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts +25 -2
  27. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts.map +1 -1
  28. package/dist/plugin/config/autoDiscover/resolveBuildPages.js +84 -5
  29. package/dist/plugin/config/createModuleID.d.ts +3 -6
  30. package/dist/plugin/config/createModuleID.d.ts.map +1 -1
  31. package/dist/plugin/config/createModuleID.js +42 -32
  32. package/dist/plugin/config/defaults.d.ts +294 -121
  33. package/dist/plugin/config/defaults.d.ts.map +1 -1
  34. package/dist/plugin/config/defaults.js +156 -89
  35. package/dist/plugin/config/extMap.d.ts +6 -2
  36. package/dist/plugin/config/extMap.d.ts.map +1 -1
  37. package/dist/plugin/config/extMap.js +38 -48
  38. package/dist/plugin/config/flightBindings.d.ts +4 -0
  39. package/dist/plugin/config/flightBindings.d.ts.map +1 -0
  40. package/dist/plugin/config/flightBindings.js +215 -0
  41. package/dist/plugin/config/getCondition.d.ts +2 -0
  42. package/dist/plugin/config/getCondition.d.ts.map +1 -1
  43. package/dist/plugin/config/getCondition.js +4 -2
  44. package/dist/plugin/config/getPaths.js +1 -1
  45. package/dist/plugin/config/index.d.ts +17 -4
  46. package/dist/plugin/config/index.d.ts.map +1 -1
  47. package/dist/plugin/config/index.js +29 -7
  48. package/dist/plugin/config/interpolatePattern.d.ts +13 -0
  49. package/dist/plugin/config/interpolatePattern.d.ts.map +1 -0
  50. package/dist/plugin/config/interpolatePattern.js +13 -0
  51. package/dist/plugin/config/mimeTypes.js +1 -1
  52. package/dist/plugin/config/parsePattern.d.ts +25 -0
  53. package/dist/plugin/config/parsePattern.d.ts.map +1 -0
  54. package/dist/plugin/config/parsePattern.js +30 -0
  55. package/dist/plugin/config/resolveAllowedDirectives.d.ts +26 -0
  56. package/dist/plugin/config/resolveAllowedDirectives.d.ts.map +1 -0
  57. package/dist/plugin/config/resolveAllowedDirectives.js +35 -0
  58. package/dist/plugin/config/resolveDirectiveMatcher.d.ts +25 -0
  59. package/dist/plugin/config/resolveDirectiveMatcher.d.ts.map +1 -0
  60. package/dist/plugin/config/resolveDirectiveMatcher.js +33 -0
  61. package/dist/plugin/config/resolveEnv.d.ts +1 -1
  62. package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
  63. package/dist/plugin/config/resolveEnv.js +45 -28
  64. package/dist/plugin/config/resolveOptions.d.ts +13 -3
  65. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  66. package/dist/plugin/config/resolveOptions.js +230 -219
  67. package/dist/plugin/config/resolvePages.js +1 -1
  68. package/dist/plugin/config/resolvePatternWithValues.d.ts +39 -0
  69. package/dist/plugin/config/resolvePatternWithValues.d.ts.map +1 -0
  70. package/dist/plugin/config/resolvePatternWithValues.js +36 -0
  71. package/dist/plugin/config/resolveRegExp.d.ts +29 -0
  72. package/dist/plugin/config/resolveRegExp.d.ts.map +1 -0
  73. package/dist/plugin/config/resolveRegExp.js +39 -0
  74. package/dist/plugin/config/resolveUrlOption.d.ts +37 -6
  75. package/dist/plugin/config/resolveUrlOption.d.ts.map +1 -1
  76. package/dist/plugin/config/resolveUrlOption.js +42 -12
  77. package/dist/plugin/config/resolveUserConfig.d.ts +5 -4
  78. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  79. package/dist/plugin/config/resolveUserConfig.js +98 -47
  80. package/dist/plugin/env/createConfigEnv.d.ts +7 -0
  81. package/dist/plugin/env/createConfigEnv.d.ts.map +1 -0
  82. package/dist/plugin/env/createConfigEnv.js +30 -0
  83. package/dist/plugin/env/getArgValue.d.ts +8 -0
  84. package/dist/plugin/env/getArgValue.d.ts.map +1 -0
  85. package/dist/plugin/env/getArgValue.js +32 -0
  86. package/dist/plugin/env/getEnvKey.d.ts +40 -0
  87. package/dist/plugin/env/getEnvKey.d.ts.map +1 -0
  88. package/dist/plugin/env/getEnvKey.js +24 -0
  89. package/dist/plugin/env/index.d.ts +3 -0
  90. package/dist/plugin/env/index.d.ts.map +1 -1
  91. package/dist/plugin/env/index.js +3 -0
  92. package/dist/plugin/env/plugin.d.ts +6 -0
  93. package/dist/plugin/env/plugin.d.ts.map +1 -1
  94. package/dist/plugin/env/plugin.js +69 -93
  95. package/dist/plugin/env/userConfigEnv.d.ts +2 -0
  96. package/dist/plugin/env/userConfigEnv.d.ts.map +1 -0
  97. package/dist/plugin/env/userConfigEnv.js +21 -0
  98. package/dist/plugin/error/directiveError.d.ts +13 -0
  99. package/dist/plugin/error/directiveError.d.ts.map +1 -0
  100. package/dist/plugin/error/directiveError.js +21 -0
  101. package/dist/plugin/error/enhanceError.d.ts +14 -0
  102. package/dist/plugin/error/enhanceError.d.ts.map +1 -0
  103. package/dist/plugin/error/enhanceError.js +24 -0
  104. package/dist/plugin/error/index.d.ts +4 -0
  105. package/dist/plugin/error/index.d.ts.map +1 -0
  106. package/dist/plugin/error/index.js +9 -0
  107. package/dist/plugin/error/logError.d.ts +3 -0
  108. package/dist/plugin/error/logError.d.ts.map +1 -0
  109. package/dist/plugin/error/logError.js +50 -0
  110. package/dist/plugin/error/serializeError.d.ts +7 -0
  111. package/dist/plugin/error/serializeError.d.ts.map +1 -0
  112. package/dist/plugin/error/serializeError.js +37 -0
  113. package/dist/plugin/error/toError.d.ts +1 -8
  114. package/dist/plugin/error/toError.d.ts.map +1 -1
  115. package/dist/plugin/error/toError.js +62 -34
  116. package/dist/plugin/file-preserver/plugin.js +93 -105
  117. package/dist/plugin/getNodeEnv.d.ts +11 -0
  118. package/dist/plugin/getNodeEnv.d.ts.map +1 -0
  119. package/dist/plugin/getNodeEnv.js +17 -0
  120. package/dist/plugin/helpers/cleanObject.d.ts.map +1 -1
  121. package/dist/plugin/helpers/cleanObject.js +2 -1
  122. package/dist/plugin/helpers/collectManifestCss.js +1 -1
  123. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +6 -4
  124. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
  125. package/dist/plugin/helpers/collectViteModuleGraphCss.js +15 -9
  126. package/dist/plugin/helpers/createCssProps.d.ts +3 -4
  127. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
  128. package/dist/plugin/helpers/createCssProps.js +16 -15
  129. package/dist/plugin/helpers/createEventHandler.d.ts +2 -2
  130. package/dist/plugin/helpers/createEventHandler.d.ts.map +1 -1
  131. package/dist/plugin/helpers/createEventHandler.js +1 -1
  132. package/dist/plugin/helpers/createHandler.d.ts +10 -8
  133. package/dist/plugin/helpers/createHandler.d.ts.map +1 -1
  134. package/dist/plugin/helpers/createHandler.js +11 -5
  135. package/dist/plugin/helpers/createRscStream.d.ts +18 -5
  136. package/dist/plugin/helpers/createRscStream.d.ts.map +1 -1
  137. package/dist/plugin/helpers/createRscStream.js +53 -15
  138. package/dist/plugin/helpers/formatMetrics.d.ts +1 -5
  139. package/dist/plugin/helpers/formatMetrics.d.ts.map +1 -1
  140. package/dist/plugin/helpers/formatMetrics.js +2 -39
  141. package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
  142. package/dist/plugin/helpers/getBundleManifest.js +9 -2
  143. package/dist/plugin/helpers/getRouteFiles.d.ts +30 -2
  144. package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
  145. package/dist/plugin/helpers/getRouteFiles.js +100 -8
  146. package/dist/plugin/helpers/handleServerAction.d.ts +8 -7
  147. package/dist/plugin/helpers/handleServerAction.d.ts.map +1 -1
  148. package/dist/plugin/helpers/handleServerAction.js +7 -3
  149. package/dist/plugin/helpers/hydrateUserOptions.d.ts +9 -0
  150. package/dist/plugin/helpers/hydrateUserOptions.d.ts.map +1 -0
  151. package/dist/plugin/helpers/hydrateUserOptions.js +22 -0
  152. package/dist/plugin/helpers/index.d.ts +2 -0
  153. package/dist/plugin/helpers/index.d.ts.map +1 -1
  154. package/dist/plugin/helpers/index.js +31 -31
  155. package/dist/plugin/helpers/inputNormalizer.d.ts +1 -1
  156. package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
  157. package/dist/plugin/helpers/inputNormalizer.js +33 -20
  158. package/dist/plugin/helpers/metrics.d.ts +4 -10
  159. package/dist/plugin/helpers/metrics.d.ts.map +1 -1
  160. package/dist/plugin/helpers/metrics.js +3 -59
  161. package/dist/plugin/helpers/moduleRefs.js +1 -1
  162. package/dist/plugin/helpers/moduleResolver.d.ts +24 -2
  163. package/dist/plugin/helpers/moduleResolver.d.ts.map +1 -1
  164. package/dist/plugin/helpers/moduleResolver.js +61 -22
  165. package/dist/plugin/helpers/requestInfo.d.ts +31 -4
  166. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  167. package/dist/plugin/helpers/requestInfo.js +62 -35
  168. package/dist/plugin/helpers/requestToRoute.d.ts +1 -1
  169. package/dist/plugin/helpers/requestToRoute.d.ts.map +1 -1
  170. package/dist/plugin/helpers/requestToRoute.js +17 -9
  171. package/dist/plugin/helpers/resolveComponent.d.ts +57 -0
  172. package/dist/plugin/helpers/resolveComponent.d.ts.map +1 -0
  173. package/dist/plugin/helpers/resolveComponent.js +71 -0
  174. package/dist/plugin/helpers/resolveComponents.d.ts +27 -0
  175. package/dist/plugin/helpers/resolveComponents.d.ts.map +1 -0
  176. package/dist/plugin/helpers/resolveComponents.js +146 -0
  177. package/dist/plugin/helpers/resolvePage.d.ts +15 -11
  178. package/dist/plugin/helpers/resolvePage.d.ts.map +1 -1
  179. package/dist/plugin/helpers/resolvePage.js +11 -7
  180. package/dist/plugin/helpers/resolvePageAndProps.d.ts +3 -10
  181. package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
  182. package/dist/plugin/helpers/resolvePageAndProps.js +28 -18
  183. package/dist/plugin/helpers/resolveProps.d.ts +13 -7
  184. package/dist/plugin/helpers/resolveProps.d.ts.map +1 -1
  185. package/dist/plugin/helpers/resolveProps.js +55 -25
  186. package/dist/plugin/helpers/resolveUserComponents.d.ts +33 -0
  187. package/dist/plugin/helpers/resolveUserComponents.d.ts.map +1 -0
  188. package/dist/plugin/helpers/resolveUserComponents.js +163 -0
  189. package/dist/plugin/helpers/serializeUserOptions.d.ts +7 -7
  190. package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
  191. package/dist/plugin/helpers/serializeUserOptions.js +127 -42
  192. package/dist/plugin/helpers/stashReturnValue.d.ts +2 -1
  193. package/dist/plugin/helpers/stashReturnValue.d.ts.map +1 -1
  194. package/dist/plugin/helpers/stashReturnValue.js +6 -3
  195. package/dist/plugin/helpers/tryManifest.d.ts +1 -2
  196. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
  197. package/dist/plugin/helpers/tryManifest.js +1 -1
  198. package/dist/plugin/loader/createDefaultLoader.d.ts +19 -8
  199. package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -1
  200. package/dist/plugin/loader/createDefaultLoader.js +69 -107
  201. package/dist/plugin/loader/createTransformer.d.ts +6 -0
  202. package/dist/plugin/loader/createTransformer.d.ts.map +1 -0
  203. package/dist/plugin/loader/createTransformer.js +92 -0
  204. package/dist/plugin/loader/{css-loader.development.d.ts → css-loader.d.ts} +6 -8
  205. package/dist/plugin/loader/css-loader.d.ts.map +1 -0
  206. package/dist/plugin/loader/css-loader.js +134 -0
  207. package/dist/plugin/loader/directives/addLocalExportedNames.d.ts +4 -0
  208. package/dist/plugin/loader/directives/addLocalExportedNames.d.ts.map +1 -0
  209. package/dist/plugin/loader/directives/addLocalExportedNames.js +57 -0
  210. package/dist/plugin/loader/directives/analyzeDirectives.d.ts +9 -0
  211. package/dist/plugin/loader/directives/analyzeDirectives.d.ts.map +1 -0
  212. package/dist/plugin/loader/directives/analyzeDirectives.js +221 -0
  213. package/dist/plugin/loader/directives/analyzeModule.d.ts +7 -0
  214. package/dist/plugin/loader/directives/analyzeModule.d.ts.map +1 -0
  215. package/dist/plugin/loader/directives/analyzeModule.js +48 -0
  216. package/dist/plugin/loader/directives/collectExports.d.ts +13 -0
  217. package/dist/plugin/loader/directives/collectExports.d.ts.map +1 -0
  218. package/dist/plugin/loader/directives/collectExports.js +116 -0
  219. package/dist/plugin/loader/directives/collectExportsFromModule.d.ts +6 -0
  220. package/dist/plugin/loader/directives/collectExportsFromModule.d.ts.map +1 -0
  221. package/dist/plugin/loader/directives/collectExportsFromModule.js +24 -0
  222. package/dist/plugin/loader/directives/findDirectiveMatches.d.ts +3 -0
  223. package/dist/plugin/loader/directives/findDirectiveMatches.d.ts.map +1 -0
  224. package/dist/plugin/loader/directives/findDirectiveMatches.js +46 -0
  225. package/dist/plugin/loader/directives/getExportedName.d.ts +3 -0
  226. package/dist/plugin/loader/directives/getExportedName.d.ts.map +1 -0
  227. package/dist/plugin/loader/directives/getExportedName.js +59 -0
  228. package/dist/plugin/loader/directives/getExports.d.ts +7 -0
  229. package/dist/plugin/loader/directives/getExports.d.ts.map +1 -0
  230. package/dist/plugin/loader/directives/getExports.js +28 -0
  231. package/dist/plugin/loader/directives/getFunctionBody.d.ts +3 -0
  232. package/dist/plugin/loader/directives/getFunctionBody.d.ts.map +1 -0
  233. package/dist/plugin/loader/directives/getFunctionBody.js +31 -0
  234. package/dist/plugin/loader/directives/getFunctionName.d.ts +10 -0
  235. package/dist/plugin/loader/directives/getFunctionName.d.ts.map +1 -0
  236. package/dist/plugin/loader/directives/getFunctionName.js +42 -0
  237. package/dist/plugin/loader/directives/getQualifiedName.d.ts +3 -0
  238. package/dist/plugin/loader/directives/getQualifiedName.d.ts.map +1 -0
  239. package/dist/plugin/loader/directives/getQualifiedName.js +65 -0
  240. package/dist/plugin/loader/directives/index.d.ts +14 -0
  241. package/dist/plugin/loader/directives/index.d.ts.map +1 -0
  242. package/dist/plugin/loader/directives/index.js +18 -0
  243. package/dist/plugin/loader/directives/processFunctionNode.d.ts +4 -0
  244. package/dist/plugin/loader/directives/processFunctionNode.d.ts.map +1 -0
  245. package/dist/plugin/loader/directives/processFunctionNode.js +86 -0
  246. package/dist/plugin/loader/directives/typeGuards.d.ts +37 -0
  247. package/dist/plugin/loader/directives/typeGuards.d.ts.map +1 -0
  248. package/dist/plugin/loader/directives/typeGuards.js +100 -0
  249. package/dist/plugin/loader/directives/types.d.ts +154 -0
  250. package/dist/plugin/loader/directives/types.d.ts.map +1 -0
  251. package/dist/plugin/loader/directives/utils.d.ts +14 -0
  252. package/dist/plugin/loader/directives/utils.d.ts.map +1 -0
  253. package/dist/plugin/loader/directives/utils.js +21 -0
  254. package/dist/plugin/loader/env-loader.d.ts +12 -0
  255. package/dist/plugin/loader/env-loader.d.ts.map +1 -0
  256. package/dist/plugin/loader/env-loader.js +88 -0
  257. package/dist/plugin/loader/index.d.ts +8 -1
  258. package/dist/plugin/loader/index.d.ts.map +1 -1
  259. package/dist/plugin/loader/index.js +13 -4
  260. package/dist/plugin/loader/parse.d.ts +12 -2
  261. package/dist/plugin/loader/parse.d.ts.map +1 -1
  262. package/dist/plugin/loader/parse.js +28 -5
  263. package/dist/plugin/loader/react-loader.d.ts +22 -1
  264. package/dist/plugin/loader/react-loader.d.ts.map +1 -1
  265. package/dist/plugin/loader/react-loader.js +169 -6
  266. package/dist/plugin/loader/removeDirectives.d.ts +5 -0
  267. package/dist/plugin/loader/removeDirectives.d.ts.map +1 -0
  268. package/dist/plugin/loader/removeDirectives.js +17 -0
  269. package/dist/plugin/loader/removeRanges.d.ts +5 -0
  270. package/dist/plugin/loader/removeRanges.d.ts.map +1 -0
  271. package/dist/plugin/loader/removeRanges.js +20 -0
  272. package/dist/plugin/loader/sourceMap.d.ts +16 -24
  273. package/dist/plugin/loader/sourceMap.d.ts.map +1 -1
  274. package/dist/plugin/loader/sourceMap.js +125 -97
  275. package/dist/plugin/loader/transformClientModule.d.ts +9 -0
  276. package/dist/plugin/loader/transformClientModule.d.ts.map +1 -0
  277. package/dist/plugin/loader/transformClientModule.js +46 -0
  278. package/dist/plugin/loader/transformModule.d.ts +6 -0
  279. package/dist/plugin/loader/transformModule.d.ts.map +1 -0
  280. package/dist/plugin/loader/transformModule.js +37 -0
  281. package/dist/plugin/loader/transformModuleIfNeeded.d.ts +12 -1
  282. package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -1
  283. package/dist/plugin/loader/transformModuleIfNeeded.js +9 -20
  284. package/dist/plugin/loader/transformNonServerEnvironment.d.ts +10 -0
  285. package/dist/plugin/loader/transformNonServerEnvironment.d.ts.map +1 -0
  286. package/dist/plugin/loader/transformNonServerEnvironment.js +72 -0
  287. package/dist/plugin/loader/transformServerModule.d.ts +10 -0
  288. package/dist/plugin/loader/transformServerModule.d.ts.map +1 -0
  289. package/dist/plugin/loader/transformServerModule.js +103 -0
  290. package/dist/plugin/loader/transformWithAcornLoose.d.ts +12 -0
  291. package/dist/plugin/loader/transformWithAcornLoose.d.ts.map +1 -0
  292. package/dist/plugin/loader/transformWithAcornLoose.js +16 -0
  293. package/dist/plugin/loader/types.d.ts +48 -13
  294. package/dist/plugin/loader/types.d.ts.map +1 -1
  295. package/dist/plugin/metrics/collectStreamMetrics.d.ts +9 -0
  296. package/dist/plugin/metrics/collectStreamMetrics.d.ts.map +1 -0
  297. package/dist/plugin/metrics/collectStreamMetrics.js +35 -0
  298. package/dist/plugin/metrics/createRenderMetrics.d.ts +3 -0
  299. package/dist/plugin/metrics/createRenderMetrics.d.ts.map +1 -0
  300. package/dist/plugin/metrics/createRenderMetrics.js +24 -0
  301. package/dist/plugin/metrics/createStreamMetrics.d.ts +3 -0
  302. package/dist/plugin/metrics/createStreamMetrics.d.ts.map +1 -0
  303. package/dist/plugin/metrics/createStreamMetrics.js +19 -0
  304. package/dist/plugin/metrics/formatMetrics.d.ts +6 -3
  305. package/dist/plugin/metrics/formatMetrics.d.ts.map +1 -1
  306. package/dist/plugin/metrics/formatMetrics.js +5 -2
  307. package/dist/plugin/metrics/index.d.ts +3 -1
  308. package/dist/plugin/metrics/index.d.ts.map +1 -1
  309. package/dist/plugin/metrics/index.js +9 -1
  310. package/dist/plugin/metrics/types.d.ts +23 -0
  311. package/dist/plugin/metrics/types.d.ts.map +1 -0
  312. package/dist/plugin/metrics/types.js +1 -0
  313. package/dist/plugin/plugin.client.d.ts +23 -2
  314. package/dist/plugin/plugin.client.d.ts.map +1 -1
  315. package/dist/plugin/plugin.client.js +14 -9
  316. package/dist/plugin/plugin.server.d.ts +13 -2
  317. package/dist/plugin/plugin.server.d.ts.map +1 -1
  318. package/dist/plugin/plugin.server.js +15 -16
  319. package/dist/plugin/process-env.d.ts +18 -6
  320. package/dist/plugin/process-env.d.ts.map +1 -1
  321. package/dist/plugin/process-env.js +17 -0
  322. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts +11 -0
  323. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts.map +1 -0
  324. package/dist/plugin/react-client/cleanupWorkerServerAction.js +18 -0
  325. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts +9 -9
  326. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +1 -1
  327. package/dist/plugin/react-client/configureWorkerRequestHandler.js +31 -26
  328. package/dist/plugin/react-client/createMessageHandlers.d.ts +1 -1
  329. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  330. package/dist/plugin/react-client/createMessageHandlers.js +15 -3
  331. package/dist/plugin/react-client/createWorkerStream.d.ts +12 -10
  332. package/dist/plugin/react-client/createWorkerStream.d.ts.map +1 -1
  333. package/dist/plugin/react-client/createWorkerStream.js +27 -29
  334. package/dist/plugin/react-client/handleWorkerRscStream.d.ts +13 -8
  335. package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +1 -1
  336. package/dist/plugin/react-client/handleWorkerRscStream.js +51 -24
  337. package/dist/plugin/react-client/handleWorkerServerAction.d.ts +2 -1
  338. package/dist/plugin/react-client/handleWorkerServerAction.d.ts.map +1 -1
  339. package/dist/plugin/react-client/handleWorkerServerAction.js +43 -28
  340. package/dist/plugin/react-client/index.d.ts +4 -1
  341. package/dist/plugin/react-client/index.d.ts.map +1 -1
  342. package/dist/plugin/react-client/index.js +10 -1
  343. package/dist/plugin/react-client/plugin.d.ts +5 -3
  344. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  345. package/dist/plugin/react-client/plugin.js +9 -11
  346. package/dist/plugin/react-client/restartWorker.d.ts +5 -4
  347. package/dist/plugin/react-client/restartWorker.d.ts.map +1 -1
  348. package/dist/plugin/react-client/restartWorker.js +14 -13
  349. package/dist/plugin/react-server/configureReactServer.d.ts +5 -4
  350. package/dist/plugin/react-server/configureReactServer.d.ts.map +1 -1
  351. package/dist/plugin/react-server/configureReactServer.js +106 -47
  352. package/dist/plugin/react-server/handleServerAction.d.ts +3 -2
  353. package/dist/plugin/react-server/handleServerAction.d.ts.map +1 -1
  354. package/dist/plugin/react-server/handleServerAction.js +14 -20
  355. package/dist/plugin/react-server/plugin.d.ts +3 -4
  356. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  357. package/dist/plugin/react-server/plugin.js +30 -31
  358. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +8 -6
  359. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +1 -1
  360. package/dist/plugin/react-static/collectHtmlWorkerContent.js +4 -4
  361. package/dist/plugin/react-static/collectRscContent.d.ts +8 -6
  362. package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
  363. package/dist/plugin/react-static/collectRscContent.js +4 -4
  364. package/dist/plugin/react-static/configurePreviewServer.d.ts +6 -4
  365. package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
  366. package/dist/plugin/react-static/configurePreviewServer.js +32 -36
  367. package/dist/plugin/react-static/createBuildLoader.d.ts +5 -5
  368. package/dist/plugin/react-static/createBuildLoader.d.ts.map +1 -1
  369. package/dist/plugin/react-static/createBuildLoader.js +122 -30
  370. package/dist/plugin/react-static/fileWriter.js +1 -1
  371. package/dist/plugin/react-static/plugin.d.ts +3 -4
  372. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  373. package/dist/plugin/react-static/plugin.js +62 -47
  374. package/dist/plugin/react-static/renderPage.d.ts +4 -2
  375. package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
  376. package/dist/plugin/react-static/renderPage.js +21 -17
  377. package/dist/plugin/react-static/renderPages.d.ts +4 -2
  378. package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
  379. package/dist/plugin/react-static/renderPages.js +7 -6
  380. package/dist/plugin/react-static/renderStreams.d.ts +5 -22
  381. package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
  382. package/dist/plugin/react-static/renderStreams.js +6 -6
  383. package/dist/plugin/react-static/rscToHtmlStream.d.ts.map +1 -1
  384. package/dist/plugin/react-static/rscToHtmlStream.js +1 -1
  385. package/dist/plugin/react-static/temporaryReferences.js +1 -1
  386. package/dist/plugin/react-static/types.d.ts +0 -1
  387. package/dist/plugin/react-static/types.d.ts.map +1 -1
  388. package/dist/plugin/root.js +1 -1
  389. package/dist/plugin/transformer/plugin.client.d.ts +29 -1
  390. package/dist/plugin/transformer/plugin.client.d.ts.map +1 -1
  391. package/dist/plugin/transformer/plugin.client.js +96 -1
  392. package/dist/plugin/transformer/plugin.js +1 -1
  393. package/dist/plugin/transformer/plugin.server.d.ts +5 -3
  394. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
  395. package/dist/plugin/transformer/plugin.server.js +60 -69
  396. package/dist/plugin/types/css-tracking.d.ts +2 -2
  397. package/dist/plugin/types/css-tracking.d.ts.map +1 -1
  398. package/dist/plugin/types.d.ts +451 -192
  399. package/dist/plugin/types.d.ts.map +1 -1
  400. package/dist/plugin/types.js +2 -1
  401. package/dist/plugin/utils/callServer.js +1 -1
  402. package/dist/plugin/utils/createCallServer.d.ts +1 -1
  403. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  404. package/dist/plugin/utils/createCallServer.js +1 -1
  405. package/dist/plugin/utils/createReactFetcher.d.ts +2 -3
  406. package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -1
  407. package/dist/plugin/utils/createReactFetcher.js +1 -1
  408. package/dist/plugin/utils/env.js +1 -1
  409. package/dist/plugin/utils/envUrls.node.d.ts.map +1 -1
  410. package/dist/plugin/utils/envUrls.node.js +3 -2
  411. package/dist/plugin/utils/index.d.ts +1 -0
  412. package/dist/plugin/utils/index.d.ts.map +1 -1
  413. package/dist/plugin/utils/index.js +12 -5
  414. package/dist/plugin/utils/routeToURL.d.ts +12 -0
  415. package/dist/plugin/utils/routeToURL.d.ts.map +1 -0
  416. package/dist/plugin/utils/routeToURL.js +26 -0
  417. package/dist/plugin/utils/urls.d.ts.map +1 -1
  418. package/dist/plugin/utils/urls.js +5 -3
  419. package/dist/plugin/vendor/index.js +7 -1
  420. package/dist/plugin/vendor/vendor.client.js +1 -1
  421. package/dist/plugin/vendor/vendor.js +1 -1
  422. package/dist/plugin/vendor/vendor.server.js +1 -1
  423. package/dist/plugin/worker/createWorker.d.ts +31 -17
  424. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  425. package/dist/plugin/worker/createWorker.js +18 -12
  426. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts +2 -2
  427. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +1 -1
  428. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +5 -2
  429. package/dist/plugin/worker/html/html-worker.development.js +3 -3
  430. package/dist/plugin/worker/html/html-worker.production.js +1 -1
  431. package/dist/plugin/worker/html/index.d.ts +1 -1
  432. package/dist/plugin/worker/html/index.d.ts.map +1 -1
  433. package/dist/plugin/worker/html/index.js +1 -1
  434. package/dist/plugin/worker/html/messageHandler.d.ts +1 -1
  435. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  436. package/dist/plugin/worker/html/messageHandler.js +9 -11
  437. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts +3 -0
  438. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts.map +1 -0
  439. package/dist/plugin/worker/html/sendHtmlWorkerMessage.js +2 -0
  440. package/dist/plugin/worker/html/types.d.ts +20 -2
  441. package/dist/plugin/worker/html/types.d.ts.map +1 -1
  442. package/dist/plugin/worker/index.d.ts +3 -0
  443. package/dist/plugin/worker/index.d.ts.map +1 -0
  444. package/dist/plugin/worker/index.js +7 -0
  445. package/dist/plugin/worker/registerLoaders.js +2 -2
  446. package/dist/plugin/worker/rsc/handleRender.d.ts +5 -3
  447. package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -1
  448. package/dist/plugin/worker/rsc/handleRender.js +57 -38
  449. package/dist/plugin/worker/rsc/handlers.d.ts.map +1 -1
  450. package/dist/plugin/worker/rsc/handlers.js +19 -15
  451. package/dist/plugin/worker/rsc/index.d.ts +1 -1
  452. package/dist/plugin/worker/rsc/index.d.ts.map +1 -1
  453. package/dist/plugin/worker/rsc/index.js +1 -1
  454. package/dist/plugin/worker/rsc/messageHandler.d.ts +1 -1
  455. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  456. package/dist/plugin/worker/rsc/messageHandler.js +22 -8
  457. package/dist/plugin/worker/rsc/rsc-worker.development.js +77 -11
  458. package/dist/plugin/worker/rsc/rsc-worker.production.js +37 -8
  459. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts +3 -0
  460. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts.map +1 -0
  461. package/dist/plugin/worker/rsc/sendRscWorkerMessage.js +11 -0
  462. package/dist/plugin/worker/rsc/state.js +1 -1
  463. package/dist/plugin/worker/rsc/types.d.ts +95 -0
  464. package/dist/plugin/worker/rsc/types.d.ts.map +1 -0
  465. package/dist/plugin/worker/rsc/types.js +1 -0
  466. package/dist/plugin/worker/rsc/userOptions.d.ts +1 -1
  467. package/dist/plugin/worker/rsc/userOptions.d.ts.map +1 -1
  468. package/dist/plugin/worker/rsc/userOptions.js +3 -4
  469. package/dist/plugin/worker/sendMessage.d.ts +3 -4
  470. package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
  471. package/dist/plugin/worker/sendMessage.js +15 -5
  472. package/dist/plugin/worker/types.d.ts +109 -260
  473. package/dist/plugin/worker/types.d.ts.map +1 -1
  474. package/dist/server.js +1 -1
  475. package/dist/tsconfig.tsbuildinfo +1 -1
  476. package/package.json +59 -26
  477. package/plugin/components/{css-collector-elements.tsx → css.tsx} +3 -3
  478. package/plugin/components/html.tsx +4 -4
  479. package/plugin/components/index.ts +3 -3
  480. package/plugin/components/root.tsx +20 -0
  481. package/plugin/config/autoDiscover/resolveAutoDiscover.ts +173 -134
  482. package/plugin/config/autoDiscover/resolveBuildPages.ts +120 -7
  483. package/plugin/config/createModuleID.ts +60 -39
  484. package/plugin/config/defaults.tsx +189 -96
  485. package/plugin/config/extMap.ts +51 -56
  486. package/plugin/config/flightBindings.ts +221 -0
  487. package/plugin/config/getCondition.ts +6 -0
  488. package/plugin/config/index.ts +17 -4
  489. package/plugin/config/interpolatePattern.ts +19 -0
  490. package/plugin/config/parsePattern.ts +81 -0
  491. package/plugin/config/resolveAllowedDirectives.ts +59 -0
  492. package/plugin/config/resolveDirectiveMatcher.ts +57 -0
  493. package/plugin/config/resolveEnv.ts +41 -37
  494. package/plugin/config/resolveOptions.ts +437 -318
  495. package/plugin/config/resolvePatternWithValues.ts +70 -0
  496. package/plugin/config/resolveRegExp.ts +89 -0
  497. package/plugin/config/resolveUrlOption.ts +92 -20
  498. package/plugin/config/resolveUserConfig.ts +427 -351
  499. package/plugin/env/createConfigEnv.ts +40 -0
  500. package/plugin/env/getArgValue.ts +56 -0
  501. package/plugin/env/getEnvKey.ts +61 -0
  502. package/plugin/env/index.ts +4 -1
  503. package/plugin/env/plugin.ts +13 -18
  504. package/plugin/env/userConfigEnv.ts +22 -0
  505. package/plugin/error/directiveError.ts +29 -0
  506. package/plugin/error/enhanceError.ts +41 -0
  507. package/plugin/error/index.ts +3 -0
  508. package/plugin/error/logError.ts +48 -0
  509. package/plugin/error/serializeError.ts +34 -0
  510. package/plugin/error/toError.ts +75 -45
  511. package/plugin/file-preserver/plugin.ts +3 -3
  512. package/plugin/getNodeEnv.ts +24 -0
  513. package/plugin/helpers/cleanObject.ts +2 -1
  514. package/plugin/helpers/collectViteModuleGraphCss.ts +138 -118
  515. package/plugin/helpers/createCssProps.tsx +29 -30
  516. package/plugin/helpers/createEventHandler.ts +1 -1
  517. package/plugin/helpers/createHandler.ts +40 -12
  518. package/plugin/helpers/createRscStream.tsx +103 -36
  519. package/plugin/helpers/formatMetrics.ts +2 -37
  520. package/plugin/helpers/getBundleManifest.ts +10 -1
  521. package/plugin/helpers/getRouteFiles.ts +154 -9
  522. package/plugin/helpers/handleServerAction.ts +12 -7
  523. package/plugin/helpers/hydrateUserOptions.ts +23 -0
  524. package/plugin/helpers/index.ts +4 -0
  525. package/plugin/helpers/inputNormalizer.ts +44 -24
  526. package/plugin/helpers/metrics.ts +4 -64
  527. package/plugin/helpers/moduleResolver.ts +74 -19
  528. package/plugin/helpers/requestInfo.ts +95 -61
  529. package/plugin/helpers/requestToRoute.ts +38 -12
  530. package/plugin/helpers/resolveComponent.ts +173 -0
  531. package/plugin/helpers/resolveComponents.ts +202 -0
  532. package/plugin/helpers/resolvePage.ts +35 -29
  533. package/plugin/helpers/resolvePageAndProps.ts +82 -61
  534. package/plugin/helpers/resolveProps.ts +100 -37
  535. package/plugin/helpers/resolveUserComponents.ts +190 -0
  536. package/plugin/helpers/serializeUserOptions.ts +190 -69
  537. package/plugin/helpers/stashReturnValue.ts +7 -4
  538. package/plugin/helpers/tryManifest.ts +1 -1
  539. package/plugin/loader/createDefaultLoader.ts +119 -119
  540. package/plugin/loader/createTransformer.ts +110 -0
  541. package/plugin/loader/css-loader.ts +206 -0
  542. package/plugin/loader/directives/addLocalExportedNames.ts +78 -0
  543. package/plugin/loader/directives/analyzeDirectives.ts +298 -0
  544. package/plugin/loader/directives/analyzeModule.ts +57 -0
  545. package/plugin/loader/directives/collectExports.ts +181 -0
  546. package/plugin/loader/directives/collectExportsFromModule.ts +25 -0
  547. package/plugin/loader/directives/findDirectiveMatches.ts +58 -0
  548. package/plugin/loader/directives/getExportedName.ts +73 -0
  549. package/plugin/loader/directives/getExports.ts +27 -0
  550. package/plugin/loader/directives/getFunctionBody.ts +32 -0
  551. package/plugin/loader/directives/getFunctionName.ts +70 -0
  552. package/plugin/loader/directives/getQualifiedName.ts +76 -0
  553. package/plugin/loader/directives/index.ts +13 -0
  554. package/plugin/loader/directives/processFunctionNode.ts +97 -0
  555. package/plugin/loader/directives/typeGuards.ts +160 -0
  556. package/plugin/loader/directives/types.ts +174 -0
  557. package/plugin/loader/directives/utils.ts +35 -0
  558. package/plugin/loader/env-loader.ts +135 -0
  559. package/plugin/loader/index.ts +8 -6
  560. package/plugin/loader/parse.ts +42 -12
  561. package/plugin/loader/react-loader.ts +256 -4
  562. package/plugin/loader/removeDirectives.ts +14 -0
  563. package/plugin/loader/removeRanges.ts +21 -0
  564. package/plugin/loader/sourceMap.ts +174 -84
  565. package/plugin/loader/transformClientModule.ts +60 -0
  566. package/plugin/loader/transformModule.ts +59 -0
  567. package/plugin/loader/transformModuleIfNeeded.ts +40 -40
  568. package/plugin/loader/transformNonServerEnvironment.ts +95 -0
  569. package/plugin/loader/transformServerModule.ts +167 -0
  570. package/plugin/loader/transformWithAcornLoose.ts +27 -0
  571. package/plugin/loader/types.ts +58 -13
  572. package/plugin/metrics/collectStreamMetrics.ts +38 -0
  573. package/plugin/metrics/createRenderMetrics.ts +17 -0
  574. package/plugin/metrics/createStreamMetrics.ts +14 -0
  575. package/plugin/metrics/formatMetrics.ts +7 -3
  576. package/plugin/metrics/index.ts +3 -1
  577. package/plugin/metrics/types.ts +24 -0
  578. package/plugin/plugin.client.ts +43 -16
  579. package/plugin/plugin.server.ts +41 -21
  580. package/plugin/process-env.ts +27 -6
  581. package/plugin/react-client/cleanupWorkerServerAction.ts +33 -0
  582. package/plugin/react-client/configureWorkerRequestHandler.ts +206 -201
  583. package/plugin/react-client/createMessageHandlers.ts +17 -3
  584. package/plugin/react-client/createWorkerStream.ts +55 -51
  585. package/plugin/react-client/handleWorkerRscStream.ts +130 -61
  586. package/plugin/react-client/handleWorkerServerAction.ts +59 -37
  587. package/plugin/react-client/index.ts +4 -1
  588. package/plugin/react-client/plugin.ts +17 -18
  589. package/plugin/react-client/restartWorker.ts +74 -70
  590. package/plugin/react-server/configureReactServer.ts +204 -142
  591. package/plugin/react-server/handleServerAction.ts +156 -160
  592. package/plugin/react-server/plugin.ts +150 -157
  593. package/plugin/react-static/collectHtmlWorkerContent.ts +109 -102
  594. package/plugin/react-static/collectRscContent.ts +55 -51
  595. package/plugin/react-static/configurePreviewServer.ts +99 -100
  596. package/plugin/react-static/createBuildLoader.ts +157 -48
  597. package/plugin/react-static/plugin.ts +368 -357
  598. package/plugin/react-static/renderPage.ts +31 -24
  599. package/plugin/react-static/renderPages.ts +21 -14
  600. package/plugin/react-static/renderStreams.ts +13 -15
  601. package/plugin/react-static/rscToHtmlStream.ts +4 -6
  602. package/plugin/react-static/types.ts +0 -3
  603. package/plugin/transformer/README.md +82 -8
  604. package/plugin/transformer/plugin.client.ts +142 -0
  605. package/plugin/transformer/plugin.server.ts +87 -112
  606. package/plugin/types/css-tracking.ts +1 -1
  607. package/plugin/types/global.d.ts +2 -2
  608. package/plugin/types/react-server-dom-esm.d.ts +12 -13
  609. package/plugin/types.ts +684 -309
  610. package/plugin/utils/createCallServer.ts +5 -5
  611. package/plugin/utils/createReactFetcher.ts +4 -6
  612. package/plugin/utils/envUrls.node.ts +15 -10
  613. package/plugin/utils/index.ts +2 -1
  614. package/plugin/utils/routeToURL.ts +34 -0
  615. package/plugin/utils/urls.ts +10 -7
  616. package/plugin/worker/createWorker.ts +67 -34
  617. package/plugin/worker/html/README.md +10 -0
  618. package/plugin/worker/html/createHtmlWorkerRenderState.tsx +7 -4
  619. package/plugin/worker/html/html-worker.development.tsx +4 -3
  620. package/plugin/worker/html/index.ts +3 -1
  621. package/plugin/worker/html/messageHandler.tsx +10 -16
  622. package/plugin/worker/html/sendHtmlWorkerMessage.ts +8 -0
  623. package/plugin/worker/html/types.ts +67 -1
  624. package/plugin/worker/index.ts +2 -0
  625. package/plugin/worker/registerLoaders.ts +3 -3
  626. package/plugin/worker/rsc/README.md +203 -1
  627. package/plugin/worker/rsc/handleRender.ts +75 -45
  628. package/plugin/worker/rsc/handlers.ts +30 -22
  629. package/plugin/worker/rsc/index.ts +2 -0
  630. package/plugin/worker/rsc/messageHandler.tsx +23 -13
  631. package/plugin/worker/rsc/rsc-worker.development.ts +104 -17
  632. package/plugin/worker/rsc/rsc-worker.production.ts +57 -10
  633. package/plugin/worker/rsc/sendRscWorkerMessage.ts +7 -0
  634. package/plugin/worker/rsc/state.ts +1 -1
  635. package/plugin/worker/rsc/types.ts +185 -0
  636. package/plugin/worker/rsc/userOptions.ts +2 -3
  637. package/plugin/worker/sendMessage.ts +23 -14
  638. package/plugin/worker/types.ts +131 -386
  639. package/scripts/check-react-version.mjs +3 -3
  640. package/scripts/fix-unused-imports.mjs +77 -0
  641. package/tsconfig.json +1 -1
  642. package/dist/_virtual/dynamic-import-helper.js.map +0 -1
  643. package/dist/client.js.map +0 -1
  644. package/dist/index.js.map +0 -1
  645. package/dist/plugin/components/css-collector-elements.d.ts.map +0 -1
  646. package/dist/plugin/components/css-collector-elements.js +0 -33
  647. package/dist/plugin/components/css-collector-elements.js.map +0 -1
  648. package/dist/plugin/components/css-collector.d.ts +0 -7
  649. package/dist/plugin/components/css-collector.d.ts.map +0 -1
  650. package/dist/plugin/components/css-collector.js +0 -18
  651. package/dist/plugin/components/css-collector.js.map +0 -1
  652. package/dist/plugin/components/html.js.map +0 -1
  653. package/dist/plugin/components.js +0 -9
  654. package/dist/plugin/components.js.map +0 -1
  655. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js.map +0 -1
  656. package/dist/plugin/config/autoDiscover/customWorkerFiles.js.map +0 -1
  657. package/dist/plugin/config/autoDiscover/pageAndPropFiles.js.map +0 -1
  658. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js.map +0 -1
  659. package/dist/plugin/config/autoDiscover/resolveBuildPages.js.map +0 -1
  660. package/dist/plugin/config/defaults.js.map +0 -1
  661. package/dist/plugin/config/extMap.js.map +0 -1
  662. package/dist/plugin/config/getCondition.js.map +0 -1
  663. package/dist/plugin/config/getPaths.js.map +0 -1
  664. package/dist/plugin/config/mimeTypes.js.map +0 -1
  665. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts +0 -5
  666. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts.map +0 -1
  667. package/dist/plugin/config/resolveAutoDiscoverMatcher.js +0 -25
  668. package/dist/plugin/config/resolveAutoDiscoverMatcher.js.map +0 -1
  669. package/dist/plugin/config/resolveEnv.js.map +0 -1
  670. package/dist/plugin/config/resolveOptions.js.map +0 -1
  671. package/dist/plugin/config/resolvePages.js.map +0 -1
  672. package/dist/plugin/config/resolveUrlOption.js.map +0 -1
  673. package/dist/plugin/config/resolveUserConfig.js.map +0 -1
  674. package/dist/plugin/config.js +0 -17
  675. package/dist/plugin/config.js.map +0 -1
  676. package/dist/plugin/env.js +0 -79
  677. package/dist/plugin/env.js.map +0 -1
  678. package/dist/plugin/error/toError.js.map +0 -1
  679. package/dist/plugin/file-preserver.js +0 -96
  680. package/dist/plugin/file-preserver.js.map +0 -1
  681. package/dist/plugin/helpers/cleanObject.js.map +0 -1
  682. package/dist/plugin/helpers/collectManifestCss.js.map +0 -1
  683. package/dist/plugin/helpers/collectViteModuleGraphCss.js.map +0 -1
  684. package/dist/plugin/helpers/createCssProps.js.map +0 -1
  685. package/dist/plugin/helpers/createEventHandler.js.map +0 -1
  686. package/dist/plugin/helpers/createHandler.js.map +0 -1
  687. package/dist/plugin/helpers/createRscStream.js.map +0 -1
  688. package/dist/plugin/helpers/formatMetrics.js.map +0 -1
  689. package/dist/plugin/helpers/getBundleManifest.js.map +0 -1
  690. package/dist/plugin/helpers/getRouteFiles.js.map +0 -1
  691. package/dist/plugin/helpers/handleServerAction.js.map +0 -1
  692. package/dist/plugin/helpers/inputNormalizer.js.map +0 -1
  693. package/dist/plugin/helpers/metrics.js.map +0 -1
  694. package/dist/plugin/helpers/moduleRefs.js.map +0 -1
  695. package/dist/plugin/helpers/requestInfo.js.map +0 -1
  696. package/dist/plugin/helpers/requestToRoute.js.map +0 -1
  697. package/dist/plugin/helpers/resolvePage.js.map +0 -1
  698. package/dist/plugin/helpers/resolvePageAndProps.js.map +0 -1
  699. package/dist/plugin/helpers/resolveProps.js.map +0 -1
  700. package/dist/plugin/helpers/serializeUserOptions.js.map +0 -1
  701. package/dist/plugin/helpers/sourceMap.d.ts +0 -8
  702. package/dist/plugin/helpers/sourceMap.d.ts.map +0 -1
  703. package/dist/plugin/helpers/sourceMap.js +0 -136
  704. package/dist/plugin/helpers/stashReturnValue.js.map +0 -1
  705. package/dist/plugin/helpers/tryManifest.js.map +0 -1
  706. package/dist/plugin/helpers.js +0 -27
  707. package/dist/plugin/helpers.js.map +0 -1
  708. package/dist/plugin/loader/css-loader.development.d.ts.map +0 -1
  709. package/dist/plugin/loader/css-loader.development.js +0 -76
  710. package/dist/plugin/loader/css-loader.development.js.map +0 -1
  711. package/dist/plugin/loader/css-loader.production.d.ts +0 -31
  712. package/dist/plugin/loader/css-loader.production.d.ts.map +0 -1
  713. package/dist/plugin/loader/css-loader.production.js +0 -45
  714. package/dist/plugin/loader/css-loader.production.js.map +0 -1
  715. package/dist/plugin/loader/env-loader.development.d.ts +0 -13
  716. package/dist/plugin/loader/env-loader.development.d.ts.map +0 -1
  717. package/dist/plugin/loader/env-loader.development.js +0 -68
  718. package/dist/plugin/loader/handleExports.d.ts +0 -40
  719. package/dist/plugin/loader/handleExports.d.ts.map +0 -1
  720. package/dist/plugin/loader/handleExports.js +0 -209
  721. package/dist/plugin/loader/handleExports.js.map +0 -1
  722. package/dist/plugin/loader/parse.js.map +0 -1
  723. package/dist/plugin/loader/react-loader.client.d.ts +0 -2
  724. package/dist/plugin/loader/react-loader.client.d.ts.map +0 -1
  725. package/dist/plugin/loader/react-loader.client.js +0 -2
  726. package/dist/plugin/loader/react-loader.js.map +0 -1
  727. package/dist/plugin/loader/react-loader.server.d.ts +0 -21
  728. package/dist/plugin/loader/react-loader.server.d.ts.map +0 -1
  729. package/dist/plugin/loader/react-loader.server.js +0 -131
  730. package/dist/plugin/loader/transformModuleIfNeeded.js.map +0 -1
  731. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts +0 -48
  732. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts.map +0 -1
  733. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js +0 -428
  734. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js.map +0 -1
  735. package/dist/plugin/metrics/formatMetrics.js.map +0 -1
  736. package/dist/plugin/metrics.js +0 -7
  737. package/dist/plugin/metrics.js.map +0 -1
  738. package/dist/plugin/plugin.client.js.map +0 -1
  739. package/dist/plugin/plugin.server.js.map +0 -1
  740. package/dist/plugin/preserver/index.d.ts +0 -2
  741. package/dist/plugin/preserver/index.d.ts.map +0 -1
  742. package/dist/plugin/preserver/index.js +0 -1
  743. package/dist/plugin/preserver/plugin.d.ts +0 -3
  744. package/dist/plugin/preserver/plugin.d.ts.map +0 -1
  745. package/dist/plugin/preserver/plugin.js +0 -130
  746. package/dist/plugin/preserver/plugin.js.map +0 -1
  747. package/dist/plugin/react-client/configureWorkerRequestHandler.js.map +0 -1
  748. package/dist/plugin/react-client/createMessageHandlers.js.map +0 -1
  749. package/dist/plugin/react-client/createWorkerStream.js.map +0 -1
  750. package/dist/plugin/react-client/handleWorkerRscStream.js.map +0 -1
  751. package/dist/plugin/react-client/handleWorkerServerAction.js.map +0 -1
  752. package/dist/plugin/react-client/plugin.js.map +0 -1
  753. package/dist/plugin/react-client/restartWorker.js.map +0 -1
  754. package/dist/plugin/react-server/configureReactServer.js.map +0 -1
  755. package/dist/plugin/react-server/handleServerAction.js.map +0 -1
  756. package/dist/plugin/react-server/plugin.js.map +0 -1
  757. package/dist/plugin/react-static/collectHtmlWorkerContent.js.map +0 -1
  758. package/dist/plugin/react-static/collectRscContent.js.map +0 -1
  759. package/dist/plugin/react-static/configurePreviewServer.js.map +0 -1
  760. package/dist/plugin/react-static/createBuildLoader.js.map +0 -1
  761. package/dist/plugin/react-static/fileWriter.js.map +0 -1
  762. package/dist/plugin/react-static/plugin.js.map +0 -1
  763. package/dist/plugin/react-static/renderPage.js.map +0 -1
  764. package/dist/plugin/react-static/renderPages.js.map +0 -1
  765. package/dist/plugin/react-static/renderStreams.js.map +0 -1
  766. package/dist/plugin/react-static/rscToHtmlStream.js.map +0 -1
  767. package/dist/plugin/react-static/streamHandler.d.ts +0 -2
  768. package/dist/plugin/react-static/streamHandler.d.ts.map +0 -1
  769. package/dist/plugin/react-static/temporaryReferences.js.map +0 -1
  770. package/dist/plugin/root.js.map +0 -1
  771. package/dist/plugin/source-map/createMappingsSerializer.d.ts +0 -2
  772. package/dist/plugin/source-map/createMappingsSerializer.d.ts.map +0 -1
  773. package/dist/plugin/source-map/createMappingsSerializer.js +0 -129
  774. package/dist/plugin/source-map/createMappingsSerializer.js.map +0 -1
  775. package/dist/plugin/source-map/readMappings.d.ts +0 -2
  776. package/dist/plugin/source-map/readMappings.d.ts.map +0 -1
  777. package/dist/plugin/source-map/readMappings.js +0 -200
  778. package/dist/plugin/transformer/plugin.js.map +0 -1
  779. package/dist/plugin/transformer/plugin.server.js.map +0 -1
  780. package/dist/plugin/utils/callServer.js.map +0 -1
  781. package/dist/plugin/utils/createCallServer.js.map +0 -1
  782. package/dist/plugin/utils/createReactFetcher.js.map +0 -1
  783. package/dist/plugin/utils/env.js.map +0 -1
  784. package/dist/plugin/utils/envUrls.node.js.map +0 -1
  785. package/dist/plugin/utils/urls.js.map +0 -1
  786. package/dist/plugin/utils.js +0 -11
  787. package/dist/plugin/utils.js.map +0 -1
  788. package/dist/plugin/vendor/vendor.client.js.map +0 -1
  789. package/dist/plugin/vendor/vendor.js.map +0 -1
  790. package/dist/plugin/vendor/vendor.server.js.map +0 -1
  791. package/dist/plugin/vendor.js +0 -7
  792. package/dist/plugin/vendor.js.map +0 -1
  793. package/dist/plugin/worker/createWorker.js.map +0 -1
  794. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js.map +0 -1
  795. package/dist/plugin/worker/html/html-worker.development.js.map +0 -1
  796. package/dist/plugin/worker/html/html-worker.production.js.map +0 -1
  797. package/dist/plugin/worker/html/index.js.map +0 -1
  798. package/dist/plugin/worker/html/messageHandler.js.map +0 -1
  799. package/dist/plugin/worker/rsc/handleRender.js.map +0 -1
  800. package/dist/plugin/worker/rsc/handlers.js.map +0 -1
  801. package/dist/plugin/worker/rsc/index.js.map +0 -1
  802. package/dist/plugin/worker/rsc/messageHandler.js.map +0 -1
  803. package/dist/plugin/worker/rsc/rsc-worker.development.js.map +0 -1
  804. package/dist/plugin/worker/rsc/rsc-worker.production.js.map +0 -1
  805. package/dist/plugin/worker/rsc/state.js.map +0 -1
  806. package/dist/plugin/worker/rsc/userOptions.js.map +0 -1
  807. package/dist/plugin/worker/sendMessage.js.map +0 -1
  808. package/dist/server.js.map +0 -1
  809. package/plugin/components/css-collector.tsx +0 -20
  810. package/plugin/config/resolveAutoDiscoverMatcher.ts +0 -23
  811. package/plugin/helpers/sourceMap.ts +0 -182
  812. package/plugin/loader/css-loader.development.ts +0 -135
  813. package/plugin/loader/css-loader.production.ts +0 -84
  814. package/plugin/loader/env-loader.development.ts +0 -107
  815. package/plugin/loader/handleExports.ts +0 -309
  816. package/plugin/loader/react-loader.client.ts +0 -1
  817. package/plugin/loader/react-loader.server.ts +0 -185
  818. package/plugin/loader/transformModuleWithPreservedFunctions.ts +0 -593
  819. package/plugin/preserver/index.ts +0 -1
  820. package/plugin/preserver/plugin.ts +0 -178
  821. package/plugin/react-static/streamHandler.ts +0 -0
  822. package/plugin/source-map/createMappingsSerializer.ts +0 -181
  823. package/plugin/source-map/readMappings.ts +0 -194
  824. /package/dist/plugin/{react-static/streamHandler.js → loader/directives/types.js} +0 -0
@@ -4,6 +4,7 @@
4
4
  * MIT License
5
5
  */
6
6
  import { toError } from '../error/toError.js';
7
+ import { logError } from '../error/logError.js';
7
8
  import { PassThrough } from 'node:stream';
8
9
 
9
10
  function parseServerActionRequest(body, url) {
@@ -29,7 +30,7 @@ function createServerActionResponse(result, error) {
29
30
  }
30
31
  function handleServerActionError(error, res, logger) {
31
32
  const err = toError(error);
32
- logger.error(err.message + (err.stack ?? ""), { error: err });
33
+ logError(err, logger);
33
34
  res.statusCode = 500;
34
35
  res.end(JSON.stringify(createServerActionResponse(void 0, err.message)));
35
36
  }
@@ -40,9 +41,12 @@ function setupServerActionHeaders(res) {
40
41
  }
41
42
  function createServerActionStream(res) {
42
43
  const passThrough = new PassThrough();
43
- passThrough.pipe(res);
44
+ passThrough.pipe(res, { end: true });
45
+ passThrough.on("end", () => {
46
+ res.end();
47
+ });
44
48
  return passThrough;
45
49
  }
46
50
 
47
51
  export { createServerActionResponse, createServerActionStream, handleServerActionError, parseServerActionRequest, setupServerActionHeaders };
48
- //# sourceMappingURL=handleServerAction.js.map
52
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlU2VydmVyQWN0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vaGVscGVycy9oYW5kbGVTZXJ2ZXJBY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMb2dnZXIgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHsgdG9FcnJvciB9IGZyb20gXCIuLi9lcnJvci90b0Vycm9yLmpzXCI7XG5pbXBvcnQgeyBsb2dFcnJvciB9IGZyb20gXCIuLi9lcnJvci9sb2dFcnJvci5qc1wiO1xuaW1wb3J0IHsgUGFzc1Rocm91Z2ggfSBmcm9tIFwibm9kZTpzdHJlYW1cIjtcbmltcG9ydCB0eXBlIHsgU2VydmVyUmVzcG9uc2UgfSBmcm9tIFwibm9kZTpodHRwXCI7XG5cbmV4cG9ydCB0eXBlIFNlcnZlckFjdGlvblJlcXVlc3QgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGFyZ3M6IHVua25vd25bXTtcbn1cblxuZXhwb3J0IHR5cGUgU2VydmVyQWN0aW9uUmVzcG9uc2UgPSB7XG4gIHR5cGU6IFwic2VydmVyLWFjdGlvbi1yZXNwb25zZVwiO1xuICByZXR1cm5WYWx1ZTogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBzZXJ2ZXIgYWN0aW9uIHJlcXVlc3QgZnJvbSB0aGUgcmVxdWVzdCBib2R5LlxuICogU3VwcG9ydHMgdHdvIGZvcm1hdHM6XG4gKiAxLiBEaXJlY3QgYXJncyBhcnJheTogW2FyZzEsIGFyZzIsIC4uLl1cbiAqIDIuIE9iamVjdCB3aXRoIGlkIGFuZCBhcmdzOiB7IGlkOiBzdHJpbmcsIGFyZ3M6IHVua25vd25bXSB9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNlcnZlckFjdGlvblJlcXVlc3QoYm9keTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpOiBTZXJ2ZXJBY3Rpb25SZXF1ZXN0IHtcbiAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShib2R5KTtcbiAgXG4gIGlmIChBcnJheS5pc0FycmF5KHBhcnNlZCkpIHtcbiAgICAvLyBGb3JtYXQgMTogRGlyZWN0IGFyZ3MgYXJyYXlcbiAgICByZXR1cm4ge1xuICAgICAgYXJnczogcGFyc2VkLFxuICAgICAgaWQ6IHVybD8uc3BsaXQoXCI/XCIpWzBdID8/IFwiXCIsXG4gICAgfTtcbiAgfSBlbHNlIGlmIChwYXJzZWQgJiYgdHlwZW9mIHBhcnNlZCA9PT0gXCJvYmplY3RcIiAmJiBcImlkXCIgaW4gcGFyc2VkKSB7XG4gICAgLy8gRm9ybWF0IDI6IE9iamVjdCB3aXRoIGlkIGFuZCBhcmdzXG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBwYXJzZWQuaWQsXG4gICAgICBhcmdzOiBwYXJzZWQuYXJncyA/PyBbXSxcbiAgICB9O1xuICB9XG4gIFxuICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHNlcnZlciBhY3Rpb24gcmVxdWVzdCBmb3JtYXRcIik7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHNlcnZlciBhY3Rpb24gcmVzcG9uc2Ugd2l0aCB0aGUgZ2l2ZW4gcmVzdWx0IG9yIGVycm9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VydmVyQWN0aW9uUmVzcG9uc2UocmVzdWx0PzogdW5rbm93biwgZXJyb3I/OiBzdHJpbmcpOiBTZXJ2ZXJBY3Rpb25SZXNwb25zZSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJzZXJ2ZXItYWN0aW9uLXJlc3BvbnNlXCIsXG4gICAgcmV0dXJuVmFsdWU6IGVycm9yIFxuICAgICAgPyB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvciB9XG4gICAgICA6IHJlc3VsdFxuICB9O1xufVxuXG4vKipcbiAqIEhhbmRsZXMgZXJyb3JzIGluIHNlcnZlciBhY3Rpb24gcHJvY2Vzc2luZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZVNlcnZlckFjdGlvbkVycm9yKGVycm9yOiB1bmtub3duLCByZXM6IFNlcnZlclJlc3BvbnNlLCBsb2dnZXI6IExvZ2dlcikge1xuICBjb25zdCBlcnIgPSB0b0Vycm9yKGVycm9yKTtcbiAgbG9nRXJyb3IoZXJyLCBsb2dnZXIpO1xuICByZXMuc3RhdHVzQ29kZSA9IDUwMDtcbiAgcmVzLmVuZChKU09OLnN0cmluZ2lmeShjcmVhdGVTZXJ2ZXJBY3Rpb25SZXNwb25zZSh1bmRlZmluZWQsIGVyci5tZXNzYWdlKSkpO1xufVxuXG4vKipcbiAqIFNldHMgdXAgY29tbW9uIHJlc3BvbnNlIGhlYWRlcnMgZm9yIHNlcnZlciBhY3Rpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBTZXJ2ZXJBY3Rpb25IZWFkZXJzKHJlczogU2VydmVyUmVzcG9uc2UpIHtcbiAgcmVzLnNldEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiLCBcInRleHQveC1jb21wb25lbnQ7IGNoYXJzZXQ9dXRmLThcIik7XG4gIHJlcy5zZXRIZWFkZXIoXCJUcmFuc2Zlci1FbmNvZGluZ1wiLCBcImNodW5rZWRcIik7XG4gIHJlcy5zZXRIZWFkZXIoXCJDb25uZWN0aW9uXCIsIFwia2VlcC1hbGl2ZVwiKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgcGFzcy10aHJvdWdoIHN0cmVhbSBmb3Igc2VydmVyIGFjdGlvbiByZXNwb25zZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZXJ2ZXJBY3Rpb25TdHJlYW0ocmVzOiBTZXJ2ZXJSZXNwb25zZSk6IFBhc3NUaHJvdWdoIHtcbiAgY29uc3QgcGFzc1Rocm91Z2ggPSBuZXcgUGFzc1Rocm91Z2goKTtcbiAgcGFzc1Rocm91Z2gucGlwZShyZXMsIHsgZW5kOiB0cnVlIH0pO1xuICBwYXNzVGhyb3VnaC5vbignZW5kJywgKCkgPT4ge1xuICAgIHJlcy5lbmQoKTtcbiAgfSk7XG4gIHJldHVybiBwYXNzVGhyb3VnaDtcbn0gIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQXNCTyxTQUFTLHdCQUFBLENBQXlCLE1BQWMsR0FBbUMsRUFBQTtBQUN4RixFQUFNLE1BQUEsTUFBQSxHQUFTLElBQUssQ0FBQSxLQUFBLENBQU0sSUFBSSxDQUFBO0FBRTlCLEVBQUksSUFBQSxLQUFBLENBQU0sT0FBUSxDQUFBLE1BQU0sQ0FBRyxFQUFBO0FBRXpCLElBQU8sT0FBQTtBQUFBLE1BQ0wsSUFBTSxFQUFBLE1BQUE7QUFBQSxNQUNOLElBQUksR0FBSyxFQUFBLEtBQUEsQ0FBTSxHQUFHLENBQUEsQ0FBRSxDQUFDLENBQUssSUFBQTtBQUFBLEtBQzVCO0FBQUEsYUFDUyxNQUFVLElBQUEsT0FBTyxNQUFXLEtBQUEsUUFBQSxJQUFZLFFBQVEsTUFBUSxFQUFBO0FBRWpFLElBQU8sT0FBQTtBQUFBLE1BQ0wsSUFBSSxNQUFPLENBQUEsRUFBQTtBQUFBLE1BQ1gsSUFBQSxFQUFNLE1BQU8sQ0FBQSxJQUFBLElBQVE7QUFBQyxLQUN4QjtBQUFBO0FBR0YsRUFBTSxNQUFBLElBQUksTUFBTSxzQ0FBc0MsQ0FBQTtBQUN4RDtBQUtPLFNBQVMsMEJBQUEsQ0FBMkIsUUFBa0IsS0FBc0MsRUFBQTtBQUNqRyxFQUFPLE9BQUE7QUFBQSxJQUNMLElBQU0sRUFBQSx3QkFBQTtBQUFBLElBQ04sYUFBYSxLQUNULEdBQUEsRUFBRSxPQUFTLEVBQUEsS0FBQSxFQUFPLE9BQ2xCLEdBQUE7QUFBQSxHQUNOO0FBQ0Y7QUFLTyxTQUFTLHVCQUFBLENBQXdCLEtBQWdCLEVBQUEsR0FBQSxFQUFxQixNQUFnQixFQUFBO0FBQzNGLEVBQU0sTUFBQSxHQUFBLEdBQU0sUUFBUSxLQUFLLENBQUE7QUFDekIsRUFBQSxRQUFBLENBQVMsS0FBSyxNQUFNLENBQUE7QUFDcEIsRUFBQSxHQUFBLENBQUksVUFBYSxHQUFBLEdBQUE7QUFDakIsRUFBSSxHQUFBLENBQUEsR0FBQSxDQUFJLEtBQUssU0FBVSxDQUFBLDBCQUFBLENBQTJCLFFBQVcsR0FBSSxDQUFBLE9BQU8sQ0FBQyxDQUFDLENBQUE7QUFDNUU7QUFLTyxTQUFTLHlCQUF5QixHQUFxQixFQUFBO0FBQzVELEVBQUksR0FBQSxDQUFBLFNBQUEsQ0FBVSxnQkFBZ0IsaUNBQWlDLENBQUE7QUFDL0QsRUFBSSxHQUFBLENBQUEsU0FBQSxDQUFVLHFCQUFxQixTQUFTLENBQUE7QUFDNUMsRUFBSSxHQUFBLENBQUEsU0FBQSxDQUFVLGNBQWMsWUFBWSxDQUFBO0FBQzFDO0FBS08sU0FBUyx5QkFBeUIsR0FBa0MsRUFBQTtBQUN6RSxFQUFNLE1BQUEsV0FBQSxHQUFjLElBQUksV0FBWSxFQUFBO0FBQ3BDLEVBQUEsV0FBQSxDQUFZLElBQUssQ0FBQSxHQUFBLEVBQUssRUFBRSxHQUFBLEVBQUssTUFBTSxDQUFBO0FBQ25DLEVBQVksV0FBQSxDQUFBLEVBQUEsQ0FBRyxPQUFPLE1BQU07QUFDMUIsSUFBQSxHQUFBLENBQUksR0FBSSxFQUFBO0FBQUEsR0FDVCxDQUFBO0FBQ0QsRUFBTyxPQUFBLFdBQUE7QUFDVDs7OzsifQ==
@@ -0,0 +1,9 @@
1
+ import type { ResolvedUserOptions, SerializedUserOptions } from "../types.js";
2
+ export declare function hydrateUserOptions(options: SerializedUserOptions): {
3
+ type: "success";
4
+ userOptions: ResolvedUserOptions;
5
+ } | {
6
+ type: "error";
7
+ error: Error;
8
+ };
9
+ //# sourceMappingURL=hydrateUserOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hydrateUserOptions.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/hydrateUserOptions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE9E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,qBAAqB,GAC7B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAiBzF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ import { resolveOptions } from '../config/resolveOptions.js';
7
+
8
+ function hydrateUserOptions(options) {
9
+ try {
10
+ const result = resolveOptions(options);
11
+ if (result.type === "error") {
12
+ return result;
13
+ }
14
+ const userOptions = result.userOptions;
15
+ return { type: "success", userOptions };
16
+ } catch (error) {
17
+ return { type: "error", error: error instanceof Error ? error : new Error(String(error)) };
18
+ }
19
+ }
20
+
21
+ export { hydrateUserOptions };
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlkcmF0ZVVzZXJPcHRpb25zLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vaGVscGVycy9oeWRyYXRlVXNlck9wdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVzb2x2ZU9wdGlvbnMgfSBmcm9tIFwiLi4vY29uZmlnL3Jlc29sdmVPcHRpb25zLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFJlc29sdmVkVXNlck9wdGlvbnMsIFNlcmlhbGl6ZWRVc2VyT3B0aW9ucyB9IGZyb20gXCIuLi90eXBlcy5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gaHlkcmF0ZVVzZXJPcHRpb25zKFxuICBvcHRpb25zOiBTZXJpYWxpemVkVXNlck9wdGlvbnNcbik6IHsgdHlwZTogXCJzdWNjZXNzXCI7IHVzZXJPcHRpb25zOiBSZXNvbHZlZFVzZXJPcHRpb25zIH0gfCB7IHR5cGU6IFwiZXJyb3JcIjsgZXJyb3I6IEVycm9yIH0ge1xuICB0cnkge1xuICAgIC8vIHJlc29sdmVPcHRpb25zIGFscmVhZHkgaGFuZGxlcyByZWdleCBkZXNlcmlhbGl6YXRpb24gdGhyb3VnaCBkZXNlcmlhbGl6ZVJlZ0V4cCgpXG4gICAgLy8gQ2FzdCB0aGUgc2VyaWFsaXplZCBvcHRpb25zIGJhY2sgdG8gdGhlIGV4cGVjdGVkIGlucHV0IGZvcm1hdCBmb3IgcmVzb2x2ZU9wdGlvbnNcbiAgICBjb25zdCByZXN1bHQgPSByZXNvbHZlT3B0aW9ucyhvcHRpb25zIGFzIGFueSk7XG4gICAgXG4gICAgaWYgKHJlc3VsdC50eXBlID09PSBcImVycm9yXCIpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIFxuICAgIC8vIHJlc29sdmVPcHRpb25zIGFscmVhZHkgY3JlYXRlcyB0aGUgdXNlck9wdGlvbnMgd2l0aCBhbGwgbmVlZGVkIHByb3BlcnRpZXNcbiAgICBjb25zdCB1c2VyT3B0aW9ucyA9IHJlc3VsdC51c2VyT3B0aW9ucztcbiAgICBcbiAgICByZXR1cm4geyB0eXBlOiBcInN1Y2Nlc3NcIiwgdXNlck9wdGlvbnMgfTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4geyB0eXBlOiBcImVycm9yXCIsIGVycm9yOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IgOiBuZXcgRXJyb3IoU3RyaW5nKGVycm9yKSkgfTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHTyxTQUFTLG1CQUNkLE9BQ3lGLEVBQUE7QUFDekYsRUFBSSxJQUFBO0FBR0YsSUFBTSxNQUFBLE1BQUEsR0FBUyxlQUFlLE9BQWMsQ0FBQTtBQUU1QyxJQUFJLElBQUEsTUFBQSxDQUFPLFNBQVMsT0FBUyxFQUFBO0FBQzNCLE1BQU8sT0FBQSxNQUFBO0FBQUE7QUFJVCxJQUFBLE1BQU0sY0FBYyxNQUFPLENBQUEsV0FBQTtBQUUzQixJQUFPLE9BQUEsRUFBRSxJQUFNLEVBQUEsU0FBQSxFQUFXLFdBQVksRUFBQTtBQUFBLFdBQy9CLEtBQU8sRUFBQTtBQUNkLElBQUEsT0FBTyxFQUFFLElBQUEsRUFBTSxPQUFTLEVBQUEsS0FBQSxFQUFPLEtBQWlCLFlBQUEsS0FBQSxHQUFRLEtBQVEsR0FBQSxJQUFJLEtBQU0sQ0FBQSxNQUFBLENBQU8sS0FBSyxDQUFDLENBQUUsRUFBQTtBQUFBO0FBRTdGOzs7OyJ9
@@ -14,11 +14,13 @@ export * from "./createCssProps.js";
14
14
  export * from "./createRscStream.js";
15
15
  export * from "./createHandler.js";
16
16
  export * from "./createEventHandler.js";
17
+ export * from "./hydrateUserOptions.js";
17
18
  export * from "./formatMetrics.js";
18
19
  export * from "./metrics.js";
19
20
  export * from "./tryManifest.js";
20
21
  export * from "./getBundleManifest.js";
21
22
  export * from "./moduleRefs.js";
23
+ export * from "./moduleResolver.js";
22
24
  export * from "./stashReturnValue.js";
23
25
  export * from "./defaultFileWriter.js";
24
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AAGpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAG7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AAGpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAG7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC"}
@@ -1,31 +1,31 @@
1
- // Route and file handling
2
- export * from "./getRouteFiles.js";
3
- export * from "./resolvePage.js";
4
- export * from "./resolveProps.js";
5
- export * from "./resolvePageAndProps.js";
6
- export * from "./requestInfo.js";
7
- export * from "./requestToRoute.js";
8
- // Configuration and options
9
- export * from "./serializeUserOptions.js";
10
- export * from "./cleanObject.js";
11
- export * from "./inputNormalizer.js";
12
- // CSS handling
13
- export * from "./collectBundleManifestCss.js";
14
- export * from "./collectManifestCss.js";
15
- export * from "./collectViteModuleGraphCss.js";
16
- export * from "./createCssProps.js";
17
- // Stream and handler creation
18
- export * from "./createRscStream.js";
19
- export * from "./createHandler.js";
20
- export * from "./createEventHandler.js";
21
- // Metrics and monitoring
22
- export * from "./formatMetrics.js";
23
- export * from "./metrics.js";
24
- // Manifest handling
25
- export * from "./tryManifest.js";
26
- export * from "./getBundleManifest.js";
27
- // Module handling
28
- export * from "./moduleRefs.js";
29
- // Utility functions
30
- export * from "./stashReturnValue.js";
31
- export * from "./defaultFileWriter.js";
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
6
+ export { getRouteFiles } from './getRouteFiles.js';
7
+ export { resolvePage } from './resolvePage.js';
8
+ export { resolveProps } from './resolveProps.js';
9
+ export { resolvePageAndProps } from './resolvePageAndProps.js';
10
+ export { requestInfo } from './requestInfo.js';
11
+ export { requestToRoute } from './requestToRoute.js';
12
+ export { deserializeRegExp, processForSerialization, serializeResolvedConfig, serializeResolvedUserConfig, serializedDevServerConfig, serializedOptions } from './serializeUserOptions.js';
13
+ export { cleanObject } from './cleanObject.js';
14
+ export { createInputNormalizer } from './inputNormalizer.js';
15
+ export { collectManifestCss } from './collectManifestCss.js';
16
+ export { collectViteModuleGraphCss } from './collectViteModuleGraphCss.js';
17
+ export { createCssProps } from './createCssProps.js';
18
+ export { createRscStream } from './createRscStream.js';
19
+ export { createHandler } from './createHandler.js';
20
+ export { createEventHandler } from './createEventHandler.js';
21
+ export { hydrateUserOptions } from './hydrateUserOptions.js';
22
+ export { tryManifest } from './tryManifest.js';
23
+ export { getBundleManifest } from './getBundleManifest.js';
24
+ export { getModuleRef, moduleRefs } from './moduleRefs.js';
25
+ export { getSource, loadClientSource, resolve, resolveClientImport, setStashedGetSource, setStashedResolve } from './moduleResolver.js';
26
+ export { clearStashedReturnValues, stashReturnValue } from './stashReturnValue.js';
27
+ export { formatMetrics, logMetrics } from '../metrics/formatMetrics.js';
28
+ export { collectStreamMetrics } from '../metrics/collectStreamMetrics.js';
29
+ export { createRenderMetrics } from '../metrics/createRenderMetrics.js';
30
+ export { createStreamMetrics } from '../metrics/createStreamMetrics.js';
31
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsifQ==
@@ -6,5 +6,5 @@ import type { CreateInputNormalizerProps, InputNormalizer } from "../types.js";
6
6
  * @param removeExtension - Whether to remove the extension of the file
7
7
  * @returns A function that normalizes the input
8
8
  */
9
- export declare function createInputNormalizer({ root, moduleBasePath, preserveModulesRoot, removeExtension, }: CreateInputNormalizerProps): InputNormalizer;
9
+ export declare function createInputNormalizer({ root, moduleBasePath, moduleBaseURL, preserveModulesRoot, removeExtension, }: CreateInputNormalizerProps): InputNormalizer;
10
10
  //# sourceMappingURL=inputNormalizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inputNormalizer.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/inputNormalizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,0BAA0B,EAC1B,eAAe,EAEhB,MAAM,aAAa,CAAC;AA4KrB;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,cAAgD,EAChD,mBAA+B,EAC/B,eAA8D,GAC/D,EAAE,0BAA0B,GAAG,eAAe,CAwE9C"}
1
+ {"version":3,"file":"inputNormalizer.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/inputNormalizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,0BAA0B,EAC1B,eAAe,EAEhB,MAAM,aAAa,CAAC;AAiMrB;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,cAAgD,EAChD,aAA8C,EAC9C,mBAA+B,EAC/B,eAA4D,GAC7D,EAAE,0BAA0B,GAAG,eAAe,CAsE9C"}
@@ -4,7 +4,7 @@
4
4
  * MIT License
5
5
  */
6
6
  import { normalizePath } from 'vite';
7
- import path, { join, sep } from 'path';
7
+ import path, { join, relative, resolve, sep } from 'path';
8
8
  import { DEFAULT_CONFIG } from '../config/defaults.js';
9
9
 
10
10
  let stashedNormalizer = null;
@@ -57,10 +57,11 @@ const resolveRootOption = (root, preserveModulesRoot) => {
57
57
  return "";
58
58
  };
59
59
  const createKeyNormalizer = ({
60
- root: normalizedRoot,
60
+ root,
61
61
  preserveModulesRoot,
62
62
  handleExtension,
63
- moduleBasePath
63
+ moduleBasePath,
64
+ moduleBaseURL
64
65
  }) => (key) => {
65
66
  if (key.includes("?")) {
66
67
  key = key.split("?")[0];
@@ -68,9 +69,15 @@ const createKeyNormalizer = ({
68
69
  const virtualPrefix = key.match(/^\0+/) ?? "";
69
70
  const actualKey = virtualPrefix ? key.slice(virtualPrefix[0].length) : key;
70
71
  let moduleId = normalizePath(actualKey);
71
- const normalizedRootPath = normalizePath(normalizedRoot);
72
- if (moduleId.startsWith(normalizedRootPath)) {
73
- moduleId = moduleId.slice(normalizedRootPath.length);
72
+ if (moduleId.startsWith("/") && moduleId.startsWith(root)) {
73
+ moduleId = relative(root, moduleId);
74
+ } else if (moduleId.startsWith(".")) {
75
+ moduleId = relative(root, resolve(root, moduleId));
76
+ } else if (moduleId.startsWith("/")) {
77
+ moduleId = moduleId.slice(1);
78
+ }
79
+ if (moduleBaseURL && moduleBaseURL !== "/" && moduleBaseURL !== "" && moduleId.startsWith(moduleBaseURL)) {
80
+ moduleId = moduleId.slice(moduleBaseURL.length);
74
81
  }
75
82
  if (typeof moduleBasePath === "string" && moduleBasePath !== "" && moduleBasePath !== "/") {
76
83
  moduleId = moduleId.startsWith(
@@ -80,10 +87,7 @@ const createKeyNormalizer = ({
80
87
  ) : moduleId;
81
88
  }
82
89
  moduleId = handleExtension(moduleId);
83
- while (moduleId.startsWith("/") || moduleId.startsWith(".")) {
84
- moduleId = moduleId.slice(1);
85
- }
86
- while (moduleId.endsWith("/")) {
90
+ while (moduleId.endsWith("/") || moduleId.startsWith(".")) {
87
91
  moduleId = moduleId.slice(0, -1);
88
92
  }
89
93
  if (typeof preserveModulesRoot === "string" && preserveModulesRoot !== "") {
@@ -94,7 +98,8 @@ const createKeyNormalizer = ({
94
98
  const createPathNormalizer = ({
95
99
  root,
96
100
  preserveModulesRoot,
97
- moduleBasePath
101
+ moduleBasePath,
102
+ moduleBaseURL
98
103
  }) => (path2) => {
99
104
  if (typeof path2 !== "string") {
100
105
  throw new Error(`Invalid path: ${JSON.stringify(path2)}`);
@@ -103,8 +108,15 @@ const createPathNormalizer = ({
103
108
  path2 = path2.split("?")[0];
104
109
  }
105
110
  let normalPath = normalizePath(path2);
106
- if (normalPath.startsWith(root)) {
107
- normalPath = normalPath.slice(root.length);
111
+ if (normalPath.startsWith("/") && normalPath.startsWith(root)) {
112
+ normalPath = relative(root, normalPath);
113
+ } else if (normalPath.startsWith(".")) {
114
+ normalPath = relative(root, normalPath);
115
+ } else if (normalPath.startsWith("/")) {
116
+ normalPath = normalPath.slice(1);
117
+ }
118
+ if (moduleBaseURL && moduleBaseURL !== "/" && moduleBaseURL !== "" && normalPath.startsWith(moduleBaseURL)) {
119
+ normalPath = normalPath.slice(moduleBaseURL.length);
108
120
  }
109
121
  if (typeof moduleBasePath === "string" && moduleBasePath !== "" && moduleBasePath !== "/") {
110
122
  normalPath = normalPath.startsWith(
@@ -124,8 +136,9 @@ const createPathNormalizer = ({
124
136
  function createInputNormalizer({
125
137
  root,
126
138
  moduleBasePath = DEFAULT_CONFIG.MODULE_BASE_PATH,
139
+ moduleBaseURL = DEFAULT_CONFIG.MODULE_BASE_URL,
127
140
  preserveModulesRoot = void 0,
128
- removeExtension = DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension
141
+ removeExtension = DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern
129
142
  }) {
130
143
  if (stashedNormalizer) {
131
144
  return stashedNormalizer;
@@ -136,12 +149,14 @@ function createInputNormalizer({
136
149
  root,
137
150
  preserveModulesRoot,
138
151
  handleExtension,
139
- moduleBasePath
152
+ moduleBasePath,
153
+ moduleBaseURL
140
154
  });
141
155
  const normalizeEntryPath = createPathNormalizer({
142
156
  root,
143
157
  preserveModulesRoot: relativeRoot,
144
- moduleBasePath
158
+ moduleBasePath,
159
+ moduleBaseURL
145
160
  });
146
161
  function normalizeInput(id) {
147
162
  if (Array.isArray(id)) {
@@ -170,14 +185,12 @@ function createInputNormalizer({
170
185
  }
171
186
  stashedNormalizer = (input) => {
172
187
  const [key, path2] = normalizeInput(input);
173
- let normalizedPath = path2.startsWith(moduleBasePath) ? path2.slice(moduleBasePath.length) : path2;
174
- normalizedPath = normalizedPath.startsWith("/") ? normalizedPath.slice(1) : normalizedPath;
175
188
  const virtualPrefix = key.match(/^\0+/) ?? "";
176
- const finalPath = virtualPrefix ? virtualPrefix.length && normalizedPath.startsWith(virtualPrefix[0]) ? normalizedPath : virtualPrefix.length ? virtualPrefix[0] + normalizedPath : normalizedPath : normalizedPath;
189
+ const finalPath = virtualPrefix ? virtualPrefix.length && path2.startsWith(virtualPrefix[0]) ? path2 : virtualPrefix.length ? virtualPrefix[0] + path2 : path2 : path2;
177
190
  return [key, finalPath];
178
191
  };
179
192
  return stashedNormalizer;
180
193
  }
181
194
 
182
195
  export { createInputNormalizer };
183
- //# sourceMappingURL=inputNormalizer.js.map
196
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXROb3JtYWxpemVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vaGVscGVycy9pbnB1dE5vcm1hbGl6ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9ybWFsaXplUGF0aCB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgdHlwZSB7XG4gIENyZWF0ZUlucHV0Tm9ybWFsaXplclByb3BzLFxuICBJbnB1dE5vcm1hbGl6ZXIsXG4gIE5vcm1hbGl6ZXJJbnB1dCxcbn0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XG5pbXBvcnQgcGF0aCwgeyBqb2luLCByZWxhdGl2ZSwgcmVzb2x2ZSwgc2VwIH0gZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IERFRkFVTFRfQ09ORklHIH0gZnJvbSBcIi4uL2NvbmZpZy9kZWZhdWx0cy5qc1wiO1xuXG5sZXQgc3Rhc2hlZE5vcm1hbGl6ZXI6IElucHV0Tm9ybWFsaXplciB8IG51bGwgPSBudWxsO1xuXG5jb25zdCByZXNvbHZlRXh0ZW5zaW9uT3B0aW9ucyA9IChcbiAgcmVtb3ZlRXh0ZW5zaW9uOiBDcmVhdGVJbnB1dE5vcm1hbGl6ZXJQcm9wc1tcInJlbW92ZUV4dGVuc2lvblwiXVxuKSA9PiB7XG4gIGlmICh0eXBlb2YgcmVtb3ZlRXh0ZW5zaW9uID09PSBcImJvb2xlYW5cIikge1xuICAgIGlmIChyZW1vdmVFeHRlbnNpb24pIHtcbiAgICAgIHJldHVybiAocGF0aDogc3RyaW5nKSA9PiB7XG4gICAgICAgIC8vIGlmIGV4dGVuc2lvbiBpcyBjbGllbnQgb3Igc2VydmVyLCBkb24ndCByZW1vdmUgaXRcbiAgICAgICAgaWYgKHBhdGguZW5kc1dpdGgoXCIuY2xpZW50XCIpIHx8IHBhdGguZW5kc1dpdGgoXCIuc2VydmVyXCIpKSB7XG4gICAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uSW5kZXggPSBwYXRoLmxhc3RJbmRleE9mKFwiLlwiKTtcblxuICAgICAgICByZXR1cm4gZXh0ZW5zaW9uSW5kZXggIT09IC0xID8gcGF0aC5zbGljZSgwLCBleHRlbnNpb25JbmRleCkgOiBwYXRoO1xuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIChwYXRoOiBzdHJpbmcpID0+IHBhdGg7XG4gIH1cbiAgaWYgKHR5cGVvZiByZW1vdmVFeHRlbnNpb24gPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gKHBhdGg6IHN0cmluZykgPT4gcGF0aC5yZXBsYWNlKHJlbW92ZUV4dGVuc2lvbiwgXCJcIik7XG4gIH1cbiAgaWYgKHJlbW92ZUV4dGVuc2lvbiBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgIHJldHVybiAocGF0aDogc3RyaW5nKSA9PlxuICAgICAgcmVtb3ZlRXh0ZW5zaW9uLnRlc3QocGF0aCkgPyBwYXRoLnJlcGxhY2UocmVtb3ZlRXh0ZW5zaW9uLCBcIlwiKSA6IHBhdGg7XG4gIH1cbiAgaWYgKHR5cGVvZiByZW1vdmVFeHRlbnNpb24gPT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiAocGF0aDogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAocGF0aC5lbmRzV2l0aChcIi5jbGllbnRcIikgfHwgcGF0aC5lbmRzV2l0aChcIi5zZXJ2ZXJcIikpIHtcbiAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgICB9XG4gICAgICBjb25zdCBleHRJbmRleCA9IHBhdGgubGFzdEluZGV4T2YoXCIuXCIpO1xuICAgICAgaWYgKGV4dEluZGV4ICE9PSAtMSkge1xuICAgICAgICBjb25zdCBleHRlbnNpb24gPSBwYXRoLnNsaWNlKGV4dEluZGV4KTtcbiAgICAgICAgaWYgKHJlbW92ZUV4dGVuc2lvbihleHRlbnNpb24pKSB7XG4gICAgICAgICAgcmV0dXJuIHBhdGguc2xpY2UoMCwgZXh0SW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcGF0aDtcbiAgICB9O1xuICB9XG4gIHJldHVybiAocGF0aDogc3RyaW5nKSA9PiBwYXRoO1xufTtcblxuY29uc3QgcmVzb2x2ZVJvb3RPcHRpb24gPSAoXG4gIHJvb3Q6IENyZWF0ZUlucHV0Tm9ybWFsaXplclByb3BzW1wicm9vdFwiXSxcbiAgcHJlc2VydmVNb2R1bGVzUm9vdDogQ3JlYXRlSW5wdXROb3JtYWxpemVyUHJvcHNbXCJwcmVzZXJ2ZU1vZHVsZXNSb290XCJdXG4pID0+IHtcbiAgaWYgKHR5cGVvZiBwcmVzZXJ2ZU1vZHVsZXNSb290ID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiByb290ID09PSBcInN0cmluZ1wiKSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZFByZXNlcnZlTW9kdWxlc1Jvb3QgPSBub3JtYWxpemVQYXRoKHByZXNlcnZlTW9kdWxlc1Jvb3QpO1xuICAgIGlmIChyb290ICE9PSBcIlwiICYmIG5vcm1hbGl6ZWRQcmVzZXJ2ZU1vZHVsZXNSb290LnN0YXJ0c1dpdGgocm9vdCkpIHtcbiAgICAgIHJldHVybiBub3JtYWxpemVkUHJlc2VydmVNb2R1bGVzUm9vdC5zbGljZShyb290Lmxlbmd0aCArIDEpO1xuICAgIH1cbiAgICByZXR1cm4gXCJcIjtcbiAgfSBlbHNlIGlmIChcbiAgICB0eXBlb2YgcHJlc2VydmVNb2R1bGVzUm9vdCA9PT0gXCJzdHJpbmdcIiAmJlxuICAgIHR5cGVvZiByb290ICE9PSBcInN0cmluZ1wiXG4gICkge1xuICAgIHJldHVybiBub3JtYWxpemVQYXRoKHByZXNlcnZlTW9kdWxlc1Jvb3QpO1xuICB9XG4gIHJldHVybiBcIlwiO1xufTtcblxuY29uc3QgY3JlYXRlS2V5Tm9ybWFsaXplciA9XG4gICh7XG4gICAgcm9vdCxcbiAgICBwcmVzZXJ2ZU1vZHVsZXNSb290LFxuICAgIGhhbmRsZUV4dGVuc2lvbixcbiAgICBtb2R1bGVCYXNlUGF0aCxcbiAgICBtb2R1bGVCYXNlVVJMLFxuICB9OiB7XG4gICAgcm9vdDogc3RyaW5nO1xuICAgIHByZXNlcnZlTW9kdWxlc1Jvb3Q6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBoYW5kbGVFeHRlbnNpb246IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZztcbiAgICBtb2R1bGVCYXNlUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIG1vZHVsZUJhc2VVUkw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgfSkgPT5cbiAgKGtleTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGtleS5pbmNsdWRlcyhcIj9cIikpIHtcbiAgICAgIGtleSA9IGtleS5zcGxpdChcIj9cIilbMF07XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIHZpcnR1YWwgbW9kdWxlcyBmaXJzdFxuICAgIGNvbnN0IHZpcnR1YWxQcmVmaXggPSBrZXkubWF0Y2goL15cXDArLykgPz8gXCJcIjtcbiAgICBjb25zdCBhY3R1YWxLZXkgPSB2aXJ0dWFsUHJlZml4ID8ga2V5LnNsaWNlKHZpcnR1YWxQcmVmaXhbMF0ubGVuZ3RoKSA6IGtleTtcblxuICAgIGxldCBtb2R1bGVJZCA9IG5vcm1hbGl6ZVBhdGgoYWN0dWFsS2V5KTtcblxuICAgIC8vIE9ubHkgdHJlYXQgYXMgZmlsZSBzeXN0ZW0gcGF0aCBpZiBpdCBhY3R1YWxseSBjb250YWlucyB0aGUgcm9vdCBwYXRoXG4gICAgLy8gVVJMIHBhdGhzIGxpa2UgXCIvXCIgc2hvdWxkIG5vdCBiZSByZXNvbHZlZCByZWxhdGl2ZSB0byBmaWxlIHN5c3RlbSByb290XG4gICAgaWYobW9kdWxlSWQuc3RhcnRzV2l0aChcIi9cIikgJiYgbW9kdWxlSWQuc3RhcnRzV2l0aChyb290KSkge1xuICAgICAgbW9kdWxlSWQgPSByZWxhdGl2ZShyb290LCBtb2R1bGVJZCk7XG4gICAgfSBlbHNlIGlmIChtb2R1bGVJZC5zdGFydHNXaXRoKFwiLlwiKSkge1xuICAgICAgbW9kdWxlSWQgPSByZWxhdGl2ZShyb290LCByZXNvbHZlKHJvb3QsIG1vZHVsZUlkKSk7XG4gICAgfSBlbHNlIGlmIChtb2R1bGVJZC5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgICAgLy8gVGhpcyBpcyBhIFVSTCBwYXRoIGxpa2UgXCIvXCIgb3IgXCIvYWJvdXRcIiwgcmVtb3ZlIGxlYWRpbmcgc2xhc2ggZm9yIGNvbnNpc3RlbmN5XG4gICAgICBtb2R1bGVJZCA9IG1vZHVsZUlkLnNsaWNlKDEpO1xuICAgIH0gXG4gICAgaWYobW9kdWxlQmFzZVVSTCAmJiBtb2R1bGVCYXNlVVJMICE9PSBcIi9cIiAmJiBtb2R1bGVCYXNlVVJMICE9PSBcIlwiICYmIG1vZHVsZUlkLnN0YXJ0c1dpdGgobW9kdWxlQmFzZVVSTCkpIHtcbiAgICAgIG1vZHVsZUlkID0gbW9kdWxlSWQuc2xpY2UobW9kdWxlQmFzZVVSTC5sZW5ndGgpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0eXBlb2YgbW9kdWxlQmFzZVBhdGggPT09IFwic3RyaW5nXCIgJiZcbiAgICAgIG1vZHVsZUJhc2VQYXRoICE9PSBcIlwiICYmXG4gICAgICBtb2R1bGVCYXNlUGF0aCAhPT0gXCIvXCJcbiAgICApIHtcbiAgICAgIG1vZHVsZUlkID0gbW9kdWxlSWQuc3RhcnRzV2l0aChcbiAgICAgICAgbW9kdWxlQmFzZVBhdGguZW5kc1dpdGgoc2VwKSA/IG1vZHVsZUJhc2VQYXRoIDogbW9kdWxlQmFzZVBhdGggKyBzZXBcbiAgICAgIClcbiAgICAgICAgPyBtb2R1bGVJZC5zbGljZShcbiAgICAgICAgICAgIG1vZHVsZUJhc2VQYXRoLmxlbmd0aCArXG4gICAgICAgICAgICAgIChtb2R1bGVCYXNlUGF0aC5lbmRzV2l0aChzZXApID8gMCA6IHNlcC5sZW5ndGgpXG4gICAgICAgICAgKVxuICAgICAgICA6IG1vZHVsZUlkO1xuICAgIH1cblxuICAgIG1vZHVsZUlkID0gaGFuZGxlRXh0ZW5zaW9uKG1vZHVsZUlkKTtcbiAgICB3aGlsZSAobW9kdWxlSWQuZW5kc1dpdGgoXCIvXCIpIHx8IG1vZHVsZUlkLnN0YXJ0c1dpdGgoXCIuXCIpKSB7XG4gICAgICBtb2R1bGVJZCA9IG1vZHVsZUlkLnNsaWNlKDAsIC0xKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBwcmVzZXJ2ZU1vZHVsZXNSb290ID09PSBcInN0cmluZ1wiICYmIHByZXNlcnZlTW9kdWxlc1Jvb3QgIT09IFwiXCIpIHtcbiAgICAgIG1vZHVsZUlkID0gbW9kdWxlSWQuc3RhcnRzV2l0aChwcmVzZXJ2ZU1vZHVsZXNSb290KVxuICAgICAgICA/IG1vZHVsZUlkLnNsaWNlKHByZXNlcnZlTW9kdWxlc1Jvb3QubGVuZ3RoICsgcGF0aC5zZXAubGVuZ3RoKVxuICAgICAgICA6IG1vZHVsZUlkO1xuICAgIH1cblxuICAgIC8vIEFkZCB2aXJ0dWFsIHByZWZpeCBiYWNrXG4gICAgcmV0dXJuIHZpcnR1YWxQcmVmaXggKyBtb2R1bGVJZDtcbiAgfTtcblxuY29uc3QgY3JlYXRlUGF0aE5vcm1hbGl6ZXIgPVxuICAoe1xuICAgIHJvb3QsXG4gICAgcHJlc2VydmVNb2R1bGVzUm9vdCxcbiAgICBtb2R1bGVCYXNlUGF0aCxcbiAgICBtb2R1bGVCYXNlVVJMLFxuICB9OiB7XG4gICAgcm9vdDogc3RyaW5nO1xuICAgIHByZXNlcnZlTW9kdWxlc1Jvb3Q6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBtb2R1bGVCYXNlUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIG1vZHVsZUJhc2VVUkw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgfSkgPT5cbiAgKHBhdGg6IHN0cmluZykgPT4ge1xuICAgIGlmICh0eXBlb2YgcGF0aCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBhdGg6ICR7SlNPTi5zdHJpbmdpZnkocGF0aCl9YCk7XG4gICAgfVxuICAgIGlmIChwYXRoLmluY2x1ZGVzKFwiP1wiKSkge1xuICAgICAgcGF0aCA9IHBhdGguc3BsaXQoXCI/XCIpWzBdO1xuICAgIH1cbiAgICBsZXQgbm9ybWFsUGF0aCA9IG5vcm1hbGl6ZVBhdGgocGF0aCk7XG4gICAgXG4gICAgLy8gT25seSB0cmVhdCBhcyBmaWxlIHN5c3RlbSBwYXRoIGlmIGl0IGFjdHVhbGx5IGNvbnRhaW5zIHRoZSByb290IHBhdGhcbiAgICAvLyBVUkwgcGF0aHMgbGlrZSBcIi9cIiBzaG91bGQgbm90IGJlIHJlc29sdmVkIHJlbGF0aXZlIHRvIGZpbGUgc3lzdGVtIHJvb3RcbiAgICBpZihub3JtYWxQYXRoLnN0YXJ0c1dpdGgoXCIvXCIpICYmIG5vcm1hbFBhdGguc3RhcnRzV2l0aChyb290KSkge1xuICAgICAgbm9ybWFsUGF0aCA9IHJlbGF0aXZlKHJvb3QsIG5vcm1hbFBhdGgpO1xuICAgIH0gZWxzZSBpZiAobm9ybWFsUGF0aC5zdGFydHNXaXRoKFwiLlwiKSkge1xuICAgICAgbm9ybWFsUGF0aCA9IHJlbGF0aXZlKHJvb3QsIG5vcm1hbFBhdGgpO1xuICAgIH0gZWxzZSBpZiAobm9ybWFsUGF0aC5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgICAgLy8gVGhpcyBpcyBhIFVSTCBwYXRoIGxpa2UgXCIvXCIgb3IgXCIvYWJvdXRcIiwgcmVtb3ZlIGxlYWRpbmcgc2xhc2ggZm9yIGNvbnNpc3RlbmN5XG4gICAgICBub3JtYWxQYXRoID0gbm9ybWFsUGF0aC5zbGljZSgxKTtcbiAgICB9XG4gICAgXG4gICAgaWYobW9kdWxlQmFzZVVSTCAmJiBtb2R1bGVCYXNlVVJMICE9PSBcIi9cIiAmJiBtb2R1bGVCYXNlVVJMICE9PSBcIlwiICYmIG5vcm1hbFBhdGguc3RhcnRzV2l0aChtb2R1bGVCYXNlVVJMKSkge1xuICAgICAgbm9ybWFsUGF0aCA9IG5vcm1hbFBhdGguc2xpY2UobW9kdWxlQmFzZVVSTC5sZW5ndGgpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0eXBlb2YgbW9kdWxlQmFzZVBhdGggPT09IFwic3RyaW5nXCIgJiZcbiAgICAgIG1vZHVsZUJhc2VQYXRoICE9PSBcIlwiICYmXG4gICAgICBtb2R1bGVCYXNlUGF0aCAhPT0gXCIvXCJcbiAgICApIHtcbiAgICAgIG5vcm1hbFBhdGggPSBub3JtYWxQYXRoLnN0YXJ0c1dpdGgoXG4gICAgICAgIG1vZHVsZUJhc2VQYXRoLmVuZHNXaXRoKHNlcCkgPyBtb2R1bGVCYXNlUGF0aCA6IG1vZHVsZUJhc2VQYXRoICsgc2VwXG4gICAgICApXG4gICAgICAgID8gbm9ybWFsUGF0aC5zbGljZShcbiAgICAgICAgICAgIG1vZHVsZUJhc2VQYXRoLmxlbmd0aCArXG4gICAgICAgICAgICAgIChtb2R1bGVCYXNlUGF0aC5lbmRzV2l0aChzZXApID8gMCA6IHNlcC5sZW5ndGgpXG4gICAgICAgICAgKVxuICAgICAgICA6IG5vcm1hbFBhdGg7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgcHJlc2VydmVNb2R1bGVzUm9vdCA9PT0gXCJzdHJpbmdcIiAmJiBwcmVzZXJ2ZU1vZHVsZXNSb290ICE9PSBcIlwiKSB7XG4gICAgICBub3JtYWxQYXRoID0gbm9ybWFsUGF0aC5zdGFydHNXaXRoKHByZXNlcnZlTW9kdWxlc1Jvb3QpXG4gICAgICAgID8gbm9ybWFsUGF0aC5zbGljZShwcmVzZXJ2ZU1vZHVsZXNSb290Lmxlbmd0aClcbiAgICAgICAgOiBub3JtYWxQYXRoO1xuICAgIH1cbiAgICB3aGlsZSAobm9ybWFsUGF0aC5lbmRzV2l0aChcIi9cIikpIHtcbiAgICAgIG5vcm1hbFBhdGggPSBub3JtYWxQYXRoLnNsaWNlKDAsIC0xKTtcbiAgICB9XG4gICAgcmV0dXJuIG5vcm1hbFBhdGg7XG4gIH07XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgYSBmdW5jdGlvbiB0aGF0IG5vcm1hbGl6ZXMgdGhlIGlucHV0XG4gKiBAcGFyYW0gcm9vdCAtIFRoZSByb290IG9mIHRoZSBwcm9qZWN0XG4gKiBAcGFyYW0gcHJlc2VydmVNb2R1bGVzUm9vdCAtIFRoZSByb290IG9mIHRoZSBwcmVzZXJ2ZSBtb2R1bGVzXG4gKiBAcGFyYW0gcmVtb3ZlRXh0ZW5zaW9uIC0gV2hldGhlciB0byByZW1vdmUgdGhlIGV4dGVuc2lvbiBvZiB0aGUgZmlsZVxuICogQHJldHVybnMgQSBmdW5jdGlvbiB0aGF0IG5vcm1hbGl6ZXMgdGhlIGlucHV0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbnB1dE5vcm1hbGl6ZXIoe1xuICByb290LFxuICBtb2R1bGVCYXNlUGF0aCA9IERFRkFVTFRfQ09ORklHLk1PRFVMRV9CQVNFX1BBVEgsXG4gIG1vZHVsZUJhc2VVUkwgPSBERUZBVUxUX0NPTkZJRy5NT0RVTEVfQkFTRV9VUkwsXG4gIHByZXNlcnZlTW9kdWxlc1Jvb3QgPSB1bmRlZmluZWQsXG4gIHJlbW92ZUV4dGVuc2lvbiA9IERFRkFVTFRfQ09ORklHLkFVVE9fRElTQ09WRVIubW9kdWxlUGF0dGVybixcbn06IENyZWF0ZUlucHV0Tm9ybWFsaXplclByb3BzKTogSW5wdXROb3JtYWxpemVyIHtcbiAgaWYgKHN0YXNoZWROb3JtYWxpemVyKSB7XG4gICAgcmV0dXJuIHN0YXNoZWROb3JtYWxpemVyO1xuICB9XG4gIGNvbnN0IHJlbGF0aXZlUm9vdCA9IHJlc29sdmVSb290T3B0aW9uKHJvb3QsIHByZXNlcnZlTW9kdWxlc1Jvb3QpO1xuICBjb25zdCBoYW5kbGVFeHRlbnNpb24gPSByZXNvbHZlRXh0ZW5zaW9uT3B0aW9ucyhyZW1vdmVFeHRlbnNpb24pO1xuICBjb25zdCBub3JtYWxpemVFbnRyeUtleSA9IGNyZWF0ZUtleU5vcm1hbGl6ZXIoe1xuICAgIHJvb3Q6IHJvb3QsXG4gICAgcHJlc2VydmVNb2R1bGVzUm9vdDogcHJlc2VydmVNb2R1bGVzUm9vdCxcbiAgICBoYW5kbGVFeHRlbnNpb24sXG4gICAgbW9kdWxlQmFzZVBhdGgsXG4gICAgbW9kdWxlQmFzZVVSTCxcbiAgfSk7XG4gIGNvbnN0IG5vcm1hbGl6ZUVudHJ5UGF0aCA9IGNyZWF0ZVBhdGhOb3JtYWxpemVyKHtcbiAgICByb290OiByb290LFxuICAgIHByZXNlcnZlTW9kdWxlc1Jvb3Q6IHJlbGF0aXZlUm9vdCxcbiAgICBtb2R1bGVCYXNlUGF0aCxcbiAgICBtb2R1bGVCYXNlVVJMLFxuICB9KTtcbiAgZnVuY3Rpb24gbm9ybWFsaXplSW5wdXQoaWQ6IE5vcm1hbGl6ZXJJbnB1dCk6IFtzdHJpbmcsIHN0cmluZ10ge1xuICAgIC8vIE5vcm1hbGl6ZSBib3RoIHBhdGhzIHRvIHVzZSBQT1NJWCBzZXBhcmF0b3JzXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaWQpKSB7XG4gICAgICBjb25zdCBba2V5LCBwYXRoXSA9IGlkO1xuICAgICAgaWYgKHR5cGVvZiBrZXkgPT09IFwic3RyaW5nXCIgJiYgQXJyYXkuaXNBcnJheShwYXRoKSAmJiBwYXRoLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBjb25zdCBpc051bWJlciA9ICFpc05hTihOdW1iZXIoa2V5KSk7XG4gICAgICAgIGlmIChpc051bWJlcikge1xuICAgICAgICAgIC8vIGlnbm9yZSBpdFxuICAgICAgICAgIHJldHVybiBub3JtYWxpemVJbnB1dChbcGF0aFswXSwgcGF0aFsxXV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub3JtYWxpemVJbnB1dChbam9pbihrZXksIHBhdGhbMF0pLCBwYXRoWzFdXSk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIGtleSAhPT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgcGF0aCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW5wdXQ6ICR7SlNPTi5zdHJpbmdpZnkoaWQpfWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtub3JtYWxpemVFbnRyeUtleShrZXkpLCBub3JtYWxpemVFbnRyeVBhdGgocGF0aCldO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGlkID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAvLyBSZXR1cm4gYm90aCB0aGUgbm9ybWFsaXplZCBJRCBhbmQgb3JpZ2luYWwgbm9ybWFsaXplZCBwYXRoXG4gICAgICByZXR1cm4gW25vcm1hbGl6ZUVudHJ5S2V5KGlkKSwgbm9ybWFsaXplRW50cnlQYXRoKGlkKV07XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHR5cGVvZiBpZCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgaWQgIT09IG51bGwgJiZcbiAgICAgIFwiJCR0eXBlb2ZcIiBpbiBpZCAmJlxuICAgICAgXCIkJGlkXCIgaW4gaWQgJiZcbiAgICAgIHR5cGVvZiBpZC4kJGlkID09PSBcInN0cmluZ1wiXG4gICAgKSB7XG4gICAgICBjb25zdCBub3JtYWxpemVkOiBbc3RyaW5nLCBzdHJpbmddID0gW1xuICAgICAgICBub3JtYWxpemVFbnRyeUtleShpZC4kJGlkKSxcbiAgICAgICAgbm9ybWFsaXplRW50cnlQYXRoKGlkLiQkaWQpLFxuICAgICAgXTtcbiAgICAgIHJldHVybiBub3JtYWxpemVkO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW5wdXQgdHlwZTogJHt0eXBlb2YgaWR9YCk7XG4gIH1cblxuICBzdGFzaGVkTm9ybWFsaXplciA9IChpbnB1dDogTm9ybWFsaXplcklucHV0KTogW3N0cmluZywgc3RyaW5nXSA9PiB7XG4gICAgY29uc3QgW2tleSwgcGF0aF0gPSBub3JtYWxpemVJbnB1dChpbnB1dCk7XG4gICAgXG4gICAgXG4gICAgY29uc3QgdmlydHVhbFByZWZpeCA9IGtleS5tYXRjaCgvXlxcMCsvKSA/PyBcIlwiO1xuICAgIC8vIElmIGtleSBoYXMgdmlydHVhbCBwcmVmaXgsIGVuc3VyZSBwYXRoIGhhcyBpdCB0b29cbiAgICBjb25zdCBmaW5hbFBhdGggPSB2aXJ0dWFsUHJlZml4XG4gICAgICA/IHZpcnR1YWxQcmVmaXgubGVuZ3RoICYmIHBhdGguc3RhcnRzV2l0aCh2aXJ0dWFsUHJlZml4WzBdKVxuICAgICAgICA/IHBhdGhcbiAgICAgICAgOiB2aXJ0dWFsUHJlZml4Lmxlbmd0aFxuICAgICAgICA/IHZpcnR1YWxQcmVmaXhbMF0gKyBwYXRoXG4gICAgICAgIDogcGF0aFxuICAgICAgOiBwYXRoO1xuICAgIHJldHVybiBba2V5LCBmaW5hbFBhdGhdO1xuICB9O1xuICByZXR1cm4gc3Rhc2hlZE5vcm1hbGl6ZXI7XG59XG4iXSwibmFtZXMiOlsicGF0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBU0EsSUFBSSxpQkFB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
@@ -1,11 +1,5 @@
1
- import type { StreamMetrics, RenderMetrics } from "../types.js";
2
- import type { PipeableStream } from "react-dom/server";
3
- export declare function createStreamMetrics(): StreamMetrics;
4
- export declare function createRenderMetrics(route: string): RenderMetrics;
5
- /**
6
- * Creates a transform stream that collects metrics from the input stream
7
- * @param stream The stream to collect metrics from
8
- * @returns A promise that resolves with the metrics when the stream ends
9
- */
10
- export declare function collectStreamMetrics(stream: PipeableStream | NodeJS.ReadableStream): Promise<StreamMetrics>;
1
+ export { createStreamMetrics } from "../metrics/createStreamMetrics.js";
2
+ export { createRenderMetrics } from "../metrics/createRenderMetrics.js";
3
+ export { collectStreamMetrics } from "../metrics/collectStreamMetrics.js";
4
+ export type { StreamMetrics, RenderMetrics } from "../metrics/types.js";
11
5
  //# sourceMappingURL=metrics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/metrics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,wBAAgB,mBAAmB,IAAI,aAAa,CAUnD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAahE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA2B3G"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,59 +1,3 @@
1
- /**
2
- * vite-plugin-react-server
3
- * Copyright (c) Nico Brinkkemper
4
- * MIT License
5
- */
6
- import { Transform } from 'node:stream';
7
-
8
- function createStreamMetrics() {
9
- return {
10
- chunks: 0,
11
- bytes: 0,
12
- backpressureCount: 0,
13
- drainCount: 0,
14
- errorCount: 0,
15
- duration: 0,
16
- startTime: performance.now()
17
- };
18
- }
19
- function createRenderMetrics(route) {
20
- return {
21
- route,
22
- htmlSize: 0,
23
- rscSize: 0,
24
- processingTime: 0,
25
- chunks: 0,
26
- chunkRate: 0,
27
- memoryUsage: process.memoryUsage(),
28
- streamMetrics: createStreamMetrics(),
29
- htmlSizes: /* @__PURE__ */ new Map(),
30
- rscSizes: /* @__PURE__ */ new Map()
31
- };
32
- }
33
- function collectStreamMetrics(stream) {
34
- const metrics = createStreamMetrics();
35
- const startTime = performance.now();
36
- return new Promise((resolve, reject) => {
37
- const transform = new Transform({
38
- transform(chunk, _encoding, callback) {
39
- metrics.chunks++;
40
- metrics.bytes += chunk.length;
41
- callback(null, chunk);
42
- },
43
- flush(callback) {
44
- metrics.duration = Date.now() - startTime;
45
- callback();
46
- }
47
- });
48
- stream.pipe(transform);
49
- transform.on("error", (error) => {
50
- reject(error);
51
- });
52
- transform.on("end", () => {
53
- resolve(metrics);
54
- });
55
- });
56
- }
57
-
58
- export { collectStreamMetrics, createRenderMetrics, createStreamMetrics };
59
- //# sourceMappingURL=metrics.js.map
1
+ export { createStreamMetrics } from "../metrics/createStreamMetrics.js";
2
+ export { createRenderMetrics } from "../metrics/createRenderMetrics.js";
3
+ export { collectStreamMetrics } from "../metrics/collectStreamMetrics.js";
@@ -14,4 +14,4 @@ function getModuleRef(id) {
14
14
  }
15
15
 
16
16
  export { getModuleRef, moduleRefs };
17
- //# sourceMappingURL=moduleRefs.js.map
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlUmVmcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2hlbHBlcnMvbW9kdWxlUmVmcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDcmVhdGUgYSBzaGFyZWQgbWFwIHRvIHN0b3JlIG1vZHVsZSByZWZlcmVuY2VzXG5leHBvcnQgY29uc3QgbW9kdWxlUmVmcyA9IG5ldyBNYXA8c3RyaW5nLCB7IGlkOiBzdHJpbmcgfT4oKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1vZHVsZVJlZihpZDogc3RyaW5nKTogeyBpZDogc3RyaW5nIH0ge1xuICBsZXQgbW9kdWxlUmVmID0gbW9kdWxlUmVmcy5nZXQoaWQpO1xuICBpZiAoIW1vZHVsZVJlZikge1xuICAgIG1vZHVsZVJlZiA9IHsgaWQgfTtcbiAgICBtb2R1bGVSZWZzLnNldChpZCwgbW9kdWxlUmVmKTtcbiAgfVxuICByZXR1cm4gbW9kdWxlUmVmO1xufSAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDYSxNQUFBLFVBQUEsdUJBQWlCLEdBQTRCO0FBRW5ELFNBQVMsYUFBYSxFQUE0QixFQUFBO0FBQ3ZELEVBQUksSUFBQSxTQUFBLEdBQVksVUFBVyxDQUFBLEdBQUEsQ0FBSSxFQUFFLENBQUE7QUFDakMsRUFBQSxJQUFJLENBQUMsU0FBVyxFQUFBO0FBQ2QsSUFBQSxTQUFBLEdBQVksRUFBRSxFQUFHLEVBQUE7QUFDakIsSUFBVyxVQUFBLENBQUEsR0FBQSxDQUFJLElBQUksU0FBUyxDQUFBO0FBQUE7QUFFOUIsRUFBTyxPQUFBLFNBQUE7QUFDVDs7OzsifQ==
@@ -1,3 +1,25 @@
1
- export declare function setStashedResolve(resolve: any): void;
2
- export declare function resolveClientImport(specifier: string, parentURL: string): Promise<any>;
1
+ import type { ResolveHookContext } from "node:module";
2
+ type ResolveFunction = (specifier: string, context: ResolveHookContext, nextResolve?: ResolveFunction) => Promise<{
3
+ url: string;
4
+ shortCircuit: boolean;
5
+ }>;
6
+ type GetSourceHookContext = {
7
+ format: string;
8
+ url: string;
9
+ };
10
+ type GetSourceFunction = (url: string, context: GetSourceHookContext, defaultGetSource: GetSourceFunction) => Promise<{
11
+ source: string | ArrayBuffer | SharedArrayBuffer | Uint8Array;
12
+ }>;
13
+ export declare function setStashedResolve(resolve: ResolveFunction): void;
14
+ export declare function setStashedGetSource(getSource: GetSourceFunction): void;
15
+ export declare function resolve(specifier: string, context: ResolveHookContext, defaultResolve: ResolveFunction): Promise<{
16
+ url: string;
17
+ shortCircuit: boolean;
18
+ }>;
19
+ export declare function getSource(url: string, context: GetSourceHookContext, defaultGetSource: GetSourceFunction): Promise<{
20
+ source: string | ArrayBuffer | SharedArrayBuffer | Uint8Array;
21
+ }>;
22
+ export declare function resolveClientImport(specifier: string, parentURL: string): Promise<string>;
23
+ export declare function loadClientSource(url: string): Promise<string | ArrayBuffer | SharedArrayBuffer | Uint8Array<ArrayBufferLike>>;
24
+ export {};
3
25
  //# sourceMappingURL=moduleResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"moduleResolver.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/moduleResolver.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,QAE7C;AAED,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBA6B7E"}
1
+ {"version":3,"file":"moduleResolver.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/moduleResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD,KAAK,eAAe,GAAG,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,kBAAkB,EAC3B,WAAW,CAAC,EAAE,eAAe,KAC1B,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAErD,KAAK,oBAAoB,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,iBAAiB,GAAG,CACvB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,oBAAoB,EAC7B,gBAAgB,EAAE,iBAAiB,KAChC,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,iBAAiB,GAAG,UAAU,CAAA;CAAE,CAAC,CAAC;AAKhF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,QAEzD;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,QAE/D;AAED,wBAAsB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe;SAxBzF,MAAM;kBAAgB,OAAO;GAqChD;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,iBAAiB;YA5BxF,MAAM,GAAG,WAAW,GAAG,iBAAiB,GAAG,UAAU;GAgC3E;AAED,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAoB7E;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,mFAiBjD"}
@@ -1,25 +1,64 @@
1
+ /**
2
+ * vite-plugin-react-server
3
+ * Copyright (c) Nico Brinkkemper
4
+ * MIT License
5
+ */
1
6
  let stashedResolve = null;
2
- export function setStashedResolve(resolve) {
3
- stashedResolve = resolve;
7
+ let stashedGetSource = null;
8
+ function setStashedResolve(resolve2) {
9
+ stashedResolve = resolve2;
4
10
  }
5
- export async function resolveClientImport(specifier, parentURL) {
6
- const conditions = ["node", "import"];
7
- if (stashedResolve === null) {
8
- throw new Error("Expected resolve to have been called before transformSource");
9
- }
10
- try {
11
- const result = await stashedResolve(specifier, {
12
- conditions,
13
- parentURL,
14
- }, stashedResolve);
15
- if (!result) {
16
- console.warn(`Failed to resolve import: ${specifier}`);
17
- return null;
18
- }
19
- return result;
20
- }
21
- catch (error) {
22
- console.error(`Error resolving import ${specifier}:`, error);
23
- return null;
24
- }
11
+ function setStashedGetSource(getSource2) {
12
+ stashedGetSource = getSource2;
25
13
  }
14
+ async function resolve(specifier, context, defaultResolve) {
15
+ stashedResolve = defaultResolve;
16
+ if (!context.conditions.includes("react-server")) {
17
+ context = {
18
+ ...context,
19
+ conditions: [...context.conditions, "react-server"]
20
+ };
21
+ }
22
+ return await defaultResolve(specifier, context, defaultResolve);
23
+ }
24
+ async function getSource(url, context, defaultGetSource) {
25
+ stashedGetSource = defaultGetSource;
26
+ return defaultGetSource(url, context, defaultGetSource);
27
+ }
28
+ async function resolveClientImport(specifier, parentURL) {
29
+ const conditions = ["node", "import"];
30
+ if (stashedResolve === null) {
31
+ throw new Error(
32
+ "Expected resolve to have been called before transformSource"
33
+ );
34
+ }
35
+ const result = await stashedResolve(
36
+ specifier,
37
+ {
38
+ conditions,
39
+ parentURL,
40
+ importAttributes: {}
41
+ },
42
+ stashedResolve
43
+ );
44
+ return result.url;
45
+ }
46
+ async function loadClientSource(url) {
47
+ if (stashedGetSource === null) {
48
+ throw new Error(
49
+ "Expected getSource to have been called before loadClientSource"
50
+ );
51
+ }
52
+ const result = await stashedGetSource(
53
+ url,
54
+ {
55
+ format: "module",
56
+ url
57
+ },
58
+ stashedGetSource
59
+ );
60
+ return result.source;
61
+ }
62
+
63
+ export { getSource, loadClientSource, resolve, resolveClientImport, setStashedGetSource, setStashedResolve };
64
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlUmVzb2x2ZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9oZWxwZXJzL21vZHVsZVJlc29sdmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVzb2x2ZUhvb2tDb250ZXh0IH0gZnJvbSBcIm5vZGU6bW9kdWxlXCI7XG5cbnR5cGUgUmVzb2x2ZUZ1bmN0aW9uID0gKFxuICBzcGVjaWZpZXI6IHN0cmluZyxcbiAgY29udGV4dDogUmVzb2x2ZUhvb2tDb250ZXh0LFxuICBuZXh0UmVzb2x2ZT86IFJlc29sdmVGdW5jdGlvblxuKSA9PiBQcm9taXNlPHsgdXJsOiBzdHJpbmc7IHNob3J0Q2lyY3VpdDogYm9vbGVhbiB9PjtcblxudHlwZSBHZXRTb3VyY2VIb29rQ29udGV4dCA9IHtcbiAgZm9ybWF0OiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xufTtcblxudHlwZSBHZXRTb3VyY2VGdW5jdGlvbiA9IChcbiAgdXJsOiBzdHJpbmcsXG4gIGNvbnRleHQ6IEdldFNvdXJjZUhvb2tDb250ZXh0LFxuICBkZWZhdWx0R2V0U291cmNlOiBHZXRTb3VyY2VGdW5jdGlvblxuKSA9PiBQcm9taXNlPHsgc291cmNlOiBzdHJpbmcgfCBBcnJheUJ1ZmZlciB8IFNoYXJlZEFycmF5QnVmZmVyIHwgVWludDhBcnJheSB9PjtcblxubGV0IHN0YXNoZWRSZXNvbHZlOiBSZXNvbHZlRnVuY3Rpb24gfCBudWxsID0gbnVsbDtcbmxldCBzdGFzaGVkR2V0U291cmNlOiBHZXRTb3VyY2VGdW5jdGlvbiB8IG51bGwgPSBudWxsO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0U3Rhc2hlZFJlc29sdmUocmVzb2x2ZTogUmVzb2x2ZUZ1bmN0aW9uKSB7XG4gIHN0YXNoZWRSZXNvbHZlID0gcmVzb2x2ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFN0YXNoZWRHZXRTb3VyY2UoZ2V0U291cmNlOiBHZXRTb3VyY2VGdW5jdGlvbikge1xuICBzdGFzaGVkR2V0U291cmNlID0gZ2V0U291cmNlO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZShzcGVjaWZpZXI6IHN0cmluZywgY29udGV4dDogUmVzb2x2ZUhvb2tDb250ZXh0LCBkZWZhdWx0UmVzb2x2ZTogUmVzb2x2ZUZ1bmN0aW9uKSB7XG4gIC8vIFdlIHN0YXNoIHRoaXMgaW4gY2FzZSB3ZSBlbmQgdXAgbmVlZGluZyB0byByZXNvbHZlIGV4cG9ydCAqIHN0YXRlbWVudHMgbGF0ZXIuXG4gIHN0YXNoZWRSZXNvbHZlID0gZGVmYXVsdFJlc29sdmU7XG4gIFxuICAvLyBBZGQgcmVhY3Qtc2VydmVyIGNvbmRpdGlvbiBpZiBub3QgcHJlc2VudFxuICBpZiAoIWNvbnRleHQuY29uZGl0aW9ucy5pbmNsdWRlcygncmVhY3Qtc2VydmVyJykpIHtcbiAgICBjb250ZXh0ID0ge1xuICAgICAgLi4uY29udGV4dCxcbiAgICAgIGNvbmRpdGlvbnM6IFsuLi5jb250ZXh0LmNvbmRpdGlvbnMsICdyZWFjdC1zZXJ2ZXInXVxuICAgIH07XG4gIH1cbiAgXG4gIHJldHVybiBhd2FpdCBkZWZhdWx0UmVzb2x2ZShzcGVjaWZpZXIsIGNvbnRleHQsIGRlZmF1bHRSZXNvbHZlKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFNvdXJjZSh1cmw6IHN0cmluZywgY29udGV4dDogR2V0U291cmNlSG9va0NvbnRleHQsIGRlZmF1bHRHZXRTb3VyY2U6IEdldFNvdXJjZUZ1bmN0aW9uKSB7XG4gIC8vIFdlIHN0YXNoIHRoaXMgaW4gY2FzZSB3ZSBlbmQgdXAgbmVlZGluZyB0byByZXNvbHZlIGV4cG9ydCAqIHN0YXRlbWVudHMgbGF0ZXIuXG4gIHN0YXNoZWRHZXRTb3VyY2UgPSBkZWZhdWx0R2V0U291cmNlO1xuICByZXR1cm4gZGVmYXVsdEdldFNvdXJjZSh1cmwsIGNvbnRleHQsIGRlZmF1bHRHZXRTb3VyY2UpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZUNsaWVudEltcG9ydChzcGVjaWZpZXI6IHN0cmluZywgcGFyZW50VVJMOiBzdHJpbmcpIHtcbiAgY29uc3QgY29uZGl0aW9ucyA9IFtcIm5vZGVcIiwgXCJpbXBvcnRcIl07XG5cbiAgaWYgKHN0YXNoZWRSZXNvbHZlID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJFeHBlY3RlZCByZXNvbHZlIHRvIGhhdmUgYmVlbiBjYWxsZWQgYmVmb3JlIHRyYW5zZm9ybVNvdXJjZVwiXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHN0YXNoZWRSZXNvbHZlKFxuICAgIHNwZWNpZmllcixcbiAgICB7XG4gICAgICBjb25kaXRpb25zLFxuICAgICAgcGFyZW50VVJMLFxuICAgICAgaW1wb3J0QXR0cmlidXRlczoge31cbiAgICB9LFxuICAgIHN0YXNoZWRSZXNvbHZlXG4gICk7XG5cbiAgcmV0dXJuIHJlc3VsdC51cmw7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkQ2xpZW50U291cmNlKHVybDogc3RyaW5nKSB7XG4gIGlmIChzdGFzaGVkR2V0U291cmNlID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJFeHBlY3RlZCBnZXRTb3VyY2UgdG8gaGF2ZSBiZWVuIGNhbGxlZCBiZWZvcmUgbG9hZENsaWVudFNvdXJjZVwiXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHN0YXNoZWRHZXRTb3VyY2UoXG4gICAgdXJsLFxuICAgIHtcbiAgICAgIGZvcm1hdDogXCJtb2R1bGVcIixcbiAgICAgIHVybFxuICAgIH0sXG4gICAgc3Rhc2hlZEdldFNvdXJjZVxuICApO1xuXG4gIHJldHVybiByZXN1bHQuc291cmNlO1xufSAiXSwibmFtZXMiOlsicmVzb2x2ZSIsImdldFNvdXJjZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFtQkEsSUFBSSxjQUF5QyxHQUFBLElBQUE7QUFDN0MsSUFBSSxnQkFBNkMsR0FBQSxJQUFBO0FBRTFDLFNBQVMsa0JBQWtCQSxRQUEwQixFQUFBO0FBQzFELEVBQWlCQSxjQUFBQSxHQUFBQSxRQUFBQTtBQUNuQjtBQUVPLFNBQVMsb0JBQW9CQyxVQUE4QixFQUFBO0FBQ2hFLEVBQW1CQSxnQkFBQUEsR0FBQUEsVUFBQUE7QUFDckI7QUFFQSxlQUFzQixPQUFBLENBQVEsU0FBbUIsRUFBQSxPQUFBLEVBQTZCLGNBQWlDLEVBQUE7QUFFN0csRUFBaUIsY0FBQSxHQUFBLGNBQUE7QUFHakIsRUFBQSxJQUFJLENBQUMsT0FBQSxDQUFRLFVBQVcsQ0FBQSxRQUFBLENBQVMsY0FBYyxDQUFHLEVBQUE7QUFDaEQsSUFBVSxPQUFBLEdBQUE7QUFBQSxNQUNSLEdBQUcsT0FBQTtBQUFBLE1BQ0gsVUFBWSxFQUFBLENBQUMsR0FBRyxPQUFBLENBQVEsWUFBWSxjQUFjO0FBQUEsS0FDcEQ7QUFBQTtBQUdGLEVBQUEsT0FBTyxNQUFNLGNBQUEsQ0FBZSxTQUFXLEVBQUEsT0FBQSxFQUFTLGNBQWMsQ0FBQTtBQUNoRTtBQUVBLGVBQXNCLFNBQUEsQ0FBVSxHQUFhLEVBQUEsT0FBQSxFQUErQixnQkFBcUMsRUFBQTtBQUUvRyxFQUFtQixnQkFBQSxHQUFBLGdCQUFBO0FBQ25CLEVBQU8sT0FBQSxnQkFBQSxDQUFpQixHQUFLLEVBQUEsT0FBQSxFQUFTLGdCQUFnQixDQUFBO0FBQ3hEO0FBRUEsZUFBc0IsbUJBQUEsQ0FBb0IsV0FBbUIsU0FBbUIsRUFBQTtBQUM5RSxFQUFNLE1BQUEsVUFBQSxHQUFhLENBQUMsTUFBQSxFQUFRLFFBQVEsQ0FBQTtBQUVwQyxFQUFBLElBQUksbUJBQW1CLElBQU0sRUFBQTtBQUMzQixJQUFBLE1BQU0sSUFBSSxLQUFBO0FBQUEsTUFDUjtBQUFBLEtBQ0Y7QUFBQTtBQUdGLEVBQUEsTUFBTSxTQUFTLE1BQU0sY0FBQTtBQUFBLElBQ25CLFNBQUE7QUFBQSxJQUNBO0FBQUEsTUFDRSxVQUFBO0FBQUEsTUFDQSxTQUFBO0FBQUEsTUFDQSxrQkFBa0I7QUFBQyxLQUNyQjtBQUFBLElBQ0E7QUFBQSxHQUNGO0FBRUEsRUFBQSxPQUFPLE1BQU8sQ0FBQSxHQUFBO0FBQ2hCO0FBRUEsZUFBc0IsaUJBQWlCLEdBQWEsRUFBQTtBQUNsRCxFQUFBLElBQUkscUJBQXFCLElBQU0sRUFBQTtBQUM3QixJQUFBLE1BQU0sSUFBSSxLQUFBO0FBQUEsTUFDUjtBQUFBLEtBQ0Y7QUFBQTtBQUdGLEVBQUEsTUFBTSxTQUFTLE1BQU0sZ0JBQUE7QUFBQSxJQUNuQixHQUFBO0FBQUEsSUFDQTtBQUFBLE1BQ0UsTUFBUSxFQUFBLFFBQUE7QUFBQSxNQUNSO0FBQUEsS0FDRjtBQUFBLElBQ0E7QUFBQSxHQUNGO0FBRUEsRUFBQSxPQUFPLE1BQU8sQ0FBQSxNQUFBO0FBQ2hCOzs7OyJ9
@@ -1,16 +1,43 @@
1
- import type { ResolvedUserOptions } from "../types.js";
2
- import { type Connect, type Logger } from "vite";
1
+ import type { CreateHandlerOptions } from "../types.js";
2
+ import { type Connect } from "vite";
3
3
  /**
4
4
  * # Request info
5
5
  *
6
6
  * Does the initial work to check if the request is for html, rsc, json, js, css, server-action, or something else not handled by this plugin.
7
7
  *
8
8
  * @param req
9
- * @param userOptions
9
+ * @param handlerOptions
10
10
  * @param hostDir
11
11
  * @returns
12
12
  */
13
- export declare function requestInfo(req: Connect.IncomingMessage, userOptions: Pick<ResolvedUserOptions, "normalizer" | "build" | "autoDiscover" | "verbose">, hostDir: string, logger?: Logger): {
13
+ export declare function requestInfo(req: Connect.IncomingMessage, handlerOptions: Pick<CreateHandlerOptions, "normalizer" | "build" | "autoDiscover" | "verbose" | "moduleBasePath" | "moduleBaseURL" | "verbose" | "logger">, hostDir: string): {
14
+ route: string;
15
+ ext: string;
16
+ isHtmlRequest?: undefined;
17
+ isRscRequest?: undefined;
18
+ isCssRequest?: undefined;
19
+ isCss?: undefined;
20
+ isHtml?: undefined;
21
+ isRsc?: undefined;
22
+ isFolder?: undefined;
23
+ contentType?: undefined;
24
+ filePath?: undefined;
25
+ isJS?: undefined;
26
+ isVendor?: undefined;
27
+ isVirtual?: undefined;
28
+ hasJsHeader?: undefined;
29
+ isJsRequest?: undefined;
30
+ isJson?: undefined;
31
+ isJsonRequest?: undefined;
32
+ hasCssHeader?: undefined;
33
+ hasJsonHeader?: undefined;
34
+ hasHtmlHeader?: undefined;
35
+ hasRscHeader?: undefined;
36
+ hasServerActionHeaders?: undefined;
37
+ isServerActionRequest?: undefined;
38
+ isFormContentType?: undefined;
39
+ isFormActionRequest?: undefined;
40
+ } | {
14
41
  route: string;
15
42
  ext: string;
16
43
  isHtmlRequest: boolean;