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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (783) hide show
  1. package/README.md +102 -395
  2. package/dist/_virtual/dynamic-import-helper.js +1 -1
  3. package/dist/client.d.ts +1 -1
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +5 -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 +199 -121
  33. package/dist/plugin/config/defaults.d.ts.map +1 -1
  34. package/dist/plugin/config/defaults.js +155 -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.map +1 -1
  62. package/dist/plugin/config/resolveEnv.js +14 -4
  63. package/dist/plugin/config/resolveOptions.d.ts +13 -3
  64. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  65. package/dist/plugin/config/resolveOptions.js +228 -206
  66. package/dist/plugin/config/resolvePages.js +1 -1
  67. package/dist/plugin/config/resolvePatternWithValues.d.ts +39 -0
  68. package/dist/plugin/config/resolvePatternWithValues.d.ts.map +1 -0
  69. package/dist/plugin/config/resolvePatternWithValues.js +36 -0
  70. package/dist/plugin/config/resolveRegExp.d.ts +29 -0
  71. package/dist/plugin/config/resolveRegExp.d.ts.map +1 -0
  72. package/dist/plugin/config/resolveRegExp.js +39 -0
  73. package/dist/plugin/config/resolveUrlOption.d.ts +37 -6
  74. package/dist/plugin/config/resolveUrlOption.d.ts.map +1 -1
  75. package/dist/plugin/config/resolveUrlOption.js +42 -12
  76. package/dist/plugin/config/resolveUserConfig.d.ts +5 -4
  77. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  78. package/dist/plugin/config/resolveUserConfig.js +86 -40
  79. package/dist/plugin/env/plugin.d.ts +6 -0
  80. package/dist/plugin/env/plugin.d.ts.map +1 -1
  81. package/dist/plugin/env/plugin.js +111 -93
  82. package/dist/plugin/error/directiveError.d.ts +13 -0
  83. package/dist/plugin/error/directiveError.d.ts.map +1 -0
  84. package/dist/plugin/error/directiveError.js +21 -0
  85. package/dist/plugin/error/enhanceError.d.ts +14 -0
  86. package/dist/plugin/error/enhanceError.d.ts.map +1 -0
  87. package/dist/plugin/error/enhanceError.js +24 -0
  88. package/dist/plugin/error/index.d.ts +4 -0
  89. package/dist/plugin/error/index.d.ts.map +1 -0
  90. package/dist/plugin/error/index.js +9 -0
  91. package/dist/plugin/error/logError.d.ts +3 -0
  92. package/dist/plugin/error/logError.d.ts.map +1 -0
  93. package/dist/plugin/error/logError.js +47 -0
  94. package/dist/plugin/error/serializeError.d.ts +7 -0
  95. package/dist/plugin/error/serializeError.d.ts.map +1 -0
  96. package/dist/plugin/error/serializeError.js +37 -0
  97. package/dist/plugin/error/toError.d.ts +1 -8
  98. package/dist/plugin/error/toError.d.ts.map +1 -1
  99. package/dist/plugin/error/toError.js +62 -34
  100. package/dist/plugin/file-preserver/plugin.js +93 -105
  101. package/dist/plugin/getNodeEnv.d.ts +11 -0
  102. package/dist/plugin/getNodeEnv.d.ts.map +1 -0
  103. package/dist/plugin/getNodeEnv.js +17 -0
  104. package/dist/plugin/helpers/cleanObject.d.ts.map +1 -1
  105. package/dist/plugin/helpers/cleanObject.js +2 -1
  106. package/dist/plugin/helpers/collectManifestCss.js +1 -1
  107. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +6 -4
  108. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
  109. package/dist/plugin/helpers/collectViteModuleGraphCss.js +15 -9
  110. package/dist/plugin/helpers/createCssProps.d.ts +3 -4
  111. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
  112. package/dist/plugin/helpers/createCssProps.js +16 -4
  113. package/dist/plugin/helpers/createEventHandler.d.ts +2 -2
  114. package/dist/plugin/helpers/createEventHandler.d.ts.map +1 -1
  115. package/dist/plugin/helpers/createEventHandler.js +1 -1
  116. package/dist/plugin/helpers/createHandler.d.ts +10 -8
  117. package/dist/plugin/helpers/createHandler.d.ts.map +1 -1
  118. package/dist/plugin/helpers/createHandler.js +11 -5
  119. package/dist/plugin/helpers/createRscStream.d.ts +18 -5
  120. package/dist/plugin/helpers/createRscStream.d.ts.map +1 -1
  121. package/dist/plugin/helpers/createRscStream.js +48 -14
  122. package/dist/plugin/helpers/formatMetrics.d.ts +1 -5
  123. package/dist/plugin/helpers/formatMetrics.d.ts.map +1 -1
  124. package/dist/plugin/helpers/formatMetrics.js +2 -39
  125. package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
  126. package/dist/plugin/helpers/getBundleManifest.js +9 -2
  127. package/dist/plugin/helpers/getRouteFiles.d.ts +30 -2
  128. package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
  129. package/dist/plugin/helpers/getRouteFiles.js +70 -7
  130. package/dist/plugin/helpers/handleServerAction.d.ts +8 -7
  131. package/dist/plugin/helpers/handleServerAction.d.ts.map +1 -1
  132. package/dist/plugin/helpers/handleServerAction.js +5 -2
  133. package/dist/plugin/helpers/hydrateUserOptions.d.ts +9 -0
  134. package/dist/plugin/helpers/hydrateUserOptions.d.ts.map +1 -0
  135. package/dist/plugin/helpers/hydrateUserOptions.js +22 -0
  136. package/dist/plugin/helpers/index.d.ts +2 -0
  137. package/dist/plugin/helpers/index.d.ts.map +1 -1
  138. package/dist/plugin/helpers/index.js +31 -31
  139. package/dist/plugin/helpers/inputNormalizer.d.ts +1 -1
  140. package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
  141. package/dist/plugin/helpers/inputNormalizer.js +33 -20
  142. package/dist/plugin/helpers/metrics.d.ts +4 -10
  143. package/dist/plugin/helpers/metrics.d.ts.map +1 -1
  144. package/dist/plugin/helpers/metrics.js +3 -59
  145. package/dist/plugin/helpers/moduleRefs.js +1 -1
  146. package/dist/plugin/helpers/moduleResolver.d.ts +24 -2
  147. package/dist/plugin/helpers/moduleResolver.d.ts.map +1 -1
  148. package/dist/plugin/helpers/moduleResolver.js +61 -22
  149. package/dist/plugin/helpers/requestInfo.d.ts +28 -1
  150. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  151. package/dist/plugin/helpers/requestInfo.js +43 -30
  152. package/dist/plugin/helpers/requestToRoute.d.ts +1 -1
  153. package/dist/plugin/helpers/requestToRoute.d.ts.map +1 -1
  154. package/dist/plugin/helpers/requestToRoute.js +17 -9
  155. package/dist/plugin/helpers/resolveComponent.d.ts +57 -0
  156. package/dist/plugin/helpers/resolveComponent.d.ts.map +1 -0
  157. package/dist/plugin/helpers/resolveComponent.js +71 -0
  158. package/dist/plugin/helpers/resolveComponents.d.ts +27 -0
  159. package/dist/plugin/helpers/resolveComponents.d.ts.map +1 -0
  160. package/dist/plugin/helpers/resolveComponents.js +137 -0
  161. package/dist/plugin/helpers/resolvePage.d.ts +15 -11
  162. package/dist/plugin/helpers/resolvePage.d.ts.map +1 -1
  163. package/dist/plugin/helpers/resolvePage.js +11 -7
  164. package/dist/plugin/helpers/resolvePageAndProps.d.ts +3 -10
  165. package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
  166. package/dist/plugin/helpers/resolvePageAndProps.js +28 -18
  167. package/dist/plugin/helpers/resolveProps.d.ts +13 -7
  168. package/dist/plugin/helpers/resolveProps.d.ts.map +1 -1
  169. package/dist/plugin/helpers/resolveProps.js +55 -25
  170. package/dist/plugin/helpers/resolveUserComponents.d.ts +33 -0
  171. package/dist/plugin/helpers/resolveUserComponents.d.ts.map +1 -0
  172. package/dist/plugin/helpers/resolveUserComponents.js +163 -0
  173. package/dist/plugin/helpers/serializeUserOptions.d.ts +7 -7
  174. package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
  175. package/dist/plugin/helpers/serializeUserOptions.js +127 -42
  176. package/dist/plugin/helpers/stashReturnValue.d.ts +2 -1
  177. package/dist/plugin/helpers/stashReturnValue.d.ts.map +1 -1
  178. package/dist/plugin/helpers/stashReturnValue.js +6 -3
  179. package/dist/plugin/helpers/tryManifest.d.ts +1 -2
  180. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
  181. package/dist/plugin/helpers/tryManifest.js +1 -1
  182. package/dist/plugin/loader/createDefaultLoader.d.ts +19 -8
  183. package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -1
  184. package/dist/plugin/loader/createDefaultLoader.js +69 -107
  185. package/dist/plugin/loader/createTransformer.d.ts +6 -0
  186. package/dist/plugin/loader/createTransformer.d.ts.map +1 -0
  187. package/dist/plugin/loader/createTransformer.js +97 -0
  188. package/dist/plugin/loader/{css-loader.development.d.ts → css-loader.d.ts} +6 -8
  189. package/dist/plugin/loader/css-loader.d.ts.map +1 -0
  190. package/dist/plugin/loader/css-loader.js +134 -0
  191. package/dist/plugin/loader/directives/addLocalExportedNames.d.ts +4 -0
  192. package/dist/plugin/loader/directives/addLocalExportedNames.d.ts.map +1 -0
  193. package/dist/plugin/loader/directives/addLocalExportedNames.js +57 -0
  194. package/dist/plugin/loader/directives/analyzeDirectives.d.ts +9 -0
  195. package/dist/plugin/loader/directives/analyzeDirectives.d.ts.map +1 -0
  196. package/dist/plugin/loader/directives/analyzeDirectives.js +221 -0
  197. package/dist/plugin/loader/directives/analyzeModule.d.ts +11 -0
  198. package/dist/plugin/loader/directives/analyzeModule.d.ts.map +1 -0
  199. package/dist/plugin/loader/directives/analyzeModule.js +34 -0
  200. package/dist/plugin/loader/directives/collectExports.d.ts +13 -0
  201. package/dist/plugin/loader/directives/collectExports.d.ts.map +1 -0
  202. package/dist/plugin/loader/directives/collectExports.js +116 -0
  203. package/dist/plugin/loader/directives/collectExportsFromModule.d.ts +6 -0
  204. package/dist/plugin/loader/directives/collectExportsFromModule.d.ts.map +1 -0
  205. package/dist/plugin/loader/directives/collectExportsFromModule.js +24 -0
  206. package/dist/plugin/loader/directives/findDirectiveMatches.d.ts +3 -0
  207. package/dist/plugin/loader/directives/findDirectiveMatches.d.ts.map +1 -0
  208. package/dist/plugin/loader/directives/findDirectiveMatches.js +46 -0
  209. package/dist/plugin/loader/directives/getExportedName.d.ts +3 -0
  210. package/dist/plugin/loader/directives/getExportedName.d.ts.map +1 -0
  211. package/dist/plugin/loader/directives/getExportedName.js +59 -0
  212. package/dist/plugin/loader/directives/getExports.d.ts +7 -0
  213. package/dist/plugin/loader/directives/getExports.d.ts.map +1 -0
  214. package/dist/plugin/loader/directives/getExports.js +28 -0
  215. package/dist/plugin/loader/directives/getFunctionBody.d.ts +3 -0
  216. package/dist/plugin/loader/directives/getFunctionBody.d.ts.map +1 -0
  217. package/dist/plugin/loader/directives/getFunctionBody.js +31 -0
  218. package/dist/plugin/loader/directives/getFunctionName.d.ts +10 -0
  219. package/dist/plugin/loader/directives/getFunctionName.d.ts.map +1 -0
  220. package/dist/plugin/loader/directives/getFunctionName.js +42 -0
  221. package/dist/plugin/loader/directives/getQualifiedName.d.ts +3 -0
  222. package/dist/plugin/loader/directives/getQualifiedName.d.ts.map +1 -0
  223. package/dist/plugin/loader/directives/getQualifiedName.js +65 -0
  224. package/dist/plugin/loader/directives/index.d.ts +14 -0
  225. package/dist/plugin/loader/directives/index.d.ts.map +1 -0
  226. package/dist/plugin/loader/directives/index.js +18 -0
  227. package/dist/plugin/loader/directives/processFunctionNode.d.ts +4 -0
  228. package/dist/plugin/loader/directives/processFunctionNode.d.ts.map +1 -0
  229. package/dist/plugin/loader/directives/processFunctionNode.js +86 -0
  230. package/dist/plugin/loader/directives/typeGuards.d.ts +37 -0
  231. package/dist/plugin/loader/directives/typeGuards.d.ts.map +1 -0
  232. package/dist/plugin/loader/directives/typeGuards.js +100 -0
  233. package/dist/plugin/loader/directives/types.d.ts +154 -0
  234. package/dist/plugin/loader/directives/types.d.ts.map +1 -0
  235. package/dist/plugin/loader/directives/utils.d.ts +14 -0
  236. package/dist/plugin/loader/directives/utils.d.ts.map +1 -0
  237. package/dist/plugin/loader/directives/utils.js +21 -0
  238. package/dist/plugin/loader/env-loader.d.ts +11 -0
  239. package/dist/plugin/loader/env-loader.d.ts.map +1 -0
  240. package/dist/plugin/loader/env-loader.js +65 -0
  241. package/dist/plugin/loader/index.d.ts +8 -1
  242. package/dist/plugin/loader/index.d.ts.map +1 -1
  243. package/dist/plugin/loader/index.js +13 -4
  244. package/dist/plugin/loader/parse.d.ts +11 -2
  245. package/dist/plugin/loader/parse.d.ts.map +1 -1
  246. package/dist/plugin/loader/parse.js +29 -6
  247. package/dist/plugin/loader/react-loader.d.ts +22 -1
  248. package/dist/plugin/loader/react-loader.d.ts.map +1 -1
  249. package/dist/plugin/loader/react-loader.js +169 -6
  250. package/dist/plugin/loader/removeDirectives.d.ts +5 -0
  251. package/dist/plugin/loader/removeDirectives.d.ts.map +1 -0
  252. package/dist/plugin/loader/removeDirectives.js +17 -0
  253. package/dist/plugin/loader/removeRanges.d.ts +5 -0
  254. package/dist/plugin/loader/removeRanges.d.ts.map +1 -0
  255. package/dist/plugin/loader/removeRanges.js +20 -0
  256. package/dist/plugin/loader/sourceMap.d.ts +16 -24
  257. package/dist/plugin/loader/sourceMap.d.ts.map +1 -1
  258. package/dist/plugin/loader/sourceMap.js +125 -97
  259. package/dist/plugin/loader/transformClientModule.d.ts +10 -0
  260. package/dist/plugin/loader/transformClientModule.d.ts.map +1 -0
  261. package/dist/plugin/loader/transformClientModule.js +46 -0
  262. package/dist/plugin/loader/transformModule.d.ts +6 -0
  263. package/dist/plugin/loader/transformModule.d.ts.map +1 -0
  264. package/dist/plugin/loader/transformModule.js +33 -0
  265. package/dist/plugin/loader/transformModuleIfNeeded.d.ts +12 -1
  266. package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -1
  267. package/dist/plugin/loader/transformModuleIfNeeded.js +9 -20
  268. package/dist/plugin/loader/transformServerModule.d.ts +11 -0
  269. package/dist/plugin/loader/transformServerModule.d.ts.map +1 -0
  270. package/dist/plugin/loader/transformServerModule.js +84 -0
  271. package/dist/plugin/loader/transformWithAcornLoose.d.ts +12 -0
  272. package/dist/plugin/loader/transformWithAcornLoose.d.ts.map +1 -0
  273. package/dist/plugin/loader/transformWithAcornLoose.js +18 -0
  274. package/dist/plugin/loader/types.d.ts +59 -12
  275. package/dist/plugin/loader/types.d.ts.map +1 -1
  276. package/dist/plugin/metrics/collectStreamMetrics.d.ts +9 -0
  277. package/dist/plugin/metrics/collectStreamMetrics.d.ts.map +1 -0
  278. package/dist/plugin/metrics/collectStreamMetrics.js +35 -0
  279. package/dist/plugin/metrics/createRenderMetrics.d.ts +3 -0
  280. package/dist/plugin/metrics/createRenderMetrics.d.ts.map +1 -0
  281. package/dist/plugin/metrics/createRenderMetrics.js +24 -0
  282. package/dist/plugin/metrics/createStreamMetrics.d.ts +3 -0
  283. package/dist/plugin/metrics/createStreamMetrics.d.ts.map +1 -0
  284. package/dist/plugin/metrics/createStreamMetrics.js +19 -0
  285. package/dist/plugin/metrics/formatMetrics.d.ts +6 -3
  286. package/dist/plugin/metrics/formatMetrics.d.ts.map +1 -1
  287. package/dist/plugin/metrics/formatMetrics.js +5 -2
  288. package/dist/plugin/metrics/index.d.ts +3 -1
  289. package/dist/plugin/metrics/index.d.ts.map +1 -1
  290. package/dist/plugin/metrics/index.js +9 -1
  291. package/dist/plugin/metrics/types.d.ts +23 -0
  292. package/dist/plugin/metrics/types.d.ts.map +1 -0
  293. package/dist/plugin/metrics/types.js +1 -0
  294. package/dist/plugin/plugin.client.d.ts +23 -2
  295. package/dist/plugin/plugin.client.d.ts.map +1 -1
  296. package/dist/plugin/plugin.client.js +30 -17
  297. package/dist/plugin/plugin.server.d.ts +13 -2
  298. package/dist/plugin/plugin.server.d.ts.map +1 -1
  299. package/dist/plugin/plugin.server.js +7 -4
  300. package/dist/plugin/preserver/plugin.d.ts +2 -2
  301. package/dist/plugin/preserver/plugin.d.ts.map +1 -1
  302. package/dist/plugin/preserver/plugin.js +33 -29
  303. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts +11 -0
  304. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts.map +1 -0
  305. package/dist/plugin/react-client/cleanupWorkerServerAction.js +18 -0
  306. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts +9 -9
  307. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +1 -1
  308. package/dist/plugin/react-client/configureWorkerRequestHandler.js +25 -14
  309. package/dist/plugin/react-client/createMessageHandlers.d.ts +1 -1
  310. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  311. package/dist/plugin/react-client/createMessageHandlers.js +15 -3
  312. package/dist/plugin/react-client/createWorkerStream.d.ts +12 -10
  313. package/dist/plugin/react-client/createWorkerStream.d.ts.map +1 -1
  314. package/dist/plugin/react-client/createWorkerStream.js +27 -29
  315. package/dist/plugin/react-client/handleWorkerRscStream.d.ts +13 -8
  316. package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +1 -1
  317. package/dist/plugin/react-client/handleWorkerRscStream.js +59 -24
  318. package/dist/plugin/react-client/handleWorkerServerAction.d.ts +2 -1
  319. package/dist/plugin/react-client/handleWorkerServerAction.d.ts.map +1 -1
  320. package/dist/plugin/react-client/handleWorkerServerAction.js +43 -28
  321. package/dist/plugin/react-client/index.d.ts +4 -1
  322. package/dist/plugin/react-client/index.d.ts.map +1 -1
  323. package/dist/plugin/react-client/index.js +10 -1
  324. package/dist/plugin/react-client/plugin.d.ts +5 -3
  325. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  326. package/dist/plugin/react-client/plugin.js +9 -11
  327. package/dist/plugin/react-client/restartWorker.d.ts +5 -4
  328. package/dist/plugin/react-client/restartWorker.d.ts.map +1 -1
  329. package/dist/plugin/react-client/restartWorker.js +12 -10
  330. package/dist/plugin/react-server/configureReactServer.d.ts +5 -4
  331. package/dist/plugin/react-server/configureReactServer.d.ts.map +1 -1
  332. package/dist/plugin/react-server/configureReactServer.js +98 -43
  333. package/dist/plugin/react-server/handleServerAction.d.ts +3 -2
  334. package/dist/plugin/react-server/handleServerAction.d.ts.map +1 -1
  335. package/dist/plugin/react-server/handleServerAction.js +14 -20
  336. package/dist/plugin/react-server/plugin.d.ts +3 -4
  337. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  338. package/dist/plugin/react-server/plugin.js +14 -17
  339. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +8 -6
  340. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +1 -1
  341. package/dist/plugin/react-static/collectHtmlWorkerContent.js +4 -4
  342. package/dist/plugin/react-static/collectRscContent.d.ts +8 -6
  343. package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
  344. package/dist/plugin/react-static/collectRscContent.js +4 -4
  345. package/dist/plugin/react-static/configurePreviewServer.d.ts +6 -4
  346. package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
  347. package/dist/plugin/react-static/configurePreviewServer.js +38 -31
  348. package/dist/plugin/react-static/createBuildLoader.d.ts +5 -5
  349. package/dist/plugin/react-static/createBuildLoader.d.ts.map +1 -1
  350. package/dist/plugin/react-static/createBuildLoader.js +122 -30
  351. package/dist/plugin/react-static/fileWriter.js +1 -1
  352. package/dist/plugin/react-static/plugin.d.ts +3 -4
  353. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  354. package/dist/plugin/react-static/plugin.js +62 -47
  355. package/dist/plugin/react-static/renderPage.d.ts +4 -2
  356. package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
  357. package/dist/plugin/react-static/renderPage.js +33 -17
  358. package/dist/plugin/react-static/renderPages.d.ts +4 -2
  359. package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
  360. package/dist/plugin/react-static/renderPages.js +7 -6
  361. package/dist/plugin/react-static/renderStreams.d.ts +5 -22
  362. package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
  363. package/dist/plugin/react-static/renderStreams.js +6 -6
  364. package/dist/plugin/react-static/rscToHtmlStream.d.ts.map +1 -1
  365. package/dist/plugin/react-static/rscToHtmlStream.js +1 -1
  366. package/dist/plugin/react-static/temporaryReferences.js +1 -1
  367. package/dist/plugin/react-static/types.d.ts +0 -1
  368. package/dist/plugin/react-static/types.d.ts.map +1 -1
  369. package/dist/plugin/root.js +1 -1
  370. package/dist/plugin/transformer/plugin.js +1 -1
  371. package/dist/plugin/transformer/plugin.server.d.ts +5 -3
  372. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
  373. package/dist/plugin/transformer/plugin.server.js +43 -44
  374. package/dist/plugin/types/css-tracking.d.ts +2 -2
  375. package/dist/plugin/types/css-tracking.d.ts.map +1 -1
  376. package/dist/plugin/types.d.ts +452 -192
  377. package/dist/plugin/types.d.ts.map +1 -1
  378. package/dist/plugin/types.js +2 -1
  379. package/dist/plugin/utils/callServer.js +1 -1
  380. package/dist/plugin/utils/createCallServer.d.ts +1 -1
  381. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  382. package/dist/plugin/utils/createCallServer.js +1 -1
  383. package/dist/plugin/utils/createReactFetcher.d.ts +2 -3
  384. package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -1
  385. package/dist/plugin/utils/createReactFetcher.js +1 -1
  386. package/dist/plugin/utils/env.js +1 -1
  387. package/dist/plugin/utils/envUrls.node.js +1 -1
  388. package/dist/plugin/utils/index.d.ts +1 -0
  389. package/dist/plugin/utils/index.d.ts.map +1 -1
  390. package/dist/plugin/utils/index.js +12 -5
  391. package/dist/plugin/utils/routeToURL.d.ts +12 -0
  392. package/dist/plugin/utils/routeToURL.d.ts.map +1 -0
  393. package/dist/plugin/utils/routeToURL.js +26 -0
  394. package/dist/plugin/utils/urls.d.ts.map +1 -1
  395. package/dist/plugin/utils/urls.js +5 -3
  396. package/dist/plugin/vendor/index.js +7 -1
  397. package/dist/plugin/vendor/vendor.client.js +1 -1
  398. package/dist/plugin/vendor/vendor.js +1 -1
  399. package/dist/plugin/vendor/vendor.server.js +1 -1
  400. package/dist/plugin/worker/createWorker.d.ts +31 -17
  401. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  402. package/dist/plugin/worker/createWorker.js +18 -12
  403. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts +2 -2
  404. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +1 -1
  405. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +5 -2
  406. package/dist/plugin/worker/html/html-worker.development.js +3 -3
  407. package/dist/plugin/worker/html/html-worker.production.js +1 -1
  408. package/dist/plugin/worker/html/index.d.ts +1 -1
  409. package/dist/plugin/worker/html/index.d.ts.map +1 -1
  410. package/dist/plugin/worker/html/index.js +1 -1
  411. package/dist/plugin/worker/html/messageHandler.d.ts +1 -1
  412. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  413. package/dist/plugin/worker/html/messageHandler.js +9 -11
  414. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts +3 -0
  415. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts.map +1 -0
  416. package/dist/plugin/worker/html/sendHtmlWorkerMessage.js +2 -0
  417. package/dist/plugin/worker/html/types.d.ts +20 -2
  418. package/dist/plugin/worker/html/types.d.ts.map +1 -1
  419. package/dist/plugin/worker/index.d.ts +3 -0
  420. package/dist/plugin/worker/index.d.ts.map +1 -0
  421. package/dist/plugin/worker/index.js +7 -0
  422. package/dist/plugin/worker/registerLoaders.js +2 -2
  423. package/dist/plugin/worker/rsc/handleRender.d.ts +4 -3
  424. package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -1
  425. package/dist/plugin/worker/rsc/handleRender.js +54 -32
  426. package/dist/plugin/worker/rsc/handlers.d.ts.map +1 -1
  427. package/dist/plugin/worker/rsc/handlers.js +19 -15
  428. package/dist/plugin/worker/rsc/index.d.ts +1 -1
  429. package/dist/plugin/worker/rsc/index.d.ts.map +1 -1
  430. package/dist/plugin/worker/rsc/index.js +1 -1
  431. package/dist/plugin/worker/rsc/messageHandler.d.ts +1 -1
  432. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  433. package/dist/plugin/worker/rsc/messageHandler.js +16 -4
  434. package/dist/plugin/worker/rsc/rsc-worker.development.js +77 -11
  435. package/dist/plugin/worker/rsc/rsc-worker.production.js +1 -1
  436. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts +3 -0
  437. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts.map +1 -0
  438. package/dist/plugin/worker/rsc/sendRscWorkerMessage.js +11 -0
  439. package/dist/plugin/worker/rsc/state.js +1 -1
  440. package/dist/plugin/worker/rsc/types.d.ts +95 -0
  441. package/dist/plugin/worker/rsc/types.d.ts.map +1 -0
  442. package/dist/plugin/worker/rsc/types.js +1 -0
  443. package/dist/plugin/worker/rsc/userOptions.d.ts +1 -1
  444. package/dist/plugin/worker/rsc/userOptions.d.ts.map +1 -1
  445. package/dist/plugin/worker/rsc/userOptions.js +3 -4
  446. package/dist/plugin/worker/sendMessage.d.ts +3 -4
  447. package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
  448. package/dist/plugin/worker/sendMessage.js +15 -5
  449. package/dist/plugin/worker/types.d.ts +109 -260
  450. package/dist/plugin/worker/types.d.ts.map +1 -1
  451. package/dist/server.js +1 -1
  452. package/dist/tsconfig.tsbuildinfo +1 -1
  453. package/package.json +58 -25
  454. package/plugin/components/{css-collector-elements.tsx → css.tsx} +3 -3
  455. package/plugin/components/html.tsx +4 -4
  456. package/plugin/components/index.ts +3 -3
  457. package/plugin/components/root.tsx +20 -0
  458. package/plugin/config/autoDiscover/resolveAutoDiscover.ts +173 -134
  459. package/plugin/config/autoDiscover/resolveBuildPages.ts +120 -7
  460. package/plugin/config/createModuleID.ts +60 -39
  461. package/plugin/config/defaults.tsx +184 -95
  462. package/plugin/config/extMap.ts +51 -56
  463. package/plugin/config/flightBindings.ts +221 -0
  464. package/plugin/config/getCondition.ts +6 -0
  465. package/plugin/config/index.ts +17 -4
  466. package/plugin/config/interpolatePattern.ts +19 -0
  467. package/plugin/config/parsePattern.ts +81 -0
  468. package/plugin/config/resolveAllowedDirectives.ts +59 -0
  469. package/plugin/config/resolveDirectiveMatcher.ts +57 -0
  470. package/plugin/config/resolveEnv.ts +5 -10
  471. package/plugin/config/resolveOptions.ts +415 -299
  472. package/plugin/config/resolvePatternWithValues.ts +70 -0
  473. package/plugin/config/resolveRegExp.ts +89 -0
  474. package/plugin/config/resolveUrlOption.ts +92 -20
  475. package/plugin/config/resolveUserConfig.ts +417 -351
  476. package/plugin/env/plugin.ts +71 -7
  477. package/plugin/error/directiveError.ts +29 -0
  478. package/plugin/error/enhanceError.ts +41 -0
  479. package/plugin/error/index.ts +3 -0
  480. package/plugin/error/logError.ts +45 -0
  481. package/plugin/error/serializeError.ts +34 -0
  482. package/plugin/error/toError.ts +75 -45
  483. package/plugin/file-preserver/plugin.ts +3 -3
  484. package/plugin/getNodeEnv.ts +24 -0
  485. package/plugin/helpers/cleanObject.ts +2 -1
  486. package/plugin/helpers/collectViteModuleGraphCss.ts +138 -118
  487. package/plugin/helpers/createCssProps.tsx +41 -20
  488. package/plugin/helpers/createEventHandler.ts +1 -1
  489. package/plugin/helpers/createHandler.ts +40 -12
  490. package/plugin/helpers/createRscStream.tsx +97 -35
  491. package/plugin/helpers/formatMetrics.ts +2 -37
  492. package/plugin/helpers/getBundleManifest.ts +10 -1
  493. package/plugin/helpers/getRouteFiles.ts +112 -8
  494. package/plugin/helpers/handleServerAction.ts +10 -6
  495. package/plugin/helpers/hydrateUserOptions.ts +23 -0
  496. package/plugin/helpers/index.ts +4 -0
  497. package/plugin/helpers/inputNormalizer.ts +44 -24
  498. package/plugin/helpers/metrics.ts +4 -64
  499. package/plugin/helpers/moduleResolver.ts +74 -19
  500. package/plugin/helpers/requestInfo.ts +72 -52
  501. package/plugin/helpers/requestToRoute.ts +38 -12
  502. package/plugin/helpers/resolveComponent.ts +173 -0
  503. package/plugin/helpers/resolveComponents.ts +185 -0
  504. package/plugin/helpers/resolvePage.ts +35 -29
  505. package/plugin/helpers/resolvePageAndProps.ts +82 -61
  506. package/plugin/helpers/resolveProps.ts +100 -37
  507. package/plugin/helpers/resolveUserComponents.ts +190 -0
  508. package/plugin/helpers/serializeUserOptions.ts +190 -69
  509. package/plugin/helpers/stashReturnValue.ts +7 -4
  510. package/plugin/helpers/tryManifest.ts +1 -1
  511. package/plugin/loader/createDefaultLoader.ts +119 -119
  512. package/plugin/loader/createTransformer.ts +118 -0
  513. package/plugin/loader/css-loader.ts +206 -0
  514. package/plugin/loader/directives/addLocalExportedNames.ts +78 -0
  515. package/plugin/loader/directives/analyzeDirectives.ts +298 -0
  516. package/plugin/loader/directives/analyzeModule.ts +39 -0
  517. package/plugin/loader/directives/collectExports.ts +181 -0
  518. package/plugin/loader/directives/collectExportsFromModule.ts +25 -0
  519. package/plugin/loader/directives/findDirectiveMatches.ts +58 -0
  520. package/plugin/loader/directives/getExportedName.ts +73 -0
  521. package/plugin/loader/directives/getExports.ts +27 -0
  522. package/plugin/loader/directives/getFunctionBody.ts +32 -0
  523. package/plugin/loader/directives/getFunctionName.ts +70 -0
  524. package/plugin/loader/directives/getQualifiedName.ts +76 -0
  525. package/plugin/loader/directives/index.ts +13 -0
  526. package/plugin/loader/directives/processFunctionNode.ts +97 -0
  527. package/plugin/loader/directives/typeGuards.ts +160 -0
  528. package/plugin/loader/directives/types.ts +174 -0
  529. package/plugin/loader/directives/utils.ts +35 -0
  530. package/plugin/loader/{env-loader.development.ts → env-loader.ts} +8 -22
  531. package/plugin/loader/index.ts +8 -6
  532. package/plugin/loader/parse.ts +42 -12
  533. package/plugin/loader/react-loader.ts +255 -4
  534. package/plugin/loader/removeDirectives.ts +14 -0
  535. package/plugin/loader/removeRanges.ts +21 -0
  536. package/plugin/loader/sourceMap.ts +174 -84
  537. package/plugin/loader/transformClientModule.ts +64 -0
  538. package/plugin/loader/transformModule.ts +54 -0
  539. package/plugin/loader/transformModuleIfNeeded.ts +40 -40
  540. package/plugin/loader/transformServerModule.ts +136 -0
  541. package/plugin/loader/transformWithAcornLoose.ts +27 -0
  542. package/plugin/loader/types.ts +65 -13
  543. package/plugin/metrics/collectStreamMetrics.ts +38 -0
  544. package/plugin/metrics/createRenderMetrics.ts +17 -0
  545. package/plugin/metrics/createStreamMetrics.ts +14 -0
  546. package/plugin/metrics/formatMetrics.ts +7 -3
  547. package/plugin/metrics/index.ts +3 -1
  548. package/plugin/metrics/types.ts +24 -0
  549. package/plugin/plugin.client.ts +39 -15
  550. package/plugin/plugin.server.ts +39 -18
  551. package/plugin/preserver/plugin.ts +42 -42
  552. package/plugin/react-client/cleanupWorkerServerAction.ts +33 -0
  553. package/plugin/react-client/configureWorkerRequestHandler.ts +212 -201
  554. package/plugin/react-client/createMessageHandlers.ts +17 -3
  555. package/plugin/react-client/createWorkerStream.ts +55 -51
  556. package/plugin/react-client/handleWorkerRscStream.ts +141 -61
  557. package/plugin/react-client/handleWorkerServerAction.ts +59 -37
  558. package/plugin/react-client/index.ts +4 -1
  559. package/plugin/react-client/plugin.ts +17 -18
  560. package/plugin/react-client/restartWorker.ts +75 -70
  561. package/plugin/react-server/configureReactServer.ts +200 -142
  562. package/plugin/react-server/handleServerAction.ts +156 -160
  563. package/plugin/react-server/plugin.ts +18 -25
  564. package/plugin/react-static/collectHtmlWorkerContent.ts +109 -102
  565. package/plugin/react-static/collectRscContent.ts +55 -51
  566. package/plugin/react-static/configurePreviewServer.ts +110 -100
  567. package/plugin/react-static/createBuildLoader.ts +157 -48
  568. package/plugin/react-static/plugin.ts +368 -357
  569. package/plugin/react-static/renderPage.ts +43 -24
  570. package/plugin/react-static/renderPages.ts +21 -14
  571. package/plugin/react-static/renderStreams.ts +13 -15
  572. package/plugin/react-static/rscToHtmlStream.ts +4 -6
  573. package/plugin/react-static/types.ts +0 -3
  574. package/plugin/transformer/README.md +82 -8
  575. package/plugin/transformer/plugin.server.ts +55 -82
  576. package/plugin/types/css-tracking.ts +1 -1
  577. package/plugin/types/global.d.ts +2 -2
  578. package/plugin/types/react-server-dom-esm.d.ts +12 -13
  579. package/plugin/types.ts +685 -309
  580. package/plugin/utils/createCallServer.ts +5 -5
  581. package/plugin/utils/createReactFetcher.ts +4 -6
  582. package/plugin/utils/index.ts +2 -1
  583. package/plugin/utils/routeToURL.ts +34 -0
  584. package/plugin/utils/urls.ts +9 -6
  585. package/plugin/worker/createWorker.ts +67 -34
  586. package/plugin/worker/html/README.md +10 -0
  587. package/plugin/worker/html/createHtmlWorkerRenderState.tsx +7 -4
  588. package/plugin/worker/html/html-worker.development.tsx +4 -3
  589. package/plugin/worker/html/index.ts +3 -1
  590. package/plugin/worker/html/messageHandler.tsx +10 -16
  591. package/plugin/worker/html/sendHtmlWorkerMessage.ts +8 -0
  592. package/plugin/worker/html/types.ts +67 -1
  593. package/plugin/worker/index.ts +2 -0
  594. package/plugin/worker/registerLoaders.ts +3 -3
  595. package/plugin/worker/rsc/README.md +203 -1
  596. package/plugin/worker/rsc/handleRender.ts +76 -39
  597. package/plugin/worker/rsc/handlers.ts +30 -22
  598. package/plugin/worker/rsc/index.ts +2 -0
  599. package/plugin/worker/rsc/messageHandler.tsx +17 -10
  600. package/plugin/worker/rsc/rsc-worker.development.ts +104 -17
  601. package/plugin/worker/rsc/sendRscWorkerMessage.ts +7 -0
  602. package/plugin/worker/rsc/state.ts +1 -1
  603. package/plugin/worker/rsc/types.ts +185 -0
  604. package/plugin/worker/rsc/userOptions.ts +2 -3
  605. package/plugin/worker/sendMessage.ts +23 -14
  606. package/plugin/worker/types.ts +131 -386
  607. package/scripts/check-react-version.mjs +3 -3
  608. package/scripts/fix-unused-imports.mjs +77 -0
  609. package/tsconfig.json +1 -1
  610. package/dist/_virtual/dynamic-import-helper.js.map +0 -1
  611. package/dist/client.js.map +0 -1
  612. package/dist/index.js.map +0 -1
  613. package/dist/plugin/components/css-collector-elements.d.ts.map +0 -1
  614. package/dist/plugin/components/css-collector-elements.js +0 -33
  615. package/dist/plugin/components/css-collector-elements.js.map +0 -1
  616. package/dist/plugin/components/css-collector.d.ts +0 -7
  617. package/dist/plugin/components/css-collector.d.ts.map +0 -1
  618. package/dist/plugin/components/css-collector.js +0 -18
  619. package/dist/plugin/components/css-collector.js.map +0 -1
  620. package/dist/plugin/components/html.js.map +0 -1
  621. package/dist/plugin/components.js +0 -9
  622. package/dist/plugin/components.js.map +0 -1
  623. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js.map +0 -1
  624. package/dist/plugin/config/autoDiscover/customWorkerFiles.js.map +0 -1
  625. package/dist/plugin/config/autoDiscover/pageAndPropFiles.js.map +0 -1
  626. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js.map +0 -1
  627. package/dist/plugin/config/autoDiscover/resolveBuildPages.js.map +0 -1
  628. package/dist/plugin/config/defaults.js.map +0 -1
  629. package/dist/plugin/config/extMap.js.map +0 -1
  630. package/dist/plugin/config/getCondition.js.map +0 -1
  631. package/dist/plugin/config/getPaths.js.map +0 -1
  632. package/dist/plugin/config/mimeTypes.js.map +0 -1
  633. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts +0 -5
  634. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts.map +0 -1
  635. package/dist/plugin/config/resolveAutoDiscoverMatcher.js +0 -25
  636. package/dist/plugin/config/resolveAutoDiscoverMatcher.js.map +0 -1
  637. package/dist/plugin/config/resolveEnv.js.map +0 -1
  638. package/dist/plugin/config/resolveOptions.js.map +0 -1
  639. package/dist/plugin/config/resolvePages.js.map +0 -1
  640. package/dist/plugin/config/resolveUrlOption.js.map +0 -1
  641. package/dist/plugin/config/resolveUserConfig.js.map +0 -1
  642. package/dist/plugin/config.js +0 -17
  643. package/dist/plugin/config.js.map +0 -1
  644. package/dist/plugin/env.js +0 -79
  645. package/dist/plugin/env.js.map +0 -1
  646. package/dist/plugin/error/toError.js.map +0 -1
  647. package/dist/plugin/file-preserver.js +0 -96
  648. package/dist/plugin/file-preserver.js.map +0 -1
  649. package/dist/plugin/helpers/cleanObject.js.map +0 -1
  650. package/dist/plugin/helpers/collectManifestCss.js.map +0 -1
  651. package/dist/plugin/helpers/collectViteModuleGraphCss.js.map +0 -1
  652. package/dist/plugin/helpers/createCssProps.js.map +0 -1
  653. package/dist/plugin/helpers/createEventHandler.js.map +0 -1
  654. package/dist/plugin/helpers/createHandler.js.map +0 -1
  655. package/dist/plugin/helpers/createRscStream.js.map +0 -1
  656. package/dist/plugin/helpers/formatMetrics.js.map +0 -1
  657. package/dist/plugin/helpers/getBundleManifest.js.map +0 -1
  658. package/dist/plugin/helpers/getRouteFiles.js.map +0 -1
  659. package/dist/plugin/helpers/handleServerAction.js.map +0 -1
  660. package/dist/plugin/helpers/inputNormalizer.js.map +0 -1
  661. package/dist/plugin/helpers/metrics.js.map +0 -1
  662. package/dist/plugin/helpers/moduleRefs.js.map +0 -1
  663. package/dist/plugin/helpers/requestInfo.js.map +0 -1
  664. package/dist/plugin/helpers/requestToRoute.js.map +0 -1
  665. package/dist/plugin/helpers/resolvePage.js.map +0 -1
  666. package/dist/plugin/helpers/resolvePageAndProps.js.map +0 -1
  667. package/dist/plugin/helpers/resolveProps.js.map +0 -1
  668. package/dist/plugin/helpers/serializeUserOptions.js.map +0 -1
  669. package/dist/plugin/helpers/sourceMap.d.ts +0 -8
  670. package/dist/plugin/helpers/sourceMap.d.ts.map +0 -1
  671. package/dist/plugin/helpers/sourceMap.js +0 -136
  672. package/dist/plugin/helpers/stashReturnValue.js.map +0 -1
  673. package/dist/plugin/helpers/tryManifest.js.map +0 -1
  674. package/dist/plugin/helpers.js +0 -27
  675. package/dist/plugin/helpers.js.map +0 -1
  676. package/dist/plugin/loader/css-loader.development.d.ts.map +0 -1
  677. package/dist/plugin/loader/css-loader.development.js +0 -76
  678. package/dist/plugin/loader/css-loader.development.js.map +0 -1
  679. package/dist/plugin/loader/css-loader.production.d.ts +0 -31
  680. package/dist/plugin/loader/css-loader.production.d.ts.map +0 -1
  681. package/dist/plugin/loader/css-loader.production.js +0 -45
  682. package/dist/plugin/loader/css-loader.production.js.map +0 -1
  683. package/dist/plugin/loader/env-loader.development.d.ts +0 -13
  684. package/dist/plugin/loader/env-loader.development.d.ts.map +0 -1
  685. package/dist/plugin/loader/env-loader.development.js +0 -68
  686. package/dist/plugin/loader/handleExports.d.ts +0 -40
  687. package/dist/plugin/loader/handleExports.d.ts.map +0 -1
  688. package/dist/plugin/loader/handleExports.js +0 -209
  689. package/dist/plugin/loader/handleExports.js.map +0 -1
  690. package/dist/plugin/loader/parse.js.map +0 -1
  691. package/dist/plugin/loader/react-loader.client.d.ts +0 -2
  692. package/dist/plugin/loader/react-loader.client.d.ts.map +0 -1
  693. package/dist/plugin/loader/react-loader.client.js +0 -2
  694. package/dist/plugin/loader/react-loader.js.map +0 -1
  695. package/dist/plugin/loader/react-loader.server.d.ts +0 -21
  696. package/dist/plugin/loader/react-loader.server.d.ts.map +0 -1
  697. package/dist/plugin/loader/react-loader.server.js +0 -131
  698. package/dist/plugin/loader/transformModuleIfNeeded.js.map +0 -1
  699. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts +0 -48
  700. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts.map +0 -1
  701. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js +0 -428
  702. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js.map +0 -1
  703. package/dist/plugin/metrics/formatMetrics.js.map +0 -1
  704. package/dist/plugin/metrics.js +0 -7
  705. package/dist/plugin/metrics.js.map +0 -1
  706. package/dist/plugin/plugin.client.js.map +0 -1
  707. package/dist/plugin/plugin.server.js.map +0 -1
  708. package/dist/plugin/preserver/plugin.js.map +0 -1
  709. package/dist/plugin/react-client/configureWorkerRequestHandler.js.map +0 -1
  710. package/dist/plugin/react-client/createMessageHandlers.js.map +0 -1
  711. package/dist/plugin/react-client/createWorkerStream.js.map +0 -1
  712. package/dist/plugin/react-client/handleWorkerRscStream.js.map +0 -1
  713. package/dist/plugin/react-client/handleWorkerServerAction.js.map +0 -1
  714. package/dist/plugin/react-client/plugin.js.map +0 -1
  715. package/dist/plugin/react-client/restartWorker.js.map +0 -1
  716. package/dist/plugin/react-server/configureReactServer.js.map +0 -1
  717. package/dist/plugin/react-server/handleServerAction.js.map +0 -1
  718. package/dist/plugin/react-server/plugin.js.map +0 -1
  719. package/dist/plugin/react-static/collectHtmlWorkerContent.js.map +0 -1
  720. package/dist/plugin/react-static/collectRscContent.js.map +0 -1
  721. package/dist/plugin/react-static/configurePreviewServer.js.map +0 -1
  722. package/dist/plugin/react-static/createBuildLoader.js.map +0 -1
  723. package/dist/plugin/react-static/fileWriter.js.map +0 -1
  724. package/dist/plugin/react-static/plugin.js.map +0 -1
  725. package/dist/plugin/react-static/renderPage.js.map +0 -1
  726. package/dist/plugin/react-static/renderPages.js.map +0 -1
  727. package/dist/plugin/react-static/renderStreams.js.map +0 -1
  728. package/dist/plugin/react-static/rscToHtmlStream.js.map +0 -1
  729. package/dist/plugin/react-static/temporaryReferences.js.map +0 -1
  730. package/dist/plugin/root.js.map +0 -1
  731. package/dist/plugin/source-map/createMappingsSerializer.d.ts +0 -2
  732. package/dist/plugin/source-map/createMappingsSerializer.d.ts.map +0 -1
  733. package/dist/plugin/source-map/createMappingsSerializer.js +0 -129
  734. package/dist/plugin/source-map/createMappingsSerializer.js.map +0 -1
  735. package/dist/plugin/source-map/readMappings.d.ts +0 -2
  736. package/dist/plugin/source-map/readMappings.d.ts.map +0 -1
  737. package/dist/plugin/source-map/readMappings.js +0 -200
  738. package/dist/plugin/transformer/plugin.client.d.ts +0 -2
  739. package/dist/plugin/transformer/plugin.client.d.ts.map +0 -1
  740. package/dist/plugin/transformer/plugin.js.map +0 -1
  741. package/dist/plugin/transformer/plugin.server.js.map +0 -1
  742. package/dist/plugin/utils/callServer.js.map +0 -1
  743. package/dist/plugin/utils/createCallServer.js.map +0 -1
  744. package/dist/plugin/utils/createReactFetcher.js.map +0 -1
  745. package/dist/plugin/utils/env.js.map +0 -1
  746. package/dist/plugin/utils/envUrls.node.js.map +0 -1
  747. package/dist/plugin/utils/urls.js.map +0 -1
  748. package/dist/plugin/utils.js +0 -11
  749. package/dist/plugin/utils.js.map +0 -1
  750. package/dist/plugin/vendor/vendor.client.js.map +0 -1
  751. package/dist/plugin/vendor/vendor.js.map +0 -1
  752. package/dist/plugin/vendor/vendor.server.js.map +0 -1
  753. package/dist/plugin/vendor.js +0 -7
  754. package/dist/plugin/vendor.js.map +0 -1
  755. package/dist/plugin/worker/createWorker.js.map +0 -1
  756. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js.map +0 -1
  757. package/dist/plugin/worker/html/html-worker.development.js.map +0 -1
  758. package/dist/plugin/worker/html/html-worker.production.js.map +0 -1
  759. package/dist/plugin/worker/html/index.js.map +0 -1
  760. package/dist/plugin/worker/html/messageHandler.js.map +0 -1
  761. package/dist/plugin/worker/rsc/handleRender.js.map +0 -1
  762. package/dist/plugin/worker/rsc/handlers.js.map +0 -1
  763. package/dist/plugin/worker/rsc/index.js.map +0 -1
  764. package/dist/plugin/worker/rsc/messageHandler.js.map +0 -1
  765. package/dist/plugin/worker/rsc/rsc-worker.development.js.map +0 -1
  766. package/dist/plugin/worker/rsc/rsc-worker.production.js.map +0 -1
  767. package/dist/plugin/worker/rsc/state.js.map +0 -1
  768. package/dist/plugin/worker/rsc/userOptions.js.map +0 -1
  769. package/dist/plugin/worker/sendMessage.js.map +0 -1
  770. package/dist/server.js.map +0 -1
  771. package/plugin/components/css-collector.tsx +0 -20
  772. package/plugin/config/resolveAutoDiscoverMatcher.ts +0 -23
  773. package/plugin/helpers/sourceMap.ts +0 -182
  774. package/plugin/loader/css-loader.development.ts +0 -135
  775. package/plugin/loader/css-loader.production.ts +0 -84
  776. package/plugin/loader/handleExports.ts +0 -309
  777. package/plugin/loader/react-loader.client.ts +0 -1
  778. package/plugin/loader/react-loader.server.ts +0 -185
  779. package/plugin/loader/transformModuleWithPreservedFunctions.ts +0 -593
  780. package/plugin/source-map/createMappingsSerializer.ts +0 -181
  781. package/plugin/source-map/readMappings.ts +0 -194
  782. package/plugin/transformer/plugin.client.ts +0 -0
  783. /package/dist/plugin/{transformer/plugin.client.js → loader/directives/types.js} +0 -0
@@ -1,11 +1,12 @@
1
- import type { ResolvedUserOptions } from "../../types.js";
1
+ import type { SerializedUserOptions } from "../../types.js";
2
2
  import type { ViteDevServer } from "vite";
3
3
  import type { AutoDiscoveredFiles } from "../../types.js";
4
4
  import { MessageChannel, type Worker } from "node:worker_threads";
5
- export declare function restartWorker({ server, autoDiscoveredFiles, userOptions, hmrChannel, }: {
5
+ export type RestartWorkerFn = (props: {
6
6
  server: ViteDevServer;
7
7
  autoDiscoveredFiles: AutoDiscoveredFiles;
8
- userOptions: ResolvedUserOptions;
8
+ userOptions: SerializedUserOptions;
9
9
  hmrChannel: MessageChannel;
10
- }): Promise<Worker | null>;
10
+ }) => Promise<Worker | null>;
11
+ export declare const restartWorker: RestartWorkerFn;
11
12
  //# sourceMappingURL=restartWorker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"restartWorker.d.ts","sourceRoot":"","sources":["../../../plugin/react-client/restartWorker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAMlE,wBAAsB,aAAa,CAAC,EAChC,MAAM,EACN,mBAAmB,EACnB,WAAW,EACX,UAAU,GACX,EAAE;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,cAAc,CAAC;CAC5B,0BA8DF"}
1
+ {"version":3,"file":"restartWorker.d.ts","sourceRoot":"","sources":["../../../plugin/react-client/restartWorker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAOlE,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,WAAW,EAAE,qBAAqB,CAAC;IACnC,UAAU,EAAE,cAAc,CAAC;CAC5B,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE7B,eAAO,MAAM,aAAa,EAAE,eAoE3B,CAAC"}
@@ -4,13 +4,14 @@
4
4
  * MIT License
5
5
  */
6
6
  import { createWorker } from '../worker/createWorker.js';
7
- import { serializedOptions, serializedDevServerConfig } from '../helpers/serializeUserOptions.js';
7
+ import { serializedDevServerConfig } from '../helpers/serializeUserOptions.js';
8
8
  import { MessageChannel } from 'node:worker_threads';
9
9
  import { DEFAULT_CONFIG } from '../config/defaults.js';
10
+ import React__default from 'react';
10
11
 
11
12
  let currentWorker = null;
12
13
  let isRestarting = false;
13
- async function restartWorker({
14
+ const restartWorker = async function _restartWorker({
14
15
  server,
15
16
  autoDiscoveredFiles,
16
17
  userOptions,
@@ -40,18 +41,19 @@ async function restartWorker({
40
41
  maxListeners,
41
42
  envPrefix: typeof server.config.envPrefix === "string" ? server.config.envPrefix : Array.isArray(server.config.envPrefix) ? server.config.envPrefix[0] : DEFAULT_CONFIG.ENV_PREFIX,
42
43
  workerData: {
43
- hmrPort: workerHmrChannel.port2,
44
+ userOptions,
44
45
  resolvedConfig: serializedDevServerConfig(server.config),
45
- userOptions: serializedOptions(userOptions, autoDiscoveredFiles),
46
- serverActions: autoDiscoveredFiles.serverActions
46
+ reactVersion: React__default.version,
47
+ id: "worker/rsc"
47
48
  },
48
49
  transferList: [workerHmrChannel.port2]
49
50
  });
50
51
  if (workerResult.type === "success") {
51
52
  currentWorker = workerResult.worker;
52
- if (userOptions.verbose) server.config.logger.info(
53
- `[react-client] Set max listeners to ${maxListeners} for ${routeCount} routes`
54
- );
53
+ if (userOptions.verbose)
54
+ server.config.logger.info(
55
+ `[react-client] Set max listeners to ${maxListeners} for ${routeCount} routes`
56
+ );
55
57
  } else if (workerResult.type === "error") {
56
58
  server.config.logger.error("Failed to start rsc-worker", {
57
59
  error: workerResult.error
@@ -62,7 +64,7 @@ async function restartWorker({
62
64
  isRestarting = false;
63
65
  }
64
66
  return currentWorker;
65
- }
67
+ };
66
68
 
67
69
  export { restartWorker };
68
- //# sourceMappingURL=restartWorker.js.map
70
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGFydFdvcmtlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3JlYWN0LWNsaWVudC9yZXN0YXJ0V29ya2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgU2VyaWFsaXplZFVzZXJPcHRpb25zLFxufSBmcm9tIFwiLi4vLi4vdHlwZXMuanNcIjtcblxuaW1wb3J0IHR5cGUgeyBWaXRlRGV2U2VydmVyIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCB0eXBlIHsgQXV0b0Rpc2NvdmVyZWRGaWxlcyB9IGZyb20gXCIuLi8uLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgY3JlYXRlV29ya2VyIH0gZnJvbSBcIi4uL3dvcmtlci9jcmVhdGVXb3JrZXIuanNcIjtcbmltcG9ydCB7IHNlcmlhbGl6ZWREZXZTZXJ2ZXJDb25maWcgfSBmcm9tIFwiLi4vaGVscGVycy9zZXJpYWxpemVVc2VyT3B0aW9ucy5qc1wiO1xuaW1wb3J0IHsgTWVzc2FnZUNoYW5uZWwsIHR5cGUgV29ya2VyIH0gZnJvbSBcIm5vZGU6d29ya2VyX3RocmVhZHNcIjtcbmltcG9ydCB7IERFRkFVTFRfQ09ORklHIH0gZnJvbSBcIi4uL2NvbmZpZy9kZWZhdWx0cy5qc1wiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG5sZXQgY3VycmVudFdvcmtlcjogV29ya2VyIHwgbnVsbCA9IG51bGw7XG5sZXQgaXNSZXN0YXJ0aW5nID0gZmFsc2U7XG5cbmV4cG9ydCB0eXBlIFJlc3RhcnRXb3JrZXJGbiA9IChwcm9wczoge1xuICBzZXJ2ZXI6IFZpdGVEZXZTZXJ2ZXI7XG4gIGF1dG9EaXNjb3ZlcmVkRmlsZXM6IEF1dG9EaXNjb3ZlcmVkRmlsZXM7XG4gIHVzZXJPcHRpb25zOiBTZXJpYWxpemVkVXNlck9wdGlvbnM7XG4gIGhtckNoYW5uZWw6IE1lc3NhZ2VDaGFubmVsO1xufSkgPT4gUHJvbWlzZTxXb3JrZXIgfCBudWxsPjtcblxuZXhwb3J0IGNvbnN0IHJlc3RhcnRXb3JrZXI6IFJlc3RhcnRXb3JrZXJGbiA9IGFzeW5jIGZ1bmN0aW9uIF9yZXN0YXJ0V29ya2VyKHtcbiAgc2VydmVyLFxuICBhdXRvRGlzY292ZXJlZEZpbGVzLFxuICB1c2VyT3B0aW9ucyxcbiAgaG1yQ2hhbm5lbCxcbn0pIHtcbiAgaWYgKGlzUmVzdGFydGluZykge1xuICAgIHJldHVybiBjdXJyZW50V29ya2VyO1xuICB9XG4gIGlzUmVzdGFydGluZyA9IHRydWU7XG5cbiAgdHJ5IHtcbiAgICAvLyBUZXJtaW5hdGUgdGhlIGN1cnJlbnQgd29ya2VyIGlmIGl0IGV4aXN0c1xuICAgIGlmIChjdXJyZW50V29ya2VyKSB7XG4gICAgICBjdXJyZW50V29ya2VyLnJlbW92ZUFsbExpc3RlbmVycygpO1xuICAgICAgY3VycmVudFdvcmtlciA9IG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qgcm91dGVDb3VudCA9IGF1dG9EaXNjb3ZlcmVkRmlsZXMudXJsTWFwLnNpemU7XG4gICAgY29uc3QgaG1yQnVmZmVyID0gMjA7IC8vIEJ1ZmZlciBmb3IgSE1SIGFuZCBvdGhlciBvcGVyYXRpb25zXG4gICAgY29uc3QgbWF4TGlzdGVuZXJzID0gcm91dGVDb3VudCArIGhtckJ1ZmZlcjtcblxuICAgIC8vIENyZWF0ZSBhIG5ldyBNZXNzYWdlQ2hhbm5lbCBmb3IgdGhpcyB3b3JrZXJcbiAgICBjb25zdCB3b3JrZXJIbXJDaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7XG5cbiAgICAvLyBGb3J3YXJkIG1lc3NhZ2VzIGZyb20gdGhlIHBsdWdpbidzIEhNUiBjaGFubmVsIHRvIHRoZSB3b3JrZXIncyBjaGFubmVsXG4gICAgaG1yQ2hhbm5lbC5wb3J0MS5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICB3b3JrZXJIbXJDaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKChldmVudCBhcyBNZXNzYWdlRXZlbnQpLmRhdGEpO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgd29ya2VyUmVzdWx0ID0gYXdhaXQgY3JlYXRlV29ya2VyKHtcbiAgICAgIHByb2plY3RSb290OiBzZXJ2ZXIuY29uZmlnLnJvb3QsXG4gICAgICB3b3JrZXJQYXRoOiB1c2VyT3B0aW9ucy5yc2NXb3JrZXJQYXRoLFxuICAgICAgcmV2ZXJzZUNvbmRpdGlvbjogXCJyZWFjdC1zZXJ2ZXJcIixcbiAgICAgIGN1cnJlbnRDb25kaXRpb246IFwicmVhY3QtY2xpZW50XCIsXG4gICAgICBtYXhMaXN0ZW5lcnM6IG1heExpc3RlbmVycyxcbiAgICAgIGVudlByZWZpeDpcbiAgICAgICAgdHlwZW9mIHNlcnZlci5jb25maWcuZW52UHJlZml4ID09PSBcInN0cmluZ1wiXG4gICAgICAgICAgPyBzZXJ2ZXIuY29uZmlnLmVudlByZWZpeFxuICAgICAgICAgIDogQXJyYXkuaXNBcnJheShzZXJ2ZXIuY29uZmlnLmVudlByZWZpeClcbiAgICAgICAgICA/IHNlcnZlci5jb25maWcuZW52UHJlZml4WzBdXG4gICAgICAgICAgOiBERUZBVUxUX0NPTkZJRy5FTlZfUFJFRklYLFxuICAgICAgd29ya2VyRGF0YToge1xuICAgICAgICB1c2VyT3B0aW9uczogdXNlck9wdGlvbnMsXG4gICAgICAgIHJlc29sdmVkQ29uZmlnOiBzZXJpYWxpemVkRGV2U2VydmVyQ29uZmlnKHNlcnZlci5jb25maWcpLFxuICAgICAgICByZWFjdFZlcnNpb246IFJlYWN0LnZlcnNpb24sXG4gICAgICAgIGlkOiBcIndvcmtlci9yc2NcIixcbiAgICAgIH0sXG4gICAgICB0cmFuc2Zlckxpc3Q6IFt3b3JrZXJIbXJDaGFubmVsLnBvcnQyXSxcbiAgICB9KTtcblxuICAgIGlmICh3b3JrZXJSZXN1bHQudHlwZSA9PT0gXCJzdWNjZXNzXCIpIHtcbiAgICAgIGN1cnJlbnRXb3JrZXIgPSB3b3JrZXJSZXN1bHQud29ya2VyO1xuICAgICAgaWYgKHVzZXJPcHRpb25zLnZlcmJvc2UpXG4gICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmluZm8oXG4gICAgICAgICAgYFtyZWFjdC1jbGllbnRdIFNldCBtYXggbGlzdGVuZXJzIHRvICR7bWF4TGlzdGVuZXJzfSBmb3IgJHtyb3V0ZUNvdW50fSByb3V0ZXNgXG4gICAgICAgICk7XG4gICAgfSBlbHNlIGlmICh3b3JrZXJSZXN1bHQudHlwZSA9PT0gXCJlcnJvclwiKSB7XG4gICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5lcnJvcihcIkZhaWxlZCB0byBzdGFydCByc2Mtd29ya2VyXCIsIHtcbiAgICAgICAgZXJyb3I6IHdvcmtlclJlc3VsdC5lcnJvcixcbiAgICAgIH0pO1xuICAgICAgdGhyb3cgd29ya2VyUmVzdWx0LmVycm9yO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICBpc1Jlc3RhcnRpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBjdXJyZW50V29ya2VyO1xufTtcbiJdLCJuYW1lcyI6WyJSZWFjdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFZQSxJQUFJLGFBQStCLEdBQUEsSUFBQTtBQUNuQyxJQUFJLFlBQWUsR0FBQSxLQUFBO0FBU04sTUFBQSxhQUFBLEdBQWlDLGVBQWUsY0FBZSxDQUFBO0FBQUEsRUFDMUUsTUFBQTtBQUFBLEVBQ0EsbUJBQUE7QUFBQSxFQUNBLFdBQUE7QUFBQSxFQUNBO0FBQ0YsQ0FBRyxFQUFBO0FBQ0QsRUFBQSxJQUFJLFlBQWMsRUFBQTtBQUNoQixJQUFPLE9BQUEsYUFBQTtBQUFBO0FBRVQsRUFBZSxZQUFBLEdBQUEsSUFBQTtBQUVmLEVBQUksSUFBQTtBQUVGLElBQUEsSUFBSSxhQUFlLEVBQUE7QUFDakIsTUFBQSxhQUFBLENBQWMsa0JBQW1CLEVBQUE7QUFDakMsTUFBZ0IsYUFBQSxHQUFBLElBQUE7QUFBQTtBQUdsQixJQUFNLE1BQUEsVUFBQSxHQUFhLG9CQUFvQixNQUFPLENBQUEsSUFBQTtBQUM5QyxJQUFBLE1BQU0sU0FBWSxHQUFBLEVBQUE7QUFDbEIsSUFBQSxNQUFNLGVBQWUsVUFBYSxHQUFBLFNBQUE7QUFHbEMsSUFBTSxNQUFBLGdCQUFBLEdBQW1CLElBQUksY0FBZSxFQUFBO0FBRzVDLElBQUEsVUFBQSxDQUFXLEtBQU0sQ0FBQSxnQkFBQSxDQUFpQixTQUFXLEVBQUEsQ0FBQyxLQUFpQixLQUFBO0FBQzdELE1BQWlCLGdCQUFBLENBQUEsS0FBQSxDQUFNLFdBQWEsQ0FBQSxLQUFBLENBQXVCLElBQUksQ0FBQTtBQUFBLEtBQ2hFLENBQUE7QUFFRCxJQUFNLE1BQUEsWUFBQSxHQUFlLE1BQU0sWUFBYSxDQUFBO0FBQUEsTUFDdEMsV0FBQSxFQUFhLE9BQU8sTUFBTyxDQUFBLElBQUE7QUFBQSxNQUMzQixZQUFZLFdBQVksQ0FBQSxhQUFBO0FBQUEsTUFDeEIsZ0JBQWtCLEVBQUEsY0FBQTtBQUFBLE1BQ2xCLGdCQUFrQixFQUFBLGNBQUE7QUFBQSxNQUNsQixZQUFBO0FBQUEsTUFDQSxTQUFBLEVBQ0UsT0FBTyxNQUFPLENBQUEsTUFBQSxDQUFPLGNBQWMsUUFDL0IsR0FBQSxNQUFBLENBQU8sT0FBTyxTQUNkLEdBQUEsS0FBQSxDQUFNLFFBQVEsTUFBTyxDQUFBLE1BQUEsQ0FBTyxTQUFTLENBQ3JDLEdBQUEsTUFBQSxDQUFPLE9BQU8sU0FBVSxDQUFBLENBQUMsSUFDekIsY0FBZSxDQUFBLFVBQUE7QUFBQSxNQUNyQixVQUFZLEVBQUE7QUFBQSxRQUNWLFdBQUE7QUFBQSxRQUNBLGNBQUEsRUFBZ0IseUJBQTBCLENBQUEsTUFBQSxDQUFPLE1BQU0sQ0FBQTtBQUFBLFFBQ3ZELGNBQWNBLGNBQU0sQ0FBQSxPQUFBO0FBQUEsUUFDcEIsRUFBSSxFQUFBO0FBQUEsT0FDTjtBQUFBLE1BQ0EsWUFBQSxFQUFjLENBQUMsZ0JBQUEsQ0FBaUIsS0FBSztBQUFBLEtBQ3RDLENBQUE7QUFFRCxJQUFJLElBQUEsWUFBQSxDQUFhLFNBQVMsU0FBVyxFQUFBO0FBQ25DLE1BQUEsYUFBQSxHQUFnQixZQUFhLENBQUEsTUFBQTtBQUM3QixNQUFBLElBQUksV0FBWSxDQUFBLE9BQUE7QUFDZCxRQUFBLE1BQUEsQ0FBTyxPQUFPLE1BQU8sQ0FBQSxJQUFBO0FBQUEsVUFDbkIsQ0FBQSxvQ0FBQSxFQUF1QyxZQUFZLENBQUEsS0FBQSxFQUFRLFVBQVUsQ0FBQSxPQUFBO0FBQUEsU0FDdkU7QUFBQSxLQUNKLE1BQUEsSUFBVyxZQUFhLENBQUEsSUFBQSxLQUFTLE9BQVMsRUFBQTtBQUN4QyxNQUFPLE1BQUEsQ0FBQSxNQUFBLENBQU8sTUFBTyxDQUFBLEtBQUEsQ0FBTSw0QkFBOEIsRUFBQTtBQUFBLFFBQ3ZELE9BQU8sWUFBYSxDQUFBO0FBQUEsT0FDckIsQ0FBQTtBQUNELE1BQUEsTUFBTSxZQUFhLENBQUEsS0FBQTtBQUFBO0FBQ3JCLEdBQ0EsU0FBQTtBQUNBLElBQWUsWUFBQSxHQUFBLEtBQUE7QUFBQTtBQUdqQixFQUFPLE9BQUEsYUFBQTtBQUNUOzs7OyJ9
@@ -1,9 +1,10 @@
1
1
  import type { Manifest, ViteDevServer } from "vite";
2
- import type { AutoDiscoveredFiles, InlineCssOpt, PagePropOpt, ResolvedUserOptions } from "../types.js";
3
- export declare function configureReactServer<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt>({ server, autoDiscoveredFiles, userOptions: _userOptions, serverManifest, }: {
2
+ import type { AutoDiscoveredFiles, ResolvedUserOptions } from "../types.js";
3
+ export type ConfigureReactServerFn = (options: {
4
4
  server: ViteDevServer;
5
5
  autoDiscoveredFiles: AutoDiscoveredFiles;
6
- userOptions: ResolvedUserOptions<T, InlineCSS>;
6
+ userOptions: ResolvedUserOptions;
7
7
  serverManifest: Manifest;
8
- }): Promise<void>;
8
+ }) => void;
9
+ export declare const configureReactServer: ConfigureReactServerFn;
9
10
  //# sourceMappingURL=configureReactServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configureReactServer.d.ts","sourceRoot":"","sources":["../../../plugin/react-server/configureReactServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAEpD,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAWrB,wBAAsB,oBAAoB,CACxC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAC7C,EACA,MAAM,EACN,mBAAmB,EACnB,WAAW,EAAE,YAAY,EACzB,cAAc,GACf,EAAE;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,cAAc,EAAE,QAAQ,CAAC;CAC1B,iBA6IA"}
1
+ {"version":3,"file":"configureReactServer.d.ts","sourceRoot":"","sources":["../../../plugin/react-server/configureReactServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAEpD,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAarB,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE;IAC7C,MAAM,EAAE,aAAa,CAAC;IACtB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,WAAW,EAAE,mBAAmB,CAAC;IACjC,cAAc,EAAE,QAAQ,CAAC;CAC1B,KAAK,IAAI,CAAC;AAEX,eAAO,MAAM,oBAAoB,EAAE,sBA6MhC,CAAC"}
@@ -5,15 +5,17 @@
5
5
  */
6
6
  import { createEventHandler } from '../helpers/createEventHandler.js';
7
7
  import { collectViteModuleGraphCss } from '../helpers/collectViteModuleGraphCss.js';
8
- import { resolvePageAndProps } from '../helpers/resolvePageAndProps.js';
8
+ import { resolveComponents } from '../helpers/resolveComponents.js';
9
9
  import { createHandler } from '../helpers/createHandler.js';
10
- import React__default from 'react';
11
10
  import { requestInfo } from '../helpers/requestInfo.js';
12
11
  import { getRouteFiles } from '../helpers/getRouteFiles.js';
13
- import { logError } from '../error/toError.js';
12
+ import { logError } from '../error/logError.js';
14
13
  import { handleServerAction } from './handleServerAction.js';
14
+ import { ReactDOMServer } from '../vendor/vendor.server.js';
15
+ import React__default from 'react';
16
+ import { DEFAULT_CONFIG } from '../config/defaults.js';
15
17
 
16
- async function configureReactServer({
18
+ const configureReactServer = function _configureReactServer({
17
19
  server,
18
20
  autoDiscoveredFiles,
19
21
  userOptions: _userOptions,
@@ -23,18 +25,12 @@ async function configureReactServer({
23
25
  const {
24
26
  Html: _UserHtmlComponent,
25
27
  onEvent,
26
- // remove these
28
+ // loader config isn't important here, since that's used by the transformer
29
+ loader: _loaderConfig,
30
+ verbose,
31
+ // we can use these directly to create the handler
27
32
  ...handlerUserOptions
28
33
  } = _userOptions;
29
- const handlerOptions = {
30
- ...handlerUserOptions,
31
- moduleBaseURL: server.config.base,
32
- moduleBasePath: server.config.base,
33
- projectRoot: server.config.root,
34
- Html: React__default.Fragment,
35
- onEvent: createEventHandler(onEvent),
36
- css: handlerUserOptions.css
37
- };
38
34
  const define = {
39
35
  ...server.config.define,
40
36
  "process.env.NODE_ENV": JSON.stringify(
@@ -61,10 +57,33 @@ async function configureReactServer({
61
57
  }
62
58
  activeStreams.clear();
63
59
  });
60
+ const loader = async (id) => {
61
+ const [moduleID, exportName] = id.split("#");
62
+ const result = await server.ssrLoadModule(moduleID);
63
+ if (!result) {
64
+ return {};
65
+ }
66
+ if (exportName && !(exportName in result)) {
67
+ throw new Error(
68
+ `Module ${moduleID} does not have export ${exportName}`
69
+ );
70
+ }
71
+ return result;
72
+ };
64
73
  server.middlewares.use(async (req, res, next) => {
65
74
  if (!req.url) {
66
75
  return next();
67
76
  }
77
+ const handlerOptions = {
78
+ ...handlerUserOptions,
79
+ moduleBaseURL: server.config.base,
80
+ moduleBasePath: handlerUserOptions.moduleBasePath,
81
+ projectRoot: server.config.root,
82
+ onEvent: createEventHandler(onEvent),
83
+ css: handlerUserOptions.css,
84
+ loader,
85
+ verbose
86
+ };
68
87
  const info = requestInfo(req, handlerOptions, "", server.config.logger);
69
88
  if (info.isServerActionRequest) {
70
89
  return handleServerAction(req, res, server, handlerOptions);
@@ -74,7 +93,7 @@ async function configureReactServer({
74
93
  const routeFiles = await getRouteFiles(
75
94
  info.route,
76
95
  autoDiscoveredFiles,
77
- handlerOptions
96
+ _userOptions
78
97
  );
79
98
  if (routeFiles.type === "error") {
80
99
  server.config.logger.error(routeFiles.error.message);
@@ -82,30 +101,48 @@ async function configureReactServer({
82
101
  }
83
102
  const pagePath = routeFiles.page;
84
103
  const propsPath = routeFiles.props;
85
- const pageAndPropsResult = await resolvePageAndProps({
104
+ const rootPath = routeFiles.root;
105
+ const htmlPath = routeFiles.html;
106
+ const componentsResult = await resolveComponents({
86
107
  pagePath,
87
108
  propsPath,
109
+ rootPath,
110
+ htmlPath,
111
+ pageExportName: handlerOptions.pageExportName ?? DEFAULT_CONFIG.PAGE_EXPORT_NAME,
112
+ propsExportName: handlerOptions.propsExportName ?? DEFAULT_CONFIG.PROPS_EXPORT_NAME,
113
+ rootExportName: handlerOptions.rootExportName ?? DEFAULT_CONFIG.ROOT_EXPORT_NAME,
114
+ htmlExportName: handlerOptions.htmlExportName ?? DEFAULT_CONFIG.HTML_EXPORT_NAME,
88
115
  route: info.route,
89
- loader: server.ssrLoadModule,
90
- pageExportName: handlerOptions.pageExportName ?? "default",
91
- propsExportName: handlerOptions.propsExportName ?? "default"
116
+ loader,
117
+ verbose,
118
+ moduleBaseURL: server.config.base,
119
+ build: handlerOptions.build
92
120
  });
93
- if (pageAndPropsResult.type === "error") {
94
- throw pageAndPropsResult.error;
95
- }
96
- if (pageAndPropsResult.type === "skip") {
97
- return next();
121
+ if (componentsResult.type === "error") {
122
+ throw componentsResult.error;
98
123
  }
124
+ const { PageComponent, pageProps, RootComponent } = componentsResult;
99
125
  const eventHandler = createEventHandler(onEvent);
126
+ const intermediateHandlerOptions = {
127
+ ...handlerOptions,
128
+ loader,
129
+ onEvent: eventHandler,
130
+ route: info.route,
131
+ pagePath,
132
+ propsPath,
133
+ logger: server.config.logger,
134
+ manifest: serverManifest,
135
+ server
136
+ };
100
137
  const cssFilesResult = await collectViteModuleGraphCss({
101
138
  moduleGraph: server.moduleGraph,
102
- // by having loaded the page and props, we can get them from the module graph
103
139
  parentUrl: pagePath,
104
140
  handlerOptions: {
141
+ ...handlerOptions,
105
142
  pagePath,
106
- loader: server.ssrLoadModule,
107
- // explicitly set for development server
108
- ...handlerOptions
143
+ moduleBaseURL: server.config.base,
144
+ moduleBasePath: handlerUserOptions.moduleBasePath,
145
+ projectRoot: server.config.root
109
146
  }
110
147
  });
111
148
  if (cssFilesResult.type === "skip") {
@@ -114,23 +151,15 @@ async function configureReactServer({
114
151
  if (cssFilesResult.type === "error") {
115
152
  throw cssFilesResult.error;
116
153
  }
117
- const { PageComponent, pageProps } = pageAndPropsResult;
118
- const rscResult = createHandler({
119
- ...handlerOptions,
154
+ const finalHandlerOptions = Object.assign(intermediateHandlerOptions, {
120
155
  PageComponent,
121
156
  pageProps,
122
- logger: server.config.logger,
123
- loader: server.ssrLoadModule,
124
- Html: React__default.Fragment,
125
- onEvent: eventHandler,
126
- manifest: serverManifest,
127
- server,
128
- route: info.route,
129
- pagePath,
130
- propsPath,
157
+ RootComponent,
158
+ HtmlComponent: React__default.Fragment,
131
159
  cssFiles: cssFilesResult.cssFiles ?? /* @__PURE__ */ new Map(),
132
160
  globalCss: /* @__PURE__ */ new Map()
133
161
  });
162
+ const rscResult = createHandler(finalHandlerOptions);
134
163
  if (rscResult.type === "success") {
135
164
  res.setHeader("Content-Type", "text/x-component; charset=utf-8");
136
165
  rscResult.stream.pipe(res);
@@ -141,10 +170,36 @@ async function configureReactServer({
141
170
  });
142
171
  } catch (error) {
143
172
  logError(error, server.config.logger);
144
- res.end();
173
+ res.statusCode = 500;
174
+ res.setHeader("Content-Type", "text/x-component; charset=utf-8");
175
+ res.setHeader("Content-Length", "0");
176
+ const { pipe } = ReactDOMServer.renderToPipeableStream(
177
+ {
178
+ type: "error",
179
+ error: {
180
+ digest: error instanceof Error ? error.message : String(error),
181
+ name: error instanceof Error ? error.name : "Error"
182
+ }
183
+ },
184
+ handlerOptions.moduleBasePath,
185
+ {
186
+ onError(error2) {
187
+ logError(error2, server.config.logger);
188
+ res.statusCode = 500;
189
+ res.end();
190
+ },
191
+ onAllReady() {
192
+ const contentLength = res.getHeader("Content-Length");
193
+ if (contentLength) {
194
+ res.setHeader("Content-Length", contentLength);
195
+ }
196
+ }
197
+ }
198
+ );
199
+ pipe(res);
145
200
  }
146
201
  });
147
- }
202
+ };
148
203
 
149
204
  export { configureReactServer };
150
- //# sourceMappingURL=configureReactServer.js.map
205
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlUmVhY3RTZXJ2ZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9yZWFjdC1zZXJ2ZXIvY29uZmlndXJlUmVhY3RTZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNYW5pZmVzdCwgVml0ZURldlNlcnZlciB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgdHlwZSB7IFNlcnZlclJlc3BvbnNlIH0gZnJvbSBcImh0dHBcIjtcbmltcG9ydCB0eXBlIHtcbiAgQXV0b0Rpc2NvdmVyZWRGaWxlcyxcbiAgUmVzb2x2ZWRVc2VyT3B0aW9ucyxcbn0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyBjcmVhdGVFdmVudEhhbmRsZXIgfSBmcm9tIFwiLi4vaGVscGVycy9jcmVhdGVFdmVudEhhbmRsZXIuanNcIjtcbmltcG9ydCB7IGNvbGxlY3RWaXRlTW9kdWxlR3JhcGhDc3MgfSBmcm9tIFwiLi4vaGVscGVycy9jb2xsZWN0Vml0ZU1vZHVsZUdyYXBoQ3NzLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlQ29tcG9uZW50cyB9IGZyb20gXCIuLi9oZWxwZXJzL3Jlc29sdmVDb21wb25lbnRzLmpzXCI7XG5pbXBvcnQgeyBjcmVhdGVIYW5kbGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvY3JlYXRlSGFuZGxlci5qc1wiO1xuaW1wb3J0IHsgcmVxdWVzdEluZm8gfSBmcm9tIFwiLi4vaGVscGVycy9yZXF1ZXN0SW5mby5qc1wiO1xuaW1wb3J0IHsgZ2V0Um91dGVGaWxlcyB9IGZyb20gXCIuLi9oZWxwZXJzL2dldFJvdXRlRmlsZXMuanNcIjtcbmltcG9ydCB7IGxvZ0Vycm9yIH0gZnJvbSBcIi4uL2Vycm9yL2xvZ0Vycm9yLmpzXCI7XG5pbXBvcnQgeyBoYW5kbGVTZXJ2ZXJBY3Rpb24gfSBmcm9tIFwiLi9oYW5kbGVTZXJ2ZXJBY3Rpb24uanNcIjtcbmltcG9ydCB7IFJlYWN0RE9NU2VydmVyIH0gZnJvbSBcIi4uL3ZlbmRvci92ZW5kb3Iuc2VydmVyLmpzXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBERUZBVUxUX0NPTkZJRyB9IGZyb20gXCIuLi9jb25maWcvZGVmYXVsdHMuanNcIjtcblxuZXhwb3J0IHR5cGUgQ29uZmlndXJlUmVhY3RTZXJ2ZXJGbiA9IChvcHRpb25zOiB7XG4gIHNlcnZlcjogVml0ZURldlNlcnZlcjtcbiAgYXV0b0Rpc2NvdmVyZWRGaWxlczogQXV0b0Rpc2NvdmVyZWRGaWxlcztcbiAgdXNlck9wdGlvbnM6IFJlc29sdmVkVXNlck9wdGlvbnM7XG4gIHNlcnZlck1hbmlmZXN0OiBNYW5pZmVzdDtcbn0pID0+IHZvaWQ7XG5cbmV4cG9ydCBjb25zdCBjb25maWd1cmVSZWFjdFNlcnZlcjogQ29uZmlndXJlUmVhY3RTZXJ2ZXJGbiA9XG4gIGZ1bmN0aW9uIF9jb25maWd1cmVSZWFjdFNlcnZlcih7XG4gICAgc2VydmVyLFxuICAgIGF1dG9EaXNjb3ZlcmVkRmlsZXMsXG4gICAgdXNlck9wdGlvbnM6IF91c2VyT3B0aW9ucyxcbiAgICBzZXJ2ZXJNYW5pZmVzdCxcbiAgfSkge1xuICAgIGNvbnN0IGFjdGl2ZVN0cmVhbXMgPSBuZXcgU2V0PFNlcnZlclJlc3BvbnNlPigpO1xuICAgIGNvbnN0IHtcbiAgICAgIEh0bWw6IF9Vc2VySHRtbENvbXBvbmVudCxcbiAgICAgIG9uRXZlbnQsXG4gICAgICAvLyBsb2FkZXIgY29uZmlnIGlzbid0IGltcG9ydGFudCBoZXJlLCBzaW5jZSB0aGF0J3MgdXNlZCBieSB0aGUgdHJhbnNmb3JtZXJcbiAgICAgIGxvYWRlcjogX2xvYWRlckNvbmZpZyxcbiAgICAgIHZlcmJvc2UsXG4gICAgICAvLyB3ZSBjYW4gdXNlIHRoZXNlIGRpcmVjdGx5IHRvIGNyZWF0ZSB0aGUgaGFuZGxlclxuICAgICAgLi4uaGFuZGxlclVzZXJPcHRpb25zXG4gICAgfSA9IF91c2VyT3B0aW9ucztcblxuICAgIC8vIFNldCBlbnZpcm9ubWVudC1zcGVjaWZpYyBjb25maWd1cmF0aW9uXG4gICAgY29uc3QgZGVmaW5lID0ge1xuICAgICAgLi4uc2VydmVyLmNvbmZpZy5kZWZpbmUsXG4gICAgICBcInByb2Nlc3MuZW52Lk5PREVfRU5WXCI6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICBwcm9jZXNzLmVudltcIk5PREVfRU5WXCJdIHx8IFwiZGV2ZWxvcG1lbnRcIlxuICAgICAgKSxcbiAgICB9O1xuICAgIHNlcnZlci5jb25maWcgPSB7XG4gICAgICAuLi5zZXJ2ZXIuY29uZmlnLFxuICAgICAgZGVmaW5lLFxuICAgIH07XG5cbiAgICAvLyBIYW5kbGUgVml0ZSBzZXJ2ZXIgcmVzdGFydHNcbiAgICBzZXJ2ZXIud3Mub24oXCJyZXN0YXJ0XCIsIChwYXRoKSA9PiB7XG4gICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKFxuICAgICAgICBcIlt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIPCflKcgUGx1Z2luIGNoYW5nZWQsIHByZXBhcmluZyBmb3IgcmVzdGFydDpcIixcbiAgICAgICAgcGF0aFxuICAgICAgKTtcblxuICAgICAgLy8gQ2xvc2Ugc3RyZWFtcyB3aXRoIHJlc3RhcnQgbWVzc2FnZVxuICAgICAgZm9yIChjb25zdCByZXMgb2YgYWN0aXZlU3RyZWFtcykge1xuICAgICAgICByZXMud3JpdGVIZWFkKDUwMywge1xuICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwidGV4dC94LWNvbXBvbmVudDsgY2hhcnNldD11dGYtOFwiLFxuICAgICAgICAgIFwiUmV0cnktQWZ0ZXJcIjogXCIxXCIsXG4gICAgICAgIH0pO1xuICAgICAgICByZXMuZW5kKFxuICAgICAgICAgIGAwOkV7XCJkaWdlc3RcIjpcIlwiLFwibmFtZVwiOlwiRXJyb3JcIixcIm1lc3NhZ2VcIjpcIlNlcnZlciByZXN0YXJ0aW5nLi4uXCIsXCJzdGFja1wiOlwiXCIsXCJlbnZcIjpcIlNlcnZlclwifWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGFjdGl2ZVN0cmVhbXMuY2xlYXIoKTtcbiAgICB9KTtcbiAgICBjb25zdCBsb2FkZXIgPSBhc3luYyAoaWQ6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgW21vZHVsZUlELCBleHBvcnROYW1lXSA9IGlkLnNwbGl0KFwiI1wiKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHNlcnZlci5zc3JMb2FkTW9kdWxlKG1vZHVsZUlEKTtcbiAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cbiAgICAgIGlmIChleHBvcnROYW1lICYmICEoZXhwb3J0TmFtZSBpbiByZXN1bHQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgTW9kdWxlICR7bW9kdWxlSUR9IGRvZXMgbm90IGhhdmUgZXhwb3J0ICR7ZXhwb3J0TmFtZX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG5cbiAgICBzZXJ2ZXIubWlkZGxld2FyZXMudXNlKGFzeW5jIChyZXEsIHJlcywgbmV4dCkgPT4ge1xuICAgICAgaWYgKCFyZXEudXJsKSB7XG4gICAgICAgIHJldHVybiBuZXh0KCk7XG4gICAgICB9XG4gICAgICBjb25zdCBoYW5kbGVyT3B0aW9ucyA9IHtcbiAgICAgICAgLi4uaGFuZGxlclVzZXJPcHRpb25zLFxuICAgICAgICBtb2R1bGVCYXNlVVJMOiBzZXJ2ZXIuY29uZmlnLmJhc2UsXG4gICAgICAgIG1vZHVsZUJhc2VQYXRoOiBoYW5kbGVyVXNlck9wdGlvbnMubW9kdWxlQmFzZVBhdGgsXG4gICAgICAgIHByb2plY3RSb290OiBzZXJ2ZXIuY29uZmlnLnJvb3QsXG4gICAgICAgIG9uRXZlbnQ6IGNyZWF0ZUV2ZW50SGFuZGxlcihvbkV2ZW50KSxcbiAgICAgICAgY3NzOiBoYW5kbGVyVXNlck9wdGlvbnMuY3NzLFxuICAgICAgICBsb2FkZXI6IGxvYWRlcixcbiAgICAgICAgdmVyYm9zZSxcbiAgICAgIH07XG4gICAgICBjb25zdCBpbmZvID0gcmVxdWVzdEluZm8ocmVxLCBoYW5kbGVyT3B0aW9ucywgXCJcIiwgc2VydmVyLmNvbmZpZy5sb2dnZXIpO1xuXG4gICAgICAvLyBIYW5kbGUgc2VydmVyIGFjdGlvbnNcbiAgICAgIGlmIChpbmZvLmlzU2VydmVyQWN0aW9uUmVxdWVzdCkge1xuICAgICAgICByZXR1cm4gaGFuZGxlU2VydmVyQWN0aW9uKHJlcSwgcmVzLCBzZXJ2ZXIsIGhhbmRsZXJPcHRpb25zKTtcbiAgICAgIH1cbiAgICAgIGlmICghaW5mby5pc1JzY1JlcXVlc3QpIHJldHVybiBuZXh0KCk7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByb3V0ZUZpbGVzID0gYXdhaXQgZ2V0Um91dGVGaWxlcyhcbiAgICAgICAgICBpbmZvLnJvdXRlLFxuICAgICAgICAgIGF1dG9EaXNjb3ZlcmVkRmlsZXMsXG4gICAgICAgICAgX3VzZXJPcHRpb25zXG4gICAgICAgICk7XG4gICAgICAgIGlmIChyb3V0ZUZpbGVzLnR5cGUgPT09IFwiZXJyb3JcIikge1xuICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmVycm9yKHJvdXRlRmlsZXMuZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYWdlUGF0aCA9IHJvdXRlRmlsZXMucGFnZTtcbiAgICAgICAgY29uc3QgcHJvcHNQYXRoID0gcm91dGVGaWxlcy5wcm9wcztcbiAgICAgICAgY29uc3Qgcm9vdFBhdGggPSByb3V0ZUZpbGVzLnJvb3Q7XG4gICAgICAgIGNvbnN0IGh0bWxQYXRoID0gcm91dGVGaWxlcy5odG1sO1xuXG4gICAgICAgIC8vIFJlc29sdmUgYWxsIGNvbXBvbmVudHMgdG9nZXRoZXJcbiAgICAgICAgY29uc3QgY29tcG9uZW50c1Jlc3VsdCA9IGF3YWl0IHJlc29sdmVDb21wb25lbnRzKHtcbiAgICAgICAgICBwYWdlUGF0aCxcbiAgICAgICAgICBwcm9wc1BhdGgsXG4gICAgICAgICAgcm9vdFBhdGgsXG4gICAgICAgICAgaHRtbFBhdGgsXG4gICAgICAgICAgcGFnZUV4cG9ydE5hbWU6IGhhbmRsZXJPcHRpb25zLnBhZ2VFeHBvcnROYW1lID8/IERFRkFVTFRfQ09ORklHLlBBR0VfRVhQT1JUX05BTUUsXG4gICAgICAgICAgcHJvcHNFeHBvcnROYW1lOiBoYW5kbGVyT3B0aW9ucy5wcm9wc0V4cG9ydE5hbWUgPz8gREVGQVVMVF9DT05GSUcuUFJPUFNfRVhQT1JUX05BTUUsXG4gICAgICAgICAgcm9vdEV4cG9ydE5hbWU6IGhhbmRsZXJPcHRpb25zLnJvb3RFeHBvcnROYW1lID8/IERFRkFVTFRfQ09ORklHLlJPT1RfRVhQT1JUX05BTUUsXG4gICAgICAgICAgaHRtbEV4cG9ydE5hbWU6IGhhbmRsZXJPcHRpb25zLmh0bWxFeHBvcnROYW1lID8/IERFRkFVTFRfQ09ORklHLkhUTUxfRVhQT1JUX05BTUUsXG4gICAgICAgICAgcm91dGU6IGluZm8ucm91dGUsXG4gICAgICAgICAgbG9hZGVyOiBsb2FkZXIsXG4gICAgICAgICAgdmVyYm9zZSxcbiAgICAgICAgICBtb2R1bGVCYXNlVVJMOiBzZXJ2ZXIuY29uZmlnLmJhc2UsXG4gICAgICAgICAgYnVpbGQ6IGhhbmRsZXJPcHRpb25zLmJ1aWxkLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGNvbXBvbmVudHNSZXN1bHQudHlwZSA9PT0gXCJlcnJvclwiKSB7XG4gICAgICAgICAgdGhyb3cgY29tcG9uZW50c1Jlc3VsdC5lcnJvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgUGFnZUNvbXBvbmVudCwgcGFnZVByb3BzLCBSb290Q29tcG9uZW50IH0gPSBjb21wb25lbnRzUmVzdWx0O1xuXG4gICAgICAgIGNvbnN0IGV2ZW50SGFuZGxlciA9IGNyZWF0ZUV2ZW50SGFuZGxlcihvbkV2ZW50KTtcbiAgICAgICAgY29uc3QgaW50ZXJtZWRpYXRlSGFuZGxlck9wdGlvbnMgPSB7XG4gICAgICAgICAgLi4uaGFuZGxlck9wdGlvbnMsXG4gICAgICAgICAgbG9hZGVyOiBsb2FkZXIsXG4gICAgICAgICAgb25FdmVudDogZXZlbnRIYW5kbGVyLFxuICAgICAgICAgIHJvdXRlOiBpbmZvLnJvdXRlLFxuICAgICAgICAgIHBhZ2VQYXRoLFxuICAgICAgICAgIHByb3BzUGF0aCxcbiAgICAgICAgICBsb2dnZXI6IHNlcnZlci5jb25maWcubG9nZ2VyLFxuICAgICAgICAgIG1hbmlmZXN0OiBzZXJ2ZXJNYW5pZmVzdCxcbiAgICAgICAgICBzZXJ2ZXIsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGNzc0ZpbGVzUmVzdWx0ID0gYXdhaXQgY29sbGVjdFZpdGVNb2R1bGVHcmFwaENzcyh7XG4gICAgICAgICAgbW9kdWxlR3JhcGg6IHNlcnZlci5tb2R1bGVHcmFwaCxcbiAgICAgICAgICBwYXJlbnRVcmw6IHBhZ2VQYXRoLFxuICAgICAgICAgIGhhbmRsZXJPcHRpb25zOiB7XG4gICAgICAgICAgICAuLi5oYW5kbGVyT3B0aW9ucyxcbiAgICAgICAgICAgIHBhZ2VQYXRoLFxuICAgICAgICAgICAgbW9kdWxlQmFzZVVSTDogc2VydmVyLmNvbmZpZy5iYXNlLFxuICAgICAgICAgICAgbW9kdWxlQmFzZVBhdGg6IGhhbmRsZXJVc2VyT3B0aW9ucy5tb2R1bGVCYXNlUGF0aCxcbiAgICAgICAgICAgIHByb2plY3RSb290OiBzZXJ2ZXIuY29uZmlnLnJvb3QsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChjc3NGaWxlc1Jlc3VsdC50eXBlID09PSBcInNraXBcIikge1xuICAgICAgICAgIHJldHVybiBuZXh0KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNzc0ZpbGVzUmVzdWx0LnR5cGUgPT09IFwiZXJyb3JcIikge1xuICAgICAgICAgIHRocm93IGNzc0ZpbGVzUmVzdWx0LmVycm9yO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmluYWxIYW5kbGVyT3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oaW50ZXJtZWRpYXRlSGFuZGxlck9wdGlvbnMsIHtcbiAgICAgICAgICBQYWdlQ29tcG9uZW50OiBQYWdlQ29tcG9uZW50LFxuICAgICAgICAgIHBhZ2VQcm9wczogcGFnZVByb3BzLFxuICAgICAgICAgIFJvb3RDb21wb25lbnQsXG4gICAgICAgICAgSHRtbENvbXBvbmVudDogUmVhY3QuRnJhZ21lbnQsXG4gICAgICAgICAgY3NzRmlsZXM6IGNzc0ZpbGVzUmVzdWx0LmNzc0ZpbGVzID8/IG5ldyBNYXAoKSxcbiAgICAgICAgICBnbG9iYWxDc3M6IG5ldyBNYXAoKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQ3JlYXRlIHRoZSBoZWFkbGVzcyBSU0Mgc3RyZWFtIGRpcmVjdGx5XG4gICAgICAgIGNvbnN0IHJzY1Jlc3VsdCA9IGNyZWF0ZUhhbmRsZXIoZmluYWxIYW5kbGVyT3B0aW9ucyk7XG5cbiAgICAgICAgaWYgKHJzY1Jlc3VsdC50eXBlID09PSBcInN1Y2Nlc3NcIikge1xuICAgICAgICAgIC8vIHNldCBoZWFkZXJzXG4gICAgICAgICAgcmVzLnNldEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiLCBcInRleHQveC1jb21wb25lbnQ7IGNoYXJzZXQ9dXRmLThcIik7XG4gICAgICAgICAgcnNjUmVzdWx0LnN0cmVhbSEucGlwZShyZXMpO1xuICAgICAgICB9XG4gICAgICAgIGFjdGl2ZVN0cmVhbXMuYWRkKHJlcyk7XG4gICAgICAgIHJlcy5vbihcImNsb3NlXCIsICgpID0+IHtcbiAgICAgICAgICBhY3RpdmVTdHJlYW1zLmRlbGV0ZShyZXMpO1xuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGxvZ0Vycm9yKGVycm9yLCBzZXJ2ZXIuY29uZmlnLmxvZ2dlcik7XG4gICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNTAwO1xuICAgICAgICByZXMuc2V0SGVhZGVyKFwiQ29udGVudC1UeXBlXCIsIFwidGV4dC94LWNvbXBvbmVudDsgY2hhcnNldD11dGYtOFwiKTtcbiAgICAgICAgcmVzLnNldEhlYWRlcihcIkNvbnRlbnQtTGVuZ3RoXCIsIFwiMFwiKTsgLy8gV2lsbCBiZSB1cGRhdGVkIGFmdGVyIHN0cmVhbWluZ1xuXG4gICAgICAgIGNvbnN0IHsgcGlwZSB9ID0gUmVhY3RET01TZXJ2ZXIucmVuZGVyVG9QaXBlYWJsZVN0cmVhbShcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiBcImVycm9yXCIsXG4gICAgICAgICAgICBlcnJvcjoge1xuICAgICAgICAgICAgICBkaWdlc3Q6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKSxcbiAgICAgICAgICAgICAgbmFtZTogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm5hbWUgOiBcIkVycm9yXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaGFuZGxlck9wdGlvbnMubW9kdWxlQmFzZVBhdGgsXG4gICAgICAgICAge1xuICAgICAgICAgICAgb25FcnJvcihlcnJvcjogRXJyb3IpIHtcbiAgICAgICAgICAgICAgbG9nRXJyb3IoZXJyb3IsIHNlcnZlci5jb25maWcubG9nZ2VyKTtcbiAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA1MDA7XG4gICAgICAgICAgICAgIHJlcy5lbmQoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkFsbFJlYWR5KCkge1xuICAgICAgICAgICAgICAvLyBVcGRhdGUgY29udGVudCBsZW5ndGggYWZ0ZXIgc3RyZWFtaW5nIGlzIGNvbXBsZXRlXG4gICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRMZW5ndGggPSByZXMuZ2V0SGVhZGVyKFwiQ29udGVudC1MZW5ndGhcIik7XG4gICAgICAgICAgICAgIGlmIChjb250ZW50TGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmVzLnNldEhlYWRlcihcIkNvbnRlbnQtTGVuZ3RoXCIsIGNvbnRlbnRMZW5ndGgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgICAgcGlwZShyZXMpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUJhLE1BQUEsb0JBQUEsR0FDWCxTQUFTLHFCQUFzQixDQUFBO0FBQUEsRUFDN0IsTUFBQTtBQUFBLEVBQ0EsbUJBQUE7QUFBQSxFQUNBLFdBQWEsRUFBQSxZQUFBO0FBQUEsRUFDYjtBQUNGLENBQUcsRUFBQTtBQUNELEVBQU0sTUFBQSxhQUFBLHVCQUFvQixHQUFvQixFQUFBO0FBQzlDLEVBQU0sTUFBQTtBQUFBLElBQ0osSUFBTSxFQUFBLGtCQUFBO0FBQUEsSUFDTixPQUFBO0FBQUE7QUFBQSxJQUVBLE1BQVEsRUFBQSxhQUFBO0FBQUEsSUFDUixPQUFBO0FBQUE7QUFBQSxJQUVBLEdBQUc7QUFBQSxHQUNELEdBQUEsWUFBQTtBQUdKLEVBQUEsTUFBTSxNQUFTLEdBQUE7QUFBQSxJQUNiLEdBQUcsT0FBTyxNQUFPLENBQUEsTUFBQTtBQUFBLElBQ2pCLHdCQUF3QixJQUFLLENBQUEsU0FBQTtBQUFBLE1BQzNCLE9BQUEsQ0FBUSxHQUFJLENBQUEsVUFBVSxDQUFLLElBQUE7QUFBQTtBQUM3QixHQUNGO0FBQ0EsRUFBQSxNQUFBLENBQU8sTUFBUyxHQUFBO0FBQUEsSUFDZCxHQUFHLE1BQU8sQ0FBQSxNQUFBO0FBQUEsSUFDVjtBQUFBLEdBQ0Y7QUFHQSxFQUFBLE1BQUEsQ0FBTyxFQUFHLENBQUEsRUFBQSxDQUFHLFNBQVcsRUFBQSxDQUFDLElBQVMsS0FBQTtBQUNoQyxJQUFBLE1BQUEsQ0FBTyxPQUFPLE1BQU8sQ0FBQSxJQUFBO0FBQUEsTUFDbkIsc0VBQUE7QUFBQSxNQUNBO0FBQUEsS0FDRjtBQUdBLElBQUEsS0FBQSxNQUFXLE9BQU8sYUFBZSxFQUFBO0FBQy9CLE1BQUEsR0FBQSxDQUFJLFVBQVUsR0FBSyxFQUFBO0FBQUEsUUFDakIsY0FBZ0IsRUFBQSxpQ0FBQTtBQUFBLFFBQ2hCLGFBQWUsRUFBQTtBQUFBLE9BQ2hCLENBQUE7QUFDRCxNQUFJLEdBQUEsQ0FBQSxHQUFBO0FBQUEsUUFDRixDQUFBLDBGQUFBO0FBQUEsT0FDRjtBQUFBO0FBRUYsSUFBQSxhQUFBLENBQWMsS0FBTSxFQUFBO0FBQUEsR0FDckIsQ0FBQTtBQUNELEVBQU0sTUFBQSxNQUFBLEdBQVMsT0FBTyxFQUFlLEtBQUE7QUFDbkMsSUFBQSxNQUFNLENBQUMsUUFBVSxFQUFBLFVBQVUsQ0FBSSxHQUFBLEVBQUEsQ0FBRyxNQUFNLEdBQUcsQ0FBQTtBQUMzQyxJQUFBLE1BQU0sTUFBUyxHQUFBLE1BQU0sTUFBTyxDQUFBLGFBQUEsQ0FBYyxRQUFRLENBQUE7QUFDbEQsSUFBQSxJQUFJLENBQUMsTUFBUSxFQUFBO0FBQ1gsTUFBQSxPQUFPLEVBQUM7QUFBQTtBQUVWLElBQUksSUFBQSxVQUFBLElBQWMsRUFBRSxVQUFBLElBQWMsTUFBUyxDQUFBLEVBQUE7QUFDekMsTUFBQSxNQUFNLElBQUksS0FBQTtBQUFBLFFBQ1IsQ0FBQSxPQUFBLEVBQVUsUUFBUSxDQUFBLHNCQUFBLEVBQXlCLFVBQVUsQ0FBQTtBQUFBLE9BQ3ZEO0FBQUE7QUFFRixJQUFPLE9BQUEsTUFBQTtBQUFBLEdBQ1Q7QUFFQSxFQUFBLE1BQUEsQ0FBTyxXQUFZLENBQUEsR0FBQSxDQUFJLE9BQU8sR0FBQSxFQUFLLEtBQUssSUFBUyxLQUFBO0FBQy9DLElBQUksSUFBQSxDQUFDLElBQUksR0FBSyxFQUFBO0FBQ1osTUFBQSxPQUFPLElBQUssRUFBQTtBQUFBO0FBRWQsSUFBQSxNQUFNLGNBQWlCLEdBQUE7QUFBQSxNQUNyQixHQUFHLGtCQUFBO0FBQUEsTUFDSCxhQUFBLEVBQWUsT0FBTyxNQUFPLENBQUEsSUFBQTtBQUFBLE1BQzdCLGdCQUFnQixrQkFBbUIsQ0FBQSxjQUFBO0FBQUEsTUFDbkMsV0FBQSxFQUFhLE9BQU8sTUFBTyxDQUFBLElBQUE7QUFBQSxNQUMzQixPQUFBLEVBQVMsbUJBQW1CLE9BQU8sQ0FBQTtBQUFBLE1BQ25DLEtBQUssa0JBQW1CLENBQUEsR0FBQTtBQUFBLE1BQ3hCLE1BQUE7QUFBQSxNQUNBO0FBQUEsS0FDRjtBQUNBLElBQUEsTUFBTSxPQUFPLFdBQVksQ0FBQSxHQUFBLEVBQUssZ0JBQWdCLEVBQUksRUFBQSxNQUFBLENBQU8sT0FBTyxNQUFNLENBQUE7QUFHdEUsSUFBQSxJQUFJLEtBQUsscUJBQXVCLEVBQUE7QUFDOUIsTUFBQSxPQUFPLGtCQUFtQixDQUFBLEdBQUEsRUFBSyxHQUFLLEVBQUEsTUFBQSxFQUFRLGNBQWMsQ0FBQTtBQUFBO0FBRTVELElBQUEsSUFBSSxDQUFDLElBQUEsQ0FBSyxZQUFjLEVBQUEsT0FBTyxJQUFLLEVBQUE7QUFDcEMsSUFBSSxJQUFBO0FBQ0YsTUFBQSxNQUFNLGFBQWEsTUFBTSxhQUFBO0FBQUEsUUFDdkIsSUFBSyxDQUFBLEtBQUE7QUFBQSxRQUNMLG1CQUFBO0FBQUEsUUFDQTtBQUFBLE9BQ0Y7QUFDQSxNQUFJLElBQUEsVUFBQSxDQUFXLFNBQVMsT0FBUyxFQUFBO0FBQy9CLFFBQUEsTUFBQSxDQUFPLE1BQU8sQ0FBQSxNQUFBLENBQU8sS0FBTSxDQUFBLFVBQUEsQ0FBVyxNQUFNLE9BQU8sQ0FBQTtBQUNuRCxRQUFBLE9BQU8sSUFBSyxFQUFBO0FBQUE7QUFFZCxNQUFBLE1BQU0sV0FBVyxVQUFXLENBQUEsSUFBQTtBQUM1QixNQUFBLE1BQU0sWUFBWSxVQUFXLENBQUEsS0FBQTtBQUM3QixNQUFBLE1BQU0sV0FBVyxVQUFXLENBQUEsSUFBQTtBQUM1QixNQUFBLE1BQU0sV0FBVyxVQUFXLENBQUEsSUFBQTtBQUc1QixNQUFNLE1BQUEsZ0JBQUEsR0FBbUIsTUFBTSxpQkFBa0IsQ0FBQTtBQUFBLFFBQy9DLFFBQUE7QUFBQSxRQUNBLFNBQUE7QUFBQSxRQUNBLFFBQUE7QUFBQSxRQUNBLFFBQUE7QUFBQSxRQUNBLGNBQUEsRUFBZ0IsY0FBZSxDQUFBLGNBQUEsSUFBa0IsY0FBZSxDQUFBLGdCQUFBO0FBQUEsUUFDaEUsZUFBQSxFQUFpQixjQUFlLENBQUEsZUFBQSxJQUFtQixjQUFlLENBQUEsaUJBQUE7QUFBQSxRQUNsRSxjQUFBLEVBQWdCLGNBQWUsQ0FBQSxjQUFBLElBQWtCLGNBQWUsQ0FBQSxnQkFBQTtBQUFBLFFBQ2hFLGNBQUEsRUFBZ0IsY0FBZSxDQUFBLGNBQUEsSUFBa0IsY0FBZSxDQUFBLGdCQUFBO0FBQUEsUUFDaEUsT0FBTyxJQUFLLENBQUEsS0FBQTtBQUFBLFFBQ1osTUFBQTtBQUFBLFFBQ0EsT0FBQTtBQUFBLFFBQ0EsYUFBQSxFQUFlLE9BQU8sTUFBTyxDQUFBLElBQUE7QUFBQSxRQUM3QixPQUFPLGNBQWUsQ0FBQTtBQUFBLE9BQ3ZCLENBQUE7QUFDRCxNQUFJLElBQUEsZ0JBQUEsQ0FBaUIsU0FBUyxPQUFTLEVBQUE7QUFDckMsUUFBQSxNQUFNLGdCQUFpQixDQUFBLEtBQUE7QUFBQTtBQUd6QixNQUFBLE1BQU0sRUFBRSxhQUFBLEVBQWUsU0FBVyxFQUFBLGFBQUEsRUFBa0IsR0FBQSxnQkFBQTtBQUVwRCxNQUFNLE1BQUEsWUFBQSxHQUFlLG1CQUFtQixPQUFPLENBQUE7QUFDL0MsTUFBQSxNQUFNLDBCQUE2QixHQUFBO0FBQUEsUUFDakMsR0FBRyxjQUFBO0FBQUEsUUFDSCxNQUFBO0FBQUEsUUFDQSxPQUFTLEVBQUEsWUFBQTtBQUFBLFFBQ1QsT0FBTyxJQUFLLENBQUEsS0FBQTtBQUFBLFFBQ1osUUFBQTtBQUFBLFFBQ0EsU0FBQTtBQUFBLFFBQ0EsTUFBQSxFQUFRLE9BQU8sTUFBTyxDQUFBLE1BQUE7QUFBQSxRQUN0QixRQUFVLEVBQUEsY0FBQTtBQUFBLFFBQ1Y7QUFBQSxPQUNGO0FBQ0EsTUFBTSxNQUFBLGNBQUEsR0FBaUIsTUFBTSx5QkFBMEIsQ0FBQTtBQUFBLFFBQ3JELGFBQWEsTUFBTyxDQUFBLFdBQUE7QUFBQSxRQUNwQixTQUFXLEVBQUEsUUFBQTtBQUFBLFFBQ1gsY0FBZ0IsRUFBQTtBQUFBLFVBQ2QsR0FBRyxjQUFBO0FBQUEsVUFDSCxRQUFBO0FBQUEsVUFDQSxhQUFBLEVBQWUsT0FBTyxNQUFPLENBQUEsSUFBQTtBQUFBLFVBQzdCLGdCQUFnQixrQkFBbUIsQ0FBQSxjQUFBO0FBQUEsVUFDbkMsV0FBQSxFQUFhLE9BQU8sTUFBTyxDQUFBO0FBQUE7QUFDN0IsT0FDRCxDQUFBO0FBQ0QsTUFBSSxJQUFBLGNBQUEsQ0FBZSxTQUFTLE1BQVEsRUFBQTtBQUNsQyxRQUFBLE9BQU8sSUFBSyxFQUFBO0FBQUE7QUFFZCxNQUFJLElBQUEsY0FBQSxDQUFlLFNBQVMsT0FBUyxFQUFBO0FBQ25DLFFBQUEsTUFBTSxjQUFlLENBQUEsS0FBQTtBQUFBO0FBR3ZCLE1BQU0sTUFBQSxtQkFBQSxHQUFzQixNQUFPLENBQUEsTUFBQSxDQUFPLDBCQUE0QixFQUFBO0FBQUEsUUFDcEUsYUFBQTtBQUFBLFFBQ0EsU0FBQTtBQUFBLFFBQ0EsYUFBQTtBQUFBLFFBQ0EsZUFBZUEsY0FBTSxDQUFBLFFBQUE7QUFBQSxRQUNyQixRQUFVLEVBQUEsY0FBQSxDQUFlLFFBQVksb0JBQUEsSUFBSSxHQUFJLEVBQUE7QUFBQSxRQUM3QyxTQUFBLHNCQUFlLEdBQUk7QUFBQSxPQUNwQixDQUFBO0FBR0QsTUFBTSxNQUFBLFNBQUEsR0FBWSxjQUFjLG1CQUFtQixDQUFBO0FBRW5ELE1BQUksSUFBQSxTQUFBLENBQVUsU0FBUyxTQUFXLEVBQUE7QUFFaEMsUUFBSSxHQUFBLENBQUEsU0FBQSxDQUFVLGdCQUFnQixpQ0FBaUMsQ0FBQTtBQUMvRCxRQUFVLFNBQUEsQ0FBQSxNQUFBLENBQVEsS0FBSyxHQUFHLENBQUE7QUFBQTtBQUU1QixNQUFBLGFBQUEsQ0FBYyxJQUFJLEdBQUcsQ0FBQTtBQUNyQixNQUFJLEdBQUEsQ0FBQSxFQUFBLENBQUcsU0FBUyxNQUFNO0FBQ3BCLFFBQUEsYUFBQSxDQUFjLE9BQU8sR0FBRyxDQUFBO0FBQUEsT0FDekIsQ0FBQTtBQUFBLGFBQ00sS0FBTyxFQUFBO0FBQ2QsTUFBUyxRQUFBLENBQUEsS0FBQSxFQUFPLE1BQU8sQ0FBQSxNQUFBLENBQU8sTUFBTSxDQUFBO0FBQ3BDLE1BQUEsR0FBQSxDQUFJLFVBQWEsR0FBQSxHQUFBO0FBQ2pCLE1BQUksR0FBQSxDQUFBLFNBQUEsQ0FBVSxnQkFBZ0IsaUNBQWlDLENBQUE7QUFDL0QsTUFBSSxHQUFBLENBQUEsU0FBQSxDQUFVLGtCQUFrQixHQUFHLENBQUE7QUFFbkMsTUFBTSxNQUFBLEVBQUUsSUFBSyxFQUFBLEdBQUksY0FBZSxDQUFBLHNCQUFBO0FBQUEsUUFDOUI7QUFBQSxVQUNFLElBQU0sRUFBQSxPQUFBO0FBQUEsVUFDTixLQUFPLEVBQUE7QUFBQSxZQUNMLFFBQVEsS0FBaUIsWUFBQSxLQUFBLEdBQVEsS0FBTSxDQUFBLE9BQUEsR0FBVSxPQUFPLEtBQUssQ0FBQTtBQUFBLFlBQzdELElBQU0sRUFBQSxLQUFBLFlBQWlCLEtBQVEsR0FBQSxLQUFBLENBQU0sSUFBTyxHQUFBO0FBQUE7QUFDOUMsU0FDRjtBQUFBLFFBQ0EsY0FBZSxDQUFBLGNBQUE7QUFBQSxRQUNmO0FBQUEsVUFDRSxRQUFRQyxNQUFjLEVBQUE7QUFDcEIsWUFBU0EsUUFBQUEsQ0FBQUEsTUFBQUEsRUFBTyxNQUFPLENBQUEsTUFBQSxDQUFPLE1BQU0sQ0FBQTtBQUNwQyxZQUFBLEdBQUEsQ0FBSSxVQUFhLEdBQUEsR0FBQTtBQUNqQixZQUFBLEdBQUEsQ0FBSSxHQUFJLEVBQUE7QUFBQSxXQUNWO0FBQUEsVUFDQSxVQUFhLEdBQUE7QUFFWCxZQUFNLE1BQUEsYUFBQSxHQUFnQixHQUFJLENBQUEsU0FBQSxDQUFVLGdCQUFnQixDQUFBO0FBQ3BELFlBQUEsSUFBSSxhQUFlLEVBQUE7QUFDakIsY0FBSSxHQUFBLENBQUEsU0FBQSxDQUFVLGtCQUFrQixhQUFhLENBQUE7QUFBQTtBQUMvQztBQUNGO0FBQ0YsT0FDRjtBQUNBLE1BQUEsSUFBQSxDQUFLLEdBQUcsQ0FBQTtBQUFBO0FBQ1YsR0FDRCxDQUFBO0FBQ0g7Ozs7In0=
@@ -1,5 +1,6 @@
1
1
  import type { ViteDevServer } from "vite";
2
- import type { InlineCssOpt, PagePropOpt, ResolvedUserOptions } from "../types.js";
2
+ import type { CreateHandlerOptions } from "../types.js";
3
3
  import type { IncomingMessage, ServerResponse } from "http";
4
- export declare function handleServerAction<T extends PagePropOpt = PagePropOpt, InlineCss extends InlineCssOpt = InlineCssOpt>(req: IncomingMessage, res: ServerResponse, server: ViteDevServer, handlerOptions: ResolvedUserOptions<T, InlineCss>): Promise<void>;
4
+ export type HandleServerActionFn = (req: IncomingMessage, res: ServerResponse, server: ViteDevServer, handlerOptions: Pick<CreateHandlerOptions, "verbose" | "moduleBasePath" | "projectRoot" | "loader">) => Promise<void>;
5
+ export declare const handleServerAction: HandleServerActionFn;
5
6
  //# sourceMappingURL=handleServerAction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleServerAction.d.ts","sourceRoot":"","sources":["../../../plugin/react-server/handleServerAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE5D,wBAAsB,kBAAkB,CACtC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAE7C,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,iBAiLlD"}
1
+ {"version":3,"file":"handleServerAction.d.ts","sourceRoot":"","sources":["../../../plugin/react-server/handleServerAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EACV,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAIrB,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE5D,MAAM,MAAM,oBAAoB,GAAG,CACjC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,IAAI,CAClB,oBAAoB,EACpB,SAAS,GAAG,gBAAgB,GAAG,aAAa,GAAG,QAAQ,CACxD,KACE,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,eAAO,MAAM,kBAAkB,EAAE,oBA4K9B,CAAC"}
@@ -3,11 +3,12 @@
3
3
  * Copyright (c) Nico Brinkkemper
4
4
  * MIT License
5
5
  */
6
- import { toError, logError } from '../error/toError.js';
7
- import { join } from 'path';
6
+ import { toError } from '../error/toError.js';
7
+ import { logError } from '../error/logError.js';
8
+ import { join } from 'node:path';
8
9
  import { ReactDOMServer } from '../vendor/vendor.server.js';
9
10
 
10
- async function handleServerAction(req, res, server, handlerOptions) {
11
+ const handleServerAction = async function _handleServerAction(req, res, server, handlerOptions) {
11
12
  let id = req.url?.split("?")[0] ?? "";
12
13
  try {
13
14
  if (handlerOptions.verbose) {
@@ -41,7 +42,7 @@ async function handleServerAction(req, res, server, handlerOptions) {
41
42
  }
42
43
  } catch (error) {
43
44
  throw new Error(`Failed to parse server action request`, {
44
- cause: toError(error)
45
+ cause: error
45
46
  });
46
47
  }
47
48
  if (!id) {
@@ -103,7 +104,8 @@ async function handleServerAction(req, res, server, handlerOptions) {
103
104
  );
104
105
  }
105
106
  res.setHeader("Content-Type", "text/x-component; charset=utf-8");
106
- res.setHeader("Content-Length", "0");
107
+ res.setHeader("Transfer-Encoding", "chunked");
108
+ res.setHeader("Connection", "keep-alive");
107
109
  const { pipe } = ReactDOMServer.renderToPipeableStream(
108
110
  {
109
111
  type: "server-action-response",
@@ -118,10 +120,6 @@ async function handleServerAction(req, res, server, handlerOptions) {
118
120
  res.end();
119
121
  },
120
122
  onAllReady() {
121
- const contentLength = res.getHeader("Content-Length");
122
- if (contentLength) {
123
- res.setHeader("Content-Length", contentLength);
124
- }
125
123
  }
126
124
  }
127
125
  );
@@ -131,14 +129,14 @@ async function handleServerAction(req, res, server, handlerOptions) {
131
129
  logError(err, server.config.logger);
132
130
  res.statusCode = 500;
133
131
  res.setHeader("Content-Type", "text/x-component; charset=utf-8");
134
- res.setHeader("Content-Length", "0");
132
+ res.setHeader("Transfer-Encoding", "chunked");
133
+ res.setHeader("Connection", "keep-alive");
135
134
  const { pipe } = ReactDOMServer.renderToPipeableStream(
136
135
  {
137
136
  type: "server-action-response",
138
- returnValue: null,
139
- error: {
140
- digest: err.message || "",
141
- name: err.name || "Error"
137
+ returnValue: {
138
+ success: false,
139
+ error: err.message
142
140
  },
143
141
  id
144
142
  },
@@ -150,16 +148,12 @@ async function handleServerAction(req, res, server, handlerOptions) {
150
148
  res.end();
151
149
  },
152
150
  onAllReady() {
153
- const contentLength = res.getHeader("Content-Length");
154
- if (contentLength) {
155
- res.setHeader("Content-Length", contentLength);
156
- }
157
151
  }
158
152
  }
159
153
  );
160
154
  pipe(res);
161
155
  }
162
- }
156
+ };
163
157
 
164
158
  export { handleServerAction };
165
- //# sourceMappingURL=handleServerAction.js.map
159
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlU2VydmVyQWN0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vcmVhY3Qtc2VydmVyL2hhbmRsZVNlcnZlckFjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFZpdGVEZXZTZXJ2ZXIgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHR5cGUge1xuICBDcmVhdGVIYW5kbGVyT3B0aW9ucyxcbn0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyBsb2dFcnJvciwgdG9FcnJvciB9IGZyb20gXCIuLi9lcnJvci9pbmRleC5qc1wiO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IFJlYWN0RE9NU2VydmVyIH0gZnJvbSBcIi4uL3ZlbmRvci92ZW5kb3Iuc2VydmVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEluY29taW5nTWVzc2FnZSwgU2VydmVyUmVzcG9uc2UgfSBmcm9tIFwiaHR0cFwiO1xuXG5leHBvcnQgdHlwZSBIYW5kbGVTZXJ2ZXJBY3Rpb25GbiA9IChcbiAgcmVxOiBJbmNvbWluZ01lc3NhZ2UsXG4gIHJlczogU2VydmVyUmVzcG9uc2UsXG4gIHNlcnZlcjogVml0ZURldlNlcnZlcixcbiAgaGFuZGxlck9wdGlvbnM6IFBpY2s8XG4gICAgQ3JlYXRlSGFuZGxlck9wdGlvbnMsXG4gICAgXCJ2ZXJib3NlXCIgfCBcIm1vZHVsZUJhc2VQYXRoXCIgfCBcInByb2plY3RSb290XCIgfCBcImxvYWRlclwiXG4gID5cbikgPT4gUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNlcnZlckFjdGlvbjogSGFuZGxlU2VydmVyQWN0aW9uRm4gPVxuICBhc3luYyBmdW5jdGlvbiBfaGFuZGxlU2VydmVyQWN0aW9uKHJlcSwgcmVzLCBzZXJ2ZXIsIGhhbmRsZXJPcHRpb25zKSB7XG4gICAgbGV0IGlkID0gcmVxLnVybD8uc3BsaXQoXCI/XCIpWzBdID8/IFwiXCI7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChoYW5kbGVyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmluZm8oXG4gICAgICAgICAgYFtyZWFjdC1zZXJ2ZXJdIEhhbmRsaW5nIHNlcnZlciBhY3Rpb24gcmVxdWVzdCBhdCAke3JlcS51cmx9YFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBQYXJzZSB0aGUgcmVxdWVzdCBib2R5XG4gICAgICBsZXQgYXJnczogdW5rbm93bltdO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgY2h1bmtzOiBCdWZmZXJbXSA9IFtdO1xuICAgICAgICBmb3IgYXdhaXQgKGNvbnN0IGNodW5rIG9mIHJlcSkge1xuICAgICAgICAgIGNodW5rcy5wdXNoKGNodW5rKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBib2R5ID0gQnVmZmVyLmNvbmNhdChjaHVua3MpLnRvU3RyaW5nKCk7XG4gICAgICAgIGlmIChoYW5kbGVyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuaW5mbyhgW3JlYWN0LXNlcnZlcl0gUmVxdWVzdCBib2R5OiAke2JvZHl9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKGJvZHkpO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShwYXJzZWQpKSB7XG4gICAgICAgICAgLy8gRm9ybWF0IDE6IERpcmVjdCBhcmdzIGFycmF5XG4gICAgICAgICAgYXJncyA9IHBhcnNlZDtcbiAgICAgICAgICAvLyBHZXQgdGhlIGFjdGlvbiBJRCBmcm9tIHRoZSByZXF1ZXN0IFVSTFxuICAgICAgICAgIGlmIChoYW5kbGVyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgICBgW3JlYWN0LXNlcnZlcl0gVXNpbmcgYWN0aW9uIElEIGZyb20gVVJMOiAke2lkfWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHBhcnNlZCAmJiB0eXBlb2YgcGFyc2VkID09PSBcIm9iamVjdFwiICYmIFwiaWRcIiBpbiBwYXJzZWQpIHtcbiAgICAgICAgICAvLyBGb3JtYXQgMjogT2JqZWN0IHdpdGggaWQgYW5kIGFyZ3NcbiAgICAgICAgICBpZCA9IHBhcnNlZC5pZDtcbiAgICAgICAgICBhcmdzID0gcGFyc2VkLmFyZ3MgPz8gW107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBzZXJ2ZXIgYWN0aW9uIHJlcXVlc3QgZm9ybWF0XCIpO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBwYXJzZSBzZXJ2ZXIgYWN0aW9uIHJlcXVlc3RgLCB7XG4gICAgICAgICAgY2F1c2U6IGVycm9yLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFpZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTZXJ2ZXIgYWN0aW9uIElEIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaGFuZGxlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKFxuICAgICAgICAgIGBbcmVhY3Qtc2VydmVyXSBTZXJ2ZXIgYWN0aW9uIHJlcXVlc3QgZm9yICR7aWR9IHdpdGggYXJnczogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIGFyZ3NcbiAgICAgICAgICApfWBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gUGFyc2UgdGhlIHNlcnZlciBhY3Rpb24gSUQgdG8gZ2V0IHRoZSBmaWxlIHBhdGggYW5kIGV4cG9ydCBuYW1lXG4gICAgICBjb25zdCBbZmlsZVBhdGgsIGV4cG9ydE5hbWVdID0gaWQuc3BsaXQoXCIjXCIpO1xuICAgICAgaWYgKCFmaWxlUGF0aCB8fCAhZXhwb3J0TmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEludmFsaWQgc2VydmVyIGFjdGlvbiBJRCBmb3JtYXQ6ICR7aWR9LiBFeHBlY3RlZCBmb3JtYXQ6IFwicGF0aC90by9maWxlLnRzI2V4cG9ydE5hbWVcImBcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gQ29udmVydCB0aGUgc2VydmVyIGFjdGlvbiBJRCB0byBhIGZpbGUgcGF0aFxuICAgICAgY29uc3QgYWN0aW9uUGF0aCA9IGZpbGVQYXRoLnN0YXJ0c1dpdGgoXCIvXCIpXG4gICAgICAgID8gZmlsZVBhdGguc2xpY2UoMSlcbiAgICAgICAgOiBmaWxlUGF0aDtcbiAgICAgIGNvbnN0IGZ1bGxQYXRoID0gam9pbihoYW5kbGVyT3B0aW9ucy5wcm9qZWN0Um9vdCwgYWN0aW9uUGF0aCk7XG4gICAgICBpZiAoaGFuZGxlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKFxuICAgICAgICAgIGBbcmVhY3Qtc2VydmVyXSBSZXNvbHZlZCBmaWxlIHBhdGg6IGlkPSR7aWR9LCBhY3Rpb25QYXRoPSR7YWN0aW9uUGF0aH0sIHByb2plY3RSb290PSR7aGFuZGxlck9wdGlvbnMucHJvamVjdFJvb3R9LCBmaWxlUGF0aD0ke2Z1bGxQYXRofSwgZXhwb3J0TmFtZT0ke2V4cG9ydE5hbWV9YFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBMb2FkIHRoZSBzZXJ2ZXIgYWN0aW9uIG1vZHVsZVxuICAgICAgaWYgKGhhbmRsZXJPcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuaW5mbyhgW3JlYWN0LXNlcnZlcl0gTG9hZGluZyBtb2R1bGU6ICR7ZnVsbFBhdGh9YCk7XG4gICAgICB9XG4gICAgICBjb25zdCBtb2R1bGUgPSBhd2FpdCBzZXJ2ZXIuc3NyTG9hZE1vZHVsZShmdWxsUGF0aCk7XG4gICAgICBpZiAoaGFuZGxlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKFxuICAgICAgICAgIGBbcmVhY3Qtc2VydmVyXSBMb29raW5nIGZvciBhY3Rpb246ICR7ZXhwb3J0TmFtZX0gaW4gbW9kdWxlIHdpdGggZXhwb3J0czogJHtPYmplY3Qua2V5cyhcbiAgICAgICAgICAgIG1vZHVsZVxuICAgICAgICAgICkuam9pbihcIiwgXCIpfWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFjdGlvbiA9IG1vZHVsZVtleHBvcnROYW1lXTtcblxuICAgICAgaWYgKHR5cGVvZiBhY3Rpb24gIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBpZiAoaGFuZGxlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgYFtyZWFjdC1zZXJ2ZXJdIEFjdGlvbiBub3QgZm91bmQ6ICR7ZXhwb3J0TmFtZX0gaW4gbW9kdWxlIHdpdGggZXhwb3J0czogJHtPYmplY3Qua2V5cyhcbiAgICAgICAgICAgICAgbW9kdWxlXG4gICAgICAgICAgICApLmpvaW4oXCIsIFwiKX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNlcnZlciBhY3Rpb24gbm90IGZvdW5kOiAke2lkfWApO1xuICAgICAgfVxuXG4gICAgICAvLyBFeGVjdXRlIHRoZSBzZXJ2ZXIgYWN0aW9uXG4gICAgICBpZiAoaGFuZGxlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKFxuICAgICAgICAgIGBbcmVhY3Qtc2VydmVyXSBFeGVjdXRpbmcgYWN0aW9uIHdpdGggYXJnczogJHtKU09OLnN0cmluZ2lmeShhcmdzKX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhY3Rpb24oLi4uYXJncyk7XG4gICAgICBpZiAoaGFuZGxlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKFxuICAgICAgICAgIGBbcmVhY3Qtc2VydmVyXSBBY3Rpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseSB3aXRoIHJlc3VsdDogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIHJlc3VsdFxuICAgICAgICAgICl9YFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBTZW5kIHRoZSByZXNwb25zZSB1c2luZyBSU0Mgc3RyZWFtaW5nXG4gICAgICByZXMuc2V0SGVhZGVyKFwiQ29udGVudC1UeXBlXCIsIFwidGV4dC94LWNvbXBvbmVudDsgY2hhcnNldD11dGYtOFwiKTtcbiAgICAgIHJlcy5zZXRIZWFkZXIoXCJUcmFuc2Zlci1FbmNvZGluZ1wiLCBcImNodW5rZWRcIik7XG4gICAgICByZXMuc2V0SGVhZGVyKFwiQ29ubmVjdGlvblwiLCBcImtlZXAtYWxpdmVcIik7XG5cbiAgICAgIGNvbnN0IHsgcGlwZSB9ID0gUmVhY3RET01TZXJ2ZXIucmVuZGVyVG9QaXBlYWJsZVN0cmVhbShcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwic2VydmVyLWFjdGlvbi1yZXNwb25zZVwiLFxuICAgICAgICAgIHJldHVyblZhbHVlOiByZXN1bHQsXG4gICAgICAgICAgaWQsXG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VQYXRoLFxuICAgICAgICB7XG4gICAgICAgICAgb25FcnJvcihlcnJvcjogRXJyb3IpIHtcbiAgICAgICAgICAgIGxvZ0Vycm9yKGVycm9yLCBzZXJ2ZXIuY29uZmlnLmxvZ2dlcik7XG4gICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDUwMDtcbiAgICAgICAgICAgIHJlcy5lbmQoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uQWxsUmVhZHkoKSB7XG4gICAgICAgICAgICAvLyBObyBuZWVkIHRvIHVwZGF0ZSBjb250ZW50IGxlbmd0aCBmb3IgY2h1bmtlZCBlbmNvZGluZ1xuICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIHBpcGUocmVzKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyID0gdG9FcnJvcihlcnJvcik7XG4gICAgICBsb2dFcnJvcihlcnIsIHNlcnZlci5jb25maWcubG9nZ2VyKTtcbiAgICAgIHJlcy5zdGF0dXNDb2RlID0gNTAwO1xuICAgICAgcmVzLnNldEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiLCBcInRleHQveC1jb21wb25lbnQ7IGNoYXJzZXQ9dXRmLThcIik7XG4gICAgICByZXMuc2V0SGVhZGVyKFwiVHJhbnNmZXItRW5jb2RpbmdcIiwgXCJjaHVua2VkXCIpO1xuICAgICAgcmVzLnNldEhlYWRlcihcIkNvbm5lY3Rpb25cIiwgXCJrZWVwLWFsaXZlXCIpO1xuXG4gICAgICBjb25zdCB7IHBpcGUgfSA9IFJlYWN0RE9NU2VydmVyLnJlbmRlclRvUGlwZWFibGVTdHJlYW0oXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcInNlcnZlci1hY3Rpb24tcmVzcG9uc2VcIixcbiAgICAgICAgICByZXR1cm5WYWx1ZToge1xuICAgICAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgICAgICBlcnJvcjogZXJyLm1lc3NhZ2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpZCxcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlck9wdGlvbnMubW9kdWxlQmFzZVBhdGgsXG4gICAgICAgIHtcbiAgICAgICAgICBvbkVycm9yKGVycm9yOiBFcnJvcikge1xuICAgICAgICAgICAgbG9nRXJyb3IoZXJyb3IsIHNlcnZlci5jb25maWcubG9nZ2VyKTtcbiAgICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNTAwO1xuICAgICAgICAgICAgcmVzLmVuZCgpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgb25BbGxSZWFkeSgpIHtcbiAgICAgICAgICAgIC8vIE5vIG5lZWQgdG8gdXBkYXRlIGNvbnRlbnQgbGVuZ3RoIGZvciBjaHVua2VkIGVuY29kaW5nXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHBpcGUocmVzKTtcbiAgICB9XG4gIH07XG4iXSwibmFtZXMiOlsiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFtQk8sTUFBTSxxQkFDWCxlQUFlLG1CQUFBLENBQW9CLEdBQUssRUFBQSxHQUFBLEVBQUssUUFBUSxjQUFnQixFQUFBO0FBQ25FLEVBQUEsSUFBSSxLQUFLLEdBQUksQ0FBQSxHQUFBLEVBQUssTUFBTSxHQUFHLENBQUEsQ0FBRSxDQUFDLENBQUssSUFBQSxFQUFBO0FBQ25DLEVBQUksSUFBQTtBQUNGLElBQUEsSUFBSSxlQUFlLE9BQVMsRUFBQTtBQUMxQixNQUFBLE1BQUEsQ0FBTyxPQUFPLE1BQU8sQ0FBQSxJQUFBO0FBQUEsUUFDbkIsQ0FBQSxpREFBQSxFQUFvRCxJQUFJLEdBQUcsQ0FBQTtBQUFBLE9BQzdEO0FBQUE7QUFJRixJQUFJLElBQUEsSUFBQTtBQUNKLElBQUksSUFBQTtBQUNGLE1BQUEsTUFBTSxTQUFtQixFQUFDO0FBQzFCLE1BQUEsV0FBQSxNQUFpQixTQUFTLEdBQUssRUFBQTtBQUM3QixRQUFBLE1BQUEsQ0FBTyxLQUFLLEtBQUssQ0FBQTtBQUFBO0FBRW5CLE1BQUEsTUFBTSxJQUFPLEdBQUEsTUFBQSxDQUFPLE1BQU8sQ0FBQSxNQUFNLEVBQUUsUUFBUyxFQUFBO0FBQzVDLE1BQUEsSUFBSSxlQUFlLE9BQVMsRUFBQTtBQUMxQixRQUFBLE1BQUEsQ0FBTyxNQUFPLENBQUEsTUFBQSxDQUFPLElBQUssQ0FBQSxDQUFBLDZCQUFBLEVBQWdDLElBQUksQ0FBRSxDQUFBLENBQUE7QUFBQTtBQUdsRSxNQUFNLE1BQUEsTUFBQSxHQUFTLElBQUssQ0FBQSxLQUFBLENB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
@@ -1,7 +1,6 @@
1
- import { type Plugin as VitePlugin } from "vite";
2
- import type { ReactStreamPluginMeta, PagePropOpt, InlineCssOpt } from "../types.js";
3
- import { type StreamPluginOptions } from "../types.js";
4
- export declare function reactServerPlugin<T extends PagePropOpt = PagePropOpt, InlineCSS extends InlineCssOpt = InlineCssOpt>(options: StreamPluginOptions<T, InlineCSS>): VitePlugin<{
1
+ import type { ReactStreamPluginFn, ReactStreamPluginMeta } from "../types.js";
2
+ export type ReactServerPluginFn = ReactStreamPluginFn<{
5
3
  meta: ReactStreamPluginMeta;
6
4
  }>;
5
+ export declare const reactServerPlugin: ReactServerPluginFn;
7
6
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../plugin/react-server/plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,MAAM,IAAI,UAAU,EAC1B,MAAM,MAAM,CAAC;AAGd,OAAO,KAAK,EAGV,qBAAqB,EAErB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAiBvD,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAC7C,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC;IACxD,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC,CAuJD"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../plugin/react-server/plugin.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAGV,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAWrB,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;IACpD,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC,CAAA;AAEF,eAAO,MAAM,iBAAiB,EAAC,mBA2J9B,CAAA"}
@@ -8,29 +8,23 @@ import 'vite';
8
8
  import { resolveOptions } from '../config/resolveOptions.js';
9
9
  import { resolveUserConfig } from '../config/resolveUserConfig.js';
10
10
  import { resolveAutoDiscover } from '../config/autoDiscover/resolveAutoDiscover.js';
11
- import { getCondition } from '../config/getCondition.js';
12
11
  import { configureReactServer } from './configureReactServer.js';
13
12
  import { configurePreviewServer } from '../react-static/configurePreviewServer.js';
14
13
  import { getBundleManifest } from '../helpers/getBundleManifest.js';
14
+ import { createDefaultModuleID } from '../config/createModuleID.js';
15
15
 
16
16
  let resolvedConfig = null;
17
- if (getCondition() !== "react-server") {
18
- throw new Error(
19
- "Condition mismatch, should be react-server but got " + process.env["NODE_OPTIONS"]
20
- );
21
- }
22
- function reactServerPlugin(options) {
17
+ const reactServerPlugin = function _reactServerPlugin(options) {
23
18
  const timing = {
24
19
  start: performance.now()
25
20
  };
26
21
  let autoDiscoveredFiles;
27
- let userOptions;
28
22
  let serverManifest = {};
29
23
  const resolvedOptions = resolveOptions(options);
30
24
  if (resolvedOptions.type === "error") {
31
25
  throw resolvedOptions.error;
32
26
  }
33
- userOptions = resolvedOptions.userOptions;
27
+ const userOptions = resolvedOptions.userOptions;
34
28
  return {
35
29
  name: "vite:react-stream-server",
36
30
  enforce: "post",
@@ -47,16 +41,16 @@ function reactServerPlugin(options) {
47
41
  timing.configResolved = performance.now();
48
42
  const plugins = resolvedConfig.plugins;
49
43
  const transformerIndex = plugins.findIndex(
50
- (p) => p.name === "vite:react-server-transform"
44
+ (p) => p.name.includes("vite-plugin-react-server:transform")
51
45
  );
52
46
  const preserverIndex = plugins.findIndex(
53
- (p) => p.name === "vite-plugin-react-server:preserve-directives"
47
+ (p) => p.name.includes("vite-plugin-react-server:preserve-directives")
54
48
  );
55
49
  if (transformerIndex === -1) {
56
50
  throw new Error("Transformer plugin not installed");
57
51
  }
58
52
  if (preserverIndex < transformerIndex) {
59
- throw new Error(
53
+ console.warn(
60
54
  "Transformer plugin isn't installed or isn't running before preserver"
61
55
  );
62
56
  }
@@ -76,6 +70,9 @@ function reactServerPlugin(options) {
76
70
  });
77
71
  },
78
72
  async config(config, configEnv) {
73
+ if (typeof userOptions.moduleID !== "function") {
74
+ userOptions.moduleID = createDefaultModuleID(userOptions, configEnv, userOptions.loader.mode);
75
+ }
79
76
  const autoDiscoverResult = await resolveAutoDiscover({
80
77
  config,
81
78
  configEnv,
@@ -127,15 +124,15 @@ function reactServerPlugin(options) {
127
124
  normalizer: userOptions.normalizer
128
125
  });
129
126
  },
130
- async handleHotUpdate({ file, server, read, timestamp, ...ctx }) {
127
+ async handleHotUpdate({ file, server, timestamp, ...ctx }) {
131
128
  try {
132
129
  if (server.moduleGraph) {
133
130
  const mod = server.moduleGraph.getModuleById(file);
134
131
  if (mod) {
135
- server.moduleGraph.invalidateModule(mod, void 0, void 0, true);
132
+ server.moduleGraph.invalidateModule(mod, void 0, timestamp, true);
136
133
  const newMod = await server.moduleGraph.ensureEntryFromUrl(file, false);
137
134
  if (newMod) {
138
- server.moduleGraph.invalidateModule(newMod, void 0, void 0, true);
135
+ server.moduleGraph.invalidateModule(newMod, void 0, timestamp, true);
139
136
  }
140
137
  }
141
138
  }
@@ -146,7 +143,7 @@ function reactServerPlugin(options) {
146
143
  }
147
144
  }
148
145
  };
149
- }
146
+ };
150
147
 
151
148
  export { reactServerPlugin };
152
- //# sourceMappingURL=plugin.js.map
149
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vcmVhY3Qtc2VydmVyL3BsdWdpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwZXJmb3JtYW5jZSB9IGZyb20gXCJub2RlOnBlcmZfaG9va3NcIjtcbmltcG9ydCB7XG4gIHR5cGUgUmVzb2x2ZWRDb25maWcsXG4gIHR5cGUgVXNlckNvbmZpZyxcbiAgdHlwZSBWaXRlRGV2U2VydmVyLFxuICB0eXBlIE1hbmlmZXN0LFxufSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHsgcmVzb2x2ZU9wdGlvbnMgfSBmcm9tIFwiLi4vY29uZmlnL3Jlc29sdmVPcHRpb25zLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlVXNlckNvbmZpZyB9IGZyb20gXCIuLi9jb25maWcvcmVzb2x2ZVVzZXJDb25maWcuanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgQXV0b0Rpc2NvdmVyZWRGaWxlcyxcbiAgQnVpbGRUaW1pbmcsXG4gIFJlYWN0U3RyZWFtUGx1Z2luRm4sXG4gIFJlYWN0U3RyZWFtUGx1Z2luTWV0YSxcbn0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XG5pbXBvcnQge1xuICByZXNvbHZlQXV0b0Rpc2NvdmVyXG59IGZyb20gXCIuLi9jb25maWcvYXV0b0Rpc2NvdmVyL3Jlc29sdmVBdXRvRGlzY292ZXIuanNcIjtcbmltcG9ydCB7IGNvbmZpZ3VyZVJlYWN0U2VydmVyIH0gZnJvbSBcIi4vY29uZmlndXJlUmVhY3RTZXJ2ZXIuanNcIjtcbmltcG9ydCB7IGNvbmZpZ3VyZVByZXZpZXdTZXJ2ZXIgfSBmcm9tIFwiLi4vcmVhY3Qtc3RhdGljL2NvbmZpZ3VyZVByZXZpZXdTZXJ2ZXIuanNcIjtcbmltcG9ydCB7IGdldEJ1bmRsZU1hbmlmZXN0IH0gZnJvbSBcIi4uL2hlbHBlcnMvZ2V0QnVuZGxlTWFuaWZlc3QuanNcIjtcbmltcG9ydCB7IGNyZWF0ZURlZmF1bHRNb2R1bGVJRCB9IGZyb20gXCIuLi9jb25maWcvY3JlYXRlTW9kdWxlSUQuanNcIjtcblxubGV0IHJlc29sdmVkQ29uZmlnOiBSZXNvbHZlZENvbmZpZyB8IG51bGwgPSBudWxsO1xuXG5leHBvcnQgdHlwZSBSZWFjdFNlcnZlclBsdWdpbkZuID0gUmVhY3RTdHJlYW1QbHVnaW5Gbjx7XG4gIG1ldGE6IFJlYWN0U3RyZWFtUGx1Z2luTWV0YTtcbn0+XG5cbmV4cG9ydCBjb25zdCByZWFjdFNlcnZlclBsdWdpbjpSZWFjdFNlcnZlclBsdWdpbkZuID0gZnVuY3Rpb24gX3JlYWN0U2VydmVyUGx1Z2luKG9wdGlvbnMpIHtcbiAgY29uc3QgdGltaW5nOiBCdWlsZFRpbWluZyA9IHtcbiAgICBzdGFydDogcGVyZm9ybWFuY2Uubm93KCksXG4gIH07XG5cbiAgbGV0IGF1dG9EaXNjb3ZlcmVkRmlsZXM6IEF1dG9EaXNjb3ZlcmVkRmlsZXM7XG4gIGxldCBzZXJ2ZXJNYW5pZmVzdDogTWFuaWZlc3QgPSB7fTtcblxuICBjb25zdCByZXNvbHZlZE9wdGlvbnMgPSByZXNvbHZlT3B0aW9ucyhvcHRpb25zKTtcbiAgaWYgKHJlc29sdmVkT3B0aW9ucy50eXBlID09PSBcImVycm9yXCIpIHtcbiAgICB0aHJvdyByZXNvbHZlZE9wdGlvbnMuZXJyb3I7XG4gIH1cbiAgY29uc3QgdXNlck9wdGlvbnMgPSByZXNvbHZlZE9wdGlvbnMudXNlck9wdGlvbnM7XG4gIFxuXG4gIHJldHVybiB7XG4gICAgbmFtZTogXCJ2aXRlOnJlYWN0LXN0cmVhbS1zZXJ2ZXJcIixcbiAgICBlbmZvcmNlOiBcInBvc3RcIixcbiAgICBhcGk6IHtcbiAgICAgIG1ldGE6IHsgdGltaW5nIH0sXG4gICAgfSwgIFxuICAgIGNvbmZpZ1Jlc29sdmVkKF9yZXNvbHZlZENvbmZpZykge1xuICAgICAgcmVzb2x2ZWRDb25maWcgPSBfcmVzb2x2ZWRDb25maWc7XG4gICAgICBpZiAoXG4gICAgICAgIHVzZXJPcHRpb25zLnByb2plY3RSb290ICE9IHJlc29sdmVkQ29uZmlnLnJvb3QgJiZcbiAgICAgICAgdHlwZW9mIHVzZXJPcHRpb25zLnByb2plY3RSb290ID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgIHVzZXJPcHRpb25zLnByb2plY3RSb290ICE9PSBcIlwiXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiW1JTQ10gUHJvamVjdCByb290IGlzIG5vdCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSwgcGxlYXNlIHNldCBwcm9qZWN0Um9vdCBpbiB5b3VyIGNvbmZpZy5cXG5cIiArXG4gICAgICAgICAgICBcIiBwcm9qZWN0Um9vdDogXCIgKyB1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCArIFwiXFxuXCIgK1xuICAgICAgICAgICAgXCIgcmVzb2x2ZWRDb25maWcucm9vdDogXCIgKyByZXNvbHZlZENvbmZpZy5yb290XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aW1pbmcuY29uZmlnUmVzb2x2ZWQgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICAgICAgLy8gVmVyaWZ5IHRyYW5zZm9ybWVyIHJ1bnMgZmlyc3QsIHByZXNlcnZlciBydW5zIGxhc3RcbiAgICAgIGNvbnN0IHBsdWdpbnMgPSByZXNvbHZlZENvbmZpZy5wbHVnaW5zO1xuICAgICAgY29uc3QgdHJhbnNmb3JtZXJJbmRleCA9IHBsdWdpbnMuZmluZEluZGV4KFxuICAgICAgICAocCkgPT4gcC5uYW1lLmluY2x1ZGVzKFwidml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyOnRyYW5zZm9ybVwiKVxuICAgICAgKTtcbiAgICAgIGNvbnN0IHByZXNlcnZlckluZGV4ID0gcGx1Z2lucy5maW5kSW5kZXgoXG4gICAgICAgIChwKSA9PiBwLm5hbWUuaW5jbHVkZXMoXCJ2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXI6cHJlc2VydmUtZGlyZWN0aXZlc1wiKVxuICAgICAgKTtcblxuICAgICAgaWYgKHRyYW5zZm9ybWVySW5kZXggPT09IC0xKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRyYW5zZm9ybWVyIHBsdWdpbiBub3QgaW5zdGFsbGVkXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHByZXNlcnZlckluZGV4IDwgdHJhbnNmb3JtZXJJbmRleCkge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgXCJUcmFuc2Zvcm1lciBwbHVnaW4gaXNuJ3QgaW5zdGFsbGVkIG9yIGlzbid0IHJ1bm5pbmcgYmVmb3JlIHByZXNlcnZlclwiXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSxcblxuICAgIGFzeW5jIGNvbmZpZ3VyZVByZXZpZXdTZXJ2ZXIoc2VydmVyKSB7XG4gICAgICBhd2FpdCBjb25maWd1cmVQcmV2aWV3U2VydmVyKHtcbiAgICAgICAgc2VydmVyLFxuICAgICAgICB1c2VyT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgYXN5bmMgY29uZmlndXJlU2VydmVyKHNlcnZlcjogVml0ZURldlNlcnZlcikge1xuICAgICAgY29uZmlndXJlUmVhY3RTZXJ2ZXIoe1xuICAgICAgICBzZXJ2ZXIsXG4gICAgICAgIGF1dG9EaXNjb3ZlcmVkRmlsZXMsXG4gICAgICAgIHVzZXJPcHRpb25zLFxuICAgICAgICBzZXJ2ZXJNYW5pZmVzdCxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgYXN5bmMgY29uZmlnKGNvbmZpZywgY29uZmlnRW52KTogUHJvbWlzZTxVc2VyQ29uZmlnPiB7XG4gICAgICAvLyBDcmVhdGUgdGhlIHByb3BlciBtb2R1bGVJRCBmdW5jdGlvbiBub3cgdGhhdCB3ZSBoYXZlIENvbmZpZ0VudlxuICAgICAgaWYgKHR5cGVvZiB1c2VyT3B0aW9ucy5tb2R1bGVJRCAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHVzZXJPcHRpb25zLm1vZHVsZUlEID0gY3JlYXRlRGVmYXVsdE1vZHVsZUlEKHVzZXJPcHRpb25zLCBjb25maWdFbnYsIHVzZXJPcHRpb25zLmxvYWRlci5tb2RlKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYXV0b0Rpc2NvdmVyUmVzdWx0ID0gYXdhaXQgcmVzb2x2ZUF1dG9EaXNjb3Zlcih7XG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgY29uZmlnRW52LFxuICAgICAgICB1c2VyT3B0aW9ucyxcbiAgICAgICAgY29uZGl0aW9uOiBcInJlYWN0LXNlcnZlclwiLFxuICAgICAgfSk7XG4gICAgICBpZiAoYXV0b0Rpc2NvdmVyUmVzdWx0LnR5cGUgPT09IFwiZXJyb3JcIikge1xuICAgICAgICB0aHJvdyBhdXRvRGlzY292ZXJSZXN1bHQuZXJyb3I7XG4gICAgICB9XG4gICAgICBhdXRvRGlzY292ZXJlZEZpbGVzID0gYXV0b0Rpc2NvdmVyUmVzdWx0LmF1dG9EaXNjb3ZlcmVkRmlsZXM7XG5cbiAgICAgIGNvbnN0IHJlc29sdmVkQ29uZmlnID0gcmVzb2x2ZVVzZXJDb25maWcoe1xuICAgICAgICBjb25kaXRpb246IFwicmVhY3Qtc2VydmVyXCIsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgY29uZmlnRW52LFxuICAgICAgICB1c2VyT3B0aW9ucyxcbiAgICAgICAgYXV0b0Rpc2NvdmVyZWRGaWxlcyxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAocmVzb2x2ZWRDb25maWcudHlwZSA9PT0gXCJlcnJvclwiKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgXCJbcmVhY3Qtc2VydmVyLXBsdWdpbl0gRmFpbGVkIHRvIHJlc29sdmUgY29uZmlnOlwiLFxuICAgICAgICAgIHJlc29sdmVkQ29uZmlnLmVycm9yXG4gICAgICAgICk7XG4gICAgICAgIHRocm93IHJlc29sdmVkQ29uZmlnLmVycm9yO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzb2x2ZWRDb25maWcudXNlckNvbmZpZztcbiAgICB9LFxuICAgIGFzeW5jIHdyaXRlQnVuZGxlKG9wdGlvbnMsIGJ1bmRsZSkge1xuICAgICAgaWYgKHVzZXJPcHRpb25zLm9uRXZlbnQpIHtcbiAgICAgICAgdXNlck9wdGlvbnMub25FdmVudCh7XG4gICAgICAgICAgdHlwZTogXCJidWlsZC53cml0ZUJ1bmRsZS5zZXJ2ZXJcIixcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBwYWdlczogQXJyYXkuZnJvbShhdXRvRGlzY292ZXJlZEZpbGVzPy51cmxNYXAua2V5cygpID8/IFtdKSxcbiAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICBidW5kbGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBhc3luYyBidWlsZFN0YXJ0KCkge1xuICAgICAgaWYgKCF0aW1pbmcuYnVpbGRTdGFydCkge1xuICAgICAgICB0aW1pbmcuYnVpbGRTdGFydCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJCdWlsZCBhbHJlYWR5IHN0YXJ0ZWRcIik7XG4gICAgICB9XG4gICAgfSxcbiAgICBhc3luYyBnZW5lcmF0ZUJ1bmRsZShfb3B0aW9ucywgYnVuZGxlKSB7XG4gICAgICAvLyBDcmVhdGUgbWFuaWZlc3QgZW50cmllcyBmb3IgZWFjaCBjaHVua1xuICAgICAgc2VydmVyTWFuaWZlc3QgPSBnZXRCdW5kbGVNYW5pZmVzdDxmYWxzZT4oe1xuICAgICAgICBidW5kbGUsXG4gICAgICAgIG5vcm1hbGl6ZXI6IHVzZXJPcHRpb25zLm5vcm1hbGl6ZXIsXG4gICAgICB9KTtcbiAgICB9LFxuICAgIGFzeW5jIGhhbmRsZUhvdFVwZGF0ZSh7IGZpbGUsIHNlcnZlciwgdGltZXN0YW1wLCAuLi5jdHggfSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gSW52YWxpZGF0ZSB0aGUgbW9kdWxlIGluIFZpdGUncyBjYWNoZSBmb3IgYm90aCBjbGllbnQgYW5kIFNTUlxuICAgICAgICBpZiAoc2VydmVyLm1vZHVsZUdyYXBoKSB7XG4gICAgICAgICAgY29uc3QgbW9kID0gc2VydmVyLm1vZHVsZUdyYXBoLmdldE1vZHVsZUJ5SWQoZmlsZSk7XG4gICAgICAgICAgaWYgKG1vZCkge1xuICAgICAgICAgICAgLy8gSW52YWxpZGF0ZSB0aGUgcGFyZW50IG1vZHVsZSB3aGljaCB3aWxsIGhhbmRsZSBib3RoIGNsaWVudCBhbmQgU1NSXG4gICAgICAgICAgICBzZXJ2ZXIubW9kdWxlR3JhcGguaW52YWxpZGF0ZU1vZHVsZShtb2QsIHVuZGVmaW5lZCwgdGltZXN0YW1wLCB0cnVlKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gRm9yY2UgYSByZWxvYWQgb2YgdGhlIG1vZHVsZVxuICAgICAgICAgICAgY29uc3QgbmV3TW9kID0gYXdhaXQgc2VydmVyLm1vZHVsZUdyYXBoLmVuc3VyZUVudHJ5RnJvbVVybChmaWxlLCBmYWxzZSk7XG4gICAgICAgICAgICBpZiAobmV3TW9kKSB7XG4gICAgICAgICAgICAgIHNlcnZlci5tb2R1bGVHcmFwaC5pbnZhbGlkYXRlTW9kdWxlKG5ld01vZCwgdW5kZWZpbmVkLCB0aW1lc3RhbXAsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy8gTGV0IFZpdGUgaGFuZGxlIHRoZSBITVIgdXBkYXRlXG4gICAgICAgIHJldHVybiBjdHgubW9kdWxlcztcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJbcmVhY3Qtc2VydmVyXSBITVIgRXJyb3I6XCIsIGVycm9yKTtcbiAgICAgICAgcmV0dXJuIGN0eC5tb2R1bGVzO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG59XG4iXSwibmFtZXMiOlsicmVzb2x2ZWRDb25maWciLCJvcHRpb25zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUF1QkEsSUFBSSxjQUF3QyxHQUFBLElBQUE7QUFNL0IsTUFBQSxpQkFBQSxHQUF3QyxTQUFTLGtCQUFBLENBQW1CLE9BQVMsRUFBQTtBQUN4RixFQUFBLE1BQU0sTUFBc0IsR0FBQTtBQUFBLElBQzFCLEtBQUEsRUFBTyxZQUFZLEdB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