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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1137) hide show
  1. package/README.md +211 -51
  2. package/dist/client.d.ts +4 -1
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +5 -6
  5. package/dist/index.d.ts +3 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +7 -10
  8. package/dist/package.json +102 -27
  9. package/dist/plugin/bundle/bundles.d.ts +11 -0
  10. package/dist/plugin/bundle/bundles.d.ts.map +1 -0
  11. package/dist/plugin/bundle/bundles.js +11 -0
  12. package/dist/plugin/bundle/deferredStaticGeneration.d.ts +31 -0
  13. package/dist/plugin/bundle/deferredStaticGeneration.d.ts.map +1 -0
  14. package/dist/plugin/bundle/deferredStaticGeneration.js +44 -0
  15. package/dist/plugin/bundle/manifests.d.ts +20 -0
  16. package/dist/plugin/bundle/manifests.d.ts.map +1 -0
  17. package/dist/plugin/bundle/manifests.js +54 -0
  18. package/dist/plugin/components/css.d.ts +2 -5
  19. package/dist/plugin/components/css.d.ts.map +1 -1
  20. package/dist/plugin/components/css.js +7 -9
  21. package/dist/plugin/components/html.d.ts +2 -3
  22. package/dist/plugin/components/html.d.ts.map +1 -1
  23. package/dist/plugin/components/html.js +3 -3
  24. package/dist/plugin/components/index.d.ts +1 -1
  25. package/dist/plugin/components/index.d.ts.map +1 -1
  26. package/dist/plugin/components/root.d.ts.map +1 -1
  27. package/dist/plugin/components/root.js +4 -4
  28. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.d.ts.map +1 -1
  29. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js +6 -6
  30. package/dist/plugin/config/autoDiscover/pageAndPropFiles.d.ts.map +1 -1
  31. package/dist/plugin/config/autoDiscover/pageAndPropFiles.js +1 -1
  32. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts +6 -5
  33. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
  34. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +34 -51
  35. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts +5 -1
  36. package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts.map +1 -1
  37. package/dist/plugin/config/autoDiscover/resolveBuildPages.js +124 -52
  38. package/dist/plugin/config/createHandlerOptions.client.d.ts +4 -0
  39. package/dist/plugin/config/createHandlerOptions.client.d.ts.map +1 -0
  40. package/dist/plugin/config/createHandlerOptions.client.js +293 -0
  41. package/dist/plugin/config/createHandlerOptions.d.ts +4 -0
  42. package/dist/plugin/config/createHandlerOptions.d.ts.map +1 -0
  43. package/dist/plugin/config/createHandlerOptions.js +13 -0
  44. package/dist/plugin/config/createHandlerOptions.server.d.ts +4 -0
  45. package/dist/plugin/config/createHandlerOptions.server.d.ts.map +1 -0
  46. package/dist/plugin/config/createHandlerOptions.server.js +344 -0
  47. package/dist/plugin/config/createHandlerOptions.types.d.ts +114 -0
  48. package/dist/plugin/config/createHandlerOptions.types.d.ts.map +1 -0
  49. package/dist/plugin/config/createModuleID.d.ts +1 -1
  50. package/dist/plugin/config/createModuleID.d.ts.map +1 -1
  51. package/dist/plugin/config/createModuleID.js +121 -8
  52. package/dist/plugin/config/defaults.d.ts +46 -6
  53. package/dist/plugin/config/defaults.d.ts.map +1 -1
  54. package/dist/plugin/config/defaults.js +54 -11
  55. package/dist/plugin/config/envPrefixFromConfig.d.ts +3 -0
  56. package/dist/plugin/config/envPrefixFromConfig.d.ts.map +1 -0
  57. package/dist/plugin/config/envPrefixFromConfig.js +8 -0
  58. package/dist/plugin/config/getCondition.d.ts +54 -3
  59. package/dist/plugin/config/getCondition.d.ts.map +1 -1
  60. package/dist/plugin/config/getCondition.js +158 -6
  61. package/dist/plugin/{getNodeEnv.d.ts → config/getNodeEnv.d.ts} +1 -1
  62. package/dist/plugin/config/getNodeEnv.d.ts.map +1 -0
  63. package/dist/plugin/config/getNodeEnv.js +17 -0
  64. package/dist/plugin/config/index.d.ts +43 -1
  65. package/dist/plugin/config/index.d.ts.map +1 -1
  66. package/dist/plugin/config/index.js +9 -4
  67. package/dist/plugin/config/resolveDirectiveMatcher.d.ts +6 -6
  68. package/dist/plugin/config/resolveDirectiveMatcher.d.ts.map +1 -1
  69. package/dist/plugin/config/resolveDirectiveMatcher.js +7 -23
  70. package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
  71. package/dist/plugin/config/resolveEnv.js +3 -6
  72. package/dist/plugin/config/resolveOptions.d.ts +3 -2
  73. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  74. package/dist/plugin/config/resolveOptions.js +188 -43
  75. package/dist/plugin/config/resolvePages.d.ts +1 -1
  76. package/dist/plugin/config/resolvePages.d.ts.map +1 -1
  77. package/dist/plugin/config/resolvePages.js +1 -1
  78. package/dist/plugin/config/resolvePatternWithValues.d.ts.map +1 -1
  79. package/dist/plugin/config/resolvePatternWithValues.js +7 -26
  80. package/dist/plugin/config/resolveUrlOption.d.ts +1 -1
  81. package/dist/plugin/config/resolveUrlOption.d.ts.map +1 -1
  82. package/dist/plugin/config/resolveUrlOption.js +2 -2
  83. package/dist/plugin/config/resolveUserConfig.d.ts +5 -3
  84. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  85. package/dist/plugin/config/resolveUserConfig.js +221 -75
  86. package/dist/plugin/config/stashedOptionsState.d.ts +66 -0
  87. package/dist/plugin/config/stashedOptionsState.d.ts.map +1 -0
  88. package/dist/plugin/config/stashedOptionsState.js +25 -0
  89. package/dist/plugin/dev-server/cleanupServerAction.client.d.ts +6 -0
  90. package/dist/plugin/dev-server/cleanupServerAction.client.d.ts.map +1 -0
  91. package/dist/plugin/dev-server/cleanupServerAction.client.js +28 -0
  92. package/dist/plugin/dev-server/cleanupServerAction.d.ts +2 -0
  93. package/dist/plugin/dev-server/cleanupServerAction.d.ts.map +1 -0
  94. package/dist/plugin/dev-server/cleanupServerAction.js +4 -0
  95. package/dist/plugin/dev-server/cleanupServerAction.server.d.ts +8 -0
  96. package/dist/plugin/dev-server/cleanupServerAction.server.d.ts.map +1 -0
  97. package/dist/plugin/dev-server/cleanupServerAction.server.js +15 -0
  98. package/dist/plugin/dev-server/configureReactServer.client.d.ts +7 -0
  99. package/dist/plugin/dev-server/configureReactServer.client.d.ts.map +1 -0
  100. package/dist/plugin/dev-server/configureReactServer.client.js +85 -0
  101. package/dist/plugin/dev-server/configureReactServer.d.ts +2 -0
  102. package/dist/plugin/dev-server/configureReactServer.d.ts.map +1 -0
  103. package/dist/plugin/dev-server/configureReactServer.js +13 -0
  104. package/dist/plugin/dev-server/configureReactServer.server.d.ts +3 -0
  105. package/dist/plugin/dev-server/configureReactServer.server.d.ts.map +1 -0
  106. package/dist/plugin/dev-server/configureReactServer.server.js +444 -0
  107. package/dist/plugin/dev-server/configureRequestHandler.client.d.ts +13 -0
  108. package/dist/plugin/dev-server/configureRequestHandler.client.d.ts.map +1 -0
  109. package/dist/plugin/dev-server/configureRequestHandler.client.js +307 -0
  110. package/dist/plugin/dev-server/configureRequestHandler.d.ts +2 -0
  111. package/dist/plugin/dev-server/configureRequestHandler.d.ts.map +1 -0
  112. package/dist/plugin/dev-server/configureRequestHandler.js +4 -0
  113. package/dist/plugin/dev-server/configureRequestHandler.server.d.ts +6 -0
  114. package/dist/plugin/dev-server/configureRequestHandler.server.d.ts.map +1 -0
  115. package/dist/plugin/dev-server/configureRequestHandler.server.js +44 -0
  116. package/dist/plugin/dev-server/handleServerAction.client.d.ts +11 -0
  117. package/dist/plugin/dev-server/handleServerAction.client.d.ts.map +1 -0
  118. package/dist/plugin/dev-server/handleServerAction.client.js +97 -0
  119. package/dist/plugin/dev-server/handleServerAction.d.ts +2 -0
  120. package/dist/plugin/dev-server/handleServerAction.d.ts.map +1 -0
  121. package/dist/plugin/dev-server/handleServerAction.js +13 -0
  122. package/dist/plugin/dev-server/handleServerAction.server.d.ts +3 -0
  123. package/dist/plugin/dev-server/handleServerAction.server.d.ts.map +1 -0
  124. package/dist/plugin/dev-server/handleServerAction.server.js +15 -0
  125. package/dist/plugin/dev-server/index.client.d.ts +7 -0
  126. package/dist/plugin/dev-server/index.client.d.ts.map +1 -0
  127. package/dist/plugin/dev-server/index.client.js +11 -0
  128. package/dist/plugin/dev-server/index.d.ts +4 -0
  129. package/dist/plugin/dev-server/index.d.ts.map +1 -0
  130. package/dist/plugin/dev-server/index.js +19 -0
  131. package/dist/plugin/dev-server/index.server.d.ts +7 -0
  132. package/dist/plugin/dev-server/index.server.d.ts.map +1 -0
  133. package/dist/plugin/dev-server/index.server.js +11 -0
  134. package/dist/plugin/dev-server/plugin.client.d.ts +7 -0
  135. package/dist/plugin/dev-server/plugin.client.d.ts.map +1 -0
  136. package/dist/plugin/dev-server/plugin.client.js +122 -0
  137. package/dist/plugin/dev-server/plugin.server.d.ts +8 -0
  138. package/dist/plugin/dev-server/plugin.server.d.ts.map +1 -0
  139. package/dist/plugin/dev-server/plugin.server.js +108 -0
  140. package/dist/plugin/dev-server/restartWorker.client.d.ts +3 -0
  141. package/dist/plugin/dev-server/restartWorker.client.d.ts.map +1 -0
  142. package/dist/plugin/dev-server/restartWorker.client.js +131 -0
  143. package/dist/plugin/dev-server/restartWorker.d.ts +2 -0
  144. package/dist/plugin/dev-server/restartWorker.d.ts.map +1 -0
  145. package/dist/plugin/dev-server/restartWorker.js +4 -0
  146. package/dist/plugin/dev-server/restartWorker.server.d.ts +3 -0
  147. package/dist/plugin/dev-server/restartWorker.server.d.ts.map +1 -0
  148. package/dist/plugin/dev-server/restartWorker.server.js +88 -0
  149. package/dist/plugin/dev-server/types.d.ts +38 -0
  150. package/dist/plugin/dev-server/types.d.ts.map +1 -0
  151. package/dist/plugin/dev-server/virtualRscHmrPlugin.d.ts +7 -0
  152. package/dist/plugin/dev-server/virtualRscHmrPlugin.d.ts.map +1 -0
  153. package/dist/plugin/dev-server/virtualRscHmrPlugin.js +80 -0
  154. package/dist/plugin/env/createConfigEnv.d.ts +7 -1
  155. package/dist/plugin/env/createConfigEnv.d.ts.map +1 -1
  156. package/dist/plugin/env/createConfigEnv.js +18 -5
  157. package/dist/plugin/env/createEnvPlugin.d.ts +3 -0
  158. package/dist/plugin/env/createEnvPlugin.d.ts.map +1 -0
  159. package/dist/plugin/env/createEnvPlugin.js +59 -0
  160. package/dist/plugin/env/getArgValue.js +47 -27
  161. package/dist/plugin/env/getEnvKey.d.ts +6 -0
  162. package/dist/plugin/env/getEnvKey.d.ts.map +1 -1
  163. package/dist/plugin/env/getEnvKey.js +11 -3
  164. package/dist/plugin/env/index.d.ts +2 -0
  165. package/dist/plugin/env/index.d.ts.map +1 -1
  166. package/dist/plugin/env/index.js +4 -0
  167. package/dist/plugin/env/plugin.client.d.ts +2 -0
  168. package/dist/plugin/env/plugin.client.d.ts.map +1 -0
  169. package/dist/plugin/env/plugin.client.js +2 -0
  170. package/dist/plugin/env/plugin.d.ts +4 -34
  171. package/dist/plugin/env/plugin.d.ts.map +1 -1
  172. package/dist/plugin/env/plugin.js +31 -64
  173. package/dist/plugin/env/plugin.server.d.ts +2 -0
  174. package/dist/plugin/env/plugin.server.d.ts.map +1 -0
  175. package/dist/plugin/env/plugin.server.js +2 -0
  176. package/dist/plugin/env/userConfigEnv.js +9 -18
  177. package/dist/plugin/environments/createBuildEventPlugin.d.ts +4 -0
  178. package/dist/plugin/environments/createBuildEventPlugin.d.ts.map +1 -0
  179. package/dist/plugin/environments/createBuildEventPlugin.js +100 -0
  180. package/dist/plugin/environments/createEnvironmentPlugin.d.ts +19 -0
  181. package/dist/plugin/environments/createEnvironmentPlugin.d.ts.map +1 -0
  182. package/dist/plugin/environments/createEnvironmentPlugin.js +257 -0
  183. package/dist/plugin/environments/hashCoordination.d.ts +14 -0
  184. package/dist/plugin/environments/hashCoordination.d.ts.map +1 -0
  185. package/dist/plugin/environments/hashCoordination.js +35 -0
  186. package/dist/plugin/environments/resolveEnvironmentConfig.d.ts +41 -0
  187. package/dist/plugin/environments/resolveEnvironmentConfig.d.ts.map +1 -0
  188. package/dist/plugin/environments/resolveEnvironmentConfig.js +232 -0
  189. package/dist/plugin/error/assertPanic.d.ts +2 -0
  190. package/dist/plugin/error/assertPanic.d.ts.map +1 -0
  191. package/dist/plugin/error/assertPanic.js +15 -0
  192. package/dist/plugin/error/handleError.d.ts +9 -0
  193. package/dist/plugin/error/handleError.d.ts.map +1 -0
  194. package/dist/plugin/error/handleError.js +51 -0
  195. package/dist/plugin/error/index.d.ts +3 -0
  196. package/dist/plugin/error/index.d.ts.map +1 -1
  197. package/dist/plugin/error/index.js +4 -1
  198. package/dist/plugin/error/logError.d.ts +6 -2
  199. package/dist/plugin/error/logError.d.ts.map +1 -1
  200. package/dist/plugin/error/logError.js +34 -36
  201. package/dist/plugin/error/panicThresholdHandler.d.ts +27 -0
  202. package/dist/plugin/error/panicThresholdHandler.d.ts.map +1 -0
  203. package/dist/plugin/error/panicThresholdHandler.js +13 -0
  204. package/dist/plugin/error/serializeError.d.ts +6 -2
  205. package/dist/plugin/error/serializeError.d.ts.map +1 -1
  206. package/dist/plugin/error/serializeError.js +30 -10
  207. package/dist/plugin/error/serializeErrorInfo.d.ts +5 -0
  208. package/dist/plugin/error/serializeErrorInfo.d.ts.map +1 -0
  209. package/dist/plugin/error/serializeErrorInfo.js +19 -0
  210. package/dist/plugin/error/setupGlobalErrorHandler.d.ts +4 -0
  211. package/dist/plugin/error/setupGlobalErrorHandler.d.ts.map +1 -0
  212. package/dist/plugin/error/setupGlobalErrorHandler.js +52 -0
  213. package/dist/plugin/error/shouldPanic.d.ts +6 -0
  214. package/dist/plugin/error/shouldPanic.d.ts.map +1 -0
  215. package/dist/plugin/error/shouldPanic.js +15 -0
  216. package/dist/plugin/error/toError.d.ts +5 -1
  217. package/dist/plugin/error/toError.d.ts.map +1 -1
  218. package/dist/plugin/error/toError.js +43 -19
  219. package/dist/plugin/error/types.d.ts +28 -0
  220. package/dist/plugin/error/types.d.ts.map +1 -0
  221. package/dist/plugin/error/types.js +1 -0
  222. package/dist/plugin/helpers/collectManifestCss.d.ts.map +1 -1
  223. package/dist/plugin/helpers/collectManifestCss.js +19 -5
  224. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +3 -3
  225. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
  226. package/dist/plugin/helpers/collectViteModuleGraphCss.js +64 -3
  227. package/dist/plugin/helpers/createBufferedRscStream.d.ts +52 -0
  228. package/dist/plugin/helpers/createBufferedRscStream.d.ts.map +1 -0
  229. package/dist/plugin/helpers/createBufferedRscStream.js +147 -0
  230. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
  231. package/dist/plugin/helpers/createCssProps.js +15 -14
  232. package/dist/plugin/helpers/createElementWithReact.d.ts +9 -0
  233. package/dist/plugin/helpers/createElementWithReact.d.ts.map +1 -0
  234. package/dist/plugin/helpers/createElementWithReact.js +87 -0
  235. package/dist/plugin/helpers/createPatternMatcher.d.ts +24 -0
  236. package/dist/plugin/helpers/createPatternMatcher.d.ts.map +1 -0
  237. package/dist/plugin/helpers/createPatternMatcher.js +50 -0
  238. package/dist/plugin/helpers/createRscRenderHelpers.d.ts +16 -0
  239. package/dist/plugin/helpers/createRscRenderHelpers.d.ts.map +1 -0
  240. package/dist/plugin/helpers/createRscRenderHelpers.js +60 -0
  241. package/dist/plugin/helpers/createSafePageComponent.d.ts +36 -0
  242. package/dist/plugin/helpers/createSafePageComponent.d.ts.map +1 -0
  243. package/dist/plugin/helpers/createSafePageComponent.js +50 -0
  244. package/dist/plugin/helpers/createSerializableHandlerOptions.d.ts +60 -0
  245. package/dist/plugin/helpers/createSerializableHandlerOptions.d.ts.map +1 -0
  246. package/dist/plugin/helpers/createSerializableHandlerOptions.js +94 -0
  247. package/dist/plugin/helpers/createSharedLoader.d.ts +44 -0
  248. package/dist/plugin/helpers/createSharedLoader.d.ts.map +1 -0
  249. package/dist/plugin/helpers/createSharedLoader.js +137 -0
  250. package/dist/plugin/helpers/createUnifiedCssProcessor.d.ts +70 -0
  251. package/dist/plugin/helpers/createUnifiedCssProcessor.d.ts.map +1 -0
  252. package/dist/plugin/helpers/createUnifiedCssProcessor.js +89 -0
  253. package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
  254. package/dist/plugin/helpers/getBundleManifest.js +2 -3
  255. package/dist/plugin/helpers/getRouteFiles.d.ts +1 -1
  256. package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
  257. package/dist/plugin/helpers/getRouteFiles.js +43 -41
  258. package/dist/plugin/helpers/handleServerAction.client.d.ts +29 -0
  259. package/dist/plugin/helpers/handleServerAction.client.d.ts.map +1 -0
  260. package/dist/plugin/helpers/handleServerAction.client.js +93 -0
  261. package/dist/plugin/helpers/handleServerAction.d.ts +2 -34
  262. package/dist/plugin/helpers/handleServerAction.d.ts.map +1 -1
  263. package/dist/plugin/helpers/handleServerAction.js +15 -45
  264. package/dist/plugin/helpers/handleServerAction.server.d.ts +25 -0
  265. package/dist/plugin/helpers/handleServerAction.server.d.ts.map +1 -0
  266. package/dist/plugin/helpers/handleServerAction.server.js +80 -0
  267. package/dist/plugin/helpers/handleServerActionHelper.d.ts +61 -0
  268. package/dist/plugin/helpers/handleServerActionHelper.d.ts.map +1 -0
  269. package/dist/plugin/helpers/handleServerActionHelper.js +183 -0
  270. package/dist/plugin/helpers/headlessStreamReuseHandler.d.ts +12 -0
  271. package/dist/plugin/helpers/headlessStreamReuseHandler.d.ts.map +1 -0
  272. package/dist/plugin/helpers/headlessStreamReuseHandler.js +29 -0
  273. package/dist/plugin/helpers/headlessStreamState.d.ts +71 -0
  274. package/dist/plugin/helpers/headlessStreamState.d.ts.map +1 -0
  275. package/dist/plugin/helpers/headlessStreamState.js +81 -0
  276. package/dist/plugin/helpers/hydrateUserOptions.d.ts +1 -1
  277. package/dist/plugin/helpers/hydrateUserOptions.d.ts.map +1 -1
  278. package/dist/plugin/helpers/hydrateUserOptions.js +2 -2
  279. package/dist/plugin/helpers/index.d.ts +12 -5
  280. package/dist/plugin/helpers/index.d.ts.map +1 -1
  281. package/dist/plugin/helpers/index.js +18 -4
  282. package/dist/plugin/helpers/logRenderStart.d.ts +17 -0
  283. package/dist/plugin/helpers/logRenderStart.d.ts.map +1 -0
  284. package/dist/plugin/helpers/logRenderStart.js +13 -0
  285. package/dist/plugin/helpers/mergeMessageWithDefaults.d.ts +90 -0
  286. package/dist/plugin/helpers/mergeMessageWithDefaults.d.ts.map +1 -0
  287. package/dist/plugin/helpers/mergeMessageWithDefaults.js +67 -0
  288. package/dist/plugin/helpers/pipeToResponse.d.ts +19 -0
  289. package/dist/plugin/helpers/pipeToResponse.d.ts.map +1 -0
  290. package/dist/plugin/helpers/pipeToResponse.js +55 -0
  291. package/dist/plugin/helpers/requestInfo.d.ts +2 -0
  292. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  293. package/dist/plugin/helpers/requestInfo.js +6 -2
  294. package/dist/plugin/helpers/resolveComponents.client.d.ts +34 -0
  295. package/dist/plugin/helpers/resolveComponents.client.d.ts.map +1 -0
  296. package/dist/plugin/helpers/resolveComponents.client.js +126 -0
  297. package/dist/plugin/helpers/resolveModuleFromManifest.d.ts +36 -0
  298. package/dist/plugin/helpers/resolveModuleFromManifest.d.ts.map +1 -0
  299. package/dist/plugin/helpers/resolveModuleFromManifest.js +60 -0
  300. package/dist/plugin/helpers/resolvePageAndProps.d.ts +23 -2
  301. package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
  302. package/dist/plugin/helpers/resolvePageAndProps.js +150 -9
  303. package/dist/plugin/helpers/resolveRenderUrl.d.ts +11 -0
  304. package/dist/plugin/helpers/resolveRenderUrl.d.ts.map +1 -0
  305. package/dist/plugin/helpers/resolveRenderUrl.js +19 -0
  306. package/dist/plugin/helpers/resolveStreamElements.client.d.ts +14 -0
  307. package/dist/plugin/helpers/resolveStreamElements.client.d.ts.map +1 -0
  308. package/dist/plugin/helpers/resolveStreamElements.client.js +36 -0
  309. package/dist/plugin/helpers/resolveStreamElements.d.ts +3 -0
  310. package/dist/plugin/helpers/resolveStreamElements.d.ts.map +1 -0
  311. package/dist/plugin/helpers/resolveStreamElements.js +13 -0
  312. package/dist/plugin/helpers/resolveStreamElements.server.d.ts +15 -0
  313. package/dist/plugin/helpers/resolveStreamElements.server.d.ts.map +1 -0
  314. package/dist/plugin/helpers/resolveStreamElements.server.js +35 -0
  315. package/dist/plugin/helpers/resolveStreamElements.types.d.ts +22 -0
  316. package/dist/plugin/helpers/resolveStreamElements.types.d.ts.map +1 -0
  317. package/dist/plugin/helpers/resolveStreamElements.types.js +1 -0
  318. package/dist/plugin/helpers/resolveVirtualAndNodeModules.d.ts +15 -0
  319. package/dist/plugin/helpers/resolveVirtualAndNodeModules.d.ts.map +1 -0
  320. package/dist/plugin/helpers/resolveVirtualAndNodeModules.js +45 -0
  321. package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.d.ts +18 -0
  322. package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.d.ts.map +1 -0
  323. package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.js +17 -0
  324. package/dist/plugin/helpers/serializeUserOptions.d.ts +2 -2
  325. package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
  326. package/dist/plugin/helpers/serializeUserOptions.js +28 -13
  327. package/dist/plugin/helpers/tryManifest.d.ts +2 -2
  328. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
  329. package/dist/plugin/helpers/tryManifest.js +12 -6
  330. package/dist/plugin/helpers/validateRscRenderMessage.d.ts +9 -0
  331. package/dist/plugin/helpers/validateRscRenderMessage.d.ts.map +1 -0
  332. package/dist/plugin/helpers/validateRscRenderMessage.js +13 -0
  333. package/dist/plugin/helpers/workerCleanup.d.ts +29 -0
  334. package/dist/plugin/helpers/workerCleanup.d.ts.map +1 -0
  335. package/dist/plugin/helpers/workerCleanup.js +28 -0
  336. package/dist/plugin/helpers/workerManager.d.ts +5 -0
  337. package/dist/plugin/helpers/workerManager.d.ts.map +1 -0
  338. package/dist/plugin/helpers/workerManager.js +18 -0
  339. package/dist/plugin/index.d.ts +4 -1
  340. package/dist/plugin/index.d.ts.map +1 -1
  341. package/dist/plugin/index.js +5 -2
  342. package/dist/plugin/loader/createDefaultLoader.d.ts +1 -1
  343. package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -1
  344. package/dist/plugin/loader/createDefaultLoader.js +2 -22
  345. package/dist/plugin/loader/createTransformer.d.ts.map +1 -1
  346. package/dist/plugin/loader/createTransformer.js +155 -25
  347. package/dist/plugin/loader/directives/analyzeDirectives.d.ts +3 -2
  348. package/dist/plugin/loader/directives/analyzeDirectives.d.ts.map +1 -1
  349. package/dist/plugin/loader/directives/analyzeDirectives.js +53 -26
  350. package/dist/plugin/loader/directives/analyzeModule.d.ts.map +1 -1
  351. package/dist/plugin/loader/directives/analyzeModule.js +16 -9
  352. package/dist/plugin/loader/env-loader.js +2 -2
  353. package/dist/plugin/loader/react-loader.d.ts +4 -4
  354. package/dist/plugin/loader/react-loader.d.ts.map +1 -1
  355. package/dist/plugin/loader/react-loader.js +101 -73
  356. package/dist/plugin/loader/transformClientModule.d.ts +3 -3
  357. package/dist/plugin/loader/transformClientModule.d.ts.map +1 -1
  358. package/dist/plugin/loader/transformClientModule.js +63 -18
  359. package/dist/plugin/loader/transformModule.d.ts.map +1 -1
  360. package/dist/plugin/loader/transformModule.js +80 -16
  361. package/dist/plugin/loader/transformModuleIfNeeded.d.ts +6 -1
  362. package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -1
  363. package/dist/plugin/loader/transformModuleIfNeeded.js +10 -18
  364. package/dist/plugin/loader/transformNonServerEnvironment.d.ts +1 -1
  365. package/dist/plugin/loader/transformNonServerEnvironment.d.ts.map +1 -1
  366. package/dist/plugin/loader/transformNonServerEnvironment.js +14 -12
  367. package/dist/plugin/loader/transformServerModule.d.ts +1 -1
  368. package/dist/plugin/loader/transformServerModule.d.ts.map +1 -1
  369. package/dist/plugin/loader/transformServerModule.js +54 -15
  370. package/dist/plugin/loader/types.d.ts +24 -7
  371. package/dist/plugin/loader/types.d.ts.map +1 -1
  372. package/dist/plugin/metrics/collectStreamMetrics.d.ts +1 -2
  373. package/dist/plugin/metrics/collectStreamMetrics.d.ts.map +1 -1
  374. package/dist/plugin/metrics/collectStreamMetrics.js +1 -1
  375. package/dist/plugin/metrics/convertStreamMetrics.d.ts +3 -0
  376. package/dist/plugin/metrics/convertStreamMetrics.d.ts.map +1 -0
  377. package/dist/plugin/metrics/convertStreamMetrics.js +26 -0
  378. package/dist/plugin/metrics/createModuleResolutionMetrics.d.ts +12 -0
  379. package/dist/plugin/metrics/createModuleResolutionMetrics.d.ts.map +1 -0
  380. package/dist/plugin/metrics/createModuleResolutionMetrics.js +32 -0
  381. package/dist/plugin/metrics/createRenderMetrics.d.ts +2 -2
  382. package/dist/plugin/metrics/createRenderMetrics.d.ts.map +1 -1
  383. package/dist/plugin/metrics/createRenderMetrics.js +45 -13
  384. package/dist/plugin/metrics/createStreamMetrics.d.ts +2 -2
  385. package/dist/plugin/metrics/createStreamMetrics.d.ts.map +1 -1
  386. package/dist/plugin/metrics/createStreamMetrics.js +15 -4
  387. package/dist/plugin/metrics/createWorkerStartupMetrics.d.ts +12 -0
  388. package/dist/plugin/metrics/createWorkerStartupMetrics.d.ts.map +1 -0
  389. package/dist/plugin/metrics/createWorkerStartupMetrics.js +14 -0
  390. package/dist/plugin/metrics/formatMetrics.d.ts +0 -6
  391. package/dist/plugin/metrics/formatMetrics.d.ts.map +1 -1
  392. package/dist/plugin/metrics/formatMetrics.js +7 -29
  393. package/dist/plugin/metrics/index.d.ts +6 -3
  394. package/dist/plugin/metrics/index.d.ts.map +1 -1
  395. package/dist/plugin/metrics/index.js +6 -3
  396. package/dist/plugin/metrics/metricWatcher.d.ts +9 -0
  397. package/dist/plugin/metrics/metricWatcher.d.ts.map +1 -0
  398. package/dist/plugin/metrics/metricWatcher.js +141 -0
  399. package/dist/plugin/metrics/types.d.ts +72 -6
  400. package/dist/plugin/metrics/types.d.ts.map +1 -1
  401. package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts +3 -0
  402. package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts.map +1 -0
  403. package/dist/plugin/orchestrator/createPluginOrchestrator.client.js +36 -0
  404. package/dist/plugin/orchestrator/createPluginOrchestrator.d.ts +19 -0
  405. package/dist/plugin/orchestrator/createPluginOrchestrator.d.ts.map +1 -0
  406. package/dist/plugin/orchestrator/createPluginOrchestrator.js +13 -0
  407. package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts +3 -0
  408. package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts.map +1 -0
  409. package/dist/plugin/orchestrator/createPluginOrchestrator.server.js +44 -0
  410. package/dist/plugin/orchestrator/index.d.ts +2 -0
  411. package/dist/plugin/orchestrator/index.d.ts.map +1 -0
  412. package/dist/plugin/orchestrator/index.js +1 -0
  413. package/dist/plugin/orchestrator/plugin.js +7 -0
  414. package/dist/plugin/orchestrator/resolveStrategy.d.ts +19 -0
  415. package/dist/plugin/orchestrator/resolveStrategy.d.ts.map +1 -0
  416. package/dist/plugin/orchestrator/resolveStrategy.js +35 -0
  417. package/dist/plugin/orchestrator/types.d.ts +21 -0
  418. package/dist/plugin/orchestrator/types.d.ts.map +1 -0
  419. package/dist/plugin/orchestrator/types.js +1 -0
  420. package/dist/plugin/plugin.client.d.ts +11 -19
  421. package/dist/plugin/plugin.client.d.ts.map +1 -1
  422. package/dist/plugin/plugin.client.js +20 -13
  423. package/dist/plugin/plugin.d.ts +2 -1
  424. package/dist/plugin/plugin.d.ts.map +1 -1
  425. package/dist/plugin/plugin.js +4 -2
  426. package/dist/plugin/plugin.server.d.ts +13 -11
  427. package/dist/plugin/plugin.server.d.ts.map +1 -1
  428. package/dist/plugin/plugin.server.js +19 -18
  429. package/dist/plugin/process-env.d.ts +1 -0
  430. package/dist/plugin/process-env.d.ts.map +1 -1
  431. package/dist/plugin/react-client/createMessageHandlers.d.ts +2 -10
  432. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  433. package/dist/plugin/react-client/createMessageHandlers.js +42 -69
  434. package/dist/plugin/react-client/index.client.d.ts +2 -0
  435. package/dist/plugin/react-client/index.client.d.ts.map +1 -0
  436. package/dist/plugin/react-client/index.client.js +1 -0
  437. package/dist/plugin/react-client/index.d.ts +3 -4
  438. package/dist/plugin/react-client/index.d.ts.map +1 -1
  439. package/dist/plugin/react-client/index.js +10 -5
  440. package/dist/plugin/react-client/index.server.d.ts +2 -0
  441. package/dist/plugin/react-client/index.server.d.ts.map +1 -0
  442. package/dist/plugin/react-client/index.server.js +1 -0
  443. package/dist/plugin/react-client/plugin.client.d.ts +15 -0
  444. package/dist/plugin/react-client/plugin.client.d.ts.map +1 -0
  445. package/dist/plugin/react-client/plugin.client.js +98 -0
  446. package/dist/plugin/react-client/plugin.d.ts +2 -5
  447. package/dist/plugin/react-client/plugin.d.ts.map +1 -1
  448. package/dist/plugin/react-client/plugin.js +6 -121
  449. package/dist/plugin/react-client/plugin.server.d.ts +15 -0
  450. package/dist/plugin/react-client/plugin.server.d.ts.map +1 -0
  451. package/dist/plugin/react-client/plugin.server.js +93 -0
  452. package/dist/plugin/react-client/types.d.ts +60 -0
  453. package/dist/plugin/react-client/types.d.ts.map +1 -0
  454. package/dist/plugin/react-client/types.js +1 -0
  455. package/dist/plugin/react-server/index.client.d.ts +2 -0
  456. package/dist/plugin/react-server/index.client.d.ts.map +1 -0
  457. package/dist/plugin/react-server/index.client.js +1 -0
  458. package/dist/plugin/react-server/index.d.ts +3 -1
  459. package/dist/plugin/react-server/index.d.ts.map +1 -1
  460. package/dist/plugin/react-server/index.js +13 -1
  461. package/dist/plugin/react-server/index.server.d.ts +2 -0
  462. package/dist/plugin/react-server/index.server.d.ts.map +1 -0
  463. package/dist/plugin/react-server/index.server.js +1 -0
  464. package/dist/plugin/react-server/plugin.client.d.ts +3 -0
  465. package/dist/plugin/react-server/plugin.client.d.ts.map +1 -0
  466. package/dist/plugin/react-server/plugin.client.js +40 -0
  467. package/dist/plugin/react-server/plugin.d.ts +2 -5
  468. package/dist/plugin/react-server/plugin.d.ts.map +1 -1
  469. package/dist/plugin/react-server/plugin.js +5 -143
  470. package/dist/plugin/react-server/plugin.server.d.ts +3 -0
  471. package/dist/plugin/react-server/plugin.server.d.ts.map +1 -0
  472. package/dist/plugin/react-server/plugin.server.js +18 -0
  473. package/dist/plugin/react-server/types.d.ts +11 -0
  474. package/dist/plugin/react-server/types.d.ts.map +1 -0
  475. package/dist/plugin/react-server/types.js +1 -0
  476. package/dist/plugin/react-static/collectHtmlContent.d.ts +15 -0
  477. package/dist/plugin/react-static/collectHtmlContent.d.ts.map +1 -0
  478. package/dist/plugin/react-static/collectHtmlContent.js +104 -0
  479. package/dist/plugin/react-static/collectRscContent.d.ts +10 -15
  480. package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
  481. package/dist/plugin/react-static/collectRscContent.js +71 -20
  482. package/dist/plugin/react-static/configurePreviewServer.d.ts +1 -7
  483. package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
  484. package/dist/plugin/react-static/configurePreviewServer.js +3 -6
  485. package/dist/plugin/react-static/createBuildLoader.client.d.ts +2 -0
  486. package/dist/plugin/react-static/createBuildLoader.client.d.ts.map +1 -0
  487. package/dist/plugin/react-static/createBuildLoader.client.js +7 -0
  488. package/dist/plugin/react-static/createBuildLoader.d.ts +3 -19
  489. package/dist/plugin/react-static/createBuildLoader.d.ts.map +1 -1
  490. package/dist/plugin/react-static/createBuildLoader.js +4 -226
  491. package/dist/plugin/react-static/createBuildLoader.server.d.ts +9 -0
  492. package/dist/plugin/react-static/createBuildLoader.server.d.ts.map +1 -0
  493. package/dist/plugin/react-static/createBuildLoader.server.js +253 -0
  494. package/dist/plugin/react-static/fileWriter.d.ts +3 -14
  495. package/dist/plugin/react-static/fileWriter.d.ts.map +1 -1
  496. package/dist/plugin/react-static/fileWriter.js +233 -42
  497. package/dist/plugin/react-static/index.client.d.ts +7 -0
  498. package/dist/plugin/react-static/index.client.d.ts.map +1 -0
  499. package/dist/plugin/react-static/index.client.js +6 -0
  500. package/dist/plugin/react-static/index.d.ts +7 -1
  501. package/dist/plugin/react-static/index.d.ts.map +1 -1
  502. package/dist/plugin/react-static/index.js +19 -1
  503. package/dist/plugin/react-static/index.server.d.ts +7 -0
  504. package/dist/plugin/react-static/index.server.d.ts.map +1 -0
  505. package/dist/plugin/react-static/index.server.js +6 -0
  506. package/dist/plugin/react-static/plugin.client.d.ts +32 -0
  507. package/dist/plugin/react-static/plugin.client.d.ts.map +1 -0
  508. package/dist/plugin/react-static/plugin.client.js +801 -0
  509. package/dist/plugin/react-static/plugin.d.ts +3 -20
  510. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  511. package/dist/plugin/react-static/plugin.js +4 -365
  512. package/dist/plugin/react-static/plugin.server.d.ts +18 -0
  513. package/dist/plugin/react-static/plugin.server.d.ts.map +1 -0
  514. package/dist/plugin/react-static/plugin.server.js +615 -0
  515. package/dist/plugin/react-static/processCssFilesForPages.d.ts +16 -0
  516. package/dist/plugin/react-static/processCssFilesForPages.d.ts.map +1 -0
  517. package/dist/plugin/react-static/processCssFilesForPages.js +94 -0
  518. package/dist/plugin/react-static/renderPage.client.d.ts +49 -0
  519. package/dist/plugin/react-static/renderPage.client.d.ts.map +1 -0
  520. package/dist/plugin/react-static/renderPage.client.js +555 -0
  521. package/dist/plugin/react-static/renderPage.d.ts +3 -4
  522. package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
  523. package/dist/plugin/react-static/renderPage.js +6 -119
  524. package/dist/plugin/react-static/renderPage.server.d.ts +24 -0
  525. package/dist/plugin/react-static/renderPage.server.d.ts.map +1 -0
  526. package/dist/plugin/react-static/renderPage.server.js +533 -0
  527. package/dist/plugin/react-static/renderPages.d.ts +11 -3
  528. package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
  529. package/dist/plugin/react-static/renderPages.js +533 -92
  530. package/dist/plugin/react-static/renderPagesBatched.d.ts +6 -0
  531. package/dist/plugin/react-static/renderPagesBatched.d.ts.map +1 -0
  532. package/dist/plugin/react-static/renderPagesBatched.js +195 -0
  533. package/dist/plugin/react-static/renderStreams.d.ts +2 -5
  534. package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
  535. package/dist/plugin/react-static/renderStreams.js +36 -24
  536. package/dist/plugin/react-static/rscToHtmlStream.client.d.ts +12 -0
  537. package/dist/plugin/react-static/rscToHtmlStream.client.d.ts.map +1 -0
  538. package/dist/plugin/react-static/rscToHtmlStream.client.js +32 -0
  539. package/dist/plugin/react-static/rscToHtmlStream.d.ts +3 -21
  540. package/dist/plugin/react-static/rscToHtmlStream.d.ts.map +1 -1
  541. package/dist/plugin/react-static/rscToHtmlStream.js +4 -53
  542. package/dist/plugin/react-static/rscToHtmlStream.server.d.ts +3 -0
  543. package/dist/plugin/react-static/rscToHtmlStream.server.d.ts.map +1 -0
  544. package/dist/plugin/react-static/rscToHtmlStream.server.js +39 -0
  545. package/dist/plugin/react-static/temporaryReferences.client.d.ts +2 -0
  546. package/dist/plugin/react-static/temporaryReferences.client.d.ts.map +1 -0
  547. package/dist/plugin/react-static/temporaryReferences.client.js +1 -0
  548. package/dist/plugin/react-static/temporaryReferences.d.ts +2 -1
  549. package/dist/plugin/react-static/temporaryReferences.d.ts.map +1 -1
  550. package/dist/plugin/react-static/temporaryReferences.js +6 -10
  551. package/dist/plugin/react-static/temporaryReferences.server.d.ts +2 -0
  552. package/dist/plugin/react-static/temporaryReferences.server.d.ts.map +1 -0
  553. package/dist/plugin/react-static/temporaryReferences.server.js +3 -0
  554. package/dist/plugin/react-static/types.d.ts +83 -9
  555. package/dist/plugin/react-static/types.d.ts.map +1 -1
  556. package/dist/plugin/root.d.ts.map +1 -1
  557. package/dist/plugin/root.js +2 -5
  558. package/dist/plugin/stream/MessagePortReadable.d.ts +22 -0
  559. package/dist/plugin/stream/MessagePortReadable.d.ts.map +1 -0
  560. package/dist/plugin/stream/MessagePortReadable.js +101 -0
  561. package/dist/plugin/stream/MessagePortWritable.d.ts +22 -0
  562. package/dist/plugin/stream/MessagePortWritable.d.ts.map +1 -0
  563. package/dist/plugin/stream/MessagePortWritable.js +85 -0
  564. package/dist/plugin/stream/client.js +12 -0
  565. package/dist/plugin/stream/createFromNodeStream.client.d.ts +9 -0
  566. package/dist/plugin/stream/createFromNodeStream.client.d.ts.map +1 -0
  567. package/dist/plugin/stream/createFromNodeStream.client.js +76 -0
  568. package/dist/plugin/stream/createFromNodeStream.d.ts +3 -0
  569. package/dist/plugin/stream/createFromNodeStream.d.ts.map +1 -0
  570. package/dist/plugin/stream/createFromNodeStream.js +6 -0
  571. package/dist/plugin/stream/createFromNodeStream.server.d.ts +9 -0
  572. package/dist/plugin/stream/createFromNodeStream.server.d.ts.map +1 -0
  573. package/dist/plugin/stream/createFromNodeStream.server.js +27 -0
  574. package/dist/plugin/stream/createFromNodeStream.types.d.ts +37 -0
  575. package/dist/plugin/stream/createFromNodeStream.types.d.ts.map +1 -0
  576. package/dist/plugin/stream/createFromNodeStream.types.js +1 -0
  577. package/dist/plugin/stream/createHtmlStream.client.d.ts +3 -0
  578. package/dist/plugin/stream/createHtmlStream.client.d.ts.map +1 -0
  579. package/dist/plugin/stream/createHtmlStream.client.js +42 -0
  580. package/dist/plugin/stream/createHtmlStream.d.ts +3 -0
  581. package/dist/plugin/stream/createHtmlStream.d.ts.map +1 -0
  582. package/dist/plugin/stream/createHtmlStream.js +6 -0
  583. package/dist/plugin/stream/createHtmlStream.server.d.ts +6 -0
  584. package/dist/plugin/stream/createHtmlStream.server.d.ts.map +1 -0
  585. package/dist/plugin/stream/createHtmlStream.server.js +224 -0
  586. package/dist/plugin/stream/createHtmlStream.types.d.ts +43 -0
  587. package/dist/plugin/stream/createHtmlStream.types.d.ts.map +1 -0
  588. package/dist/plugin/stream/createHtmlStream.types.js +1 -0
  589. package/dist/plugin/stream/createMainThreadHandlers.d.ts +11 -0
  590. package/dist/plugin/stream/createMainThreadHandlers.d.ts.map +1 -0
  591. package/dist/plugin/stream/createMainThreadHandlers.js +32 -0
  592. package/dist/plugin/stream/createMessageChannels.d.ts +29 -0
  593. package/dist/plugin/stream/createMessageChannels.d.ts.map +1 -0
  594. package/dist/plugin/stream/createMessageChannels.js +35 -0
  595. package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.d.ts +10 -0
  596. package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.d.ts.map +1 -0
  597. package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.js +188 -0
  598. package/dist/plugin/stream/createRenderToPipeableStreamHandler.d.ts +3 -0
  599. package/dist/plugin/stream/createRenderToPipeableStreamHandler.d.ts.map +1 -0
  600. package/dist/plugin/stream/createRenderToPipeableStreamHandler.js +6 -0
  601. package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.d.ts +45 -0
  602. package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.d.ts.map +1 -0
  603. package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.js +249 -0
  604. package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.d.ts +17 -0
  605. package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.d.ts.map +1 -0
  606. package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.js +1 -0
  607. package/dist/plugin/stream/createRscStream.client.d.ts +18 -0
  608. package/dist/plugin/stream/createRscStream.client.d.ts.map +1 -0
  609. package/dist/plugin/stream/createRscStream.client.js +79 -0
  610. package/dist/plugin/stream/createRscStream.d.ts +2 -0
  611. package/dist/plugin/stream/createRscStream.d.ts.map +1 -0
  612. package/dist/plugin/stream/createRscStream.js +13 -0
  613. package/dist/plugin/stream/createRscStream.server.d.ts +46 -0
  614. package/dist/plugin/stream/createRscStream.server.d.ts.map +1 -0
  615. package/dist/plugin/stream/createRscStream.server.js +113 -0
  616. package/dist/plugin/stream/createRscStream.types.d.ts +134 -0
  617. package/dist/plugin/stream/createRscStream.types.d.ts.map +1 -0
  618. package/dist/plugin/stream/createRscStream.types.js +1 -0
  619. package/dist/plugin/stream/createRscStream.utils.d.ts +54 -0
  620. package/dist/plugin/stream/createRscStream.utils.d.ts.map +1 -0
  621. package/dist/plugin/stream/createRscStream.utils.js +91 -0
  622. package/dist/plugin/stream/createRscWorkerStream.d.ts +41 -0
  623. package/dist/plugin/stream/createRscWorkerStream.d.ts.map +1 -0
  624. package/dist/plugin/stream/createRscWorkerStream.js +120 -0
  625. package/dist/plugin/stream/handleRscStream.client.d.ts +17 -0
  626. package/dist/plugin/stream/handleRscStream.client.d.ts.map +1 -0
  627. package/dist/plugin/stream/handleRscStream.client.js +163 -0
  628. package/dist/plugin/stream/handleRscStream.d.ts +3 -0
  629. package/dist/plugin/stream/handleRscStream.d.ts.map +1 -0
  630. package/dist/plugin/stream/handleRscStream.js +13 -0
  631. package/dist/plugin/stream/handleRscStream.server.d.ts +6 -0
  632. package/dist/plugin/stream/handleRscStream.server.d.ts.map +1 -0
  633. package/dist/plugin/stream/handleRscStream.server.js +70 -0
  634. package/dist/plugin/stream/handleRscStream.types.d.ts +28 -0
  635. package/dist/plugin/stream/handleRscStream.types.d.ts.map +1 -0
  636. package/dist/plugin/stream/handleRscStream.types.js +1 -0
  637. package/dist/plugin/stream/index.client.d.ts +7 -0
  638. package/dist/plugin/stream/index.client.d.ts.map +1 -0
  639. package/dist/plugin/stream/index.client.js +11 -0
  640. package/dist/plugin/stream/index.d.ts +95 -0
  641. package/dist/plugin/stream/index.d.ts.map +1 -0
  642. package/dist/plugin/stream/index.js +21 -0
  643. package/dist/plugin/stream/index.server.d.ts +7 -0
  644. package/dist/plugin/stream/index.server.d.ts.map +1 -0
  645. package/dist/plugin/stream/index.server.js +11 -0
  646. package/dist/plugin/stream/renderRscStream.server.d.ts +21 -0
  647. package/dist/plugin/stream/renderRscStream.server.d.ts.map +1 -0
  648. package/dist/plugin/stream/renderRscStream.server.js +153 -0
  649. package/dist/plugin/stream/renderRscStream.types.d.ts +36 -0
  650. package/dist/plugin/stream/renderRscStream.types.d.ts.map +1 -0
  651. package/dist/plugin/stream/renderRscStream.types.js +1 -0
  652. package/dist/plugin/stream/renderRscStreamHelpers.server.d.ts +9 -0
  653. package/dist/plugin/stream/renderRscStreamHelpers.server.d.ts.map +1 -0
  654. package/dist/plugin/stream/renderRscStreamHelpers.server.js +63 -0
  655. package/dist/plugin/stream/server.js +12 -0
  656. package/dist/plugin/stream/setMaxListeners.d.ts +16 -0
  657. package/dist/plugin/stream/setMaxListeners.d.ts.map +1 -0
  658. package/dist/plugin/stream/setMaxListeners.js +16 -0
  659. package/dist/plugin/transformer/createTransformerPlugin.d.ts +18 -0
  660. package/dist/plugin/transformer/createTransformerPlugin.d.ts.map +1 -0
  661. package/dist/plugin/transformer/createTransformerPlugin.js +269 -0
  662. package/dist/plugin/transformer/plugin.client.d.ts +2 -29
  663. package/dist/plugin/transformer/plugin.client.d.ts.map +1 -1
  664. package/dist/plugin/transformer/plugin.client.js +5 -96
  665. package/dist/plugin/transformer/plugin.server.d.ts +2 -29
  666. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
  667. package/dist/plugin/transformer/plugin.server.js +5 -96
  668. package/dist/plugin/transformer/transformerEnv.d.ts +15 -0
  669. package/dist/plugin/transformer/transformerEnv.d.ts.map +1 -0
  670. package/dist/plugin/transformer/transformerEnv.js +26 -0
  671. package/dist/plugin/types.d.ts +366 -140
  672. package/dist/plugin/types.d.ts.map +1 -1
  673. package/dist/plugin/types.js +1 -2
  674. package/dist/plugin/utils/callServer.d.ts +1 -1
  675. package/dist/plugin/utils/callServer.d.ts.map +1 -1
  676. package/dist/plugin/utils/createCallServer.d.ts +1 -1
  677. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  678. package/dist/plugin/utils/createCallServer.js +4 -9
  679. package/dist/plugin/utils/createReactFetcher.d.ts +43 -2
  680. package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -1
  681. package/dist/plugin/utils/createReactFetcher.js +14 -3
  682. package/dist/plugin/utils/envUrls.node.js +11 -12
  683. package/dist/plugin/utils/index.client.d.ts +8 -0
  684. package/dist/plugin/utils/index.client.d.ts.map +1 -0
  685. package/dist/plugin/utils/index.client.js +8 -0
  686. package/dist/plugin/utils/index.d.ts +1 -0
  687. package/dist/plugin/utils/index.d.ts.map +1 -1
  688. package/dist/plugin/utils/index.js +3 -2
  689. package/dist/plugin/utils/index.server.d.ts +6 -0
  690. package/dist/plugin/utils/index.server.d.ts.map +1 -0
  691. package/dist/plugin/utils/index.server.js +8 -0
  692. package/dist/plugin/utils/routeToURL.d.ts.map +1 -1
  693. package/dist/plugin/utils/routeToURL.js +4 -4
  694. package/dist/plugin/utils/urls.d.ts +1 -1
  695. package/dist/plugin/utils/urls.d.ts.map +1 -1
  696. package/dist/plugin/utils/urls.js +29 -8
  697. package/dist/plugin/utils/useRscHmr.d.ts +39 -0
  698. package/dist/plugin/utils/useRscHmr.d.ts.map +1 -0
  699. package/dist/plugin/utils/useRscHmr.js +27 -0
  700. package/dist/plugin/vendor/vendor.client.d.ts +3 -3
  701. package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
  702. package/dist/plugin/vendor/vendor.client.js +7 -6
  703. package/dist/plugin/vendor/vendor.d.ts +1 -1
  704. package/dist/plugin/vendor/vendor.d.ts.map +1 -1
  705. package/dist/plugin/vendor/vendor.js +4 -6
  706. package/dist/plugin/vendor/vendor.server.d.ts +4 -2
  707. package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
  708. package/dist/plugin/vendor/vendor.server.js +2 -3
  709. package/dist/plugin/vendor/vendor.static.d.ts +4 -0
  710. package/dist/plugin/vendor/vendor.static.d.ts.map +1 -0
  711. package/dist/plugin/vendor/vendor.static.js +15 -0
  712. package/dist/plugin/worker/createWorker.d.ts +16 -5
  713. package/dist/plugin/worker/createWorker.d.ts.map +1 -1
  714. package/dist/plugin/worker/createWorker.js +207 -30
  715. package/dist/plugin/worker/html/handleHtmlRender.d.ts +14 -0
  716. package/dist/plugin/worker/html/handleHtmlRender.d.ts.map +1 -0
  717. package/dist/plugin/worker/html/handleHtmlRender.js +190 -0
  718. package/dist/plugin/worker/html/html-worker.development.js +9 -26
  719. package/dist/plugin/worker/html/html-worker.js +4 -4
  720. package/dist/plugin/worker/html/html-worker.production.js +7 -13
  721. package/dist/plugin/worker/html/index.d.ts +1 -1
  722. package/dist/plugin/worker/html/index.js +6 -2
  723. package/dist/plugin/worker/html/messageHandler.d.ts +1 -1
  724. package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
  725. package/dist/plugin/worker/html/messageHandler.js +291 -104
  726. package/dist/plugin/worker/html/state.d.ts +10 -0
  727. package/dist/plugin/worker/html/state.d.ts.map +1 -0
  728. package/dist/plugin/worker/html/state.js +28 -0
  729. package/dist/plugin/worker/html/types.d.ts +52 -23
  730. package/dist/plugin/worker/html/types.d.ts.map +1 -1
  731. package/dist/plugin/worker/index.js +1 -1
  732. package/dist/plugin/worker/rsc/createBundleLoader.d.ts +22 -0
  733. package/dist/plugin/worker/rsc/createBundleLoader.d.ts.map +1 -0
  734. package/dist/plugin/worker/rsc/createBundleLoader.js +55 -0
  735. package/dist/plugin/worker/rsc/createRscWorkerLoader.d.ts +23 -0
  736. package/dist/plugin/worker/rsc/createRscWorkerLoader.d.ts.map +1 -0
  737. package/dist/plugin/worker/rsc/createRscWorkerLoader.js +79 -0
  738. package/dist/plugin/worker/rsc/handleRscRender.d.ts +32 -0
  739. package/dist/plugin/worker/rsc/handleRscRender.d.ts.map +1 -0
  740. package/dist/plugin/worker/rsc/handleRscRender.js +349 -0
  741. package/dist/plugin/worker/rsc/handlers.d.ts +8 -2
  742. package/dist/plugin/worker/rsc/handlers.d.ts.map +1 -1
  743. package/dist/plugin/worker/rsc/handlers.js +137 -200
  744. package/dist/plugin/worker/rsc/hydrateRscRenderMessage.d.ts +118 -0
  745. package/dist/plugin/worker/rsc/hydrateRscRenderMessage.d.ts.map +1 -0
  746. package/dist/plugin/worker/rsc/hydrateRscRenderMessage.js +61 -0
  747. package/dist/plugin/worker/rsc/messageHandler.d.ts +1 -1
  748. package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
  749. package/dist/plugin/worker/rsc/messageHandler.js +927 -49
  750. package/dist/plugin/worker/rsc/rsc-worker.development.js +153 -148
  751. package/dist/plugin/worker/rsc/rsc-worker.js +2 -3
  752. package/dist/plugin/worker/rsc/rsc-worker.production.js +238 -42
  753. package/dist/plugin/worker/rsc/state.d.ts +6 -0
  754. package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
  755. package/dist/plugin/worker/rsc/state.js +37 -5
  756. package/dist/plugin/worker/rsc/types.d.ts +73 -12
  757. package/dist/plugin/worker/rsc/types.d.ts.map +1 -1
  758. package/dist/plugin/worker/rsc/workerUserOptions.d.ts +10 -0
  759. package/dist/plugin/worker/rsc/workerUserOptions.d.ts.map +1 -0
  760. package/dist/plugin/worker/rsc/workerUserOptions.js +39 -0
  761. package/dist/plugin/worker/sendMessage.d.ts +2 -3
  762. package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
  763. package/dist/plugin/worker/sendMessage.js +24 -38
  764. package/dist/plugin/worker/types.d.ts +42 -56
  765. package/dist/plugin/worker/types.d.ts.map +1 -1
  766. package/dist/plugin/worker/worker-handlers.server.d.ts +2 -0
  767. package/dist/plugin/worker/worker-handlers.server.d.ts.map +1 -0
  768. package/dist/plugin/worker/worker-handlers.server.js +1 -0
  769. package/dist/server.d.ts +5 -1
  770. package/dist/server.d.ts.map +1 -1
  771. package/dist/server.js +4 -6
  772. package/dist/static.js +11 -0
  773. package/dist/tsconfig.tsbuildinfo +1 -1
  774. package/package.json +103 -28
  775. package/plugin/bundle/bundles.ts +22 -0
  776. package/plugin/bundle/deferredStaticGeneration.ts +48 -0
  777. package/plugin/bundle/manifests.ts +73 -0
  778. package/plugin/components/css.tsx +3 -7
  779. package/plugin/components/html.tsx +4 -3
  780. package/plugin/components/index.ts +1 -1
  781. package/plugin/components/root.tsx +3 -3
  782. package/plugin/config/autoDiscover/createGlobAutoDiscover.ts +10 -5
  783. package/plugin/config/autoDiscover/pageAndPropFiles.ts +4 -2
  784. package/plugin/config/autoDiscover/resolveAutoDiscover.ts +64 -79
  785. package/plugin/config/autoDiscover/resolveBuildPages.ts +181 -69
  786. package/plugin/config/createHandlerOptions.client.ts +403 -0
  787. package/plugin/config/createHandlerOptions.server.ts +477 -0
  788. package/plugin/config/createHandlerOptions.ts +46 -0
  789. package/plugin/config/createHandlerOptions.types.ts +119 -0
  790. package/plugin/config/createModuleID.ts +201 -10
  791. package/plugin/config/defaults.tsx +58 -9
  792. package/plugin/config/envPrefixFromConfig.ts +10 -0
  793. package/plugin/config/getCondition.ts +267 -10
  794. package/plugin/{getNodeEnv.ts → config/getNodeEnv.ts} +4 -2
  795. package/plugin/config/index.ts +60 -1
  796. package/plugin/config/resolveDirectiveMatcher.ts +13 -34
  797. package/plugin/config/resolveEnv.ts +3 -8
  798. package/plugin/config/resolveOptions.ts +295 -77
  799. package/plugin/config/resolvePages.ts +1 -1
  800. package/plugin/config/resolvePatternWithValues.ts +6 -26
  801. package/plugin/config/resolveUrlOption.ts +2 -2
  802. package/plugin/config/resolveUserConfig.ts +358 -133
  803. package/plugin/config/stashedOptionsState.ts +144 -0
  804. package/plugin/dev-server/cleanupServerAction.client.ts +47 -0
  805. package/plugin/dev-server/cleanupServerAction.server.ts +24 -0
  806. package/plugin/dev-server/cleanupServerAction.ts +8 -0
  807. package/plugin/dev-server/configureReactServer.client.ts +107 -0
  808. package/plugin/dev-server/configureReactServer.server.ts +558 -0
  809. package/plugin/dev-server/configureReactServer.ts +8 -0
  810. package/plugin/dev-server/configureRequestHandler.client.ts +382 -0
  811. package/plugin/dev-server/configureRequestHandler.server.ts +46 -0
  812. package/plugin/dev-server/configureRequestHandler.ts +8 -0
  813. package/plugin/dev-server/handleServerAction.client.ts +126 -0
  814. package/plugin/dev-server/handleServerAction.server.ts +10 -0
  815. package/plugin/dev-server/handleServerAction.ts +8 -0
  816. package/plugin/dev-server/index.client.ts +6 -0
  817. package/plugin/dev-server/index.server.ts +6 -0
  818. package/plugin/dev-server/index.ts +20 -0
  819. package/plugin/dev-server/plugin.client.ts +160 -0
  820. package/plugin/dev-server/plugin.server.ts +133 -0
  821. package/plugin/dev-server/restartWorker.client.ts +155 -0
  822. package/plugin/dev-server/restartWorker.server.ts +108 -0
  823. package/plugin/dev-server/restartWorker.ts +8 -0
  824. package/plugin/dev-server/types.ts +78 -0
  825. package/plugin/dev-server/virtualRscHmrPlugin.ts +82 -0
  826. package/plugin/env/createConfigEnv.ts +27 -8
  827. package/plugin/env/createEnvPlugin.ts +76 -0
  828. package/plugin/env/getArgValue.ts +1 -1
  829. package/plugin/env/getEnvKey.ts +20 -1
  830. package/plugin/env/index.ts +10 -0
  831. package/plugin/env/plugin.client.ts +3 -0
  832. package/plugin/env/plugin.server.ts +4 -0
  833. package/plugin/env/plugin.ts +48 -103
  834. package/plugin/environments/createBuildEventPlugin.ts +117 -0
  835. package/plugin/environments/createEnvironmentPlugin.ts +332 -0
  836. package/plugin/environments/hashCoordination.ts +39 -0
  837. package/plugin/environments/resolveEnvironmentConfig.ts +320 -0
  838. package/plugin/error/assertPanic.ts +9 -0
  839. package/plugin/error/handleError.ts +63 -0
  840. package/plugin/error/index.ts +4 -1
  841. package/plugin/error/logError.ts +63 -42
  842. package/plugin/error/panicThresholdHandler.ts +52 -0
  843. package/plugin/error/serializeError.ts +36 -11
  844. package/plugin/error/serializeErrorInfo.ts +17 -0
  845. package/plugin/error/setupGlobalErrorHandler.ts +71 -0
  846. package/plugin/error/shouldPanic.ts +14 -0
  847. package/plugin/error/toError.ts +59 -19
  848. package/plugin/error/types.ts +32 -0
  849. package/plugin/helpers/README.md +112 -0
  850. package/plugin/helpers/collectManifestCss.ts +24 -5
  851. package/plugin/helpers/collectViteModuleGraphCss.ts +83 -9
  852. package/plugin/helpers/createBufferedRscStream.ts +194 -0
  853. package/plugin/helpers/createCssProps.tsx +22 -19
  854. package/plugin/helpers/createElementWithReact.tsx +121 -0
  855. package/plugin/helpers/createPatternMatcher.ts +100 -0
  856. package/plugin/helpers/createRscRenderHelpers.ts +77 -0
  857. package/plugin/helpers/createSafePageComponent.ts +64 -0
  858. package/plugin/helpers/createSerializableHandlerOptions.ts +183 -0
  859. package/plugin/helpers/createSharedLoader.ts +207 -0
  860. package/plugin/helpers/createUnifiedCssProcessor.ts +175 -0
  861. package/plugin/helpers/getBundleManifest.ts +2 -3
  862. package/plugin/helpers/getRouteFiles.ts +28 -23
  863. package/plugin/helpers/handleServerAction.client.ts +145 -0
  864. package/plugin/helpers/handleServerAction.server.ts +151 -0
  865. package/plugin/helpers/handleServerAction.ts +19 -79
  866. package/plugin/helpers/handleServerActionHelper.ts +270 -0
  867. package/plugin/helpers/headlessStreamReuseHandler.ts +48 -0
  868. package/plugin/helpers/headlessStreamState.ts +122 -0
  869. package/plugin/helpers/hydrateUserOptions.ts +2 -2
  870. package/plugin/helpers/index.ts +32 -5
  871. package/plugin/helpers/logRenderStart.ts +26 -0
  872. package/plugin/helpers/mergeMessageWithDefaults.ts +80 -0
  873. package/plugin/helpers/pipeToResponse.ts +77 -0
  874. package/plugin/helpers/requestInfo.ts +9 -3
  875. package/plugin/helpers/resolveComponents.client.ts +183 -0
  876. package/plugin/helpers/resolveModuleFromManifest.ts +99 -0
  877. package/plugin/helpers/resolvePageAndProps.ts +237 -50
  878. package/plugin/helpers/resolveRenderUrl.ts +26 -0
  879. package/plugin/helpers/resolveStreamElements.client.ts +50 -0
  880. package/plugin/helpers/resolveStreamElements.server.ts +43 -0
  881. package/plugin/helpers/resolveStreamElements.ts +13 -0
  882. package/plugin/helpers/resolveStreamElements.types.ts +29 -0
  883. package/plugin/helpers/resolveVirtualAndNodeModules.ts +75 -0
  884. package/plugin/helpers/resolveWithDefaultRootAndHtml.ts +25 -0
  885. package/plugin/helpers/serializeUserOptions.ts +37 -15
  886. package/plugin/helpers/tryManifest.ts +15 -6
  887. package/plugin/helpers/validateRscRenderMessage.ts +13 -0
  888. package/plugin/helpers/workerCleanup.ts +85 -0
  889. package/plugin/helpers/workerManager.ts +16 -0
  890. package/plugin/index.ts +6 -2
  891. package/plugin/loader/createDefaultLoader.ts +0 -21
  892. package/plugin/loader/createTransformer.ts +231 -37
  893. package/plugin/loader/directives/analyzeDirectives.ts +163 -73
  894. package/plugin/loader/directives/analyzeModule.ts +18 -9
  895. package/plugin/loader/env-loader.ts +3 -3
  896. package/plugin/loader/react-loader.ts +133 -86
  897. package/plugin/loader/transformClientModule.ts +85 -23
  898. package/plugin/loader/transformModule.ts +101 -21
  899. package/plugin/loader/transformModuleIfNeeded.ts +20 -23
  900. package/plugin/loader/transformNonServerEnvironment.ts +21 -13
  901. package/plugin/loader/transformServerModule.ts +86 -22
  902. package/plugin/loader/types.ts +22 -7
  903. package/plugin/metrics/collectStreamMetrics.ts +1 -2
  904. package/plugin/metrics/convertStreamMetrics.ts +28 -0
  905. package/plugin/metrics/createModuleResolutionMetrics.ts +38 -0
  906. package/plugin/metrics/createRenderMetrics.ts +46 -13
  907. package/plugin/metrics/createStreamMetrics.ts +16 -6
  908. package/plugin/metrics/createWorkerStartupMetrics.ts +38 -0
  909. package/plugin/metrics/formatMetrics.ts +5 -33
  910. package/plugin/metrics/index.ts +6 -3
  911. package/plugin/metrics/metricWatcher.ts +216 -0
  912. package/plugin/metrics/types.ts +87 -8
  913. package/plugin/orchestrator/createPluginOrchestrator.client.ts +47 -0
  914. package/plugin/orchestrator/createPluginOrchestrator.server.ts +55 -0
  915. package/plugin/orchestrator/createPluginOrchestrator.ts +29 -0
  916. package/plugin/orchestrator/index.ts +1 -0
  917. package/plugin/orchestrator/resolveStrategy.ts +53 -0
  918. package/plugin/orchestrator/types.ts +24 -0
  919. package/plugin/plugin.client.ts +29 -34
  920. package/plugin/plugin.server.ts +36 -42
  921. package/plugin/plugin.ts +8 -2
  922. package/plugin/process-env.ts +3 -0
  923. package/plugin/react-client/createMessageHandlers.ts +9 -34
  924. package/plugin/react-client/index.client.ts +1 -0
  925. package/plugin/react-client/index.server.ts +1 -0
  926. package/plugin/react-client/index.ts +13 -4
  927. package/plugin/react-client/plugin.client.ts +124 -0
  928. package/plugin/react-client/plugin.server.ts +108 -0
  929. package/plugin/react-client/plugin.ts +13 -152
  930. package/plugin/react-client/types.ts +95 -0
  931. package/plugin/react-server/index.client.ts +1 -0
  932. package/plugin/react-server/index.server.ts +1 -0
  933. package/plugin/react-server/index.ts +13 -1
  934. package/plugin/react-server/plugin.client.ts +54 -0
  935. package/plugin/react-server/plugin.server.ts +27 -0
  936. package/plugin/react-server/plugin.ts +8 -183
  937. package/plugin/react-server/types.ts +24 -0
  938. package/plugin/react-static/collectHtmlContent.ts +131 -0
  939. package/plugin/react-static/collectRscContent.ts +92 -49
  940. package/plugin/react-static/configurePreviewServer.ts +8 -18
  941. package/plugin/react-static/createBuildLoader.client.ts +7 -0
  942. package/plugin/react-static/createBuildLoader.server.ts +333 -0
  943. package/plugin/react-static/createBuildLoader.ts +8 -300
  944. package/plugin/react-static/fileWriter.ts +303 -64
  945. package/plugin/react-static/index.client.ts +6 -0
  946. package/plugin/react-static/index.server.ts +6 -0
  947. package/plugin/react-static/index.ts +25 -1
  948. package/plugin/react-static/plugin.client.ts +932 -0
  949. package/plugin/react-static/plugin.server.ts +713 -0
  950. package/plugin/react-static/plugin.ts +8 -446
  951. package/plugin/react-static/processCssFilesForPages.ts +148 -0
  952. package/plugin/react-static/renderPage.client.ts +640 -0
  953. package/plugin/react-static/renderPage.server.ts +655 -0
  954. package/plugin/react-static/renderPage.ts +10 -160
  955. package/plugin/react-static/renderPages.ts +736 -139
  956. package/plugin/react-static/renderPagesBatched.ts +264 -0
  957. package/plugin/react-static/renderStreams.ts +12 -16
  958. package/plugin/react-static/rscToHtmlStream.client.ts +61 -0
  959. package/plugin/react-static/rscToHtmlStream.server.ts +66 -0
  960. package/plugin/react-static/rscToHtmlStream.ts +8 -80
  961. package/plugin/react-static/temporaryReferences.client.ts +1 -0
  962. package/plugin/react-static/temporaryReferences.server.ts +5 -0
  963. package/plugin/react-static/temporaryReferences.ts +11 -2
  964. package/plugin/react-static/types.ts +202 -8
  965. package/plugin/root.ts +1 -3
  966. package/plugin/stream/MessagePortReadable.ts +131 -0
  967. package/plugin/stream/MessagePortWritable.ts +104 -0
  968. package/plugin/stream/createFromNodeStream.client.ts +90 -0
  969. package/plugin/stream/createFromNodeStream.server.ts +30 -0
  970. package/plugin/stream/createFromNodeStream.ts +13 -0
  971. package/plugin/stream/createFromNodeStream.types.ts +53 -0
  972. package/plugin/stream/createHtmlStream.client.ts +47 -0
  973. package/plugin/stream/createHtmlStream.server.ts +312 -0
  974. package/plugin/stream/createHtmlStream.ts +13 -0
  975. package/plugin/stream/createHtmlStream.types.ts +63 -0
  976. package/plugin/stream/createMainThreadHandlers.ts +44 -0
  977. package/plugin/stream/createMessageChannels.ts +52 -0
  978. package/plugin/stream/createRenderToPipeableStreamHandler.client.ts +224 -0
  979. package/plugin/stream/createRenderToPipeableStreamHandler.server.ts +358 -0
  980. package/plugin/stream/createRenderToPipeableStreamHandler.ts +13 -0
  981. package/plugin/stream/createRenderToPipeableStreamHandler.types.ts +69 -0
  982. package/plugin/stream/createRscStream.client.ts +122 -0
  983. package/plugin/stream/createRscStream.server.ts +188 -0
  984. package/plugin/stream/createRscStream.ts +8 -0
  985. package/plugin/stream/createRscStream.types.ts +168 -0
  986. package/plugin/stream/createRscStream.utils.ts +171 -0
  987. package/plugin/stream/createRscWorkerStream.ts +178 -0
  988. package/plugin/stream/handleRscStream.client.ts +214 -0
  989. package/plugin/stream/handleRscStream.server.ts +82 -0
  990. package/plugin/stream/handleRscStream.ts +11 -0
  991. package/plugin/stream/handleRscStream.types.ts +70 -0
  992. package/plugin/stream/index.client.ts +15 -0
  993. package/plugin/stream/index.server.ts +15 -0
  994. package/plugin/stream/index.ts +137 -0
  995. package/plugin/stream/renderRscStream.server.ts +182 -0
  996. package/plugin/stream/renderRscStream.types.ts +43 -0
  997. package/plugin/stream/renderRscStreamHelpers.server.ts +88 -0
  998. package/plugin/stream/setMaxListeners.ts +30 -0
  999. package/plugin/transformer/README.md +2 -381
  1000. package/plugin/transformer/createTransformerPlugin.ts +388 -0
  1001. package/plugin/transformer/plugin.client.ts +6 -141
  1002. package/plugin/transformer/plugin.server.ts +6 -142
  1003. package/plugin/transformer/transformerEnv.ts +49 -0
  1004. package/plugin/types/react-server-dom-esm.d.ts +269 -110
  1005. package/plugin/types/virtual-rsc-hmr.d.ts +21 -0
  1006. package/plugin/types.ts +636 -223
  1007. package/plugin/utils/createCallServer.ts +8 -18
  1008. package/plugin/utils/createReactFetcher.ts +87 -5
  1009. package/plugin/utils/env.ts +1 -1
  1010. package/plugin/utils/index.client.ts +8 -0
  1011. package/plugin/utils/index.server.ts +8 -0
  1012. package/plugin/utils/index.ts +5 -1
  1013. package/plugin/utils/routeToURL.ts +3 -4
  1014. package/plugin/utils/urls.ts +40 -8
  1015. package/plugin/utils/useRscHmr.ts +72 -0
  1016. package/plugin/vendor/vendor.client.ts +9 -7
  1017. package/plugin/vendor/vendor.server.ts +5 -4
  1018. package/plugin/vendor/vendor.static.ts +12 -0
  1019. package/plugin/vendor/vendor.ts +10 -5
  1020. package/plugin/worker/createWorker.ts +283 -41
  1021. package/plugin/worker/html/README.md +2 -65
  1022. package/plugin/worker/html/handleHtmlRender.ts +245 -0
  1023. package/plugin/worker/html/html-worker.development.tsx +5 -17
  1024. package/plugin/worker/html/html-worker.production.tsx +1 -1
  1025. package/plugin/worker/html/html-worker.ts +5 -5
  1026. package/plugin/worker/html/index.ts +6 -6
  1027. package/plugin/worker/html/messageHandler.tsx +317 -98
  1028. package/plugin/worker/html/state.ts +38 -0
  1029. package/plugin/worker/html/types.ts +108 -35
  1030. package/plugin/worker/rsc/README.md +2 -257
  1031. package/plugin/worker/rsc/createBundleLoader.ts +92 -0
  1032. package/plugin/worker/rsc/createRscWorkerLoader.ts +104 -0
  1033. package/plugin/worker/rsc/handleRscRender.ts +510 -0
  1034. package/plugin/worker/rsc/handlers.ts +159 -238
  1035. package/plugin/worker/rsc/hydrateRscRenderMessage.ts +118 -0
  1036. package/plugin/worker/rsc/messageHandler.tsx +1288 -58
  1037. package/plugin/worker/rsc/rsc-worker.development.ts +198 -185
  1038. package/plugin/worker/rsc/rsc-worker.production.ts +302 -64
  1039. package/plugin/worker/rsc/rsc-worker.tsx +3 -5
  1040. package/plugin/worker/rsc/state.ts +54 -2
  1041. package/plugin/worker/rsc/types.ts +110 -32
  1042. package/plugin/worker/rsc/workerUserOptions.ts +63 -0
  1043. package/plugin/worker/sendMessage.ts +33 -53
  1044. package/plugin/worker/types.ts +94 -91
  1045. package/scripts/generate-toc.mjs +311 -0
  1046. package/scripts/remove-toc.mjs +51 -0
  1047. package/scripts/test-both.sh +82 -0
  1048. package/dist/plugin/config/resolveDevServerConfig.d.ts +0 -2
  1049. package/dist/plugin/config/resolveDevServerConfig.d.ts.map +0 -1
  1050. package/dist/plugin/getNodeEnv.d.ts.map +0 -1
  1051. package/dist/plugin/getNodeEnv.js +0 -17
  1052. package/dist/plugin/helpers/collectBundleManifestCss.d.ts +0 -2
  1053. package/dist/plugin/helpers/collectBundleManifestCss.d.ts.map +0 -1
  1054. package/dist/plugin/helpers/collectBundleManifestCss.js +0 -2
  1055. package/dist/plugin/helpers/createEventHandler.d.ts +0 -22
  1056. package/dist/plugin/helpers/createEventHandler.d.ts.map +0 -1
  1057. package/dist/plugin/helpers/createEventHandler.js +0 -36
  1058. package/dist/plugin/helpers/createHandler.d.ts +0 -14
  1059. package/dist/plugin/helpers/createHandler.d.ts.map +0 -1
  1060. package/dist/plugin/helpers/createHandler.js +0 -75
  1061. package/dist/plugin/helpers/createRscStream.d.ts +0 -26
  1062. package/dist/plugin/helpers/createRscStream.d.ts.map +0 -1
  1063. package/dist/plugin/helpers/createRscStream.js +0 -178
  1064. package/dist/plugin/helpers/defaultFileWriter.d.ts +0 -2
  1065. package/dist/plugin/helpers/defaultFileWriter.d.ts.map +0 -1
  1066. package/dist/plugin/helpers/resolveComponents.d.ts +0 -27
  1067. package/dist/plugin/helpers/resolveComponents.d.ts.map +0 -1
  1068. package/dist/plugin/helpers/resolveComponents.js +0 -146
  1069. package/dist/plugin/helpers/resolveUserComponents.d.ts +0 -33
  1070. package/dist/plugin/helpers/resolveUserComponents.d.ts.map +0 -1
  1071. package/dist/plugin/helpers/resolveUserComponents.js +0 -163
  1072. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts +0 -11
  1073. package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts.map +0 -1
  1074. package/dist/plugin/react-client/cleanupWorkerServerAction.js +0 -18
  1075. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts +0 -17
  1076. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +0 -1
  1077. package/dist/plugin/react-client/configureWorkerRequestHandler.js +0 -203
  1078. package/dist/plugin/react-client/createWorkerStream.d.ts +0 -26
  1079. package/dist/plugin/react-client/createWorkerStream.d.ts.map +0 -1
  1080. package/dist/plugin/react-client/createWorkerStream.js +0 -163
  1081. package/dist/plugin/react-client/handleWorkerRscStream.d.ts +0 -24
  1082. package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +0 -1
  1083. package/dist/plugin/react-client/handleWorkerRscStream.js +0 -91
  1084. package/dist/plugin/react-client/handleWorkerServerAction.d.ts +0 -13
  1085. package/dist/plugin/react-client/handleWorkerServerAction.d.ts.map +0 -1
  1086. package/dist/plugin/react-client/handleWorkerServerAction.js +0 -62
  1087. package/dist/plugin/react-client/restartWorker.d.ts +0 -12
  1088. package/dist/plugin/react-client/restartWorker.d.ts.map +0 -1
  1089. package/dist/plugin/react-client/restartWorker.js +0 -69
  1090. package/dist/plugin/react-server/configureReactServer.d.ts +0 -10
  1091. package/dist/plugin/react-server/configureReactServer.d.ts.map +0 -1
  1092. package/dist/plugin/react-server/configureReactServer.js +0 -209
  1093. package/dist/plugin/react-server/handleServerAction.d.ts +0 -6
  1094. package/dist/plugin/react-server/handleServerAction.d.ts.map +0 -1
  1095. package/dist/plugin/react-server/handleServerAction.js +0 -159
  1096. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +0 -25
  1097. package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +0 -1
  1098. package/dist/plugin/react-static/collectHtmlWorkerContent.js +0 -94
  1099. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts +0 -12
  1100. package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +0 -1
  1101. package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +0 -130
  1102. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts +0 -3
  1103. package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts.map +0 -1
  1104. package/dist/plugin/worker/html/sendHtmlWorkerMessage.js +0 -2
  1105. package/dist/plugin/worker/rsc/handleRender.d.ts +0 -6
  1106. package/dist/plugin/worker/rsc/handleRender.d.ts.map +0 -1
  1107. package/dist/plugin/worker/rsc/handleRender.js +0 -137
  1108. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts +0 -3
  1109. package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts.map +0 -1
  1110. package/dist/plugin/worker/rsc/sendRscWorkerMessage.js +0 -11
  1111. package/dist/plugin/worker/rsc/userOptions.d.ts +0 -2
  1112. package/dist/plugin/worker/rsc/userOptions.d.ts.map +0 -1
  1113. package/dist/plugin/worker/rsc/userOptions.js +0 -16
  1114. package/plugin/helpers/collectBundleManifestCss.ts +0 -1
  1115. package/plugin/helpers/createEventHandler.ts +0 -44
  1116. package/plugin/helpers/createHandler.ts +0 -97
  1117. package/plugin/helpers/createRscStream.tsx +0 -226
  1118. package/plugin/helpers/defaultFileWriter.ts +0 -0
  1119. package/plugin/helpers/resolveComponents.ts +0 -202
  1120. package/plugin/helpers/resolveUserComponents.ts +0 -190
  1121. package/plugin/react-client/cleanupWorkerServerAction.ts +0 -33
  1122. package/plugin/react-client/configureWorkerRequestHandler.ts +0 -249
  1123. package/plugin/react-client/createWorkerStream.ts +0 -210
  1124. package/plugin/react-client/handleWorkerRscStream.ts +0 -145
  1125. package/plugin/react-client/handleWorkerServerAction.ts +0 -96
  1126. package/plugin/react-client/restartWorker.ts +0 -90
  1127. package/plugin/react-server/configureReactServer.ts +0 -235
  1128. package/plugin/react-server/handleServerAction.ts +0 -192
  1129. package/plugin/react-static/collectHtmlWorkerContent.ts +0 -147
  1130. package/plugin/worker/html/createHtmlWorkerRenderState.tsx +0 -142
  1131. package/plugin/worker/html/sendHtmlWorkerMessage.ts +0 -8
  1132. package/plugin/worker/rsc/handleRender.ts +0 -168
  1133. package/plugin/worker/rsc/sendRscWorkerMessage.ts +0 -7
  1134. package/plugin/worker/rsc/userOptions.ts +0 -7
  1135. /package/dist/plugin/config/{resolveDevServerConfig.js → createHandlerOptions.types.js} +0 -0
  1136. /package/dist/plugin/{helpers/defaultFileWriter.js → dev-server/types.js} +0 -0
  1137. /package/plugin/{config/resolveDevServerConfig.tsx → worker/worker-handlers.server.ts} +0 -0
@@ -3,27 +3,20 @@
3
3
  * Copyright (c) Nico Brinkkemper
4
4
  * MIT License
5
5
  */
6
- import { join } from 'path';
6
+ import 'vite';
7
7
  import { resolveBuildPages } from './resolveBuildPages.js';
8
8
  import { resolvePages } from '../resolvePages.js';
9
- import { tryManifest } from '../../helpers/tryManifest.js';
10
9
  import { createGlobAutoDiscover } from './createGlobAutoDiscover.js';
11
10
  import { customWorkerFiles } from './customWorkerFiles.js';
12
11
  import { pageAndPropFiles } from './pageAndPropFiles.js';
13
12
 
14
- const clientFiles = createGlobAutoDiscover("**/*.client.*");
15
- const serverFiles = createGlobAutoDiscover("**/*.server.*");
16
- const cssFiles = createGlobAutoDiscover("**/*.css");
17
- const jsonFiles = createGlobAutoDiscover("**/*.json");
18
13
  const resolveAutoDiscover = async function _resolveAutoDiscover({
19
14
  config,
20
15
  configEnv,
21
16
  userOptions,
22
- condition
17
+ logger
23
18
  }) {
24
- const ssr = configEnv.isSsrBuild || condition === "react-server";
25
- const envDir = condition === "react-server" ? userOptions.build.server : ssr ? userOptions.build.client : userOptions.build.static;
26
- const envId = `${envDir}${ssr ? "-ssr" : ""}`;
19
+ const envId = `${configEnv.command}-${configEnv.mode}`;
27
20
  const configInputRecord = {};
28
21
  if (typeof config.build?.rollupOptions?.input === "string") {
29
22
  configInputRecord[userOptions.normalizer(config.build?.rollupOptions?.input)[0]] = config.build?.rollupOptions?.input;
@@ -45,34 +38,16 @@ const resolveAutoDiscover = async function _resolveAutoDiscover({
45
38
  id: envId
46
39
  };
47
40
  }
41
+ const clientFiles = createGlobAutoDiscover(userOptions.autoDiscover.clientEntry);
42
+ const serverFiles = createGlobAutoDiscover(userOptions.autoDiscover.serverEntry);
43
+ const cssFiles = createGlobAutoDiscover(userOptions.autoDiscover.cssEntry);
44
+ const jsonFiles = createGlobAutoDiscover(userOptions.autoDiscover.jsonEntry);
45
+ const htmlFiles = createGlobAutoDiscover(userOptions.autoDiscover.htmlPattern.source);
48
46
  const files = await resolveBuildPages({
49
47
  pages,
50
- userOptions
48
+ userOptions,
49
+ logger
51
50
  });
52
- let staticManifest = {};
53
- if (ssr && configEnv.command === "build") {
54
- const staticManifestResult = await tryManifest({
55
- root: userOptions.projectRoot,
56
- ssrManifest: false,
57
- outDir: join(userOptions.build.outDir, userOptions.build.static)
58
- });
59
- if (staticManifestResult.type === "success") {
60
- staticManifest = staticManifestResult.manifest;
61
- } else if (configEnv.command === "build") {
62
- if (staticManifestResult.type === "error") {
63
- if (userOptions.panicThreshold === "critical_errors") {
64
- throw staticManifestResult.error;
65
- } else {
66
- console.error(staticManifestResult.error);
67
- }
68
- }
69
- if (userOptions.panicThreshold === "all_errors") {
70
- throw new Error("Failed to find static manifest.");
71
- } else {
72
- console.warn("Continuing without static manifest");
73
- }
74
- }
75
- }
76
51
  const customWorkerInputs = customWorkerFiles({
77
52
  inputs: {},
78
53
  userOptions
@@ -97,29 +72,32 @@ const resolveAutoDiscover = async function _resolveAutoDiscover({
97
72
  inputs: {},
98
73
  userOptions
99
74
  });
75
+ const htmlInputs = await htmlFiles({
76
+ inputs: {},
77
+ userOptions
78
+ });
100
79
  const customComponentInputs = {};
101
- if (typeof userOptions.Root === "string") {
102
- const [rootKey] = userOptions.normalizer(userOptions.Root);
103
- customComponentInputs[rootKey] = userOptions.Root;
80
+ for (const [rootKey, rootValue] of files.rootMap) {
81
+ if (!customComponentInputs[rootKey]) {
82
+ customComponentInputs[rootKey] = rootValue;
83
+ }
104
84
  }
105
- if (typeof userOptions.Html === "string") {
106
- const [htmlKey] = userOptions.normalizer(userOptions.Html);
107
- customComponentInputs[htmlKey] = userOptions.Html;
85
+ for (const [htmlKey, htmlValue] of files.htmlMap) {
86
+ if (!customComponentInputs[htmlKey]) {
87
+ customComponentInputs[htmlKey] = htmlValue;
88
+ }
108
89
  }
109
- const agnosticInputs = {
90
+ const clientInputsCollection = {
110
91
  ...configInputRecord,
111
92
  ...clientInputs,
112
93
  ...clientEntry,
113
94
  ...cssInputs
114
95
  };
115
- const inputs = condition !== "react-server" ? {
116
- ...indexHtmlInputs,
117
- ...agnosticInputs
118
- } : {
119
- ...configInputRecord,
96
+ const serverInputsCollection = {
97
+ ...clientInputsCollection,
120
98
  ...customWorkerInputs,
121
99
  ...pageAndPropInputs,
122
- ...agnosticInputs,
100
+ ...cssInputs,
123
101
  ...serverActions,
124
102
  ...serverEntry,
125
103
  ...jsonInputs,
@@ -134,12 +112,17 @@ const resolveAutoDiscover = async function _resolveAutoDiscover({
134
112
  workerPaths: customWorkerInputs,
135
113
  serverEntry,
136
114
  clientEntry,
137
- staticManifest,
138
- inputs,
115
+ staticInputs: {
116
+ ...indexHtmlInputs,
117
+ ...htmlInputs,
118
+ ...clientInputsCollection
119
+ },
120
+ clientInputs: clientInputsCollection,
121
+ serverInputs: serverInputsCollection,
139
122
  serverActions
140
123
  }
141
124
  };
142
125
  };
143
126
 
144
127
  export { resolveAutoDiscover };
145
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZUF1dG9EaXNjb3Zlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGx1Z2luL2NvbmZpZy9hdXRvRGlzY292ZXIvcmVzb2x2ZUF1dG9EaXNjb3Zlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbmZpZ0VudiwgVXNlckNvbmZpZyB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEF1dG9EaXNjb3ZlcmVkRmlsZXMsXG4gIFJlc29sdmVkVXNlck9wdGlvbnMsXG59IGZyb20gXCIuLi8uLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyByZXNvbHZlQnVpbGRQYWdlcyB9IGZyb20gXCIuL3Jlc29sdmVCdWlsZFBhZ2VzLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlUGFnZXMgfSBmcm9tIFwiLi4vcmVzb2x2ZVBhZ2VzLmpzXCI7XG5pbXBvcnQgeyB0cnlNYW5pZmVzdCB9IGZyb20gXCIuLi8uLi9oZWxwZXJzL3RyeU1hbmlmZXN0LmpzXCI7XG5pbXBvcnQgdHlwZSB7IE1hbmlmZXN0IH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCB7IGNyZWF0ZUdsb2JBdXRvRGlzY292ZXIgfSBmcm9tIFwiLi9jcmVhdGVHbG9iQXV0b0Rpc2NvdmVyLmpzXCI7XG5pbXBvcnQgeyBjdXN0b21Xb3JrZXJGaWxlcyB9IGZyb20gXCIuL2N1c3RvbVdvcmtlckZpbGVzLmpzXCI7XG5pbXBvcnQgeyBwYWdlQW5kUHJvcEZpbGVzIH0gZnJvbSBcIi4vcGFnZUFuZFByb3BGaWxlcy5qc1wiO1xuXG5jb25zdCBjbGllbnRGaWxlcyA9IGNyZWF0ZUdsb2JBdXRvRGlzY292ZXIoXCIqKi8qLmNsaWVudC4qXCIpO1xuY29uc3Qgc2VydmVyRmlsZXMgPSBjcmVhdGVHbG9iQXV0b0Rpc2NvdmVyKFwiKiovKi5zZXJ2ZXIuKlwiKTtcbmNvbnN0IGNzc0ZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3ZlcihcIioqLyouY3NzXCIpO1xuY29uc3QganNvbkZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3ZlcihcIioqLyouanNvblwiKTtcblxudHlwZSBSZXNvbHZlQXV0b0Rpc2NvdmVyUHJvcHMgPSB7XG4gIGNvbmZpZzogVXNlckNvbmZpZztcbiAgY29uZmlnRW52OiBDb25maWdFbnY7XG4gIHVzZXJPcHRpb25zOiBQaWNrPFxuICAgIFJlc29sdmVkVXNlck9wdGlvbnMsXG4gICAgfCBcImJ1aWxkXCJcbiAgICB8IFwibm9ybWFsaXplclwiXG4gICAgfCBcInNlcnZlckVudHJ5XCJcbiAgICB8IFwiY2xpZW50RW50cnlcIlxuICAgIHwgXCJwcm9qZWN0Um9vdFwiXG4gICAgfCBcIm1vZHVsZUJhc2VcIlxuICAgIHwgXCJtb2R1bGVCYXNlUGF0aFwiXG4gICAgfCBcIlBhZ2VcIlxuICAgIHwgXCJwcm9wc1wiXG4gICAgfCBcImh0bWxXb3JrZXJQYXRoXCJcbiAgICB8IFwicnNjV29ya2VyUGF0aFwiXG4gICAgfCBcInBhZ2VFeHBvcnROYW1lXCJcbiAgICB8IFwicHJvcHNFeHBvcnROYW1lXCJcbiAgICB8IFwiaHRtbEV4cG9ydE5hbWVcIlxuICAgIHwgXCJyb290RXhwb3J0TmFtZVwiICBcbiAgICB8IFwiUm9vdFwiXG4gICAgfCBcIkh0bWxcIlxuICAgIHwgXCJ2ZXJib3NlXCJcbiAgICB8IFwicGFuaWNUaHJlc2hvbGRcIlxuICA+O1xuICBjb25kaXRpb246IFwicmVhY3Qtc2VydmVyXCIgfCBcInJlYWN0LWNsaWVudFwiO1xufTtcblxudHlwZSBSZXNvbHZlQXV0b0Rpc2NvdmVyUmV0dXJuID1cbiAgfCB7XG4gICAgICB0eXBlOiBcInN1Y2Nlc3NcIjtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBhdXRvRGlzY292ZXJlZEZpbGVzOiBBdXRvRGlzY292ZXJlZEZpbGVzO1xuICAgICAgZXJyb3I/OiBuZXZlcjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJlcnJvclwiO1xuICAgICAgZXJyb3I6IEVycm9yO1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGF1dG9EaXNjb3ZlcmVkRmlsZXM/OiBuZXZlcjtcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBSZXNvbHZlQXV0b0Rpc2NvdmVyRm4gPSAoXG4gIHByb3BzOiBSZXNvbHZlQXV0b0Rpc2NvdmVyUHJvcHNcbikgPT4gUHJvbWlzZTxSZXNvbHZlQXV0b0Rpc2NvdmVyUmV0dXJuPjtcblxuZXhwb3J0IGNvbnN0IHJlc29sdmVBdXRvRGlzY292ZXI6IFJlc29sdmVBdXRvRGlzY292ZXJGbiA9XG4gIGFzeW5jIGZ1bmN0aW9uIF9yZXNvbHZlQXV0b0Rpc2NvdmVyKHtcbiAgICBjb25maWcsXG4gICAgY29uZmlnRW52LFxuICAgIHVzZXJPcHRpb25zLFxuICAgIGNvbmRpdGlvbixcbiAgfSkge1xuICAgIGNvbnN0IHNzciA9IGNvbmZpZ0Vudi5pc1NzckJ1aWxkIHx8IGNvbmRpdGlvbiA9PT0gXCJyZWFjdC1zZXJ2ZXJcIjtcbiAgICBjb25zdCBlbnZEaXIgPVxuICAgICAgY29uZGl0aW9uID09PSBcInJlYWN0LXNlcnZlclwiXG4gICAgICAgID8gdXNlck9wdGlvbnMuYnVpbGQuc2VydmVyXG4gICAgICAgIDogc3NyXG4gICAgICAgID8gdXNlck9wdGlvbnMuYnVpbGQuY2xpZW50XG4gICAgICAgIDogdXNlck9wdGlvbnMuYnVpbGQuc3RhdGljO1xuICAgIGNvbnN0IGVudklkID0gYCR7ZW52RGlyfSR7c3NyID8gXCItc3NyXCIgOiBcIlwifWA7XG4gICAgY29uc3QgY29uZmlnSW5wdXRSZWNvcmQgPSB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGlmICh0eXBlb2YgY29uZmlnLmJ1aWxkPy5yb2xsdXBPcHRpb25zPy5pbnB1dCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgY29uZmlnSW5wdXRSZWNvcmRbXG4gICAgICAgIHVzZXJPcHRpb25zLm5vcm1hbGl6ZXIoY29uZmlnLmJ1aWxkPy5yb2xsdXBPcHRpb25zPy5pbnB1dClbMF1cbiAgICAgIF0gPSBjb25maWcuYnVpbGQ/LnJvbGx1cE9wdGlvbnM/LmlucHV0O1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvbmZpZy5idWlsZD8ucm9sbHVwT3B0aW9ucz8uaW5wdXQgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIGZvciAoY29uc3QgWywgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKFxuICAgICAgICBjb25maWcuYnVpbGQ/LnJvbGx1cE9wdGlvbnM/LmlucHV0XG4gICAgICApKSB7XG4gICAgICAgIGNvbmZpZ0lucHV0UmVjb3JkW3VzZXJPcHRpb25zLm5vcm1hbGl6ZXIodmFsdWUpWzBdXSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNlcnZlckVudHJ5ID1cbiAgICAgIHR5cGVvZiB1c2VyT3B0aW9ucy5zZXJ2ZXJFbnRyeSA9PT0gXCJzdHJpbmdcIlxuICAgICAgICA/IE9iamVjdC5mcm9tRW50cmllcyhbdXNlck9wdGlvbnMubm9ybWFsaXplcih1c2VyT3B0aW9ucy5zZXJ2ZXJFbnRyeSldKVxuICAgICAgICA6IG51bGw7XG5cbiAgICBjb25zdCBpbmRleEh0bWxJbnB1dHMgPSB7IGluZGV4OiBcImluZGV4Lmh0bWxcIiB9O1xuXG4gICAgY29uc3QgY2xpZW50RW50cnkgPVxuICAgICAgdHlwZW9mIHVzZXJPcHRpb25zLmNsaWVudEVudHJ5ID09PSBcInN0cmluZ1wiXG4gICAgICAgID8gT2JqZWN0LmZyb21FbnRyaWVzKFt1c2VyT3B0aW9ucy5ub3JtYWxpemVyKHVzZXJPcHRpb25zLmNsaWVudEVudHJ5KV0pXG4gICAgICAgIDoge307XG5cbiAgICBjb25zdCB7IHR5cGUsIGVycm9yLCBwYWdlcyB9ID0gYXdhaXQgcmVzb2x2ZVBhZ2VzKHVzZXJPcHRpb25zLmJ1aWxkLnBhZ2VzKTtcblxuICAgIGlmICh0eXBlID09PSBcImVycm9yXCIpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IFwiZXJyb3JcIixcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIGlkOiBlbnZJZCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZXMgPSBhd2FpdCByZXNvbHZlQnVpbGRQYWdlcyh7XG4gICAgICBwYWdlcyxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuXG4gICAgLy8gTG9hZCBzdGF0aWMgbWFuaWZlc3QgZm9yIGNsaWVudCBidWlsZFxuICAgIGxldCBzdGF0aWNNYW5pZmVzdDogTWFuaWZlc3QgPSB7fTtcbiAgICBpZiAoc3NyICYmIGNvbmZpZ0Vudi5jb21tYW5kID09PSBcImJ1aWxkXCIpIHtcbiAgICAgIGNvbnN0IHN0YXRpY01hbmlmZXN0UmVzdWx0ID0gYXdhaXQgdHJ5TWFuaWZlc3Qoe1xuICAgICAgICByb290OiB1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCxcbiAgICAgICAgc3NyTWFuaWZlc3Q6IGZhbHNlLFxuICAgICAgICBvdXREaXI6IGpvaW4odXNlck9wdGlvbnMuYnVpbGQub3V0RGlyLCB1c2VyT3B0aW9ucy5idWlsZC5zdGF0aWMpLFxuICAgICAgfSk7XG4gICAgICBpZiAoc3RhdGljTWFuaWZlc3RSZXN1bHQudHlwZSA9PT0gXCJzdWNjZXNzXCIpIHtcbiAgICAgICAgc3RhdGljTWFuaWZlc3QgPSBzdGF0aWNNYW5pZmVzdFJlc3VsdC5tYW5pZmVzdDtcbiAgICAgIH0gZWxzZSBpZiAoY29uZmlnRW52LmNvbW1hbmQgPT09IFwiYnVpbGRcIikge1xuICAgICAgICAvLyBpbiBkZXYgbW9kZSB0aGUgc3RhdGljIG1hbmlmZXN0IGlzIG5vdCBuZWVkZWRcbiAgICAgICAgLy8gd2l0aG91dCBzc3IsIFdFIEFSRSBCVUlMRElORyB0aGUgc3RhdGljIG1hbmlmZXN0LCBzbyBvbmx5IHdhcm4gaW4gdGhlIGNhc2Ugb2YgYSBidWlsZFxuICAgICAgICBpZiAoc3RhdGljTWFuaWZlc3RSZXN1bHQudHlwZSA9PT0gXCJlcnJvclwiKSB7XG4gICAgICAgICAgaWYodXNlck9wdGlvbnMucGFuaWNUaHJlc2hvbGQgPT09ICdjcml0aWNhbF9lcnJvcnMnKSB7XG4gICAgICAgICAgICB0aHJvdyBzdGF0aWNNYW5pZmVzdFJlc3VsdC5lcnJvcjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihzdGF0aWNNYW5pZmVzdFJlc3VsdC5lcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmKHVzZXJPcHRpb25zLnBhbmljVGhyZXNob2xkID09PSAnYWxsX2Vycm9ycycpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIFwiRmFpbGVkIHRvIGZpbmQgc3RhdGljIG1hbmlmZXN0LlwiICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFwiQ29udGludWluZyB3aXRob3V0IHN0YXRpYyBtYW5pZmVzdFwiKTtcbiAgICAgICAgfVxuICAgICAgICAvLyB0aGlzIGNhbiBzdGlsbCB3b3JrLCBidXQsIGl0IHdvbid0IGJlIGFibGUgdG8gbG9vayB1cCBhbnkgY2xpZW50LXNpZGUgYXNzZXRzXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgY3VzdG9tV29ya2VySW5wdXRzID0gY3VzdG9tV29ya2VyRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuICAgIGNvbnN0IGNsaWVudElucHV0cyA9IGF3YWl0IGNsaWVudEZpbGVzKHtcbiAgICAgIGlucHV0czoge30sXG4gICAgICB1c2VyT3B0aW9ucyxcbiAgICB9KTtcbiAgICBjb25zdCBzZXJ2ZXJBY3Rpb25zID0gYXdhaXQgc2VydmVyRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcGFnZUFuZFByb3BJbnB1dHMgPSBwYWdlQW5kUHJvcEZpbGVzKHtcbiAgICAgIGZpbGVzLFxuICAgICAgaW5wdXRzOiB7fSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNzc0lucHV0cyA9IGF3YWl0IGNzc0ZpbGVzKHtcbiAgICAgIGlucHV0czoge30sXG4gICAgICB1c2VyT3B0aW9ucyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGpzb25JbnB1dHMgPSBhd2FpdCBqc29uRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuXG4gICAgLy8gQWRkIGN1c3RvbSBSb290IGFuZCBIdG1sIGNvbXBvbmVudHMgdG8gaW5wdXRzXG4gICAgY29uc3QgY3VzdG9tQ29tcG9uZW50SW5wdXRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gICAgaWYgKHR5cGVvZiB1c2VyT3B0aW9ucy5Sb290ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBjb25zdCBbcm9vdEtleV0gPSB1c2VyT3B0aW9ucy5ub3JtYWxpemVyKHVzZXJPcHRpb25zLlJvb3QpO1xuICAgICAgY3VzdG9tQ29tcG9uZW50SW5wdXRzW3Jvb3RLZXldID0gdXNlck9wdGlvbnMuUm9vdDtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB1c2VyT3B0aW9ucy5IdG1sID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBjb25zdCBbaHRtbEtleV0gPSB1c2VyT3B0aW9ucy5ub3JtYWxpemVyKHVzZXJPcHRpb25zLkh0bWwpO1xuICAgICAgY3VzdG9tQ29tcG9uZW50SW5wdXRzW2h0bWxLZXldID0gdXNlck9wdGlvbnMuSHRtbDtcbiAgICB9XG5cbiAgICBjb25zdCBhZ25vc3RpY0lucHV0cyA9IHtcbiAgICAgIC4uLmNvbmZpZ0lucHV0UmVjb3JkLFxuICAgICAgLi4uY2xpZW50SW5wdXRzLFxuICAgICAgLi4uY2xpZW50RW50cnksXG4gICAgICAuLi5jc3NJbnB1dHMsXG4gICAgfTtcbiAgICAvLyBBZGQgaW5wdXRzIGJhc2VkIG9uIGNvbmRpdGlvblxuICAgIGNvbnN0IGlucHV0cyA9XG4gICAgICBjb25kaXRpb24gIT09IFwicmVhY3Qtc2VydmVyXCJcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAuLi5pbmRleEh0bWxJbnB1dHMsXG4gICAgICAgICAgICAuLi5hZ25vc3RpY0lucHV0cyxcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgLi4uY29uZmlnSW5wdXRSZWNvcmQsXG4gICAgICAgICAgICAuLi5jdXN0b21Xb3JrZXJJbnB1dHMsXG4gICAgICAgICAgICAuLi5wYWdlQW5kUHJvcElucHV0cyxcbiAgICAgICAgICAgIC4uLmFnbm9zdGljSW5wdXRzLFxuICAgICAgICAgICAgLi4uc2VydmVyQWN0aW9ucyxcbiAgICAgICAgICAgIC4uLnNlcnZlckVudHJ5LFxuICAgICAgICAgICAgLi4uanNvbklucHV0cyxcbiAgICAgICAgICAgIC4uLmN1c3RvbUNvbXBvbmVudElucHV0cywgLy8gQWRkIGN1c3RvbSBjb21wb25lbnRzIHRvIHNlcnZlciBidWlsZFxuICAgICAgICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFwic3VjY2Vzc1wiLFxuICAgICAgaWQ6IGVudklkLFxuICAgICAgYXV0b0Rpc2NvdmVyZWRGaWxlczoge1xuICAgICAgICAuLi5maWxlcyxcbiAgICAgICAgd29ya2VyUGF0aHM6IGN1c3RvbVdvcmtlcklucHV0cyxcbiAgICAgICAgc2VydmVyRW50cnksXG4gICAgICAgIGNsaWVudEVudHJ5LFxuICAgICAgICBzdGF0aWNNYW5pZmVzdCxcbiAgICAgICAgaW5wdXRzLFxuICAgICAgICBzZXJ2ZXJBY3Rpb25zLFxuICAgICAgfSxcbiAgICB9O1xuICB9O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFjQSxNQUFNLFdBQUEsR0FBYyx1QkFBdUIsZUFBZSxDQUFBO0FBQzFELE1BQU0sV0FBQSxHQUFjLHVCQUF1QixlQUFlLENBQUE7QUFDMUQsTUFBTSxRQUFBLEdBQVcsdUJBQXVCLFVBQVUsQ0FBQTtBQUNsRCxNQUFNLFNBQUEsR0FBWSx1QkFBdUIsV0FBVyxDQUFBO0FBZ0R2QyxNQUFBLG1CQUFBLEdB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
128
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZUF1dG9EaXNjb3Zlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGx1Z2luL2NvbmZpZy9hdXRvRGlzY292ZXIvcmVzb2x2ZUF1dG9EaXNjb3Zlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENvbmZpZ0VudiwgdHlwZSBVc2VyQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCB0eXBlIHsgQXV0b0Rpc2NvdmVyZWRGaWxlcywgUmVzb2x2ZWRVc2VyT3B0aW9ucyB9IGZyb20gXCIuLi8uLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZUJ1aWxkUGFnZXMgfSBmcm9tIFwiLi9yZXNvbHZlQnVpbGRQYWdlcy5qc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZVBhZ2VzIH0gZnJvbSBcIi4uL3Jlc29sdmVQYWdlcy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBMb2dnZXIsIFJlc29sdmVkQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCB7IGNyZWF0ZUdsb2JBdXRvRGlzY292ZXIgfSBmcm9tIFwiLi9jcmVhdGVHbG9iQXV0b0Rpc2NvdmVyLmpzXCI7XG5pbXBvcnQgeyBjdXN0b21Xb3JrZXJGaWxlcyB9IGZyb20gXCIuL2N1c3RvbVdvcmtlckZpbGVzLmpzXCI7XG5pbXBvcnQgeyBwYWdlQW5kUHJvcEZpbGVzIH0gZnJvbSBcIi4vcGFnZUFuZFByb3BGaWxlcy5qc1wiO1xuXG5cblxudHlwZSBSZXNvbHZlQXV0b0Rpc2NvdmVyUHJvcHMgPSB7XG4gIGNvbmZpZzogVXNlckNvbmZpZyB8IFJlc29sdmVkQ29uZmlnO1xuICBjb25maWdFbnY6IENvbmZpZ0VudjtcbiAgdXNlck9wdGlvbnM6IFBpY2s8XG4gICAgUmVzb2x2ZWRVc2VyT3B0aW9ucyxcbiAgICB8IFwiYnVpbGRcIlxuICAgIHwgXCJub3JtYWxpemVyXCJcbiAgICB8IFwic2VydmVyRW50cnlcIlxuICAgIHwgXCJjbGllbnRFbnRyeVwiXG4gICAgfCBcInByb2plY3RSb290XCJcbiAgICB8IFwibW9kdWxlQmFzZVwiXG4gICAgfCBcIm1vZHVsZUJhc2VQYXRoXCJcbiAgICB8IFwiUGFnZVwiXG4gICAgfCBcInByb3BzXCJcbiAgICB8IFwiaHRtbFdvcmtlclBhdGhcIlxuICAgIHwgXCJyc2NXb3JrZXJQYXRoXCJcbiAgICB8IFwicGFnZUV4cG9ydE5hbWVcIlxuICAgIHwgXCJwcm9wc0V4cG9ydE5hbWVcIlxuICAgIHwgXCJodG1sRXhwb3J0TmFtZVwiXG4gICAgfCBcInJvb3RFeHBvcnROYW1lXCJcbiAgICB8IFwiUm9vdFwiXG4gICAgfCBcIkh0bWxcIlxuICAgIHwgXCJ2ZXJib3NlXCJcbiAgICB8IFwicGFuaWNUaHJlc2hvbGRcIlxuICAgIHwgXCJhdXRvRGlzY292ZXJcIlxuICA+O1xuICBsb2dnZXI6IExvZ2dlcjtcbn07XG5cbnR5cGUgUmVzb2x2ZUF1dG9EaXNjb3ZlclJldHVybiA9XG4gIHwge1xuICAgICAgdHlwZTogXCJzdWNjZXNzXCI7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgYXV0b0Rpc2NvdmVyZWRGaWxlczogQXV0b0Rpc2NvdmVyZWRGaWxlcztcbiAgICAgIGVycm9yPzogbmV2ZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiZXJyb3JcIjtcbiAgICAgIGVycm9yOiB1bmtub3duO1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGF1dG9EaXNjb3ZlcmVkRmlsZXM/OiBuZXZlcjtcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBSZXNvbHZlQXV0b0Rpc2NvdmVyRm4gPSAoXG4gIHByb3BzOiBSZXNvbHZlQXV0b0Rpc2NvdmVyUHJvcHNcbikgPT4gUHJvbWlzZTxSZXNvbHZlQXV0b0Rpc2NvdmVyUmV0dXJuPjtcblxuZXhwb3J0IGNvbnN0IHJlc29sdmVBdXRvRGlzY292ZXI6IFJlc29sdmVBdXRvRGlzY292ZXJGbiA9XG4gIGFzeW5jIGZ1bmN0aW9uIF9yZXNvbHZlQXV0b0Rpc2NvdmVyKHtcbiAgICBjb25maWcsXG4gICAgY29uZmlnRW52LFxuICAgIHVzZXJPcHRpb25zLFxuICAgIGxvZ2dlcixcbiAgfSkge1xuICAgIGNvbnN0IGVudklkID0gYCR7Y29uZmlnRW52LmNvbW1hbmR9LSR7Y29uZmlnRW52Lm1vZGV9YDtcbiAgICBcblxuICAgIFxuICAgIFxuICAgIFxuXG4gICAgY29uc3QgY29uZmlnSW5wdXRSZWNvcmQgPSB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGlmICh0eXBlb2YgY29uZmlnLmJ1aWxkPy5yb2xsdXBPcHRpb25zPy5pbnB1dCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgY29uZmlnSW5wdXRSZWNvcmRbXG4gICAgICAgIHVzZXJPcHRpb25zLm5vcm1hbGl6ZXIoY29uZmlnLmJ1aWxkPy5yb2xsdXBPcHRpb25zPy5pbnB1dClbMF1cbiAgICAgIF0gPSBjb25maWcuYnVpbGQ/LnJvbGx1cE9wdGlvbnM/LmlucHV0O1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvbmZpZy5idWlsZD8ucm9sbHVwT3B0aW9ucz8uaW5wdXQgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIGZvciAoY29uc3QgWywgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKFxuICAgICAgICBjb25maWcuYnVpbGQ/LnJvbGx1cE9wdGlvbnM/LmlucHV0XG4gICAgICApKSB7XG4gICAgICAgIGNvbmZpZ0lucHV0UmVjb3JkW3VzZXJPcHRpb25zLm5vcm1hbGl6ZXIodmFsdWUpWzBdXSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNlcnZlckVudHJ5ID1cbiAgICAgIHR5cGVvZiB1c2VyT3B0aW9ucy5zZXJ2ZXJFbnRyeSA9PT0gXCJzdHJpbmdcIlxuICAgICAgICA/IE9iamVjdC5mcm9tRW50cmllcyhbdXNlck9wdGlvbnMubm9ybWFsaXplcih1c2VyT3B0aW9ucy5zZXJ2ZXJFbnRyeSldKVxuICAgICAgICA6IG51bGw7XG5cbiAgICBjb25zdCBpbmRleEh0bWxJbnB1dHMgPSB7IGluZGV4OiBcImluZGV4Lmh0bWxcIiB9O1xuXG4gICAgY29uc3QgY2xpZW50RW50cnkgPVxuICAgICAgdHlwZW9mIHVzZXJPcHRpb25zLmNsaWVudEVudHJ5ID09PSBcInN0cmluZ1wiXG4gICAgICAgID8gT2JqZWN0LmZyb21FbnRyaWVzKFt1c2VyT3B0aW9ucy5ub3JtYWxpemVyKHVzZXJPcHRpb25zLmNsaWVudEVudHJ5KV0pXG4gICAgICAgIDoge307XG5cbiAgICBjb25zdCB7IHR5cGUsIGVycm9yLCBwYWdlcyB9ID0gYXdhaXQgcmVzb2x2ZVBhZ2VzKHVzZXJPcHRpb25zLmJ1aWxkLnBhZ2VzKTtcblxuICAgIGlmICh0eXBlID09PSBcImVycm9yXCIpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IFwiZXJyb3JcIixcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIGlkOiBlbnZJZCxcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IGNsaWVudEZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuY2xpZW50RW50cnkpO1xuICAgIGNvbnN0IHNlcnZlckZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuc2VydmVyRW50cnkpO1xuICAgIGNvbnN0IGNzc0ZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuY3NzRW50cnkpO1xuICAgIGNvbnN0IGpzb25GaWxlcyA9IGNyZWF0ZUdsb2JBdXRvRGlzY292ZXIodXNlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLmpzb25FbnRyeSk7XG4gICAgY29uc3QgaHRtbEZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuaHRtbFBhdHRlcm4uc291cmNlKTtcblxuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgcmVzb2x2ZUJ1aWxkUGFnZXMoe1xuICAgICAgcGFnZXMsXG4gICAgICB1c2VyT3B0aW9ucyxcbiAgICAgIGxvZ2dlcixcbiAgICB9KTtcblxuIFxuXG4gICAgY29uc3QgY3VzdG9tV29ya2VySW5wdXRzID0gY3VzdG9tV29ya2VyRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuICAgIGNvbnN0IGNsaWVudElucHV0cyA9IGF3YWl0IGNsaWVudEZpbGVzKHtcbiAgICAgIGlucHV0czoge30sXG4gICAgICB1c2VyT3B0aW9ucyxcbiAgICB9KTtcbiAgICBjb25zdCBzZXJ2ZXJBY3Rpb25zID0gYXdhaXQgc2VydmVyRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcGFnZUFuZFByb3BJbnB1dHMgPSBwYWdlQW5kUHJvcEZpbGVzKHtcbiAgICAgIGZpbGVzLFxuICAgICAgaW5wdXRzOiB7fSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNzc0lucHV0cyA9IGF3YWl0IGNzc0ZpbGVzKHtcbiAgICAgIGlucHV0czoge30sXG4gICAgICB1c2VyT3B0aW9ucyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGpzb25JbnB1dHMgPSBhd2FpdCBqc29uRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaHRtbElucHV0cyA9IGF3YWl0IGh0bWxGaWxlcyh7XG4gICAgICBpbnB1dHM6IHt9LFxuICAgICAgdXNlck9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgY3VzdG9tIFJvb3QgYW5kIEh0bWwgY29tcG9uZW50cyB0byBpbnB1dHNcbiAgICBjb25zdCBjdXN0b21Db21wb25lbnRJbnB1dHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgIC8vIEFkZCBSb290IGNvbXBvbmVudHMgZnJvbSByZXNvbHZlZCBidWlsZCBwYWdlc1xuICAgIGZvciAoY29uc3QgW3Jvb3RLZXksIHJvb3RWYWx1ZV0gb2YgZmlsZXMucm9vdE1hcCkge1xuICAgICAgaWYgKCFjdXN0b21Db21wb25lbnRJbnB1dHNbcm9vdEtleV0pIHtcbiAgICAgICAgY3VzdG9tQ29tcG9uZW50SW5wdXRzW3Jvb3RLZXldID0gcm9vdFZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkZCBIdG1sIGNvbXBvbmVudHMgZnJvbSByZXNvbHZlZCBidWlsZCBwYWdlc1xuICAgIGZvciAoY29uc3QgW2h0bWxLZXksIGh0bWxWYWx1ZV0gb2YgZmlsZXMuaHRtbE1hcCkge1xuICAgICAgaWYgKCFjdXN0b21Db21wb25lbnRJbnB1dHNbaHRtbEtleV0pIHtcbiAgICAgICAgY3VzdG9tQ29tcG9uZW50SW5wdXRzW2h0bWxLZXldID0gaHRtbFZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgXG4gICAgLy8gU2VwYXJhdGUgY2xpZW50IGFuZCBzZXJ2ZXIgaW5wdXRzXG4gICAgY29uc3QgY2xpZW50SW5wdXRzQ29sbGVjdGlvbiA9IHtcbiAgICAgIC4uLmNvbmZpZ0lucHV0UmVjb3JkLFxuICAgICAgLi4uY2xpZW50SW5wdXRzLFxuICAgICAgLi4uY2xpZW50RW50cnksXG4gICAgICAuLi5jc3NJbnB1dHMsXG4gICAgfTtcbiAgICBcbiAgICBjb25zdCBzZXJ2ZXJJbnB1dHNDb2xsZWN0aW9uID0ge1xuICAgICAgLi4uY2xpZW50SW5wdXRzQ29sbGVjdGlvbixcbiAgICAgIC4uLmN1c3RvbVdvcmtlcklucHV0cyxcbiAgICAgIC4uLnBhZ2VBbmRQcm9wSW5wdXRzLFxuICAgICAgLi4uY3NzSW5wdXRzLFxuICAgICAgLi4uc2VydmVyQWN0aW9ucyxcbiAgICAgIC4uLnNlcnZlckVudHJ5LFxuICAgICAgLi4uanNvbklucHV0cyxcbiAgICAgIC4uLmN1c3RvbUNvbXBvbmVudElucHV0cywgLy8gQWRkIGN1c3RvbSBjb21wb25lbnRzIHRvIHNlcnZlciBidWlsZFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogXCJzdWNjZXNzXCIsXG4gICAgICBpZDogZW52SWQsXG4gICAgICBhdXRvRGlzY292ZXJlZEZpbGVzOiB7XG4gICAgICAgIC4uLmZpbGVzLFxuICAgICAgICB3b3JrZXJQYXRoczogY3VzdG9tV29ya2VySW5wdXRzLFxuICAgICAgICBzZXJ2ZXJFbnRyeSxcbiAgICAgICAgY2xpZW50RW50cnksXG4gICAgICAgIHN0YXRpY0lucHV0czoge1xuICAgICAgICAgIC4uLmluZGV4SHRtbElucHV0cyxcbiAgICAgICAgICAuLi5odG1sSW5wdXRzLFxuICAgICAgICAgIC4uLmNsaWVudElucHV0c0NvbGxlY3Rpb25cbiAgICAgICAgfSxcbiAgICAgICAgY2xpZW50SW5wdXRzOiBjbGllbnRJbnB1dHNDb2xsZWN0aW9uLFxuICAgICAgICBzZXJ2ZXJJbnB1dHM6IHNlcnZlcklucHV0c0NvbGxlY3Rpb24sXG4gICAgICAgIHNlcnZlckFjdGlvbnMsXG4gICAgICB9LFxuICAgIH07XG4gIH07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBMERhLE1BQUEsbUJBQUEsR0FDWCxlQUFlLG9CQUFxQixDQUFBO0FBQUEsRUFDbEMsTUFBQTtBQUFBLEVBQ0EsU0FBQTtBQUFBLEVBQ0EsV0FBQTtBQUFBLEVBQ0E7QUFDRixDQUFHLEVBQUE7QUFDRCxFQUFBLE1BQU0sUUFBUSxDQUFHLEVBQUEsU0FBQSxDQUFVLE9BQU8sQ0FBQSxDQUFBLEVBQUksVUFBVSxJQUFJLENBQUEsQ0FBQTtBQU9wRCxFQUFBLE1BQU0sb0JBQW9CLEVBQUM7QUFDM0IsRUFBQSxJQUFJLE9BQU8sTUFBQSxDQUFPLEtBQU8sRUFBQSxhQUFBLEVBQWUsVUFBVSxRQUFVLEVBQUE7QUFDMUQsSUFBQSxpQkFBQSxDQUNFLFdBQVksQ0FBQSxVQUFBLENBQVcsTUFBTyxDQUFBLEtBQUEsRUFBTyxhQUFlLEVBQUEsS0FBSyxDQUFFLENBQUEsQ0FBQyxDQUM5RCxDQUFBLEdBQUksTUFBTyxDQUFBLEtBQUEsRUFBTyxhQUFlLEVBQUEsS0FBQTtBQUFBLGFBQ3hCLE9BQU8sTUFBQSxDQUFPLEtBQU8sRUFBQSxhQUFBLEVBQWUsVUFBVSxRQUFVLEVBQUE7QUFDakUsSUFBQSxLQUFBLE1BQVcsR0FBRyxLQUFLLENBQUEsSUFBSyxNQUFPLENBQUEsT0FBQTtBQUFBLE1BQzdCLE1BQUEsQ0FBTyxPQUFPLGFBQWUsRUFBQTtBQUFBLEtBQzVCLEVBQUE7QUFDRCxNQUFBLGlCQUFBLENBQWtCLFlBQVksVUFBVyxDQUFBLEtBQUssQ0FBRSxDQUFBLENBQUMsQ0FBQyxDQUFJLEdBQUEsS0FBQTtBQUFBO0FBQ3hEO0FBR0YsRUFBQSxNQUFNLFdBQ0osR0FBQSxPQUFPLFdBQVksQ0FBQSxXQUFBLEtBQWdCLFdBQy9CLE1BQU8sQ0FBQSxXQUFBLENBQVksQ0FBQyxXQUFBLENBQVksVUFBVyxDQUFBLFdBQUEsQ0FBWSxXQUFXLENBQUMsQ0FBQyxDQUNwRSxHQUFBLElBQUE7QUFFTixFQUFNLE1BQUEsZUFBQSxHQUFrQixFQUFFLEtBQUEsRUFBTyxZQUFhLEVBQUE7QUFFOUMsRUFBQSxNQUFNLFdBQ0osR0FBQSxPQUFPLFdBQVksQ0FBQSxXQUFBLEtBQWdCLFdBQy9CLE1BQU8sQ0FBQSxXQUFBLENBQVksQ0FBQyxXQUFBLENBQVksV0FBVyxXQUFZLENBQUEsV0FBVyxDQUFDLENBQUMsSUFDcEUsRUFBQztBQUVQLEVBQU0sTUFBQSxFQUFFLE1BQU0sS0FBTyxFQUFBLEtBQUEsS0FBVSxNQUFNLFlBQUEsQ0FBYSxXQUFZLENBQUEsS0FBQSxDQUFNLEtBQUssQ0FBQTtBQUV6RSxFQUFBLElBQUksU0FBUyxPQUFTLEVBQUE7QUFDcEIsSUFBTyxPQUFBO0FBQUEsTUFDTCxJQUFNLEVBQUEsT0FBQTtBQUFBLE1BQ04sS0FBQTtBQUFBLE1BQ0EsRUFBSSxFQUFBO0FBQUEsS0FDTjtBQUFBO0FBRUYsRUFBQSxNQUFNLFdBQWMsR0FBQSxzQkFBQSxDQUF1QixXQUFZLENBQUEsWUFBQSxDQUFhLFdBQVcsQ0FBQTtBQUMvRSxFQUFBLE1BQU0sV0FBYyxHQUFBLHNCQUFBLENBQXVCLFdBQVksQ0FBQSxZQUFBLENBQWEsV0FBVyxDQUFBO0FBQy9FLEVBQUEsTUFBTSxRQUFXLEdBQUEsc0JBQUEsQ0FBdUIsV0FBWSxDQUFBLFlBQUEsQ0FBYSxRQUFRLENBQUE7QUFDekUsRUFBQSxNQUFNLFNBQVksR0FBQSxzQkFBQSxDQUF1QixXQUFZLENBQUEsWUFBQSxDQUFhLFNBQVMsQ0FBQTtBQUMzRSxFQUFBLE1BQU0sU0FBWSxHQUFBLHNCQUFBLENBQXVCLFdBQVksQ0FBQSxZQUFBLENBQWEsWUFBWSxNQUFNLENBQUE7QUFFcEYsRUFBTSxNQUFBLEtBQUEsR0FBUSxNQUFNLGlCQUFrQixDQUFBO0FBQUEsSUFDcEMsS0FBQTtBQUFBLElBQ0EsV0FBQTtBQUFBLElBQ0E7QUFBQSxHQUNELENBQUE7QUFJRCxFQUFBLE1BQU0scUJBQXFCLGlCQUFrQixDQUFBO0FBQUEsSUFDM0MsUUFBUSxFQUFDO0FBQUEsSUFDVDtBQUFBLEdBQ0QsQ0FBQTtBQUNELEVBQU0sTUFBQSxZQUFBLEdBQWUsTUFBTSxXQUFZLENBQUE7QUFBQSxJQUNyQyxRQUFRLEVBQUM7QUFBQSxJQUNUO0FBQUEsR0FDRCxDQUFBO0FBQ0QsRUFBTSxNQUFBLGFBQUEsR0FBZ0IsTUFBTSxXQUFZLENBQUE7QUFBQSxJQUN0QyxRQUFRLEVBQUM7QUFBQSxJQUNUO0FBQUEsR0FDRCxDQUFBO0FBRUQsRUFBQSxNQUFNLG9CQUFvQixnQkFBaUIsQ0FBQTtBQUFBLElBQ3pDLEtBQUE7QUFBQSxJQUNBLFFBQVE7QUFBQyxHQUNWLENBQUE7QUFFRCxFQUFNLE1BQUEsU0FBQSxHQUFZLE1BQU0sUUFBUyxDQUFBO0FBQUEsSUFDL0IsUUFBUSxFQUFDO0FBQUEsSUFDVDtBQUFBLEdBQ0QsQ0FBQTtBQUVELEVBQU0sTUFBQSxVQUFBLEdBQWEsTUFBTSxTQUFVLENBQUE7QUFBQSxJQUNqQyxRQUFRLEVBQUM7QUFBQSxJQUNUO0FBQUEsR0FDRCxDQUFBO0FBRUQsRUFBTSxNQUFBLFVBQUEsR0FBYSxNQUFNLFNBQVUsQ0FBQTtBQUFBLElBQ2pDLFFBQVEsRUFBQztBQUFBLElBQ1Q7QUFBQSxHQUNELENBQUE7QUFHRCxFQUFBLE1BQU0sd0JBQWdELEVBQUM7QUFHdkQsRUFBQSxLQUFBLE1BQVcsQ0FBQyxPQUFBLEVBQVMsU0FBUyxDQUFBLElBQUssTUFBTSxPQUFTLEVBQUE7QUFDaEQsSUFBSSxJQUFBLENBQUMscUJBQXNCLENBQUEsT0FBTyxDQUFHLEVBQUE7QUFDbkMsTUFBQSxxQkFBQSxDQUFzQixPQUFPLENBQUksR0FBQSxTQUFBO0FBQUE7QUFDbkM7QUFJRixFQUFBLEtBQUEsTUFBVyxDQUFDLE9BQUEsRUFBUyxTQUFTLENBQUEsSUFBSyxNQUFNLE9BQVMsRUFBQTtBQUNoRCxJQUFJLElBQUEsQ0FBQyxxQkFBc0IsQ0FBQSxPQUFPLENBQUcsRUFBQTtBQUNuQyxNQUFBLHFCQUFBLENBQXNCLE9BQU8sQ0FBSSxHQUFBLFNBQUE7QUFBQTtBQUNuQztBQU1GLEVBQUEsTUFBTSxzQkFBeUIsR0FBQTtBQUFBLElBQzdCLEdBQUcsaUJBQUE7QUFBQSxJQUNILEdBQUcsWUFBQTtBQUFBLElBQ0gsR0FBRyxXQUFBO0FBQUEsSUFDSCxHQUFHO0FBQUEsR0FDTDtBQUVBLEVBQUEsTUFBTSxzQkFBeUIsR0FBQTtBQUFBLElBQzdCLEdBQUcsc0JBQUE7QUFBQSxJQUNILEdBQUcsa0JBQUE7QUFBQSxJQUNILEdBQUcsaUJBQUE7QUFBQSxJQUNILEdBQUcsU0FBQTtBQUFBLElBQ0gsR0FBRyxhQUFBO0FBQUEsSUFDSCxHQUFHLFdBQUE7QUFBQSxJQUNILEdBQUcsVUFBQTtBQUFBLElBQ0gsR0FBRztBQUFBO0FBQUEsR0FDTDtBQUVBLEVBQU8sT0FBQTtBQUFBLElBQ0wsSUFBTSxFQUFBLFNBQUE7QUFBQSxJQUNOLEVBQUksRUFBQSxLQUFBO0FBQUEsSUFDSixtQkFBcUIsRUFBQTtBQUFBLE1BQ25CLEdBQUcsS0FBQTtBQUFBLE1BQ0gsV0FBYSxFQUFBLGtCQUFBO0FBQUEsTUFDYixXQUFBO0FBQUEsTUFDQSxXQUFBO0FBQUEsTUFDQSxZQUFjLEVBQUE7QUFBQSxRQUNaLEdBQUcsZUFBQTtBQUFBLFFBQ0gsR0FBRyxVQUFBO0FBQUEsUUFDSCxHQUFHO0FBQUEsT0FDTDtBQUFBLE1BQ0EsWUFBYyxFQUFBLHNCQUFBO0FBQUEsTUFDZCxZQUFjLEVBQUEsc0JBQUE7QUFBQSxNQUNkO0FBQUE7QUFDRixHQUNGO0FBQ0Y7Ozs7In0=
@@ -1,4 +1,6 @@
1
1
  import type { PageName, PropsName, ResolvedBuildPages, ResolvedUserOptions } from "../../types.js";
2
+ import type { Logger } from "vite";
3
+ import type { Manifest } from "vite";
2
4
  /**
3
5
  * Resolves build pages by calling resolveUrlOption for each page in build.pages.
4
6
  *
@@ -22,8 +24,10 @@ import type { PageName, PropsName, ResolvedBuildPages, ResolvedUserOptions } fro
22
24
  * Only works when build.pages is explicitly provided. Without it, the system
23
25
  * falls back to filesystem scanning + dynamic resolution in getRouteFiles.ts.
24
26
  */
25
- export declare function resolveBuildPages({ pages, userOptions, }: {
27
+ export declare function resolveBuildPages({ pages, userOptions, logger, manifest, }: {
26
28
  pages: string[];
27
29
  userOptions: Pick<ResolvedUserOptions, PageName | PropsName | "Root" | "Html" | "build" | "moduleBase" | "projectRoot" | "normalizer" | "moduleBasePath" | "pageExportName" | "propsExportName" | "rootExportName" | "htmlExportName" | "verbose">;
30
+ logger: Logger;
31
+ manifest?: Manifest;
28
32
  }): Promise<ResolvedBuildPages>;
29
33
  //# sourceMappingURL=resolveBuildPages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveBuildPages.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/resolveBuildPages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAMnG;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,KAAK,EACL,WAAW,GACZ,EAAE;IACD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,CAAC,CAAC;CACpP,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4K9B"}
1
+ {"version":3,"file":"resolveBuildPages.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/resolveBuildPages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAkBrC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,KAAK,EACL,WAAW,EACX,MAAM,EACN,QAAa,GACd,EAAE;IACD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,IAAI,CACf,mBAAmB,EACjB,QAAQ,GACR,SAAS,GACT,MAAM,GACN,MAAM,GACN,OAAO,GACP,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,CACZ,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoP9B"}
@@ -9,16 +9,37 @@ import { resolveUrlOption } from '../resolveUrlOption.js';
9
9
 
10
10
  let stashedBuildPages = null;
11
11
  let stashedPages = null;
12
+ function resolvePathWithManifest(path, manifest) {
13
+ const manifestEntry = manifest[path];
14
+ if (manifestEntry && manifestEntry.file) {
15
+ return manifestEntry.file;
16
+ }
17
+ return path;
18
+ }
12
19
  async function resolveBuildPages({
13
20
  pages,
14
- userOptions
21
+ userOptions,
22
+ logger,
23
+ manifest = {}
15
24
  }) {
16
25
  if (userOptions.verbose) {
17
- console.log(`[resolveBuildPages] resolveBuildPages called with pages:`, pages, `Root:`, userOptions.Root, `Html:`, userOptions.Html);
26
+ logger.info(
27
+ `[resolveBuildPages] resolveBuildPages called with pages:${pages.length} and Root: ${typeof userOptions.Root} Html: ${typeof userOptions.Html}`
28
+ );
18
29
  }
19
30
  const pagesChanged = !stashedPages || stashedPages.length !== pages.length || !stashedPages.every((page, i) => page === pages[i]);
20
31
  if (stashedBuildPages && !pagesChanged) {
21
32
  return stashedBuildPages;
33
+ } else if (userOptions.verbose) {
34
+ if (stashedPages == null) {
35
+ logger.info(
36
+ `[resolveBuildPages] resolveBuildPages - first time resolving pages`
37
+ );
38
+ } else {
39
+ logger.info(
40
+ `[resolveBuildPages] resolveBuildPages - pages changed, re-resolving`
41
+ );
42
+ }
22
43
  }
23
44
  const errors = [];
24
45
  const pageMap = /* @__PURE__ */ new Map();
@@ -34,66 +55,82 @@ async function resolveBuildPages({
34
55
  continue;
35
56
  }
36
57
  const [pageKey, pageValue] = userOptions.normalizer(pageResult.Page);
58
+ const manifestResolvedPageValue = resolvePathWithManifest(pageValue, manifest);
37
59
  let rootValue;
38
60
  if (userOptions.Root) {
39
61
  if (userOptions.verbose) {
40
- console.log(`[resolveBuildPages] resolveBuildPages - resolving Root for page: ${page}, Root option: ${userOptions.Root}`);
62
+ logger.info(
63
+ `[resolveBuildPages] resolveBuildPages - resolving Root for page: ${page}, Root option: ${userOptions.Root}`
64
+ );
41
65
  }
42
66
  const rootResult = await resolveUrlOption(userOptions, "Root", page);
43
67
  if (rootResult.type === "error") {
44
68
  if (userOptions.verbose) {
45
- console.log(`[resolveBuildPages] resolveBuildPages - Root resolution failed:`, rootResult.error);
69
+ logger.info(
70
+ `[resolveBuildPages] resolveBuildPages - Root resolution failed with error message: "${rootResult.error?.message}"`
71
+ );
46
72
  }
47
73
  errors.push(rootResult.error);
48
74
  } else {
49
- const [rootKey, resolvedRootValue] = userOptions.normalizer(rootResult.Root);
75
+ const [rootKey, resolvedRootValue] = userOptions.normalizer(
76
+ rootResult.Root
77
+ );
78
+ const manifestResolvedRootValue = resolvePathWithManifest(resolvedRootValue, manifest);
50
79
  if (userOptions.verbose) {
51
- console.log(`[resolveBuildPages] resolveBuildPages - Root resolved: ${rootResult.Root} -> ${resolvedRootValue}`);
80
+ logger.info(
81
+ `[resolveBuildPages] resolveBuildPages - Root resolved: ${rootResult.Root} -> ${resolvedRootValue} -> ${manifestResolvedRootValue}`
82
+ );
52
83
  }
53
- rootValue = resolvedRootValue;
54
- rootMap.set(rootKey, resolvedRootValue);
55
- }
56
- } else {
57
- if (userOptions.verbose) {
58
- console.log(`[resolveBuildPages] resolveBuildPages - No Root option defined`);
84
+ rootValue = manifestResolvedRootValue;
85
+ rootMap.set(rootKey, manifestResolvedRootValue);
59
86
  }
60
87
  }
61
88
  let htmlValue;
62
89
  if (userOptions.Html) {
63
90
  if (userOptions.verbose) {
64
- console.log(`[resolveBuildPages] resolveBuildPages - resolving Html for page: ${page}, Html option: ${userOptions.Html}`);
91
+ logger.info(
92
+ `[resolveBuildPages] resolveBuildPages - resolving Html for page: ${page}, Html option: ${userOptions.Html}`
93
+ );
65
94
  }
66
95
  const htmlResult = await resolveUrlOption(userOptions, "Html", page);
67
96
  if (htmlResult.type === "error") {
68
97
  if (userOptions.verbose) {
69
- console.log(`[resolveBuildPages] resolveBuildPages - Html resolution failed:`, htmlResult.error);
98
+ logger.info(
99
+ `[resolveBuildPages] resolveBuildPages - Html resolution failed with error message: "${htmlResult.error?.message}"`
100
+ );
70
101
  }
71
102
  errors.push(htmlResult.error);
72
103
  } else {
73
- const [htmlKey, resolvedHtmlValue] = userOptions.normalizer(htmlResult.Html);
104
+ const [htmlKey, resolvedHtmlValue] = userOptions.normalizer(
105
+ htmlResult.Html
106
+ );
107
+ const manifestResolvedHtmlValue = resolvePathWithManifest(resolvedHtmlValue, manifest);
74
108
  if (userOptions.verbose) {
75
- console.log(`[resolveBuildPages] resolveBuildPages - Html resolved: ${htmlResult.Html} -> ${resolvedHtmlValue}`);
109
+ logger.info(
110
+ `[resolveBuildPages] resolveBuildPages - Html resolved: ${htmlResult.Html} -> ${resolvedHtmlValue} -> ${manifestResolvedHtmlValue}`
111
+ );
76
112
  }
77
- htmlValue = resolvedHtmlValue;
78
- htmlMap.set(htmlKey, resolvedHtmlValue);
79
- }
80
- } else {
81
- if (userOptions.verbose) {
82
- console.log(`[resolveBuildPages] resolveBuildPages - No Html option defined`);
113
+ htmlValue = manifestResolvedHtmlValue;
114
+ htmlMap.set(htmlKey, manifestResolvedHtmlValue);
83
115
  }
84
116
  }
85
117
  if (!userOptions.props) {
86
- urlMap.set(page, { props: void 0, page: pageValue, root: rootValue, html: htmlValue });
87
- pageMap.set(pageKey, pageValue);
88
- const routes = routeMap.get(pageValue) || [];
118
+ urlMap.set(page, {
119
+ props: void 0,
120
+ page: manifestResolvedPageValue,
121
+ root: rootValue,
122
+ html: htmlValue
123
+ });
124
+ pageMap.set(pageKey, manifestResolvedPageValue);
125
+ const routes = routeMap.get(manifestResolvedPageValue) || [];
89
126
  routes.push(page);
90
- routeMap.set(pageValue, routes);
127
+ routeMap.set(manifestResolvedPageValue, routes);
91
128
  continue;
92
129
  }
93
130
  try {
94
- await access(join(userOptions.projectRoot, pageValue));
131
+ await access(join(userOptions.projectRoot, manifestResolvedPageValue));
95
132
  } catch {
96
- errors.push(new Error(`Page file not found: ${pageValue}`));
133
+ errors.push(new Error(`Page file not found: ${manifestResolvedPageValue}`));
97
134
  }
98
135
  const propsResult = await resolveUrlOption(userOptions, "props", page);
99
136
  if (propsResult.type === "error") {
@@ -102,61 +139,96 @@ async function resolveBuildPages({
102
139
  }
103
140
  if (propsResult.props) {
104
141
  const [propsKey, propsValue] = userOptions.normalizer(propsResult.props);
105
- if (propsValue !== pageValue) {
142
+ const manifestResolvedPropsValue = resolvePathWithManifest(propsValue, manifest);
143
+ if (manifestResolvedPropsValue !== manifestResolvedPageValue) {
106
144
  try {
107
- await access(join(userOptions.projectRoot, propsValue));
145
+ await access(join(userOptions.projectRoot, manifestResolvedPropsValue));
108
146
  } catch {
109
- errors.push(
110
- new Error(`Props file not found: ${propsValue}`)
111
- );
147
+ errors.push(new Error(`Props file not found: ${manifestResolvedPropsValue}`));
112
148
  }
113
149
  }
114
- urlMap.set(page, { props: propsValue, page: pageValue, root: rootValue, html: htmlValue });
115
- propsMap.set(propsKey, propsValue);
116
- const pageRoutes = routeMap.get(pageValue) || [];
150
+ urlMap.set(page, {
151
+ props: manifestResolvedPropsValue,
152
+ page: manifestResolvedPageValue,
153
+ root: rootValue,
154
+ html: htmlValue
155
+ });
156
+ propsMap.set(propsKey, manifestResolvedPropsValue);
157
+ const pageRoutes = routeMap.get(manifestResolvedPageValue) || [];
117
158
  pageRoutes.push(page);
118
- routeMap.set(pageValue, pageRoutes);
119
- const propsRoutes = routeMap.get(propsValue) || [];
159
+ routeMap.set(manifestResolvedPageValue, pageRoutes);
160
+ const propsRoutes = routeMap.get(manifestResolvedPropsValue) || [];
120
161
  propsRoutes.push(page);
121
- routeMap.set(propsValue, propsRoutes);
162
+ routeMap.set(manifestResolvedPropsValue, propsRoutes);
122
163
  } else {
123
- urlMap.set(page, { props: void 0, page: pageValue, root: rootValue, html: htmlValue });
124
- const routes = routeMap.get(pageValue) || [];
164
+ urlMap.set(page, {
165
+ props: void 0,
166
+ page: manifestResolvedPageValue,
167
+ root: rootValue,
168
+ html: htmlValue
169
+ });
170
+ const routes = routeMap.get(manifestResolvedPageValue) || [];
125
171
  routes.push(page);
126
- routeMap.set(pageValue, routes);
172
+ routeMap.set(manifestResolvedPageValue, routes);
127
173
  }
128
- pageMap.set(pageKey, pageValue);
174
+ pageMap.set(pageKey, manifestResolvedPageValue);
129
175
  }
130
176
  if (pages.length === 0 && (userOptions.Root || userOptions.Html)) {
131
177
  if (userOptions.verbose) {
132
- console.log(`[resolveBuildPages] resolveBuildPages - No pages but custom components defined, resolving for default route`);
178
+ logger.info(
179
+ `[resolveBuildPages] resolveBuildPages - No pages but custom components defined, resolving for default route`
180
+ );
133
181
  }
134
182
  const defaultPage = "/";
135
183
  if (userOptions.Root) {
136
- const rootResult = await resolveUrlOption(userOptions, "Root", defaultPage);
184
+ const rootResult = await resolveUrlOption(
185
+ userOptions,
186
+ "Root",
187
+ defaultPage
188
+ );
137
189
  if (rootResult.type === "success") {
138
- const [rootKey, resolvedRootValue] = userOptions.normalizer(rootResult.Root);
190
+ const [rootKey, resolvedRootValue] = userOptions.normalizer(
191
+ rootResult.Root
192
+ );
139
193
  if (userOptions.verbose) {
140
- console.log(`[resolveBuildPages] resolveBuildPages - Default Root resolved: ${rootResult.Root} -> ${resolvedRootValue}`);
194
+ logger.info(
195
+ `[resolveBuildPages] resolveBuildPages - Default Root resolved: ${rootResult.Root} -> ${resolvedRootValue}`
196
+ );
141
197
  }
142
198
  rootMap.set(rootKey, resolvedRootValue);
143
199
  }
144
200
  }
145
201
  if (userOptions.Html) {
146
- const htmlResult = await resolveUrlOption(userOptions, "Html", defaultPage);
202
+ const htmlResult = await resolveUrlOption(
203
+ userOptions,
204
+ "Html",
205
+ defaultPage
206
+ );
147
207
  if (htmlResult.type === "success") {
148
- const [htmlKey, resolvedHtmlValue] = userOptions.normalizer(htmlResult.Html);
208
+ const [htmlKey, resolvedHtmlValue] = userOptions.normalizer(
209
+ htmlResult.Html
210
+ );
149
211
  if (userOptions.verbose) {
150
- console.log(`[resolveBuildPages] resolveBuildPages - Default Html resolved: ${htmlResult.Html} -> ${resolvedHtmlValue}`);
212
+ logger.info(
213
+ `[resolveBuildPages] resolveBuildPages - Default Html resolved: ${htmlResult.Html} -> ${resolvedHtmlValue}`
214
+ );
151
215
  }
152
216
  htmlMap.set(htmlKey, resolvedHtmlValue);
153
217
  }
154
218
  }
155
219
  }
156
- stashedBuildPages = { pageMap, propsMap, rootMap, htmlMap, urlMap, routeMap, errors };
220
+ stashedBuildPages = {
221
+ pageMap,
222
+ propsMap,
223
+ rootMap,
224
+ htmlMap,
225
+ urlMap,
226
+ routeMap,
227
+ errors
228
+ };
157
229
  stashedPages = [...pages];
158
230
  return stashedBuildPages;
159
231
  }
160
232
 
161
233
  export { resolveBuildPages };
162
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZUJ1aWxkUGFnZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BsdWdpbi9jb25maWcvYXV0b0Rpc2NvdmVyL3Jlc29sdmVCdWlsZFBhZ2VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFjY2VzcyB9IGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCI7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBQYWdlTmFtZSwgUHJvcHNOYW1lLCBSZXNvbHZlZEJ1aWxkUGFnZXMsIFJlc29sdmVkVXNlck9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IHJlc29sdmVVcmxPcHRpb24gfSBmcm9tIFwiLi4vcmVzb2x2ZVVybE9wdGlvbi5qc1wiO1xuXG5sZXQgc3Rhc2hlZEJ1aWxkUGFnZXM6IFJlc29sdmVkQnVpbGRQYWdlcyB8IG51bGwgPSBudWxsO1xubGV0IHN0YXNoZWRQYWdlczogc3RyaW5nW10gfCBudWxsID0gbnVsbDtcblxuLyoqXG4gKiBSZXNvbHZlcyBidWlsZCBwYWdlcyBieSBjYWxsaW5nIHJlc29sdmVVcmxPcHRpb24gZm9yIGVhY2ggcGFnZSBpbiBidWlsZC5wYWdlcy5cbiAqIFxuICogIyMgQlVJTEQtVElNRSBTVEFUSUMgRElTQ09WRVJZXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBkdXJpbmcgYnVpbGQvc3RhcnR1cCB0bzpcbiAqIDEuIFRha2UgdGhlIGV4cGxpY2l0IGBidWlsZC5wYWdlc2AgYXJyYXkgKGUuZy4sIFtcIi9cIiwgXCIvYWJvdXRcIiwgXCIvcHJvZHVjdHNcIl0pXG4gKiAyLiBDYWxsIGByZXNvbHZlVXJsT3B0aW9uYCBmb3IgZWFjaCBwYWdlIHRvIGdldCBmaWxlIHBhdGhzXG4gKiAzLiBCdWlsZCBzdGF0aWMgbWFwcyAodXJsTWFwLCBwYWdlTWFwLCBwcm9wc01hcCwgcm91dGVNYXApIGZvciBmYXN0IHJ1bnRpbWUgbG9va3VwXG4gKiA0LiBWYWxpZGF0ZSB0aGF0IHJlc29sdmVkIGZpbGUgcGF0aHMgYWN0dWFsbHkgZXhpc3Qgb24gZmlsZXN5c3RlbVxuICogXG4gKiAjIyBDYWNoZSBTdHJhdGVneTpcbiAqIFJlc3VsdHMgYXJlIGNhY2hlZCAoc3Rhc2hlZEJ1aWxkUGFnZXMpIHRvIGF2b2lkIHJlLXJlc29sdmluZyBvbiBldmVyeSBidWlsZC5cbiAqIENhY2hlIGlzIGludmFsaWRhdGVkIG9ubHkgd2hlbiB0aGUgcGFnZXMgYXJyYXkgY2hhbmdlcy5cbiAqIFxuICogIyMgVXNhZ2UgRmxvdzpcbiAqIC0gQ2FsbGVkIGJ5IGJ1aWxkIHByb2Nlc3MgYW5kIHBsdWdpbiBpbml0aWFsaXphdGlvblxuICogLSBGZWVkcyBpbnRvIGF1dG8tZGlzY292ZXJ5IHN5c3RlbSB0byBwb3B1bGF0ZSB1cmxNYXAgY2FjaGVcbiAqIC0gRW5hYmxlcyBmYXN0IHJ1bnRpbWUgbG9va3VwIGluIGdldFJvdXRlRmlsZXMudHMgd2l0aG91dCBkeW5hbWljIHJlc29sdXRpb25cbiAqIFxuICogIyMgTGltaXRhdGlvbjpcbiAqIE9ubHkgd29ya3Mgd2hlbiBidWlsZC5wYWdlcyBpcyBleHBsaWNpdGx5IHByb3ZpZGVkLiBXaXRob3V0IGl0LCB0aGUgc3lzdGVtXG4gKiBmYWxscyBiYWNrIHRvIGZpbGVzeXN0ZW0gc2Nhbm5pbmcgKyBkeW5hbWljIHJlc29sdXRpb24gaW4gZ2V0Um91dGVGaWxlcy50cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVCdWlsZFBhZ2VzKHtcbiAgcGFnZXMsXG4gIHVzZXJPcHRpb25zLFxufToge1xuICBwYWdlczogc3RyaW5nW107XG4gIHVzZXJPcHRpb25zOiBQaWNrPFJlc29sdmVkVXNlck9wdGlvbnMsIFBhZ2VOYW1lIHwgUHJvcHNOYW1lIHwgXCJSb290XCIgfCBcIkh0bWxcIiB8IFwiYnVpbGRcIiB8IFwibW9kdWxlQmFzZVwiIHwgXCJwcm9qZWN0Um9vdFwiIHwgXCJub3JtYWxpemVyXCIgfCBcIm1vZHVsZUJhc2VQYXRoXCIgfCBcInBhZ2VFeHBvcnROYW1lXCIgfCBcInByb3BzRXhwb3J0TmFtZVwiIHwgXCJyb290RXhwb3J0TmFtZVwiIHwgXCJodG1sRXhwb3J0TmFtZVwiIHwgXCJ2ZXJib3NlXCI+O1xufSk6IFByb21pc2U8UmVzb2x2ZWRCdWlsZFBhZ2VzPiB7XG4gIGlmICh1c2VyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgY29uc29sZS5sb2coYFtyZXNvbHZlQnVpbGRQYWdlc10gcmVzb2x2ZUJ1aWxkUGFnZXMgY2FsbGVkIHdpdGggcGFnZXM6YCwgcGFnZXMsIGBSb290OmAsIHVzZXJPcHRpb25zLlJvb3QsIGBIdG1sOmAsIHVzZXJPcHRpb25zLkh0bWwpO1xuICB9XG4gIC8vIENoZWNrIGlmIHBhZ2VzIGFycmF5IGhhcyBjaGFuZ2VkXG4gIGNvbnN0IHBhZ2VzQ2hhbmdlZCA9XG4gICAgIXN0YXNoZWRQYWdlcyB8fFxuICAgIHN0YXNoZWRQYWdlcy5sZW5ndGggIT09IHBhZ2VzLmxlbmd0aCB8fFxuICAgICFzdGFzaGVkUGFnZXMuZXZlcnkoKHBhZ2UsIGkpID0+IHBhZ2UgPT09IHBhZ2VzW2ldKTtcblxuICBpZiAoc3Rhc2hlZEJ1aWxkUGFnZXMgJiYgIXBhZ2VzQ2hhbmdlZCkge1xuICAgIHJldHVybiBzdGFzaGVkQnVpbGRQYWdlczsgLy8gUmV0dXJuIGRpcmVjdGx5IHdpdGhvdXQgUHJvbWlzZS5yZXNvbHZlXG4gIH1cbiAgY29uc3QgZXJyb3JzOiBFcnJvcltdID0gW107XG4gIGNvbnN0IHBhZ2VNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICBjb25zdCBwcm9wc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gIGNvbnN0IHJvb3RNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICBjb25zdCBodG1sTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgY29uc3QgdXJsTWFwID0gbmV3IE1hcDxzdHJpbmcsIHsgcHJvcHM6IHN0cmluZyB8IHVuZGVmaW5lZDsgcGFnZTogc3RyaW5nOyByb290Pzogc3RyaW5nOyBodG1sPzogc3RyaW5nIH0+KCk7XG4gIGNvbnN0IHJvdXRlTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZ1tdPigpO1xuXG4gIGZvciAoY29uc3QgcGFnZSBvZiBwYWdlcykge1xuICAgIGNvbnN0IHBhZ2VSZXN1bHQgPSBhd2FpdCByZXNvbHZlVXJsT3B0aW9uKHVzZXJPcHRpb25zLCBcIlBhZ2VcIiwgcGFnZSk7XG4gICAgaWYocGFnZVJlc3VsdC50eXBlID09PSBcImVycm9yXCIpIHtcbiAgICAgIGVycm9ycy5wdXNoKHBhZ2VSZXN1bHQuZXJyb3IpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IFtwYWdlS2V5LCBwYWdlVmFsdWVdID0gdXNlck9wdGlvbnMubm9ybWFsaXplcihwYWdlUmVzdWx0LlBhZ2UpO1xuICAgIFxuICAgIC8vIFJlc29sdmUgUm9vdCBjb21wb25lbnQgcGF0aCBpZiBkZWZpbmVkXG4gICAgbGV0IHJvb3RWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmICh1c2VyT3B0aW9ucy5Sb290KSB7XG4gICAgICBpZiAodXNlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgW3Jlc29sdmVCdWlsZFBhZ2VzXSByZXNvbHZlQnVpbGRQYWdlcyAtIHJlc29sdmluZyBSb290IGZvciBwYWdlOiAke3BhZ2V9LCBSb290IG9wdGlvbjogJHt1c2VyT3B0aW9ucy5Sb290fWApO1xuICAgICAgfVxuICAgICAgY29uc3Qgcm9vdFJlc3VsdCA9IGF3YWl0IHJlc29sdmVVcmxPcHRpb24odXNlck9wdGlvbnMsIFwiUm9vdFwiLCBwYWdlKTtcbiAgICAgIGlmIChyb290UmVzdWx0LnR5cGUgPT09IFwiZXJyb3JcIikge1xuICAgICAgICBpZiAodXNlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBbcmVzb2x2ZUJ1aWxkUGFnZXNdIHJlc29sdmVCdWlsZFBhZ2VzIC0gUm9vdCByZXNvbHV0aW9uIGZhaWxlZDpgLCByb290UmVzdWx0LmVycm9yKTtcbiAgICAgICAgfVxuICAgICAgICBlcnJvcnMucHVzaChyb290UmVzdWx0LmVycm9yKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IFtyb290S2V5LCByZXNvbHZlZFJvb3RWYWx1ZV0gPSB1c2VyT3B0aW9ucy5ub3JtYWxpemVyKHJvb3RSZXN1bHQuUm9vdCk7XG4gICAgICAgIGlmICh1c2VyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYFtyZXNvbHZlQnVpbGRQYWdlc10gcmVzb2x2ZUJ1aWxkUGFnZXMgLSBSb290IHJlc29sdmVkOiAke3Jvb3RSZXN1bHQuUm9vdH0gLT4gJHtyZXNvbHZlZFJvb3RWYWx1ZX1gKTtcbiAgICAgICAgfVxuICAgICAgICByb290VmFsdWUgPSByZXNvbHZlZFJvb3RWYWx1ZTtcbiAgICAgICAgcm9vdE1hcC5zZXQocm9vdEtleSwgcmVzb2x2ZWRSb290VmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodXNlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgW3Jlc29sdmVCdWlsZFBhZ2VzXSByZXNvbHZlQnVpbGRQYWdlcyAtIE5vIFJvb3Qgb3B0aW9uIGRlZmluZWRgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gUmVzb2x2ZSBIdG1sIGNvbXBvbmVudCBwYXRoIGlmIGRlZmluZWRcbiAgICBsZXQgaHRtbFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHVzZXJPcHRpb25zLkh0bWwpIHtcbiAgICAgIGlmICh1c2VyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBbcmVzb2x2ZUJ1aWxkUGFnZXNdIHJlc29sdmVCdWlsZFBhZ2VzIC0gcmVzb2x2aW5nIEh0bWwgZm9yIHBhZ2U6ICR7cGFnZX0sIEh0bWwgb3B0aW9uOiAke3VzZXJPcHRpb25zLkh0bWx9YCk7XG4gICAgICB9XG4gICAgICBjb25zdCBodG1sUmVzdWx0ID0gYXdhaXQgcmVzb2x2ZVVybE9wdGlvbih1c2VyT3B0aW9ucywgXCJIdG1sXCIsIHBhZ2UpO1xuICAgICAgaWYgKGh0bWxSZXN1bHQudHlwZSA9PT0gXCJlcnJvclwiKSB7XG4gICAgICAgIGlmICh1c2VyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYFtyZXNvbHZlQnVpbGRQYWdlc10gcmVzb2x2ZUJ1aWxkUGFnZXMgLSBIdG1sIHJlc29sdXRpb24gZmFpbGVkOmAsIGh0bWxSZXN1bHQuZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGVycm9ycy5wdXNoKGh0bWxSZXN1bHQuZXJyb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgW2h0bWxLZXksIHJlc29sdmVkSHRtbFZhbHVlXSA9IHVzZXJPcHRpb25zLm5vcm1hbGl6ZXIoaHRtbFJlc3VsdC5IdG1sKTtcbiAgICAgICAgaWYgKHVzZXJPcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgW3Jlc29sdmVCdWlsZFBhZ2VzXSByZXNvbHZlQnVpbGRQYWdlcyAtIEh0bWwgcmVzb2x2ZWQ6ICR7aHRtbFJlc3VsdC5IdG1sfSAtPiAke3Jlc29sdmVkSHRtbFZhbHVlfWApO1xuICAgICAgICB9XG4gICAgICAgIGh0bWxWYWx1ZSA9IHJlc29sdmVkSHRtbFZhbHVlO1xuICAgICAgICBodG1sTWFwLnNldChodG1sS2V5LCByZXNvbHZlZEh0bWxWYWx1ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh1c2VyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBbcmVzb2x2ZUJ1aWxkUGFnZXNdIHJlc29sdmVCdWlsZFBhZ2VzIC0gTm8gSHRtbCBvcHRpb24gZGVmaW5lZGApO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBpZighdXNlck9wdGlvbnMucHJvcHMpIHtcbiAgICAgIHVybE1hcC5zZXQocGFnZSwgeyBwcm9wczogdW5kZWZpbmVkLCBwYWdlOiBwYWdlVmFsdWUsIHJvb3Q6IHJvb3RWYWx1ZSwgaHRtbDogaHRtbFZhbHVlIH0pO1xuICAgICAgcGFnZU1hcC5zZXQocGFnZUtleSwgcGFnZVZhbHVlKTtcbiAgICAgIC8vIEFkZCB0byByb3V0ZU1hcFxuICAgICAgY29uc3Qgcm91dGVzID0gcm91dGVNYXAuZ2V0KHBhZ2VWYWx1ZSkgfHwgW107XG4gICAgICByb3V0ZXMucHVzaChwYWdlKTtcbiAgICAgIHJvdXRlTWFwLnNldChwYWdlVmFsdWUsIHJvdXRlcyk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGFjY2Vzcyhqb2luKHVzZXJPcHRpb25zLnByb2plY3RSb290LCBwYWdlVmFsdWUpKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIGVycm9ycy5wdXNoKG5ldyBFcnJvcihgUGFnZSBmaWxlIG5vdCBmb3VuZDogJHtwYWdlVmFsdWV9YCkpO1xuICAgIH1cbiAgICBjb25zdCBwcm9wc1Jlc3VsdCA9IGF3YWl0IHJlc29sdmVVcmxPcHRpb24odXNlck9wdGlvbnMsIFwicHJvcHNcIiwgcGFnZSk7XG4gICAgaWYocHJvcHNSZXN1bHQudHlwZSA9PT0gXCJlcnJvclwiKSB7XG4gICAgICBlcnJvcnMucHVzaChwcm9wc1Jlc3VsdC5lcnJvcik7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBJZiBwcm9wc1BhdGggaXMgZGVmaW5lZCwgY2hlY2sgaWYgaXQgZXhpc3RzXG4gICAgaWYgKHByb3BzUmVzdWx0LnByb3BzKSB7XG4gICAgICBjb25zdCBbcHJvcHNLZXksIHByb3BzVmFsdWVdID0gdXNlck9wdGlvbnMubm9ybWFsaXplcihwcm9wc1Jlc3VsdC5wcm9wcyk7XG4gICAgICBpZiAocHJvcHNWYWx1ZSAhPT0gcGFnZVZhbHVlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgYWNjZXNzKGpvaW4odXNlck9wdGlvbnMucHJvamVjdFJvb3QsIHByb3BzVmFsdWUpKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgICBuZXcgRXJyb3IoYFByb3BzIGZpbGUgbm90IGZvdW5kOiAke3Byb3BzVmFsdWV9YClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB1cmxNYXAuc2V0KHBhZ2UsIHsgcHJvcHM6IHByb3BzVmFsdWUsIHBhZ2U6IHBhZ2VWYWx1ZSwgcm9vdDogcm9vdFZhbHVlLCBodG1sOiBodG1sVmFsdWUgfSk7XG4gICAgICBwcm9wc01hcC5zZXQocHJvcHNLZXksIHByb3BzVmFsdWUpO1xuICAgICAgXG4gICAgICAvLyBBZGQgdG8gcm91dGVNYXAgZm9yIGJvdGggcGFnZSBhbmQgcHJvcHMgZmlsZXNcbiAgICAgIGNvbnN0IHBhZ2VSb3V0ZXMgPSByb3V0ZU1hcC5nZXQocGFnZVZhbHVlKSB8fCBbXTtcbiAgICAgIHBhZ2VSb3V0ZXMucHVzaChwYWdlKTtcbiAgICAgIHJvdXRlTWFwLnNldChwYWdlVmFsdWUsIHBhZ2VSb3V0ZXMpO1xuICAgICAgXG4gICAgICBjb25zdCBwcm9wc1JvdXRlcyA9IHJvdXRlTWFwLmdldChwcm9wc1ZhbHVlKSB8fCBbXTtcbiAgICAgIHByb3BzUm91dGVzLnB1c2gocGFnZSk7XG4gICAgICByb3V0ZU1hcC5zZXQocHJvcHNWYWx1ZSwgcHJvcHNSb3V0ZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiBubyBwcm9wcyBwYXRoLCB1c2UgdGhlIHBhZ2UgcGF0aCBmb3IgYm90aFxuICAgICAgdXJsTWFwLnNldChwYWdlLCB7IHByb3BzOiB1bmRlZmluZWQsIHBhZ2U6IHBhZ2VWYWx1ZSwgcm9vdDogcm9vdFZhbHVlLCBodG1sOiBodG1sVmFsdWUgfSk7XG4gICAgICBcbiAgICAgIC8vIEFkZCB0byByb3V0ZU1hcCBmb3IgcGFnZSBmaWxlIG9ubHlcbiAgICAgIGNvbnN0IHJvdXRlcyA9IHJvdXRlTWFwLmdldChwYWdlVmFsdWUpIHx8IFtdO1xuICAgICAgcm91dGVzLnB1c2gocGFnZSk7XG4gICAgICByb3V0ZU1hcC5zZXQocGFnZVZhbHVlLCByb3V0ZXMpO1xuICAgIH1cblxuICAgIHBhZ2VNYXAuc2V0KHBhZ2VLZXksIHBhZ2VWYWx1ZSk7XG4gIH1cblxuICAvLyBJZiB0aGVyZSBhcmUgbm8gcGFnZXMgYnV0IGN1c3RvbSBjb21wb25lbnRzIGFyZSBkZWZpbmVkLCByZXNvbHZlIHRoZW0gZm9yIGEgZGVmYXVsdCByb3V0ZVxuICBpZiAocGFnZXMubGVuZ3RoID09PSAwICYmICh1c2VyT3B0aW9ucy5Sb290IHx8IHVzZXJPcHRpb25zLkh0bWwpKSB7XG4gICAgaWYgKHVzZXJPcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBbcmVzb2x2ZUJ1aWxkUGFnZXNdIHJlc29sdmVCdWlsZFBhZ2VzIC0gTm8gcGFnZXMgYnV0IGN1c3RvbSBjb21wb25lbnRzIGRlZmluZWQsIHJlc29sdmluZyBmb3IgZGVmYXVsdCByb3V0ZWApO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0UGFnZSA9IFwiL1wiO1xuICAgIFxuICAgIC8vIFJlc29sdmUgUm9vdCBjb21wb25lbnQgZm9yIGRlZmF1bHQgcm91dGVcbiAgICBpZiAodXNlck9wdGlvbnMuUm9vdCkge1xuICAgICAgY29uc3Qgcm9vdFJlc3VsdCA9IGF3YWl0IHJlc29sdmVVcmxPcHRpb24odXNlck9wdGlvbnMsIFwiUm9vdFwiLCBkZWZhdWx0UGFnZSk7XG4gICAgICBpZiAocm9vdFJlc3VsdC50eXBlID09PSBcInN1Y2Nlc3NcIikge1xuICAgICAgICBjb25zdCBbcm9vdEtleSwgcmVzb2x2ZWRSb290VmFsdWVdID0gdXNlck9wdGlvbnMubm9ybWFsaXplcihyb290UmVzdWx0LlJvb3QpO1xuICAgICAgICBpZiAodXNlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBbcmVzb2x2ZUJ1aWxkUGFnZXNdIHJlc29sdmVCdWlsZFBhZ2VzIC0gRGVmYXVsdCBSb290IHJlc29sdmVkOiAke3Jvb3RSZXN1bHQuUm9vdH0gLT4gJHtyZXNvbHZlZFJvb3RWYWx1ZX1gKTtcbiAgICAgICAgfVxuICAgICAgICByb290TWFwLnNldChyb290S2V5LCByZXNvbHZlZFJvb3RWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC8vIFJlc29sdmUgSHRtbCBjb21wb25lbnQgZm9yIGRlZmF1bHQgcm91dGVcbiAgICBpZiAodXNlck9wdGlvbnMuSHRtbCkge1xuICAgICAgY29uc3QgaHRtbFJlc3VsdCA9IGF3YWl0IHJlc29sdmVVcmxPcHRpb24odXNlck9wdGlvbnMsIFwiSHRtbFwiLCBkZWZhdWx0UGFnZSk7XG4gICAgICBpZiAoaHRtbFJlc3VsdC50eXBlID09PSBcInN1Y2Nlc3NcIikge1xuICAgICAgICBjb25zdCBbaHRtbEtleSwgcmVzb2x2ZWRIdG1sVmFsdWVdID0gdXNlck9wdGlvbnMubm9ybWFsaXplcihodG1sUmVzdWx0Lkh0bWwpO1xuICAgICAgICBpZiAodXNlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBbcmVzb2x2ZUJ1aWxkUGFnZXNdIHJlc29sdmVCdWlsZFBhZ2VzIC0gRGVmYXVsdCBIdG1sIHJlc29sdmVkOiAke2h0bWxSZXN1bHQuSHRtbH0gLT4gJHtyZXNvbHZlZEh0bWxWYWx1ZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBodG1sTWFwLnNldChodG1sS2V5LCByZXNvbHZlZEh0bWxWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3Rhc2hlZEJ1aWxkUGFnZXMgPSB7IHBhZ2VNYXAsIHByb3BzTWFwLCByb290TWFwLCBodG1sTWFwLCB1cmxNYXAsIHJvdXRlTWFwLCBlcnJvcnMgfTtcbiAgc3Rhc2hlZFBhZ2VzID0gWy4uLnBhZ2VzXTtcbiAgcmV0dXJuIHN0YXNoZWRC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
234
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZUJ1aWxkUGFnZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BsdWdpbi9jb25maWcvYXV0b0Rpc2NvdmVyL3Jlc29sdmVCdWlsZFBhZ2VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFjY2VzcyB9IGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCI7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUge1xuICBQYWdlTmFtZSxcbiAgUHJvcHNOYW1lLFxuICBSZXNvbHZlZEJ1aWxkUGFnZXMsXG4gIFJlc29sdmVkVXNlck9wdGlvbnMsXG59IGZyb20gXCIuLi8uLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZVVybE9wdGlvbiB9IGZyb20gXCIuLi9yZXNvbHZlVXJsT3B0aW9uLmpzXCI7XG5pbXBvcnQgdHlwZSB7IExvZ2dlciB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgdHlwZSB7IE1hbmlmZXN0IH0gZnJvbSBcInZpdGVcIjtcblxubGV0IHN0YXNoZWRCdWlsZFBhZ2VzOiBSZXNvbHZlZEJ1aWxkUGFnZXMgfCBudWxsID0gbnVsbDtcbmxldCBzdGFzaGVkUGFnZXM6IHN0cmluZ1tdIHwgbnVsbCA9IG51bGw7XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXNvbHZlIHBhdGhzIHVzaW5nIG1hbmlmZXN0XG5mdW5jdGlvbiByZXNvbHZlUGF0aFdpdGhNYW5pZmVzdChwYXRoOiBzdHJpbmcsIG1hbmlmZXN0OiBNYW5pZmVzdCk6IHN0cmluZyB7XG4gIC8vIENoZWNrIGlmIHRoZSBwYXRoIGV4aXN0cyBpbiB0aGUgbWFuaWZlc3RcbiAgY29uc3QgbWFuaWZlc3RFbnRyeSA9IG1hbmlmZXN0W3BhdGhdO1xuICBpZiAobWFuaWZlc3RFbnRyeSAmJiBtYW5pZmVzdEVudHJ5LmZpbGUpIHtcbiAgICAvLyBSZXR1cm4gdGhlIGNvbXBpbGVkIGZpbGUgcGF0aFxuICAgIHJldHVybiBtYW5pZmVzdEVudHJ5LmZpbGU7XG4gIH1cbiAgXG4gIC8vIElmIG5vdCBmb3VuZCBpbiBtYW5pZmVzdCwgcmV0dXJuIHRoZSBvcmlnaW5hbCBwYXRoXG4gIHJldHVybiBwYXRoO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIGJ1aWxkIHBhZ2VzIGJ5IGNhbGxpbmcgcmVzb2x2ZVVybE9wdGlvbiBmb3IgZWFjaCBwYWdlIGluIGJ1aWxkLnBhZ2VzLlxuICpcbiAqICMjIEJVSUxELVRJTUUgU1RBVElDIERJU0NPVkVSWVxuICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZHVyaW5nIGJ1aWxkL3N0YXJ0dXAgdG86XG4gKiAxLiBUYWtlIHRoZSBleHBsaWNpdCBgYnVpbGQucGFnZXNgIGFycmF5IChlLmcuLCBbXCIvXCIsIFwiL2Fib3V0XCIsIFwiL3Byb2R1Y3RzXCJdKVxuICogMi4gQ2FsbCBgcmVzb2x2ZVVybE9wdGlvbmAgZm9yIGVhY2ggcGFnZSB0byBnZXQgZmlsZSBwYXRoc1xuICogMy4gQnVpbGQgc3RhdGljIG1hcHMgKHVybE1hcCwgcGFnZU1hcCwgcHJvcHNNYXAsIHJvdXRlTWFwKSBmb3IgZmFzdCBydW50aW1lIGxvb2t1cFxuICogNC4gVmFsaWRhdGUgdGhhdCByZXNvbHZlZCBmaWxlIHBhdGhzIGFjdHVhbGx5IGV4aXN0IG9uIGZpbGVzeXN0ZW1cbiAqXG4gKiAjIyBDYWNoZSBTdHJhdGVneTpcbiAqIFJlc3VsdHMgYXJlIGNhY2hlZCAoc3Rhc2hlZEJ1aWxkUGFnZXMpIHRvIGF2b2lkIHJlLXJlc29sdmluZyBvbiBldmVyeSBidWlsZC5cbiAqIENhY2hlIGlzIGludmFsaWRhdGVkIG9ubHkgd2hlbiB0aGUgcGFnZXMgYXJyYXkgY2hhbmdlcy5cbiAqXG4gKiAjIyBVc2FnZSBGbG93OlxuICogLSBDYWxsZWQgYnkgYnVpbGQgcHJvY2VzcyBhbmQgcGx1Z2luIGluaXRpYWxpemF0aW9uXG4gKiAtIEZlZWRzIGludG8gYXV0by1kaXNjb3Zlcnkgc3lzdGVtIHRvIHBvcHVsYXRlIHVybE1hcCBjYWNoZVxuICogLSBFbmFibGVzIGZhc3QgcnVudGltZSBsb29rdXAgaW4gZ2V0Um91dGVGaWxlcy50cyB3aXRob3V0IGR5bmFtaWMgcmVzb2x1dGlvblxuICpcbiAqICMjIExpbWl0YXRpb246XG4gKiBPbmx5IHdvcmtzIHdoZW4gYnVpbGQucGFnZXMgaXMgZXhwbGljaXRseSBwcm92aWRlZC4gV2l0aG91dCBpdCwgdGhlIHN5c3RlbVxuICogZmFsbHMgYmFjayB0byBmaWxlc3lzdGVtIHNjYW5uaW5nICsgZHluYW1pYyByZXNvbHV0aW9uIGluIGdldFJvdXRlRmlsZXMudHMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXNvbHZlQnVpbGRQYWdlcyh7XG4gIHBhZ2VzLFxuICB1c2VyT3B0aW9ucyxcbiAgbG9nZ2VyLFxuICBtYW5pZmVzdCA9IHt9LFxufToge1xuICBwYWdlczogc3RyaW5nW107XG4gIHVzZXJPcHRpb25zOiBQaWNrPFxuICAgIFJlc29sdmVkVXNlck9wdGlvbnMsXG4gICAgfCBQYWdlTmFtZVxuICAgIHwgUHJvcHNOYW1lXG4gICAgfCBcIlJvb3RcIlxuICAgIHwgXCJIdG1sXCJcbiAgICB8IFwiYnVpbGRcIlxuICAgIHwgXCJtb2R1bGVCYXNlXCJcbiAgICB8IFwicHJvamVjdFJvb3RcIlxuICAgIHwgXCJub3JtYWxpemVyXCJcbiAgICB8IFwibW9kdWxlQmFzZVBhdGhcIlxuICAgIHwgXCJwYWdlRXhwb3J0TmFtZVwiXG4gICAgfCBcInByb3BzRXhwb3J0TmFtZVwiXG4gICAgfCBcInJvb3RFeHBvcnROYW1lXCJcbiAgICB8IFwiaHRtbEV4cG9ydE5hbWVcIlxuICAgIHwgXCJ2ZXJib3NlXCJcbiAgPjtcbiAgbG9nZ2VyOiBMb2dnZXI7XG4gIG1hbmlmZXN0PzogTWFuaWZlc3Q7XG59KTogUHJvbWlzZTxSZXNvbHZlZEJ1aWxkUGFnZXM+IHtcbiAgaWYgKHVzZXJPcHRpb25zLnZlcmJvc2UpIHtcbiAgICBsb2dnZXIuaW5mbyhcbiAgICAgIGBbcmVzb2x2ZUJ1aWxkUGFnZXNdIHJlc29sdmVCdWlsZFBhZ2VzIGNhbGxlZCB3aXRoIHBhZ2VzOiR7XG4gICAgICAgIHBhZ2VzLmxlbmd0aFxuICAgICAgfSBhbmQgUm9vdDogJHt0eXBlb2YgdXNlck9wdGlvbnMuUm9vdH0gSHRtbDogJHt0eXBlb2YgdXNlck9wdGlvbnMuSHRtbH1gXG4gICAgKTtcbiAgfVxuICAvLyBDaGVjayBpZiBwYWdlcyBhcnJheSBoYXMgY2hhbmdlZFxuICBjb25zdCBwYWdlc0NoYW5nZWQgPVxuICAgICFzdGFzaGVkUGFnZXMgfHxcbiAgICBzdGFzaGVkUGFnZXMubGVuZ3RoICE9PSBwYWdlcy5sZW5ndGggfHxcbiAgICAhc3Rhc2hlZFBhZ2VzLmV2ZXJ5KChwYWdlLCBpKSA9PiBwYWdlID09PSBwYWdlc1tpXSk7XG5cbiAgaWYgKHN0YXNoZWRCdWlsZFBhZ2VzICYmICFwYWdlc0NoYW5nZWQpIHtcbiAgICByZXR1cm4gc3Rhc2hlZEJ1aWxkUGFnZXM7IC8vIFJldHVybiBkaXJlY3RseSB3aXRob3V0IFByb21pc2UucmVzb2x2ZVxuICB9IGVsc2UgaWYgKHVzZXJPcHRpb25zLnZlcmJvc2UpIHtcbiAgICBpZiAoc3Rhc2hlZFBhZ2VzID09IG51bGwpIHtcbiAgICAgIGxvZ2dlci5pbmZvKFxuICAgICAgICBgW3Jlc29sdmVCdWlsZFBhZ2VzXSByZXNvbHZlQnVpbGRQYWdlcyAtIGZpcnN0IHRpbWUgcmVzb2x2aW5nIHBhZ2VzYFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgIGBbcmVzb2x2ZUJ1aWxkUGFnZXNdIHJlc29sdmVCdWlsZFBhZ2VzIC0gcGFnZXMgY2hhbmdlZCwgcmUtcmVzb2x2aW5nYFxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgZXJyb3JzOiB1bmtub3duW10gPSBbXTtcbiAgY29uc3QgcGFnZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gIGNvbnN0IHByb3BzTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgY29uc3Qgcm9vdE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gIGNvbnN0IGh0bWxNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICBjb25zdCB1cmxNYXAgPSBuZXcgTWFwPFxuICAgIHN0cmluZyxcbiAgICB7IHByb3BzOiBzdHJpbmcgfCB1bmRlZmluZWQ7IHBhZ2U6IHN0cmluZzsgcm9vdD86IHN0cmluZzsgaHRtbD86IHN0cmluZyB9XG4gID4oKTtcbiAgY29uc3Qgcm91dGVNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nW10+KCk7XG5cbiAgZm9yIChjb25zdCBwYWdlIG9mIHBhZ2VzKSB7XG4gICAgY29uc3QgcGFnZVJlc3VsdCA9IGF3YWl0IHJlc29sdmVVcmxPcHRpb24odXNlck9wdGlvbnMsIFwiUGFnZVwiLCBwYWdlKTtcbiAgICBpZiAocGFnZVJlc3VsdC50eXBlID09PSBcImVycm9yXCIpIHtcbiAgICAgIGVycm9ycy5wdXNoKHBhZ2VSZXN1bHQuZXJyb3IpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IFtwYWdlS2V5LCBwYWdlVmFsdWVdID0gdXNlck9wdGlvbnMubm9ybWFsaXplcihwYWdlUmVzdWx0LlBhZ2UpO1xuICAgIGNvbnN0IG1hbmlmZXN0UmVzb2x2ZWRQYWdlVmFsdWUgPSByZXNvbHZlUGF0aFdpdGhNYW5pZmVzdChwYWdlVmFsdWUsIG1hbmlmZXN0KTtcblxuICAgIC8vIFJlc29sdmUgUm9vdCBjb21wb25lbnQgcGF0aCBpZiBkZWZpbmVkXG4gICAgbGV0IHJvb3RWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmICh1c2VyT3B0aW9ucy5Sb290KSB7XG4gICAgICBpZiAodXNlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICBsb2dnZXIuaW5mbyhcbiAgICAgICAgICBgW3Jlc29sdmVCdWlsZFBhZ2VzXSByZXNvbHZlQnVpbGRQYWdlcyAtIHJlc29sdmluZyBSb290IGZvciBwYWdlOiAke3BhZ2V9LCBSb290IG9wdGlvbjogJHt1c2VyT3B0aW9ucy5Sb290fWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJvb3RSZXN1bHQgPSBhd2FpdCByZXNvbHZlVXJsT3B0aW9uKHVzZXJPcHRpb25zLCBcIlJvb3RcIiwgcGFnZSk7XG4gICAgICBpZiAocm9vdFJlc3VsdC50eXBlID09PSBcImVycm9yXCIpIHtcbiAgICAgICAgaWYgKHVzZXJPcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgICBsb2dnZXIuaW5mbyhcbiAgICAgICAgICAgIGBbcmVzb2x2ZUJ1aWxkUGFnZXNdIHJlc29sdmVCdWlsZFBhZ2VzIC0gUm9vdCByZXNvbHV0aW9uIGZhaWxlZCB3aXRoIGVycm9yIG1lc3NhZ2U6IFxcXCIke1xuICAgICAgICAgICAgICAocm9vdFJlc3VsdC5lcnJvciBhcyBFcnJvcik/Lm1lc3NhZ2VcbiAgICAgICAgICAgIH1cXFwiYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgZXJyb3JzLnB1c2gocm9vdFJlc3VsdC5lcnJvcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBbcm9vdEtleSwgcmVzb2x2ZWRSb290VmFsdWVdID0gdXNlck9wdGlvbnMubm9ybWFsaXplcihcbiAgICAgICAgICByb290UmVzdWx0LlJvb3RcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbWFuaWZlc3RSZXNvbHZlZFJvb3RWYWx1ZSA9IHJlc29sdmVQYXRoV2l0aE1hbmlmZXN0KHJlc29sdmVkUm9vdFZhbHVlLCBtYW5pZmVzdCk7XG4gICAgICAgIGlmICh1c2VyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgICBgW3Jlc29sdmVCdWlsZFBhZ2VzXSByZXNvbHZlQnVpbGRQYWdlcyAtIFJvb3QgcmVzb2x2ZWQ6ICR7cm9vdFJlc3VsdC5Sb290fSAtPiAke3Jlc29sdmVkUm9vdFZhbHVlfSAtPiAke21hbmlmZXN0UmVzb2x2ZWRSb290VmFsdWV9YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcm9vdFZhbHVlID0gbWFuaWZlc3RSZXNvbHZlZFJvb3RWYWx1ZTtcbiAgICAgICAgcm9vdE1hcC5zZXQocm9vdEtleSwgbWFuaWZlc3RSZXNvbHZlZFJvb3RWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzb2x2ZSBIdG1sIGNvbXBvbmVudCBwYXRoIGlmIGRlZmluZWRcbiAgICBsZXQgaHRtbFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHVzZXJPcHRpb25zLkh0bWwpIHtcbiAgICAgIGlmICh1c2VyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgIGxvZ2dlci5pbmZvKFxuICAgICAgICAgIGBbcmVzb2x2ZUJ1aWxkUGFnZXNdIHJlc29sdmVCdWlsZFBhZ2VzIC0gcmVzb2x2aW5nIEh0bWwgZm9yIHBhZ2U6ICR7cGFnZX0sIEh0bWwgb3B0aW9uOiAke3VzZXJPcHRpb25zLkh0bWx9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgaHRtbFJlc3VsdCA9IGF3YWl0IHJlc29sdmVVcmxPcHRpb24odXNlck9wdGlvbnMsIFwiSHRtbFwiLCBwYWdlKTtcbiAgICAgIGlmIChodG1sUmVzdWx0LnR5cGUgPT09IFwiZXJyb3JcIikge1xuICAgICAgICBpZiAodXNlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICAgIGxvZ2dlci5pbmZvKFxuICAgICAgICAgICAgYFtyZXNvbHZlQnVpbGRQYWdlc10gcmVzb2x2ZUJ1aWxkUGFnZXMgLSBIdG1sIHJlc29sdXRpb24gZmFpbGVkIHdpdGggZXJyb3IgbWVzc2FnZTogXFxcIiR7XG4gICAgICAgICAgICAgIChodG1sUmVzdWx0LmVycm9yIGFzIEVycm9yKT8ubWVzc2FnZVxuICAgICAgICAgICAgfVxcXCJgXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBlcnJvcnMucHVzaChodG1sUmVzdWx0LmVycm9yKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IFtodG1sS2V5LCByZXNvbHZlZEh0bWxWYWx1ZV0gPSB1c2VyT3B0aW9ucy5ub3JtYWxpemVyKFxuICAgICAgICAgIGh0bWxSZXN1bHQuSHRtbFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBtYW5pZmVzdFJlc29sdmVkSHRtbFZhbHVlID0gcmVzb2x2ZVBhdGhXaXRoTWFuaWZlc3QocmVzb2x2ZWRIdG1sVmFsdWUsIG1hbmlmZXN0KTtcbiAgICAgICAgaWYgKHVzZXJPcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgICBsb2dnZXIuaW5mbyhcbiAgICAgICAgICAgIGBbcmVzb2x2ZUJ1aWxkUGFnZXNdIHJlc29sdmVCdWlsZFBhZ2VzIC0gSHRtbCByZXNvbHZlZDogJHtodG1sUmVzdWx0Lkh0bWx9IC0+ICR7cmVzb2x2ZWRIdG1sVmFsdWV9IC0+ICR7bWFuaWZlc3RSZXNvbHZlZEh0bWxWYWx1ZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBodG1sVmFsdWUgPSBtYW5pZmVzdFJlc29sdmVkSHRtbFZhbHVlO1xuICAgICAgICBodG1sTWFwLnNldChodG1sS2V5LCBtYW5pZmVzdFJlc29sdmVkSHRtbFZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIXVzZXJPcHRpb25zLnByb3BzKSB7XG4gICAgICB1cmxNYXAuc2V0KHBhZ2UsIHtcbiAgICAgICAgcHJvcHM6IHVuZGVmaW5lZCxcbiAgICAgICAgcGFnZTogbWFuaWZlc3RSZXNvbHZlZFBhZ2VWYWx1ZSxcbiAgICAgICAgcm9vdDogcm9vdFZhbHVlLFxuICAgICAgICBodG1sOiBodG1sVmFsdWUsXG4gICAgICB9KTtcbiAgICAgIHBhZ2VNYXAuc2V0KHBhZ2VLZXksIG1hbmlmZXN0UmVzb2x2ZWRQYWdlVmFsdWUpO1xuICAgICAgLy8gQWRkIHRvIHJvdXRlTWFwXG4gICAgICBjb25zdCByb3V0ZXMgPSByb3V0ZU1hcC5nZXQobWFuaWZlc3RSZXNvbHZlZFBhZ2VWYWx1ZSkgfHwgW107XG4gICAgICByb3V0ZXMucHVzaChwYWdlKTtcbiAgICAgIHJvdXRlTWFwLnNldChtYW5pZmVzdFJlc29sdmVkUGFnZVZhbHVlLCByb3V0ZXMpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBhY2Nlc3Moam9pbih1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCwgbWFuaWZlc3RSZXNvbHZlZFBhZ2VWYWx1ZSkpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgZXJyb3JzLnB1c2gobmV3IEVycm9yKGBQYWdlIGZpbGUgbm90IGZvdW5kOiAke21hbmlmZXN0UmVzb2x2ZWRQYWdlVmFsdWV9YCkpO1xuICAgIH1cbiAgICBjb25zdCBwcm9wc1Jlc3VsdCA9IGF3YWl0IHJlc29sdmVVcmxPcHRpb24odXNlck9wdGlvbnMsIFwicHJvcHNcIiwgcGFnZSk7XG4gICAgaWYgKHByb3BzUmVzdWx0LnR5cGUgPT09IFwiZXJyb3JcIikge1xuICAgICAgZXJyb3JzLnB1c2gocHJvcHNSZXN1bHQuZXJyb3IpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gSWYgcHJvcHNQYXRoIGlzIGRlZmluZWQsIGNoZWNrIGlmIGl0IGV4aXN0c1xuICAgIGlmIChwcm9wc1Jlc3VsdC5wcm9wcykge1xuICAgICAgY29uc3QgW3Byb3BzS2V5LCBwcm9wc1ZhbHVlXSA9IHVzZXJPcHRpb25zLm5vcm1hbGl6ZXIocHJvcHNSZXN1bHQucHJvcHMpO1xuICAgICAgY29uc3QgbWFuaWZlc3RSZXNvbHZlZFByb3BzVmFsdWUgPSByZXNvbHZlUGF0aFdpdGhNYW5pZmVzdChwcm9wc1ZhbHVlLCBtYW5pZmVzdCk7XG4gICAgICBpZiAobWFuaWZlc3RSZXNvbHZlZFByb3BzVmFsdWUgIT09IG1hbmlmZXN0UmVzb2x2ZWRQYWdlVmFsdWUpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhd2FpdCBhY2Nlc3Moam9pbih1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCwgbWFuaWZlc3RSZXNvbHZlZFByb3BzVmFsdWUpKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgZXJyb3JzLnB1c2gobmV3IEVycm9yKGBQcm9wcyBmaWxlIG5vdCBmb3VuZDogJHttYW5pZmVzdFJlc29sdmVkUHJvcHNWYWx1ZX1gKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHVybE1hcC5zZXQocGFnZSwge1xuICAgICAgICBwcm9wczogbWFuaWZlc3RSZXNvbHZlZFByb3BzVmFsdWUsXG4gICAgICAgIHBhZ2U6IG1hbmlmZXN0UmVzb2x2ZWRQYWdlVmFsdWUsXG4gICAgICAgIHJvb3Q6IHJvb3RWYWx1ZSxcbiAgICAgICAgaHRtbDogaHRtbFZhbHVlLFxuICAgICAgfSk7XG4gICAgICBwcm9wc01hcC5zZXQocHJvcHNLZXksIG1hbmlmZXN0UmVzb2x2ZWRQcm9wc1ZhbHVlKTtcblxuICAgICAgLy8gQWRkIHRvIHJvdXRlTWFwIGZvciBib3RoIHBhZ2UgYW5kIHByb3BzIGZpbGVzXG4gICAgICBjb25zdCBwYWdlUm91dGVzID0gcm91dGVNYXAuZ2V0KG1hbmlmZXN0UmVzb2x2ZWRQYWdlVmFsdWUpIHx8IFtdO1xuICAgICAgcGFnZVJvdXRlcy5wdXNoKHBhZ2UpO1xuICAgICAgcm91dGVNYXAuc2V0KG1hbmlmZXN0UmVzb2x2ZWRQYWdlVmFsdWUsIHBhZ2VSb3V0ZXMpO1xuXG4gICAgICBjb25zdCBwcm9wc1JvdXRlcyA9IHJvdXRlTWFwLmdldChtYW5pZmVzdFJlc29sdmVkUHJvcHNWYWx1ZSkgfHwgW107XG4gICAgICBwcm9wc1JvdXRlcy5wdXNoKHBhZ2UpO1xuICAgICAgcm91dGVNYXAuc2V0KG1hbmlmZXN0UmVzb2x2ZWRQcm9wc1ZhbHVlLCBwcm9wc1JvdXRlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElmIG5vIHByb3BzIHBhdGgsIHVzZSB0aGUgcGFnZSBwYXRoIGZvciBib3RoXG4gICAgICB1cmxNYXAuc2V0KHBhZ2UsIHtcbiAgICAgICAgcHJvcHM6IHVuZGVmaW5lZCxcbiAgICAgICAgcGFnZTogbWFuaWZlc3RSZXNvbHZlZFBhZ2VWYWx1ZSxcbiAgICAgICAgcm9vdDogcm9vdFZhbHVlLFxuICAgICAgICBodG1sOiBodG1sVmFsdWUsXG4gICAgICB9KTtcblxuICAgICAgLy8gQWRkIHRvIHJvdXRlTWFwIGZvciBwYWdlIGZpbGUgb25seVxuICAgICAgY29uc3Qgcm91dGVzID0gcm91dGVNYXAuZ2V0KG1hbmlmZXN0UmVzb2x2ZWRQYWdlVmFsdWUpIHx8IFtdO1xuICAgICAgcm91dGVzLnB1c2gocGFnZSk7XG4gICAgICByb3V0ZU1hcC5zZXQobWFuaWZlc3RSZXNvbHZlZFBhZ2VWYWx1ZSwgcm91dGVzKTtcbiAgICB9XG5cbiAgICBwYWdlTWFwLnNldChwYWdlS2V5LCBtYW5pZmVzdFJlc29sdmVkUGFnZVZhbHVlKTtcbiAgfVxuXG4gIC8vIElmIHRoZXJlIGFyZSBubyBwYWdlcyBidXQgY3VzdG9tIGNvbXBvbmVudHMgYXJlIGRlZmluZWQsIHJlc29sdmUgdGhlbSBmb3IgYSBkZWZhdWx0IHJvdXRlXG4gIGlmIChwYWdlcy5sZW5ndGggPT09IDAgJiYgKHVzZXJPcHRpb25zLlJvb3QgfHwgdXNlck9wdGlvbnMuSHRtbCkpIHtcbiAgICBpZiAodXNlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgIGBbcmVzb2x2ZUJ1aWxkUGFnZXNdIHJlc29sdmVCdWlsZFBhZ2VzIC0gTm8gcGFnZXMgYnV0IGN1c3RvbSBjb21wb25lbnRzIGRlZmluZWQsIHJlc29sdmluZyBmb3IgZGVmYXVsdCByb3V0ZWBcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGRlZmF1bHRQYWdlID0gXCIvXCI7XG5cbiAgICAvLyBSZXNvbHZlIFJvb3QgY29tcG9uZW50IGZvciBkZWZhdWx0IHJvdXRlXG4gICAgaWYgKHVzZXJPcHRpb25zLlJvb3QpIHtcbiAgICAgIGNvbnN0IHJvb3RSZXN1bHQgPSBhd2FpdCByZXNvbHZlVXJsT3B0aW9uKFxuICAgICAgICB1c2VyT3B0aW9ucyxcbiAgICAgICAgXCJSb290XCIsXG4gICAgICAgIGRlZmF1bHRQYWdlXG4gICAgICApO1xuICAgICAgaWYgKHJvb3RSZXN1bHQudHlwZSA9PT0gXCJzdWNjZXNzXCIpIHtcbiAgICAgICAgY29uc3QgW3Jvb3RLZXksIHJlc29sdmVkUm9vdFZhbHVlXSA9IHVzZXJPcHRpb25zLm5vcm1hbGl6ZXIoXG4gICAgICAgICAgcm9vdFJlc3VsdC5Sb290XG4gICAgICAgICk7XG4gICAgICAgIGlmICh1c2VyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgICBgW3Jlc29sdmVCdWlsZFBhZ2VzXSByZXNvbHZlQnVpbGRQYWdlcyAtIERlZmF1bHQgUm9vdCByZXNvbHZlZDogJHtyb290UmVzdWx0LlJvb3R9IC0+ICR7cmVzb2x2ZWRSb290VmFsdWV9YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcm9vdE1hcC5zZXQocm9vdEtleSwgcmVzb2x2ZWRSb290VmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc29sdmUgSHRtbCBjb21wb25lbnQgZm9yIGRlZmF1bHQgcm91dGVcbiAgICBpZiAodXNlck9wdGlvbnMuSHRtbCkge1xuICAgICAgY29uc3QgaHRtbFJlc3VsdCA9IGF3YWl0IHJlc29sdmVVcmxPcHRpb24oXG4gICAgICAgIHVzZXJPcHRpb25zLFxuICAgICAgICBcIkh0bWxcIixcbiAgICAgICAgZGVmYXVsdFBhZ2VcbiAgICAgICk7XG4gICAgICBpZiAoaHRtbFJlc3VsdC50eXBlID09PSBcInN1Y2Nlc3NcIikge1xuICAgICAgICBjb25zdCBbaHRtbEtleSwgcmVzb2x2ZWRIdG1sVmFsdWVdID0gdXNlck9wdGlvbnMubm9ybWFsaXplcihcbiAgICAgICAgICBodG1sUmVzdWx0Lkh0bWxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHVzZXJPcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgICBsb2dnZXIuaW5mbyhcbiAgICAgICAgICAgIGBbcmVzb2x2ZUJ1aWxkUGFnZXNdIHJlc29sdmVCdWlsZFBhZ2VzIC0gRGVmYXVsdCBIdG1sIHJlc29sdmVkOiAke2h0bWxSZXN1bHQuSHRtbH0gLT4gJHtyZXNvbHZlZEh0bWxWYWx1ZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBodG1sTWFwLnNldChodG1sS2V5LCByZXNvbHZlZEh0bWxWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3Rhc2hlZEJ1aWxkUGFnZXMgPSB7XG4gICAgcGFnZU1hcCxcbiAgICBwcm9wc01hcCxcbiAgICByb290TWFwLFxuICAgIGh0bWxNYXAsXG4gICAgdXJsTWFwLFxuICAgIHJvdXRlTWFwLFxuICAgIGVycm9ycyxcbiAgfTtcbiAgc3Rhc2hlZFBhZ2VzID0gWy4uLnBhZ2VzXTtcbiAgcmV0dXJuIHN0YXNoZWRCdWlsZFBhZ2VzO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVlBLElBQUksaUJBQStDLEdBQUEsSUFBQTtBQUNuRCxJQUFJLFlBQWdDLEdBQUEsSUFBQTtBQUdwQyxTQUFTLHVCQUFBLENBQXdCLE1BQWMsUUFBNEIsRUFBQTtBQUV6RSxFQUFNLE1BQUEsYUFBQSxHQUFnQixTQUFTLElBQUksQ0FBQTtBQUNuQyxFQUFJLElBQUEsYUFBQSxJQUFpQixjQUFjLElBQU0sRUFBQTtBQUV2QyxJQUFBLE9BQU8sYUFBYyxDQUFBLElBQUE7QUFBQTtBQUl2QixFQUFPLE9BQUEsSUFBQTtBQUNUO0FBeUJBLGVBQXNCLGlCQUFrQixDQUFBO0FBQUEsRUFDdEMsS0FBQTtBQUFBLEVBQ0EsV0FBQTtBQUFBLEVBQ0EsTUFBQTtBQUFBLEVBQ0EsV0FBVztBQUNiLENBcUJnQyxFQUFBO0FBQzlCLEVBQUEsSUFBSSxZQUFZLE9BQVMsRUFBQTtBQUN2QixJQUFPLE1BQUEsQ0FBQSxJQUFBO0FBQUEsTUFDTCxDQUFBLHdEQUFBLEVBQ0UsS0FBTSxDQUFBLE1BQ1IsQ0FBYyxXQUFB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
@@ -0,0 +1,4 @@
1
+ import type { CreateHandlerOptions } from "../types.js";
2
+ import type { CreateHandlerOptionsParams } from "./createHandlerOptions.types.js";
3
+ export declare function createHandlerOptions(route: string, options?: CreateHandlerOptionsParams): Promise<CreateHandlerOptions>;
4
+ //# sourceMappingURL=createHandlerOptions.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createHandlerOptions.client.d.ts","sourceRoot":"","sources":["../../../plugin/config/createHandlerOptions.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAuB,MAAM,aAAa,CAAC;AAoB7E,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,iCAAiC,CAAC;AAiEzC,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,oBAAoB,CAAC,CAuT/B"}