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.
- package/README.md +211 -51
- package/dist/client.d.ts +4 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -6
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -10
- package/dist/package.json +102 -27
- package/dist/plugin/bundle/bundles.d.ts +11 -0
- package/dist/plugin/bundle/bundles.d.ts.map +1 -0
- package/dist/plugin/bundle/bundles.js +11 -0
- package/dist/plugin/bundle/deferredStaticGeneration.d.ts +31 -0
- package/dist/plugin/bundle/deferredStaticGeneration.d.ts.map +1 -0
- package/dist/plugin/bundle/deferredStaticGeneration.js +44 -0
- package/dist/plugin/bundle/manifests.d.ts +20 -0
- package/dist/plugin/bundle/manifests.d.ts.map +1 -0
- package/dist/plugin/bundle/manifests.js +54 -0
- package/dist/plugin/components/css.d.ts +2 -5
- package/dist/plugin/components/css.d.ts.map +1 -1
- package/dist/plugin/components/css.js +7 -9
- package/dist/plugin/components/html.d.ts +2 -3
- package/dist/plugin/components/html.d.ts.map +1 -1
- package/dist/plugin/components/html.js +3 -3
- package/dist/plugin/components/index.d.ts +1 -1
- package/dist/plugin/components/index.d.ts.map +1 -1
- package/dist/plugin/components/root.d.ts.map +1 -1
- package/dist/plugin/components/root.js +4 -4
- package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.d.ts.map +1 -1
- package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js +6 -6
- package/dist/plugin/config/autoDiscover/pageAndPropFiles.d.ts.map +1 -1
- package/dist/plugin/config/autoDiscover/pageAndPropFiles.js +1 -1
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts +6 -5
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +34 -51
- package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts +5 -1
- package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts.map +1 -1
- package/dist/plugin/config/autoDiscover/resolveBuildPages.js +124 -52
- package/dist/plugin/config/createHandlerOptions.client.d.ts +4 -0
- package/dist/plugin/config/createHandlerOptions.client.d.ts.map +1 -0
- package/dist/plugin/config/createHandlerOptions.client.js +293 -0
- package/dist/plugin/config/createHandlerOptions.d.ts +4 -0
- package/dist/plugin/config/createHandlerOptions.d.ts.map +1 -0
- package/dist/plugin/config/createHandlerOptions.js +13 -0
- package/dist/plugin/config/createHandlerOptions.server.d.ts +4 -0
- package/dist/plugin/config/createHandlerOptions.server.d.ts.map +1 -0
- package/dist/plugin/config/createHandlerOptions.server.js +344 -0
- package/dist/plugin/config/createHandlerOptions.types.d.ts +114 -0
- package/dist/plugin/config/createHandlerOptions.types.d.ts.map +1 -0
- package/dist/plugin/config/createModuleID.d.ts +1 -1
- package/dist/plugin/config/createModuleID.d.ts.map +1 -1
- package/dist/plugin/config/createModuleID.js +121 -8
- package/dist/plugin/config/defaults.d.ts +46 -6
- package/dist/plugin/config/defaults.d.ts.map +1 -1
- package/dist/plugin/config/defaults.js +54 -11
- package/dist/plugin/config/envPrefixFromConfig.d.ts +3 -0
- package/dist/plugin/config/envPrefixFromConfig.d.ts.map +1 -0
- package/dist/plugin/config/envPrefixFromConfig.js +8 -0
- package/dist/plugin/config/getCondition.d.ts +54 -3
- package/dist/plugin/config/getCondition.d.ts.map +1 -1
- package/dist/plugin/config/getCondition.js +158 -6
- package/dist/plugin/{getNodeEnv.d.ts → config/getNodeEnv.d.ts} +1 -1
- package/dist/plugin/config/getNodeEnv.d.ts.map +1 -0
- package/dist/plugin/config/getNodeEnv.js +17 -0
- package/dist/plugin/config/index.d.ts +43 -1
- package/dist/plugin/config/index.d.ts.map +1 -1
- package/dist/plugin/config/index.js +9 -4
- package/dist/plugin/config/resolveDirectiveMatcher.d.ts +6 -6
- package/dist/plugin/config/resolveDirectiveMatcher.d.ts.map +1 -1
- package/dist/plugin/config/resolveDirectiveMatcher.js +7 -23
- package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
- package/dist/plugin/config/resolveEnv.js +3 -6
- package/dist/plugin/config/resolveOptions.d.ts +3 -2
- package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
- package/dist/plugin/config/resolveOptions.js +188 -43
- package/dist/plugin/config/resolvePages.d.ts +1 -1
- package/dist/plugin/config/resolvePages.d.ts.map +1 -1
- package/dist/plugin/config/resolvePages.js +1 -1
- package/dist/plugin/config/resolvePatternWithValues.d.ts.map +1 -1
- package/dist/plugin/config/resolvePatternWithValues.js +7 -26
- package/dist/plugin/config/resolveUrlOption.d.ts +1 -1
- package/dist/plugin/config/resolveUrlOption.d.ts.map +1 -1
- package/dist/plugin/config/resolveUrlOption.js +2 -2
- package/dist/plugin/config/resolveUserConfig.d.ts +5 -3
- package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
- package/dist/plugin/config/resolveUserConfig.js +221 -75
- package/dist/plugin/config/stashedOptionsState.d.ts +66 -0
- package/dist/plugin/config/stashedOptionsState.d.ts.map +1 -0
- package/dist/plugin/config/stashedOptionsState.js +25 -0
- package/dist/plugin/dev-server/cleanupServerAction.client.d.ts +6 -0
- package/dist/plugin/dev-server/cleanupServerAction.client.d.ts.map +1 -0
- package/dist/plugin/dev-server/cleanupServerAction.client.js +28 -0
- package/dist/plugin/dev-server/cleanupServerAction.d.ts +2 -0
- package/dist/plugin/dev-server/cleanupServerAction.d.ts.map +1 -0
- package/dist/plugin/dev-server/cleanupServerAction.js +4 -0
- package/dist/plugin/dev-server/cleanupServerAction.server.d.ts +8 -0
- package/dist/plugin/dev-server/cleanupServerAction.server.d.ts.map +1 -0
- package/dist/plugin/dev-server/cleanupServerAction.server.js +15 -0
- package/dist/plugin/dev-server/configureReactServer.client.d.ts +7 -0
- package/dist/plugin/dev-server/configureReactServer.client.d.ts.map +1 -0
- package/dist/plugin/dev-server/configureReactServer.client.js +85 -0
- package/dist/plugin/dev-server/configureReactServer.d.ts +2 -0
- package/dist/plugin/dev-server/configureReactServer.d.ts.map +1 -0
- package/dist/plugin/dev-server/configureReactServer.js +13 -0
- package/dist/plugin/dev-server/configureReactServer.server.d.ts +3 -0
- package/dist/plugin/dev-server/configureReactServer.server.d.ts.map +1 -0
- package/dist/plugin/dev-server/configureReactServer.server.js +444 -0
- package/dist/plugin/dev-server/configureRequestHandler.client.d.ts +13 -0
- package/dist/plugin/dev-server/configureRequestHandler.client.d.ts.map +1 -0
- package/dist/plugin/dev-server/configureRequestHandler.client.js +307 -0
- package/dist/plugin/dev-server/configureRequestHandler.d.ts +2 -0
- package/dist/plugin/dev-server/configureRequestHandler.d.ts.map +1 -0
- package/dist/plugin/dev-server/configureRequestHandler.js +4 -0
- package/dist/plugin/dev-server/configureRequestHandler.server.d.ts +6 -0
- package/dist/plugin/dev-server/configureRequestHandler.server.d.ts.map +1 -0
- package/dist/plugin/dev-server/configureRequestHandler.server.js +44 -0
- package/dist/plugin/dev-server/handleServerAction.client.d.ts +11 -0
- package/dist/plugin/dev-server/handleServerAction.client.d.ts.map +1 -0
- package/dist/plugin/dev-server/handleServerAction.client.js +97 -0
- package/dist/plugin/dev-server/handleServerAction.d.ts +2 -0
- package/dist/plugin/dev-server/handleServerAction.d.ts.map +1 -0
- package/dist/plugin/dev-server/handleServerAction.js +13 -0
- package/dist/plugin/dev-server/handleServerAction.server.d.ts +3 -0
- package/dist/plugin/dev-server/handleServerAction.server.d.ts.map +1 -0
- package/dist/plugin/dev-server/handleServerAction.server.js +15 -0
- package/dist/plugin/dev-server/index.client.d.ts +7 -0
- package/dist/plugin/dev-server/index.client.d.ts.map +1 -0
- package/dist/plugin/dev-server/index.client.js +11 -0
- package/dist/plugin/dev-server/index.d.ts +4 -0
- package/dist/plugin/dev-server/index.d.ts.map +1 -0
- package/dist/plugin/dev-server/index.js +19 -0
- package/dist/plugin/dev-server/index.server.d.ts +7 -0
- package/dist/plugin/dev-server/index.server.d.ts.map +1 -0
- package/dist/plugin/dev-server/index.server.js +11 -0
- package/dist/plugin/dev-server/plugin.client.d.ts +7 -0
- package/dist/plugin/dev-server/plugin.client.d.ts.map +1 -0
- package/dist/plugin/dev-server/plugin.client.js +122 -0
- package/dist/plugin/dev-server/plugin.server.d.ts +8 -0
- package/dist/plugin/dev-server/plugin.server.d.ts.map +1 -0
- package/dist/plugin/dev-server/plugin.server.js +108 -0
- package/dist/plugin/dev-server/restartWorker.client.d.ts +3 -0
- package/dist/plugin/dev-server/restartWorker.client.d.ts.map +1 -0
- package/dist/plugin/dev-server/restartWorker.client.js +131 -0
- package/dist/plugin/dev-server/restartWorker.d.ts +2 -0
- package/dist/plugin/dev-server/restartWorker.d.ts.map +1 -0
- package/dist/plugin/dev-server/restartWorker.js +4 -0
- package/dist/plugin/dev-server/restartWorker.server.d.ts +3 -0
- package/dist/plugin/dev-server/restartWorker.server.d.ts.map +1 -0
- package/dist/plugin/dev-server/restartWorker.server.js +88 -0
- package/dist/plugin/dev-server/types.d.ts +38 -0
- package/dist/plugin/dev-server/types.d.ts.map +1 -0
- package/dist/plugin/dev-server/virtualRscHmrPlugin.d.ts +7 -0
- package/dist/plugin/dev-server/virtualRscHmrPlugin.d.ts.map +1 -0
- package/dist/plugin/dev-server/virtualRscHmrPlugin.js +80 -0
- package/dist/plugin/env/createConfigEnv.d.ts +7 -1
- package/dist/plugin/env/createConfigEnv.d.ts.map +1 -1
- package/dist/plugin/env/createConfigEnv.js +18 -5
- package/dist/plugin/env/createEnvPlugin.d.ts +3 -0
- package/dist/plugin/env/createEnvPlugin.d.ts.map +1 -0
- package/dist/plugin/env/createEnvPlugin.js +59 -0
- package/dist/plugin/env/getArgValue.js +47 -27
- package/dist/plugin/env/getEnvKey.d.ts +6 -0
- package/dist/plugin/env/getEnvKey.d.ts.map +1 -1
- package/dist/plugin/env/getEnvKey.js +11 -3
- package/dist/plugin/env/index.d.ts +2 -0
- package/dist/plugin/env/index.d.ts.map +1 -1
- package/dist/plugin/env/index.js +4 -0
- package/dist/plugin/env/plugin.client.d.ts +2 -0
- package/dist/plugin/env/plugin.client.d.ts.map +1 -0
- package/dist/plugin/env/plugin.client.js +2 -0
- package/dist/plugin/env/plugin.d.ts +4 -34
- package/dist/plugin/env/plugin.d.ts.map +1 -1
- package/dist/plugin/env/plugin.js +31 -64
- package/dist/plugin/env/plugin.server.d.ts +2 -0
- package/dist/plugin/env/plugin.server.d.ts.map +1 -0
- package/dist/plugin/env/plugin.server.js +2 -0
- package/dist/plugin/env/userConfigEnv.js +9 -18
- package/dist/plugin/environments/createBuildEventPlugin.d.ts +4 -0
- package/dist/plugin/environments/createBuildEventPlugin.d.ts.map +1 -0
- package/dist/plugin/environments/createBuildEventPlugin.js +100 -0
- package/dist/plugin/environments/createEnvironmentPlugin.d.ts +19 -0
- package/dist/plugin/environments/createEnvironmentPlugin.d.ts.map +1 -0
- package/dist/plugin/environments/createEnvironmentPlugin.js +257 -0
- package/dist/plugin/environments/hashCoordination.d.ts +14 -0
- package/dist/plugin/environments/hashCoordination.d.ts.map +1 -0
- package/dist/plugin/environments/hashCoordination.js +35 -0
- package/dist/plugin/environments/resolveEnvironmentConfig.d.ts +41 -0
- package/dist/plugin/environments/resolveEnvironmentConfig.d.ts.map +1 -0
- package/dist/plugin/environments/resolveEnvironmentConfig.js +232 -0
- package/dist/plugin/error/assertPanic.d.ts +2 -0
- package/dist/plugin/error/assertPanic.d.ts.map +1 -0
- package/dist/plugin/error/assertPanic.js +15 -0
- package/dist/plugin/error/handleError.d.ts +9 -0
- package/dist/plugin/error/handleError.d.ts.map +1 -0
- package/dist/plugin/error/handleError.js +51 -0
- package/dist/plugin/error/index.d.ts +3 -0
- package/dist/plugin/error/index.d.ts.map +1 -1
- package/dist/plugin/error/index.js +4 -1
- package/dist/plugin/error/logError.d.ts +6 -2
- package/dist/plugin/error/logError.d.ts.map +1 -1
- package/dist/plugin/error/logError.js +34 -36
- package/dist/plugin/error/panicThresholdHandler.d.ts +27 -0
- package/dist/plugin/error/panicThresholdHandler.d.ts.map +1 -0
- package/dist/plugin/error/panicThresholdHandler.js +13 -0
- package/dist/plugin/error/serializeError.d.ts +6 -2
- package/dist/plugin/error/serializeError.d.ts.map +1 -1
- package/dist/plugin/error/serializeError.js +30 -10
- package/dist/plugin/error/serializeErrorInfo.d.ts +5 -0
- package/dist/plugin/error/serializeErrorInfo.d.ts.map +1 -0
- package/dist/plugin/error/serializeErrorInfo.js +19 -0
- package/dist/plugin/error/setupGlobalErrorHandler.d.ts +4 -0
- package/dist/plugin/error/setupGlobalErrorHandler.d.ts.map +1 -0
- package/dist/plugin/error/setupGlobalErrorHandler.js +52 -0
- package/dist/plugin/error/shouldPanic.d.ts +6 -0
- package/dist/plugin/error/shouldPanic.d.ts.map +1 -0
- package/dist/plugin/error/shouldPanic.js +15 -0
- package/dist/plugin/error/toError.d.ts +5 -1
- package/dist/plugin/error/toError.d.ts.map +1 -1
- package/dist/plugin/error/toError.js +43 -19
- package/dist/plugin/error/types.d.ts +28 -0
- package/dist/plugin/error/types.d.ts.map +1 -0
- package/dist/plugin/error/types.js +1 -0
- package/dist/plugin/helpers/collectManifestCss.d.ts.map +1 -1
- package/dist/plugin/helpers/collectManifestCss.js +19 -5
- package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +3 -3
- package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
- package/dist/plugin/helpers/collectViteModuleGraphCss.js +64 -3
- package/dist/plugin/helpers/createBufferedRscStream.d.ts +52 -0
- package/dist/plugin/helpers/createBufferedRscStream.d.ts.map +1 -0
- package/dist/plugin/helpers/createBufferedRscStream.js +147 -0
- package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
- package/dist/plugin/helpers/createCssProps.js +15 -14
- package/dist/plugin/helpers/createElementWithReact.d.ts +9 -0
- package/dist/plugin/helpers/createElementWithReact.d.ts.map +1 -0
- package/dist/plugin/helpers/createElementWithReact.js +87 -0
- package/dist/plugin/helpers/createPatternMatcher.d.ts +24 -0
- package/dist/plugin/helpers/createPatternMatcher.d.ts.map +1 -0
- package/dist/plugin/helpers/createPatternMatcher.js +50 -0
- package/dist/plugin/helpers/createRscRenderHelpers.d.ts +16 -0
- package/dist/plugin/helpers/createRscRenderHelpers.d.ts.map +1 -0
- package/dist/plugin/helpers/createRscRenderHelpers.js +60 -0
- package/dist/plugin/helpers/createSafePageComponent.d.ts +36 -0
- package/dist/plugin/helpers/createSafePageComponent.d.ts.map +1 -0
- package/dist/plugin/helpers/createSafePageComponent.js +50 -0
- package/dist/plugin/helpers/createSerializableHandlerOptions.d.ts +60 -0
- package/dist/plugin/helpers/createSerializableHandlerOptions.d.ts.map +1 -0
- package/dist/plugin/helpers/createSerializableHandlerOptions.js +94 -0
- package/dist/plugin/helpers/createSharedLoader.d.ts +44 -0
- package/dist/plugin/helpers/createSharedLoader.d.ts.map +1 -0
- package/dist/plugin/helpers/createSharedLoader.js +137 -0
- package/dist/plugin/helpers/createUnifiedCssProcessor.d.ts +70 -0
- package/dist/plugin/helpers/createUnifiedCssProcessor.d.ts.map +1 -0
- package/dist/plugin/helpers/createUnifiedCssProcessor.js +89 -0
- package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
- package/dist/plugin/helpers/getBundleManifest.js +2 -3
- package/dist/plugin/helpers/getRouteFiles.d.ts +1 -1
- package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
- package/dist/plugin/helpers/getRouteFiles.js +43 -41
- package/dist/plugin/helpers/handleServerAction.client.d.ts +29 -0
- package/dist/plugin/helpers/handleServerAction.client.d.ts.map +1 -0
- package/dist/plugin/helpers/handleServerAction.client.js +93 -0
- package/dist/plugin/helpers/handleServerAction.d.ts +2 -34
- package/dist/plugin/helpers/handleServerAction.d.ts.map +1 -1
- package/dist/plugin/helpers/handleServerAction.js +15 -45
- package/dist/plugin/helpers/handleServerAction.server.d.ts +25 -0
- package/dist/plugin/helpers/handleServerAction.server.d.ts.map +1 -0
- package/dist/plugin/helpers/handleServerAction.server.js +80 -0
- package/dist/plugin/helpers/handleServerActionHelper.d.ts +61 -0
- package/dist/plugin/helpers/handleServerActionHelper.d.ts.map +1 -0
- package/dist/plugin/helpers/handleServerActionHelper.js +183 -0
- package/dist/plugin/helpers/headlessStreamReuseHandler.d.ts +12 -0
- package/dist/plugin/helpers/headlessStreamReuseHandler.d.ts.map +1 -0
- package/dist/plugin/helpers/headlessStreamReuseHandler.js +29 -0
- package/dist/plugin/helpers/headlessStreamState.d.ts +71 -0
- package/dist/plugin/helpers/headlessStreamState.d.ts.map +1 -0
- package/dist/plugin/helpers/headlessStreamState.js +81 -0
- package/dist/plugin/helpers/hydrateUserOptions.d.ts +1 -1
- package/dist/plugin/helpers/hydrateUserOptions.d.ts.map +1 -1
- package/dist/plugin/helpers/hydrateUserOptions.js +2 -2
- package/dist/plugin/helpers/index.d.ts +12 -5
- package/dist/plugin/helpers/index.d.ts.map +1 -1
- package/dist/plugin/helpers/index.js +18 -4
- package/dist/plugin/helpers/logRenderStart.d.ts +17 -0
- package/dist/plugin/helpers/logRenderStart.d.ts.map +1 -0
- package/dist/plugin/helpers/logRenderStart.js +13 -0
- package/dist/plugin/helpers/mergeMessageWithDefaults.d.ts +90 -0
- package/dist/plugin/helpers/mergeMessageWithDefaults.d.ts.map +1 -0
- package/dist/plugin/helpers/mergeMessageWithDefaults.js +67 -0
- package/dist/plugin/helpers/pipeToResponse.d.ts +19 -0
- package/dist/plugin/helpers/pipeToResponse.d.ts.map +1 -0
- package/dist/plugin/helpers/pipeToResponse.js +55 -0
- package/dist/plugin/helpers/requestInfo.d.ts +2 -0
- package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
- package/dist/plugin/helpers/requestInfo.js +6 -2
- package/dist/plugin/helpers/resolveComponents.client.d.ts +34 -0
- package/dist/plugin/helpers/resolveComponents.client.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveComponents.client.js +126 -0
- package/dist/plugin/helpers/resolveModuleFromManifest.d.ts +36 -0
- package/dist/plugin/helpers/resolveModuleFromManifest.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveModuleFromManifest.js +60 -0
- package/dist/plugin/helpers/resolvePageAndProps.d.ts +23 -2
- package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
- package/dist/plugin/helpers/resolvePageAndProps.js +150 -9
- package/dist/plugin/helpers/resolveRenderUrl.d.ts +11 -0
- package/dist/plugin/helpers/resolveRenderUrl.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveRenderUrl.js +19 -0
- package/dist/plugin/helpers/resolveStreamElements.client.d.ts +14 -0
- package/dist/plugin/helpers/resolveStreamElements.client.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveStreamElements.client.js +36 -0
- package/dist/plugin/helpers/resolveStreamElements.d.ts +3 -0
- package/dist/plugin/helpers/resolveStreamElements.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveStreamElements.js +13 -0
- package/dist/plugin/helpers/resolveStreamElements.server.d.ts +15 -0
- package/dist/plugin/helpers/resolveStreamElements.server.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveStreamElements.server.js +35 -0
- package/dist/plugin/helpers/resolveStreamElements.types.d.ts +22 -0
- package/dist/plugin/helpers/resolveStreamElements.types.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveStreamElements.types.js +1 -0
- package/dist/plugin/helpers/resolveVirtualAndNodeModules.d.ts +15 -0
- package/dist/plugin/helpers/resolveVirtualAndNodeModules.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveVirtualAndNodeModules.js +45 -0
- package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.d.ts +18 -0
- package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.js +17 -0
- package/dist/plugin/helpers/serializeUserOptions.d.ts +2 -2
- package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
- package/dist/plugin/helpers/serializeUserOptions.js +28 -13
- package/dist/plugin/helpers/tryManifest.d.ts +2 -2
- package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
- package/dist/plugin/helpers/tryManifest.js +12 -6
- package/dist/plugin/helpers/validateRscRenderMessage.d.ts +9 -0
- package/dist/plugin/helpers/validateRscRenderMessage.d.ts.map +1 -0
- package/dist/plugin/helpers/validateRscRenderMessage.js +13 -0
- package/dist/plugin/helpers/workerCleanup.d.ts +29 -0
- package/dist/plugin/helpers/workerCleanup.d.ts.map +1 -0
- package/dist/plugin/helpers/workerCleanup.js +28 -0
- package/dist/plugin/helpers/workerManager.d.ts +5 -0
- package/dist/plugin/helpers/workerManager.d.ts.map +1 -0
- package/dist/plugin/helpers/workerManager.js +18 -0
- package/dist/plugin/index.d.ts +4 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +5 -2
- package/dist/plugin/loader/createDefaultLoader.d.ts +1 -1
- package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -1
- package/dist/plugin/loader/createDefaultLoader.js +2 -22
- package/dist/plugin/loader/createTransformer.d.ts.map +1 -1
- package/dist/plugin/loader/createTransformer.js +155 -25
- package/dist/plugin/loader/directives/analyzeDirectives.d.ts +3 -2
- package/dist/plugin/loader/directives/analyzeDirectives.d.ts.map +1 -1
- package/dist/plugin/loader/directives/analyzeDirectives.js +53 -26
- package/dist/plugin/loader/directives/analyzeModule.d.ts.map +1 -1
- package/dist/plugin/loader/directives/analyzeModule.js +16 -9
- package/dist/plugin/loader/env-loader.js +2 -2
- package/dist/plugin/loader/react-loader.d.ts +4 -4
- package/dist/plugin/loader/react-loader.d.ts.map +1 -1
- package/dist/plugin/loader/react-loader.js +101 -73
- package/dist/plugin/loader/transformClientModule.d.ts +3 -3
- package/dist/plugin/loader/transformClientModule.d.ts.map +1 -1
- package/dist/plugin/loader/transformClientModule.js +63 -18
- package/dist/plugin/loader/transformModule.d.ts.map +1 -1
- package/dist/plugin/loader/transformModule.js +80 -16
- package/dist/plugin/loader/transformModuleIfNeeded.d.ts +6 -1
- package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -1
- package/dist/plugin/loader/transformModuleIfNeeded.js +10 -18
- package/dist/plugin/loader/transformNonServerEnvironment.d.ts +1 -1
- package/dist/plugin/loader/transformNonServerEnvironment.d.ts.map +1 -1
- package/dist/plugin/loader/transformNonServerEnvironment.js +14 -12
- package/dist/plugin/loader/transformServerModule.d.ts +1 -1
- package/dist/plugin/loader/transformServerModule.d.ts.map +1 -1
- package/dist/plugin/loader/transformServerModule.js +54 -15
- package/dist/plugin/loader/types.d.ts +24 -7
- package/dist/plugin/loader/types.d.ts.map +1 -1
- package/dist/plugin/metrics/collectStreamMetrics.d.ts +1 -2
- package/dist/plugin/metrics/collectStreamMetrics.d.ts.map +1 -1
- package/dist/plugin/metrics/collectStreamMetrics.js +1 -1
- package/dist/plugin/metrics/convertStreamMetrics.d.ts +3 -0
- package/dist/plugin/metrics/convertStreamMetrics.d.ts.map +1 -0
- package/dist/plugin/metrics/convertStreamMetrics.js +26 -0
- package/dist/plugin/metrics/createModuleResolutionMetrics.d.ts +12 -0
- package/dist/plugin/metrics/createModuleResolutionMetrics.d.ts.map +1 -0
- package/dist/plugin/metrics/createModuleResolutionMetrics.js +32 -0
- package/dist/plugin/metrics/createRenderMetrics.d.ts +2 -2
- package/dist/plugin/metrics/createRenderMetrics.d.ts.map +1 -1
- package/dist/plugin/metrics/createRenderMetrics.js +45 -13
- package/dist/plugin/metrics/createStreamMetrics.d.ts +2 -2
- package/dist/plugin/metrics/createStreamMetrics.d.ts.map +1 -1
- package/dist/plugin/metrics/createStreamMetrics.js +15 -4
- package/dist/plugin/metrics/createWorkerStartupMetrics.d.ts +12 -0
- package/dist/plugin/metrics/createWorkerStartupMetrics.d.ts.map +1 -0
- package/dist/plugin/metrics/createWorkerStartupMetrics.js +14 -0
- package/dist/plugin/metrics/formatMetrics.d.ts +0 -6
- package/dist/plugin/metrics/formatMetrics.d.ts.map +1 -1
- package/dist/plugin/metrics/formatMetrics.js +7 -29
- package/dist/plugin/metrics/index.d.ts +6 -3
- package/dist/plugin/metrics/index.d.ts.map +1 -1
- package/dist/plugin/metrics/index.js +6 -3
- package/dist/plugin/metrics/metricWatcher.d.ts +9 -0
- package/dist/plugin/metrics/metricWatcher.d.ts.map +1 -0
- package/dist/plugin/metrics/metricWatcher.js +141 -0
- package/dist/plugin/metrics/types.d.ts +72 -6
- package/dist/plugin/metrics/types.d.ts.map +1 -1
- package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts +3 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts.map +1 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.client.js +36 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.d.ts +19 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.d.ts.map +1 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.js +13 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts +3 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts.map +1 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.server.js +44 -0
- package/dist/plugin/orchestrator/index.d.ts +2 -0
- package/dist/plugin/orchestrator/index.d.ts.map +1 -0
- package/dist/plugin/orchestrator/index.js +1 -0
- package/dist/plugin/orchestrator/plugin.js +7 -0
- package/dist/plugin/orchestrator/resolveStrategy.d.ts +19 -0
- package/dist/plugin/orchestrator/resolveStrategy.d.ts.map +1 -0
- package/dist/plugin/orchestrator/resolveStrategy.js +35 -0
- package/dist/plugin/orchestrator/types.d.ts +21 -0
- package/dist/plugin/orchestrator/types.d.ts.map +1 -0
- package/dist/plugin/orchestrator/types.js +1 -0
- package/dist/plugin/plugin.client.d.ts +11 -19
- package/dist/plugin/plugin.client.d.ts.map +1 -1
- package/dist/plugin/plugin.client.js +20 -13
- package/dist/plugin/plugin.d.ts +2 -1
- package/dist/plugin/plugin.d.ts.map +1 -1
- package/dist/plugin/plugin.js +4 -2
- package/dist/plugin/plugin.server.d.ts +13 -11
- package/dist/plugin/plugin.server.d.ts.map +1 -1
- package/dist/plugin/plugin.server.js +19 -18
- package/dist/plugin/process-env.d.ts +1 -0
- package/dist/plugin/process-env.d.ts.map +1 -1
- package/dist/plugin/react-client/createMessageHandlers.d.ts +2 -10
- package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
- package/dist/plugin/react-client/createMessageHandlers.js +42 -69
- package/dist/plugin/react-client/index.client.d.ts +2 -0
- package/dist/plugin/react-client/index.client.d.ts.map +1 -0
- package/dist/plugin/react-client/index.client.js +1 -0
- package/dist/plugin/react-client/index.d.ts +3 -4
- package/dist/plugin/react-client/index.d.ts.map +1 -1
- package/dist/plugin/react-client/index.js +10 -5
- package/dist/plugin/react-client/index.server.d.ts +2 -0
- package/dist/plugin/react-client/index.server.d.ts.map +1 -0
- package/dist/plugin/react-client/index.server.js +1 -0
- package/dist/plugin/react-client/plugin.client.d.ts +15 -0
- package/dist/plugin/react-client/plugin.client.d.ts.map +1 -0
- package/dist/plugin/react-client/plugin.client.js +98 -0
- package/dist/plugin/react-client/plugin.d.ts +2 -5
- package/dist/plugin/react-client/plugin.d.ts.map +1 -1
- package/dist/plugin/react-client/plugin.js +6 -121
- package/dist/plugin/react-client/plugin.server.d.ts +15 -0
- package/dist/plugin/react-client/plugin.server.d.ts.map +1 -0
- package/dist/plugin/react-client/plugin.server.js +93 -0
- package/dist/plugin/react-client/types.d.ts +60 -0
- package/dist/plugin/react-client/types.d.ts.map +1 -0
- package/dist/plugin/react-client/types.js +1 -0
- package/dist/plugin/react-server/index.client.d.ts +2 -0
- package/dist/plugin/react-server/index.client.d.ts.map +1 -0
- package/dist/plugin/react-server/index.client.js +1 -0
- package/dist/plugin/react-server/index.d.ts +3 -1
- package/dist/plugin/react-server/index.d.ts.map +1 -1
- package/dist/plugin/react-server/index.js +13 -1
- package/dist/plugin/react-server/index.server.d.ts +2 -0
- package/dist/plugin/react-server/index.server.d.ts.map +1 -0
- package/dist/plugin/react-server/index.server.js +1 -0
- package/dist/plugin/react-server/plugin.client.d.ts +3 -0
- package/dist/plugin/react-server/plugin.client.d.ts.map +1 -0
- package/dist/plugin/react-server/plugin.client.js +40 -0
- package/dist/plugin/react-server/plugin.d.ts +2 -5
- package/dist/plugin/react-server/plugin.d.ts.map +1 -1
- package/dist/plugin/react-server/plugin.js +5 -143
- package/dist/plugin/react-server/plugin.server.d.ts +3 -0
- package/dist/plugin/react-server/plugin.server.d.ts.map +1 -0
- package/dist/plugin/react-server/plugin.server.js +18 -0
- package/dist/plugin/react-server/types.d.ts +11 -0
- package/dist/plugin/react-server/types.d.ts.map +1 -0
- package/dist/plugin/react-server/types.js +1 -0
- package/dist/plugin/react-static/collectHtmlContent.d.ts +15 -0
- package/dist/plugin/react-static/collectHtmlContent.d.ts.map +1 -0
- package/dist/plugin/react-static/collectHtmlContent.js +104 -0
- package/dist/plugin/react-static/collectRscContent.d.ts +10 -15
- package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
- package/dist/plugin/react-static/collectRscContent.js +71 -20
- package/dist/plugin/react-static/configurePreviewServer.d.ts +1 -7
- package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
- package/dist/plugin/react-static/configurePreviewServer.js +3 -6
- package/dist/plugin/react-static/createBuildLoader.client.d.ts +2 -0
- package/dist/plugin/react-static/createBuildLoader.client.d.ts.map +1 -0
- package/dist/plugin/react-static/createBuildLoader.client.js +7 -0
- package/dist/plugin/react-static/createBuildLoader.d.ts +3 -19
- package/dist/plugin/react-static/createBuildLoader.d.ts.map +1 -1
- package/dist/plugin/react-static/createBuildLoader.js +4 -226
- package/dist/plugin/react-static/createBuildLoader.server.d.ts +9 -0
- package/dist/plugin/react-static/createBuildLoader.server.d.ts.map +1 -0
- package/dist/plugin/react-static/createBuildLoader.server.js +253 -0
- package/dist/plugin/react-static/fileWriter.d.ts +3 -14
- package/dist/plugin/react-static/fileWriter.d.ts.map +1 -1
- package/dist/plugin/react-static/fileWriter.js +233 -42
- package/dist/plugin/react-static/index.client.d.ts +7 -0
- package/dist/plugin/react-static/index.client.d.ts.map +1 -0
- package/dist/plugin/react-static/index.client.js +6 -0
- package/dist/plugin/react-static/index.d.ts +7 -1
- package/dist/plugin/react-static/index.d.ts.map +1 -1
- package/dist/plugin/react-static/index.js +19 -1
- package/dist/plugin/react-static/index.server.d.ts +7 -0
- package/dist/plugin/react-static/index.server.d.ts.map +1 -0
- package/dist/plugin/react-static/index.server.js +6 -0
- package/dist/plugin/react-static/plugin.client.d.ts +32 -0
- package/dist/plugin/react-static/plugin.client.d.ts.map +1 -0
- package/dist/plugin/react-static/plugin.client.js +801 -0
- package/dist/plugin/react-static/plugin.d.ts +3 -20
- package/dist/plugin/react-static/plugin.d.ts.map +1 -1
- package/dist/plugin/react-static/plugin.js +4 -365
- package/dist/plugin/react-static/plugin.server.d.ts +18 -0
- package/dist/plugin/react-static/plugin.server.d.ts.map +1 -0
- package/dist/plugin/react-static/plugin.server.js +615 -0
- package/dist/plugin/react-static/processCssFilesForPages.d.ts +16 -0
- package/dist/plugin/react-static/processCssFilesForPages.d.ts.map +1 -0
- package/dist/plugin/react-static/processCssFilesForPages.js +94 -0
- package/dist/plugin/react-static/renderPage.client.d.ts +49 -0
- package/dist/plugin/react-static/renderPage.client.d.ts.map +1 -0
- package/dist/plugin/react-static/renderPage.client.js +555 -0
- package/dist/plugin/react-static/renderPage.d.ts +3 -4
- package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
- package/dist/plugin/react-static/renderPage.js +6 -119
- package/dist/plugin/react-static/renderPage.server.d.ts +24 -0
- package/dist/plugin/react-static/renderPage.server.d.ts.map +1 -0
- package/dist/plugin/react-static/renderPage.server.js +533 -0
- package/dist/plugin/react-static/renderPages.d.ts +11 -3
- package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
- package/dist/plugin/react-static/renderPages.js +533 -92
- package/dist/plugin/react-static/renderPagesBatched.d.ts +6 -0
- package/dist/plugin/react-static/renderPagesBatched.d.ts.map +1 -0
- package/dist/plugin/react-static/renderPagesBatched.js +195 -0
- package/dist/plugin/react-static/renderStreams.d.ts +2 -5
- package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
- package/dist/plugin/react-static/renderStreams.js +36 -24
- package/dist/plugin/react-static/rscToHtmlStream.client.d.ts +12 -0
- package/dist/plugin/react-static/rscToHtmlStream.client.d.ts.map +1 -0
- package/dist/plugin/react-static/rscToHtmlStream.client.js +32 -0
- package/dist/plugin/react-static/rscToHtmlStream.d.ts +3 -21
- package/dist/plugin/react-static/rscToHtmlStream.d.ts.map +1 -1
- package/dist/plugin/react-static/rscToHtmlStream.js +4 -53
- package/dist/plugin/react-static/rscToHtmlStream.server.d.ts +3 -0
- package/dist/plugin/react-static/rscToHtmlStream.server.d.ts.map +1 -0
- package/dist/plugin/react-static/rscToHtmlStream.server.js +39 -0
- package/dist/plugin/react-static/temporaryReferences.client.d.ts +2 -0
- package/dist/plugin/react-static/temporaryReferences.client.d.ts.map +1 -0
- package/dist/plugin/react-static/temporaryReferences.client.js +1 -0
- package/dist/plugin/react-static/temporaryReferences.d.ts +2 -1
- package/dist/plugin/react-static/temporaryReferences.d.ts.map +1 -1
- package/dist/plugin/react-static/temporaryReferences.js +6 -10
- package/dist/plugin/react-static/temporaryReferences.server.d.ts +2 -0
- package/dist/plugin/react-static/temporaryReferences.server.d.ts.map +1 -0
- package/dist/plugin/react-static/temporaryReferences.server.js +3 -0
- package/dist/plugin/react-static/types.d.ts +83 -9
- package/dist/plugin/react-static/types.d.ts.map +1 -1
- package/dist/plugin/root.d.ts.map +1 -1
- package/dist/plugin/root.js +2 -5
- package/dist/plugin/stream/MessagePortReadable.d.ts +22 -0
- package/dist/plugin/stream/MessagePortReadable.d.ts.map +1 -0
- package/dist/plugin/stream/MessagePortReadable.js +101 -0
- package/dist/plugin/stream/MessagePortWritable.d.ts +22 -0
- package/dist/plugin/stream/MessagePortWritable.d.ts.map +1 -0
- package/dist/plugin/stream/MessagePortWritable.js +85 -0
- package/dist/plugin/stream/client.js +12 -0
- package/dist/plugin/stream/createFromNodeStream.client.d.ts +9 -0
- package/dist/plugin/stream/createFromNodeStream.client.d.ts.map +1 -0
- package/dist/plugin/stream/createFromNodeStream.client.js +76 -0
- package/dist/plugin/stream/createFromNodeStream.d.ts +3 -0
- package/dist/plugin/stream/createFromNodeStream.d.ts.map +1 -0
- package/dist/plugin/stream/createFromNodeStream.js +6 -0
- package/dist/plugin/stream/createFromNodeStream.server.d.ts +9 -0
- package/dist/plugin/stream/createFromNodeStream.server.d.ts.map +1 -0
- package/dist/plugin/stream/createFromNodeStream.server.js +27 -0
- package/dist/plugin/stream/createFromNodeStream.types.d.ts +37 -0
- package/dist/plugin/stream/createFromNodeStream.types.d.ts.map +1 -0
- package/dist/plugin/stream/createFromNodeStream.types.js +1 -0
- package/dist/plugin/stream/createHtmlStream.client.d.ts +3 -0
- package/dist/plugin/stream/createHtmlStream.client.d.ts.map +1 -0
- package/dist/plugin/stream/createHtmlStream.client.js +42 -0
- package/dist/plugin/stream/createHtmlStream.d.ts +3 -0
- package/dist/plugin/stream/createHtmlStream.d.ts.map +1 -0
- package/dist/plugin/stream/createHtmlStream.js +6 -0
- package/dist/plugin/stream/createHtmlStream.server.d.ts +6 -0
- package/dist/plugin/stream/createHtmlStream.server.d.ts.map +1 -0
- package/dist/plugin/stream/createHtmlStream.server.js +224 -0
- package/dist/plugin/stream/createHtmlStream.types.d.ts +43 -0
- package/dist/plugin/stream/createHtmlStream.types.d.ts.map +1 -0
- package/dist/plugin/stream/createHtmlStream.types.js +1 -0
- package/dist/plugin/stream/createMainThreadHandlers.d.ts +11 -0
- package/dist/plugin/stream/createMainThreadHandlers.d.ts.map +1 -0
- package/dist/plugin/stream/createMainThreadHandlers.js +32 -0
- package/dist/plugin/stream/createMessageChannels.d.ts +29 -0
- package/dist/plugin/stream/createMessageChannels.d.ts.map +1 -0
- package/dist/plugin/stream/createMessageChannels.js +35 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.d.ts +10 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.d.ts.map +1 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.js +188 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.d.ts +3 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.d.ts.map +1 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.js +6 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.d.ts +45 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.d.ts.map +1 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.js +249 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.d.ts +17 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.d.ts.map +1 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.js +1 -0
- package/dist/plugin/stream/createRscStream.client.d.ts +18 -0
- package/dist/plugin/stream/createRscStream.client.d.ts.map +1 -0
- package/dist/plugin/stream/createRscStream.client.js +79 -0
- package/dist/plugin/stream/createRscStream.d.ts +2 -0
- package/dist/plugin/stream/createRscStream.d.ts.map +1 -0
- package/dist/plugin/stream/createRscStream.js +13 -0
- package/dist/plugin/stream/createRscStream.server.d.ts +46 -0
- package/dist/plugin/stream/createRscStream.server.d.ts.map +1 -0
- package/dist/plugin/stream/createRscStream.server.js +113 -0
- package/dist/plugin/stream/createRscStream.types.d.ts +134 -0
- package/dist/plugin/stream/createRscStream.types.d.ts.map +1 -0
- package/dist/plugin/stream/createRscStream.types.js +1 -0
- package/dist/plugin/stream/createRscStream.utils.d.ts +54 -0
- package/dist/plugin/stream/createRscStream.utils.d.ts.map +1 -0
- package/dist/plugin/stream/createRscStream.utils.js +91 -0
- package/dist/plugin/stream/createRscWorkerStream.d.ts +41 -0
- package/dist/plugin/stream/createRscWorkerStream.d.ts.map +1 -0
- package/dist/plugin/stream/createRscWorkerStream.js +120 -0
- package/dist/plugin/stream/handleRscStream.client.d.ts +17 -0
- package/dist/plugin/stream/handleRscStream.client.d.ts.map +1 -0
- package/dist/plugin/stream/handleRscStream.client.js +163 -0
- package/dist/plugin/stream/handleRscStream.d.ts +3 -0
- package/dist/plugin/stream/handleRscStream.d.ts.map +1 -0
- package/dist/plugin/stream/handleRscStream.js +13 -0
- package/dist/plugin/stream/handleRscStream.server.d.ts +6 -0
- package/dist/plugin/stream/handleRscStream.server.d.ts.map +1 -0
- package/dist/plugin/stream/handleRscStream.server.js +70 -0
- package/dist/plugin/stream/handleRscStream.types.d.ts +28 -0
- package/dist/plugin/stream/handleRscStream.types.d.ts.map +1 -0
- package/dist/plugin/stream/handleRscStream.types.js +1 -0
- package/dist/plugin/stream/index.client.d.ts +7 -0
- package/dist/plugin/stream/index.client.d.ts.map +1 -0
- package/dist/plugin/stream/index.client.js +11 -0
- package/dist/plugin/stream/index.d.ts +95 -0
- package/dist/plugin/stream/index.d.ts.map +1 -0
- package/dist/plugin/stream/index.js +21 -0
- package/dist/plugin/stream/index.server.d.ts +7 -0
- package/dist/plugin/stream/index.server.d.ts.map +1 -0
- package/dist/plugin/stream/index.server.js +11 -0
- package/dist/plugin/stream/renderRscStream.server.d.ts +21 -0
- package/dist/plugin/stream/renderRscStream.server.d.ts.map +1 -0
- package/dist/plugin/stream/renderRscStream.server.js +153 -0
- package/dist/plugin/stream/renderRscStream.types.d.ts +36 -0
- package/dist/plugin/stream/renderRscStream.types.d.ts.map +1 -0
- package/dist/plugin/stream/renderRscStream.types.js +1 -0
- package/dist/plugin/stream/renderRscStreamHelpers.server.d.ts +9 -0
- package/dist/plugin/stream/renderRscStreamHelpers.server.d.ts.map +1 -0
- package/dist/plugin/stream/renderRscStreamHelpers.server.js +63 -0
- package/dist/plugin/stream/server.js +12 -0
- package/dist/plugin/stream/setMaxListeners.d.ts +16 -0
- package/dist/plugin/stream/setMaxListeners.d.ts.map +1 -0
- package/dist/plugin/stream/setMaxListeners.js +16 -0
- package/dist/plugin/transformer/createTransformerPlugin.d.ts +18 -0
- package/dist/plugin/transformer/createTransformerPlugin.d.ts.map +1 -0
- package/dist/plugin/transformer/createTransformerPlugin.js +269 -0
- package/dist/plugin/transformer/plugin.client.d.ts +2 -29
- package/dist/plugin/transformer/plugin.client.d.ts.map +1 -1
- package/dist/plugin/transformer/plugin.client.js +5 -96
- package/dist/plugin/transformer/plugin.server.d.ts +2 -29
- package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
- package/dist/plugin/transformer/plugin.server.js +5 -96
- package/dist/plugin/transformer/transformerEnv.d.ts +15 -0
- package/dist/plugin/transformer/transformerEnv.d.ts.map +1 -0
- package/dist/plugin/transformer/transformerEnv.js +26 -0
- package/dist/plugin/types.d.ts +366 -140
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/types.js +1 -2
- package/dist/plugin/utils/callServer.d.ts +1 -1
- package/dist/plugin/utils/callServer.d.ts.map +1 -1
- package/dist/plugin/utils/createCallServer.d.ts +1 -1
- package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
- package/dist/plugin/utils/createCallServer.js +4 -9
- package/dist/plugin/utils/createReactFetcher.d.ts +43 -2
- package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -1
- package/dist/plugin/utils/createReactFetcher.js +14 -3
- package/dist/plugin/utils/envUrls.node.js +11 -12
- package/dist/plugin/utils/index.client.d.ts +8 -0
- package/dist/plugin/utils/index.client.d.ts.map +1 -0
- package/dist/plugin/utils/index.client.js +8 -0
- package/dist/plugin/utils/index.d.ts +1 -0
- package/dist/plugin/utils/index.d.ts.map +1 -1
- package/dist/plugin/utils/index.js +3 -2
- package/dist/plugin/utils/index.server.d.ts +6 -0
- package/dist/plugin/utils/index.server.d.ts.map +1 -0
- package/dist/plugin/utils/index.server.js +8 -0
- package/dist/plugin/utils/routeToURL.d.ts.map +1 -1
- package/dist/plugin/utils/routeToURL.js +4 -4
- package/dist/plugin/utils/urls.d.ts +1 -1
- package/dist/plugin/utils/urls.d.ts.map +1 -1
- package/dist/plugin/utils/urls.js +29 -8
- package/dist/plugin/utils/useRscHmr.d.ts +39 -0
- package/dist/plugin/utils/useRscHmr.d.ts.map +1 -0
- package/dist/plugin/utils/useRscHmr.js +27 -0
- package/dist/plugin/vendor/vendor.client.d.ts +3 -3
- package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
- package/dist/plugin/vendor/vendor.client.js +7 -6
- package/dist/plugin/vendor/vendor.d.ts +1 -1
- package/dist/plugin/vendor/vendor.d.ts.map +1 -1
- package/dist/plugin/vendor/vendor.js +4 -6
- package/dist/plugin/vendor/vendor.server.d.ts +4 -2
- package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
- package/dist/plugin/vendor/vendor.server.js +2 -3
- package/dist/plugin/vendor/vendor.static.d.ts +4 -0
- package/dist/plugin/vendor/vendor.static.d.ts.map +1 -0
- package/dist/plugin/vendor/vendor.static.js +15 -0
- package/dist/plugin/worker/createWorker.d.ts +16 -5
- package/dist/plugin/worker/createWorker.d.ts.map +1 -1
- package/dist/plugin/worker/createWorker.js +207 -30
- package/dist/plugin/worker/html/handleHtmlRender.d.ts +14 -0
- package/dist/plugin/worker/html/handleHtmlRender.d.ts.map +1 -0
- package/dist/plugin/worker/html/handleHtmlRender.js +190 -0
- package/dist/plugin/worker/html/html-worker.development.js +9 -26
- package/dist/plugin/worker/html/html-worker.js +4 -4
- package/dist/plugin/worker/html/html-worker.production.js +7 -13
- package/dist/plugin/worker/html/index.d.ts +1 -1
- package/dist/plugin/worker/html/index.js +6 -2
- package/dist/plugin/worker/html/messageHandler.d.ts +1 -1
- package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
- package/dist/plugin/worker/html/messageHandler.js +291 -104
- package/dist/plugin/worker/html/state.d.ts +10 -0
- package/dist/plugin/worker/html/state.d.ts.map +1 -0
- package/dist/plugin/worker/html/state.js +28 -0
- package/dist/plugin/worker/html/types.d.ts +52 -23
- package/dist/plugin/worker/html/types.d.ts.map +1 -1
- package/dist/plugin/worker/index.js +1 -1
- package/dist/plugin/worker/rsc/createBundleLoader.d.ts +22 -0
- package/dist/plugin/worker/rsc/createBundleLoader.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/createBundleLoader.js +55 -0
- package/dist/plugin/worker/rsc/createRscWorkerLoader.d.ts +23 -0
- package/dist/plugin/worker/rsc/createRscWorkerLoader.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/createRscWorkerLoader.js +79 -0
- package/dist/plugin/worker/rsc/handleRscRender.d.ts +32 -0
- package/dist/plugin/worker/rsc/handleRscRender.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/handleRscRender.js +349 -0
- package/dist/plugin/worker/rsc/handlers.d.ts +8 -2
- package/dist/plugin/worker/rsc/handlers.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/handlers.js +137 -200
- package/dist/plugin/worker/rsc/hydrateRscRenderMessage.d.ts +118 -0
- package/dist/plugin/worker/rsc/hydrateRscRenderMessage.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/hydrateRscRenderMessage.js +61 -0
- package/dist/plugin/worker/rsc/messageHandler.d.ts +1 -1
- package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/messageHandler.js +927 -49
- package/dist/plugin/worker/rsc/rsc-worker.development.js +153 -148
- package/dist/plugin/worker/rsc/rsc-worker.js +2 -3
- package/dist/plugin/worker/rsc/rsc-worker.production.js +238 -42
- package/dist/plugin/worker/rsc/state.d.ts +6 -0
- package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/state.js +37 -5
- package/dist/plugin/worker/rsc/types.d.ts +73 -12
- package/dist/plugin/worker/rsc/types.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/workerUserOptions.d.ts +10 -0
- package/dist/plugin/worker/rsc/workerUserOptions.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/workerUserOptions.js +39 -0
- package/dist/plugin/worker/sendMessage.d.ts +2 -3
- package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
- package/dist/plugin/worker/sendMessage.js +24 -38
- package/dist/plugin/worker/types.d.ts +42 -56
- package/dist/plugin/worker/types.d.ts.map +1 -1
- package/dist/plugin/worker/worker-handlers.server.d.ts +2 -0
- package/dist/plugin/worker/worker-handlers.server.d.ts.map +1 -0
- package/dist/plugin/worker/worker-handlers.server.js +1 -0
- package/dist/server.d.ts +5 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +4 -6
- package/dist/static.js +11 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +103 -28
- package/plugin/bundle/bundles.ts +22 -0
- package/plugin/bundle/deferredStaticGeneration.ts +48 -0
- package/plugin/bundle/manifests.ts +73 -0
- package/plugin/components/css.tsx +3 -7
- package/plugin/components/html.tsx +4 -3
- package/plugin/components/index.ts +1 -1
- package/plugin/components/root.tsx +3 -3
- package/plugin/config/autoDiscover/createGlobAutoDiscover.ts +10 -5
- package/plugin/config/autoDiscover/pageAndPropFiles.ts +4 -2
- package/plugin/config/autoDiscover/resolveAutoDiscover.ts +64 -79
- package/plugin/config/autoDiscover/resolveBuildPages.ts +181 -69
- package/plugin/config/createHandlerOptions.client.ts +403 -0
- package/plugin/config/createHandlerOptions.server.ts +477 -0
- package/plugin/config/createHandlerOptions.ts +46 -0
- package/plugin/config/createHandlerOptions.types.ts +119 -0
- package/plugin/config/createModuleID.ts +201 -10
- package/plugin/config/defaults.tsx +58 -9
- package/plugin/config/envPrefixFromConfig.ts +10 -0
- package/plugin/config/getCondition.ts +267 -10
- package/plugin/{getNodeEnv.ts → config/getNodeEnv.ts} +4 -2
- package/plugin/config/index.ts +60 -1
- package/plugin/config/resolveDirectiveMatcher.ts +13 -34
- package/plugin/config/resolveEnv.ts +3 -8
- package/plugin/config/resolveOptions.ts +295 -77
- package/plugin/config/resolvePages.ts +1 -1
- package/plugin/config/resolvePatternWithValues.ts +6 -26
- package/plugin/config/resolveUrlOption.ts +2 -2
- package/plugin/config/resolveUserConfig.ts +358 -133
- package/plugin/config/stashedOptionsState.ts +144 -0
- package/plugin/dev-server/cleanupServerAction.client.ts +47 -0
- package/plugin/dev-server/cleanupServerAction.server.ts +24 -0
- package/plugin/dev-server/cleanupServerAction.ts +8 -0
- package/plugin/dev-server/configureReactServer.client.ts +107 -0
- package/plugin/dev-server/configureReactServer.server.ts +558 -0
- package/plugin/dev-server/configureReactServer.ts +8 -0
- package/plugin/dev-server/configureRequestHandler.client.ts +382 -0
- package/plugin/dev-server/configureRequestHandler.server.ts +46 -0
- package/plugin/dev-server/configureRequestHandler.ts +8 -0
- package/plugin/dev-server/handleServerAction.client.ts +126 -0
- package/plugin/dev-server/handleServerAction.server.ts +10 -0
- package/plugin/dev-server/handleServerAction.ts +8 -0
- package/plugin/dev-server/index.client.ts +6 -0
- package/plugin/dev-server/index.server.ts +6 -0
- package/plugin/dev-server/index.ts +20 -0
- package/plugin/dev-server/plugin.client.ts +160 -0
- package/plugin/dev-server/plugin.server.ts +133 -0
- package/plugin/dev-server/restartWorker.client.ts +155 -0
- package/plugin/dev-server/restartWorker.server.ts +108 -0
- package/plugin/dev-server/restartWorker.ts +8 -0
- package/plugin/dev-server/types.ts +78 -0
- package/plugin/dev-server/virtualRscHmrPlugin.ts +82 -0
- package/plugin/env/createConfigEnv.ts +27 -8
- package/plugin/env/createEnvPlugin.ts +76 -0
- package/plugin/env/getArgValue.ts +1 -1
- package/plugin/env/getEnvKey.ts +20 -1
- package/plugin/env/index.ts +10 -0
- package/plugin/env/plugin.client.ts +3 -0
- package/plugin/env/plugin.server.ts +4 -0
- package/plugin/env/plugin.ts +48 -103
- package/plugin/environments/createBuildEventPlugin.ts +117 -0
- package/plugin/environments/createEnvironmentPlugin.ts +332 -0
- package/plugin/environments/hashCoordination.ts +39 -0
- package/plugin/environments/resolveEnvironmentConfig.ts +320 -0
- package/plugin/error/assertPanic.ts +9 -0
- package/plugin/error/handleError.ts +63 -0
- package/plugin/error/index.ts +4 -1
- package/plugin/error/logError.ts +63 -42
- package/plugin/error/panicThresholdHandler.ts +52 -0
- package/plugin/error/serializeError.ts +36 -11
- package/plugin/error/serializeErrorInfo.ts +17 -0
- package/plugin/error/setupGlobalErrorHandler.ts +71 -0
- package/plugin/error/shouldPanic.ts +14 -0
- package/plugin/error/toError.ts +59 -19
- package/plugin/error/types.ts +32 -0
- package/plugin/helpers/README.md +112 -0
- package/plugin/helpers/collectManifestCss.ts +24 -5
- package/plugin/helpers/collectViteModuleGraphCss.ts +83 -9
- package/plugin/helpers/createBufferedRscStream.ts +194 -0
- package/plugin/helpers/createCssProps.tsx +22 -19
- package/plugin/helpers/createElementWithReact.tsx +121 -0
- package/plugin/helpers/createPatternMatcher.ts +100 -0
- package/plugin/helpers/createRscRenderHelpers.ts +77 -0
- package/plugin/helpers/createSafePageComponent.ts +64 -0
- package/plugin/helpers/createSerializableHandlerOptions.ts +183 -0
- package/plugin/helpers/createSharedLoader.ts +207 -0
- package/plugin/helpers/createUnifiedCssProcessor.ts +175 -0
- package/plugin/helpers/getBundleManifest.ts +2 -3
- package/plugin/helpers/getRouteFiles.ts +28 -23
- package/plugin/helpers/handleServerAction.client.ts +145 -0
- package/plugin/helpers/handleServerAction.server.ts +151 -0
- package/plugin/helpers/handleServerAction.ts +19 -79
- package/plugin/helpers/handleServerActionHelper.ts +270 -0
- package/plugin/helpers/headlessStreamReuseHandler.ts +48 -0
- package/plugin/helpers/headlessStreamState.ts +122 -0
- package/plugin/helpers/hydrateUserOptions.ts +2 -2
- package/plugin/helpers/index.ts +32 -5
- package/plugin/helpers/logRenderStart.ts +26 -0
- package/plugin/helpers/mergeMessageWithDefaults.ts +80 -0
- package/plugin/helpers/pipeToResponse.ts +77 -0
- package/plugin/helpers/requestInfo.ts +9 -3
- package/plugin/helpers/resolveComponents.client.ts +183 -0
- package/plugin/helpers/resolveModuleFromManifest.ts +99 -0
- package/plugin/helpers/resolvePageAndProps.ts +237 -50
- package/plugin/helpers/resolveRenderUrl.ts +26 -0
- package/plugin/helpers/resolveStreamElements.client.ts +50 -0
- package/plugin/helpers/resolveStreamElements.server.ts +43 -0
- package/plugin/helpers/resolveStreamElements.ts +13 -0
- package/plugin/helpers/resolveStreamElements.types.ts +29 -0
- package/plugin/helpers/resolveVirtualAndNodeModules.ts +75 -0
- package/plugin/helpers/resolveWithDefaultRootAndHtml.ts +25 -0
- package/plugin/helpers/serializeUserOptions.ts +37 -15
- package/plugin/helpers/tryManifest.ts +15 -6
- package/plugin/helpers/validateRscRenderMessage.ts +13 -0
- package/plugin/helpers/workerCleanup.ts +85 -0
- package/plugin/helpers/workerManager.ts +16 -0
- package/plugin/index.ts +6 -2
- package/plugin/loader/createDefaultLoader.ts +0 -21
- package/plugin/loader/createTransformer.ts +231 -37
- package/plugin/loader/directives/analyzeDirectives.ts +163 -73
- package/plugin/loader/directives/analyzeModule.ts +18 -9
- package/plugin/loader/env-loader.ts +3 -3
- package/plugin/loader/react-loader.ts +133 -86
- package/plugin/loader/transformClientModule.ts +85 -23
- package/plugin/loader/transformModule.ts +101 -21
- package/plugin/loader/transformModuleIfNeeded.ts +20 -23
- package/plugin/loader/transformNonServerEnvironment.ts +21 -13
- package/plugin/loader/transformServerModule.ts +86 -22
- package/plugin/loader/types.ts +22 -7
- package/plugin/metrics/collectStreamMetrics.ts +1 -2
- package/plugin/metrics/convertStreamMetrics.ts +28 -0
- package/plugin/metrics/createModuleResolutionMetrics.ts +38 -0
- package/plugin/metrics/createRenderMetrics.ts +46 -13
- package/plugin/metrics/createStreamMetrics.ts +16 -6
- package/plugin/metrics/createWorkerStartupMetrics.ts +38 -0
- package/plugin/metrics/formatMetrics.ts +5 -33
- package/plugin/metrics/index.ts +6 -3
- package/plugin/metrics/metricWatcher.ts +216 -0
- package/plugin/metrics/types.ts +87 -8
- package/plugin/orchestrator/createPluginOrchestrator.client.ts +47 -0
- package/plugin/orchestrator/createPluginOrchestrator.server.ts +55 -0
- package/plugin/orchestrator/createPluginOrchestrator.ts +29 -0
- package/plugin/orchestrator/index.ts +1 -0
- package/plugin/orchestrator/resolveStrategy.ts +53 -0
- package/plugin/orchestrator/types.ts +24 -0
- package/plugin/plugin.client.ts +29 -34
- package/plugin/plugin.server.ts +36 -42
- package/plugin/plugin.ts +8 -2
- package/plugin/process-env.ts +3 -0
- package/plugin/react-client/createMessageHandlers.ts +9 -34
- package/plugin/react-client/index.client.ts +1 -0
- package/plugin/react-client/index.server.ts +1 -0
- package/plugin/react-client/index.ts +13 -4
- package/plugin/react-client/plugin.client.ts +124 -0
- package/plugin/react-client/plugin.server.ts +108 -0
- package/plugin/react-client/plugin.ts +13 -152
- package/plugin/react-client/types.ts +95 -0
- package/plugin/react-server/index.client.ts +1 -0
- package/plugin/react-server/index.server.ts +1 -0
- package/plugin/react-server/index.ts +13 -1
- package/plugin/react-server/plugin.client.ts +54 -0
- package/plugin/react-server/plugin.server.ts +27 -0
- package/plugin/react-server/plugin.ts +8 -183
- package/plugin/react-server/types.ts +24 -0
- package/plugin/react-static/collectHtmlContent.ts +131 -0
- package/plugin/react-static/collectRscContent.ts +92 -49
- package/plugin/react-static/configurePreviewServer.ts +8 -18
- package/plugin/react-static/createBuildLoader.client.ts +7 -0
- package/plugin/react-static/createBuildLoader.server.ts +333 -0
- package/plugin/react-static/createBuildLoader.ts +8 -300
- package/plugin/react-static/fileWriter.ts +303 -64
- package/plugin/react-static/index.client.ts +6 -0
- package/plugin/react-static/index.server.ts +6 -0
- package/plugin/react-static/index.ts +25 -1
- package/plugin/react-static/plugin.client.ts +932 -0
- package/plugin/react-static/plugin.server.ts +713 -0
- package/plugin/react-static/plugin.ts +8 -446
- package/plugin/react-static/processCssFilesForPages.ts +148 -0
- package/plugin/react-static/renderPage.client.ts +640 -0
- package/plugin/react-static/renderPage.server.ts +655 -0
- package/plugin/react-static/renderPage.ts +10 -160
- package/plugin/react-static/renderPages.ts +736 -139
- package/plugin/react-static/renderPagesBatched.ts +264 -0
- package/plugin/react-static/renderStreams.ts +12 -16
- package/plugin/react-static/rscToHtmlStream.client.ts +61 -0
- package/plugin/react-static/rscToHtmlStream.server.ts +66 -0
- package/plugin/react-static/rscToHtmlStream.ts +8 -80
- package/plugin/react-static/temporaryReferences.client.ts +1 -0
- package/plugin/react-static/temporaryReferences.server.ts +5 -0
- package/plugin/react-static/temporaryReferences.ts +11 -2
- package/plugin/react-static/types.ts +202 -8
- package/plugin/root.ts +1 -3
- package/plugin/stream/MessagePortReadable.ts +131 -0
- package/plugin/stream/MessagePortWritable.ts +104 -0
- package/plugin/stream/createFromNodeStream.client.ts +90 -0
- package/plugin/stream/createFromNodeStream.server.ts +30 -0
- package/plugin/stream/createFromNodeStream.ts +13 -0
- package/plugin/stream/createFromNodeStream.types.ts +53 -0
- package/plugin/stream/createHtmlStream.client.ts +47 -0
- package/plugin/stream/createHtmlStream.server.ts +312 -0
- package/plugin/stream/createHtmlStream.ts +13 -0
- package/plugin/stream/createHtmlStream.types.ts +63 -0
- package/plugin/stream/createMainThreadHandlers.ts +44 -0
- package/plugin/stream/createMessageChannels.ts +52 -0
- package/plugin/stream/createRenderToPipeableStreamHandler.client.ts +224 -0
- package/plugin/stream/createRenderToPipeableStreamHandler.server.ts +358 -0
- package/plugin/stream/createRenderToPipeableStreamHandler.ts +13 -0
- package/plugin/stream/createRenderToPipeableStreamHandler.types.ts +69 -0
- package/plugin/stream/createRscStream.client.ts +122 -0
- package/plugin/stream/createRscStream.server.ts +188 -0
- package/plugin/stream/createRscStream.ts +8 -0
- package/plugin/stream/createRscStream.types.ts +168 -0
- package/plugin/stream/createRscStream.utils.ts +171 -0
- package/plugin/stream/createRscWorkerStream.ts +178 -0
- package/plugin/stream/handleRscStream.client.ts +214 -0
- package/plugin/stream/handleRscStream.server.ts +82 -0
- package/plugin/stream/handleRscStream.ts +11 -0
- package/plugin/stream/handleRscStream.types.ts +70 -0
- package/plugin/stream/index.client.ts +15 -0
- package/plugin/stream/index.server.ts +15 -0
- package/plugin/stream/index.ts +137 -0
- package/plugin/stream/renderRscStream.server.ts +182 -0
- package/plugin/stream/renderRscStream.types.ts +43 -0
- package/plugin/stream/renderRscStreamHelpers.server.ts +88 -0
- package/plugin/stream/setMaxListeners.ts +30 -0
- package/plugin/transformer/README.md +2 -381
- package/plugin/transformer/createTransformerPlugin.ts +388 -0
- package/plugin/transformer/plugin.client.ts +6 -141
- package/plugin/transformer/plugin.server.ts +6 -142
- package/plugin/transformer/transformerEnv.ts +49 -0
- package/plugin/types/react-server-dom-esm.d.ts +269 -110
- package/plugin/types/virtual-rsc-hmr.d.ts +21 -0
- package/plugin/types.ts +636 -223
- package/plugin/utils/createCallServer.ts +8 -18
- package/plugin/utils/createReactFetcher.ts +87 -5
- package/plugin/utils/env.ts +1 -1
- package/plugin/utils/index.client.ts +8 -0
- package/plugin/utils/index.server.ts +8 -0
- package/plugin/utils/index.ts +5 -1
- package/plugin/utils/routeToURL.ts +3 -4
- package/plugin/utils/urls.ts +40 -8
- package/plugin/utils/useRscHmr.ts +72 -0
- package/plugin/vendor/vendor.client.ts +9 -7
- package/plugin/vendor/vendor.server.ts +5 -4
- package/plugin/vendor/vendor.static.ts +12 -0
- package/plugin/vendor/vendor.ts +10 -5
- package/plugin/worker/createWorker.ts +283 -41
- package/plugin/worker/html/README.md +2 -65
- package/plugin/worker/html/handleHtmlRender.ts +245 -0
- package/plugin/worker/html/html-worker.development.tsx +5 -17
- package/plugin/worker/html/html-worker.production.tsx +1 -1
- package/plugin/worker/html/html-worker.ts +5 -5
- package/plugin/worker/html/index.ts +6 -6
- package/plugin/worker/html/messageHandler.tsx +317 -98
- package/plugin/worker/html/state.ts +38 -0
- package/plugin/worker/html/types.ts +108 -35
- package/plugin/worker/rsc/README.md +2 -257
- package/plugin/worker/rsc/createBundleLoader.ts +92 -0
- package/plugin/worker/rsc/createRscWorkerLoader.ts +104 -0
- package/plugin/worker/rsc/handleRscRender.ts +510 -0
- package/plugin/worker/rsc/handlers.ts +159 -238
- package/plugin/worker/rsc/hydrateRscRenderMessage.ts +118 -0
- package/plugin/worker/rsc/messageHandler.tsx +1288 -58
- package/plugin/worker/rsc/rsc-worker.development.ts +198 -185
- package/plugin/worker/rsc/rsc-worker.production.ts +302 -64
- package/plugin/worker/rsc/rsc-worker.tsx +3 -5
- package/plugin/worker/rsc/state.ts +54 -2
- package/plugin/worker/rsc/types.ts +110 -32
- package/plugin/worker/rsc/workerUserOptions.ts +63 -0
- package/plugin/worker/sendMessage.ts +33 -53
- package/plugin/worker/types.ts +94 -91
- package/scripts/generate-toc.mjs +311 -0
- package/scripts/remove-toc.mjs +51 -0
- package/scripts/test-both.sh +82 -0
- package/dist/plugin/config/resolveDevServerConfig.d.ts +0 -2
- package/dist/plugin/config/resolveDevServerConfig.d.ts.map +0 -1
- package/dist/plugin/getNodeEnv.d.ts.map +0 -1
- package/dist/plugin/getNodeEnv.js +0 -17
- package/dist/plugin/helpers/collectBundleManifestCss.d.ts +0 -2
- package/dist/plugin/helpers/collectBundleManifestCss.d.ts.map +0 -1
- package/dist/plugin/helpers/collectBundleManifestCss.js +0 -2
- package/dist/plugin/helpers/createEventHandler.d.ts +0 -22
- package/dist/plugin/helpers/createEventHandler.d.ts.map +0 -1
- package/dist/plugin/helpers/createEventHandler.js +0 -36
- package/dist/plugin/helpers/createHandler.d.ts +0 -14
- package/dist/plugin/helpers/createHandler.d.ts.map +0 -1
- package/dist/plugin/helpers/createHandler.js +0 -75
- package/dist/plugin/helpers/createRscStream.d.ts +0 -26
- package/dist/plugin/helpers/createRscStream.d.ts.map +0 -1
- package/dist/plugin/helpers/createRscStream.js +0 -178
- package/dist/plugin/helpers/defaultFileWriter.d.ts +0 -2
- package/dist/plugin/helpers/defaultFileWriter.d.ts.map +0 -1
- package/dist/plugin/helpers/resolveComponents.d.ts +0 -27
- package/dist/plugin/helpers/resolveComponents.d.ts.map +0 -1
- package/dist/plugin/helpers/resolveComponents.js +0 -146
- package/dist/plugin/helpers/resolveUserComponents.d.ts +0 -33
- package/dist/plugin/helpers/resolveUserComponents.d.ts.map +0 -1
- package/dist/plugin/helpers/resolveUserComponents.js +0 -163
- package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts +0 -11
- package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts.map +0 -1
- package/dist/plugin/react-client/cleanupWorkerServerAction.js +0 -18
- package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts +0 -17
- package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +0 -1
- package/dist/plugin/react-client/configureWorkerRequestHandler.js +0 -203
- package/dist/plugin/react-client/createWorkerStream.d.ts +0 -26
- package/dist/plugin/react-client/createWorkerStream.d.ts.map +0 -1
- package/dist/plugin/react-client/createWorkerStream.js +0 -163
- package/dist/plugin/react-client/handleWorkerRscStream.d.ts +0 -24
- package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +0 -1
- package/dist/plugin/react-client/handleWorkerRscStream.js +0 -91
- package/dist/plugin/react-client/handleWorkerServerAction.d.ts +0 -13
- package/dist/plugin/react-client/handleWorkerServerAction.d.ts.map +0 -1
- package/dist/plugin/react-client/handleWorkerServerAction.js +0 -62
- package/dist/plugin/react-client/restartWorker.d.ts +0 -12
- package/dist/plugin/react-client/restartWorker.d.ts.map +0 -1
- package/dist/plugin/react-client/restartWorker.js +0 -69
- package/dist/plugin/react-server/configureReactServer.d.ts +0 -10
- package/dist/plugin/react-server/configureReactServer.d.ts.map +0 -1
- package/dist/plugin/react-server/configureReactServer.js +0 -209
- package/dist/plugin/react-server/handleServerAction.d.ts +0 -6
- package/dist/plugin/react-server/handleServerAction.d.ts.map +0 -1
- package/dist/plugin/react-server/handleServerAction.js +0 -159
- package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +0 -25
- package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +0 -1
- package/dist/plugin/react-static/collectHtmlWorkerContent.js +0 -94
- package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts +0 -12
- package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +0 -1
- package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +0 -130
- package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts +0 -3
- package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts.map +0 -1
- package/dist/plugin/worker/html/sendHtmlWorkerMessage.js +0 -2
- package/dist/plugin/worker/rsc/handleRender.d.ts +0 -6
- package/dist/plugin/worker/rsc/handleRender.d.ts.map +0 -1
- package/dist/plugin/worker/rsc/handleRender.js +0 -137
- package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts +0 -3
- package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts.map +0 -1
- package/dist/plugin/worker/rsc/sendRscWorkerMessage.js +0 -11
- package/dist/plugin/worker/rsc/userOptions.d.ts +0 -2
- package/dist/plugin/worker/rsc/userOptions.d.ts.map +0 -1
- package/dist/plugin/worker/rsc/userOptions.js +0 -16
- package/plugin/helpers/collectBundleManifestCss.ts +0 -1
- package/plugin/helpers/createEventHandler.ts +0 -44
- package/plugin/helpers/createHandler.ts +0 -97
- package/plugin/helpers/createRscStream.tsx +0 -226
- package/plugin/helpers/defaultFileWriter.ts +0 -0
- package/plugin/helpers/resolveComponents.ts +0 -202
- package/plugin/helpers/resolveUserComponents.ts +0 -190
- package/plugin/react-client/cleanupWorkerServerAction.ts +0 -33
- package/plugin/react-client/configureWorkerRequestHandler.ts +0 -249
- package/plugin/react-client/createWorkerStream.ts +0 -210
- package/plugin/react-client/handleWorkerRscStream.ts +0 -145
- package/plugin/react-client/handleWorkerServerAction.ts +0 -96
- package/plugin/react-client/restartWorker.ts +0 -90
- package/plugin/react-server/configureReactServer.ts +0 -235
- package/plugin/react-server/handleServerAction.ts +0 -192
- package/plugin/react-static/collectHtmlWorkerContent.ts +0 -147
- package/plugin/worker/html/createHtmlWorkerRenderState.tsx +0 -142
- package/plugin/worker/html/sendHtmlWorkerMessage.ts +0 -8
- package/plugin/worker/rsc/handleRender.ts +0 -168
- package/plugin/worker/rsc/sendRscWorkerMessage.ts +0 -7
- package/plugin/worker/rsc/userOptions.ts +0 -7
- /package/dist/plugin/config/{resolveDevServerConfig.js → createHandlerOptions.types.js} +0 -0
- /package/dist/plugin/{helpers/defaultFileWriter.js → dev-server/types.js} +0 -0
- /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
|
|
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
|
-
|
|
17
|
+
logger
|
|
23
18
|
}) {
|
|
24
|
-
const
|
|
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
|
-
|
|
102
|
-
|
|
103
|
-
|
|
80
|
+
for (const [rootKey, rootValue] of files.rootMap) {
|
|
81
|
+
if (!customComponentInputs[rootKey]) {
|
|
82
|
+
customComponentInputs[rootKey] = rootValue;
|
|
83
|
+
}
|
|
104
84
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
85
|
+
for (const [htmlKey, htmlValue] of files.htmlMap) {
|
|
86
|
+
if (!customComponentInputs[htmlKey]) {
|
|
87
|
+
customComponentInputs[htmlKey] = htmlValue;
|
|
88
|
+
}
|
|
108
89
|
}
|
|
109
|
-
const
|
|
90
|
+
const clientInputsCollection = {
|
|
110
91
|
...configInputRecord,
|
|
111
92
|
...clientInputs,
|
|
112
93
|
...clientEntry,
|
|
113
94
|
...cssInputs
|
|
114
95
|
};
|
|
115
|
-
const
|
|
116
|
-
...
|
|
117
|
-
...agnosticInputs
|
|
118
|
-
} : {
|
|
119
|
-
...configInputRecord,
|
|
96
|
+
const serverInputsCollection = {
|
|
97
|
+
...clientInputsCollection,
|
|
120
98
|
...customWorkerInputs,
|
|
121
99
|
...pageAndPropInputs,
|
|
122
|
-
...
|
|
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
|
-
|
|
138
|
-
|
|
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/IE9iamVjdC5mcm9tRW50cmllcyhbdXNlck9wdGlvbnMubm9ybWFsaXplcih1c2VyT3B0aW9ucy5zZXJ2ZXJFbnRyeSldKVxuICAgICAgICA6IG51bGw7XG5cbiAgICBjb25zdCBpbmRleEh0bWxJbnB1dHMgPSB7IGluZGV4OiBcImluZGV4Lmh0bWxcIiB9O1xuXG4gICAgY29uc3QgY2xpZW50RW50cnkgPVxuICAgICAgdHlwZW9mIHVzZXJPcHRpb25zLmNsaWVudEVudHJ5ID09PSBcInN0cmluZ1wiXG4gICAgICAgID8gT2JqZWN0LmZyb21FbnRyaWVzKFt1c2VyT3B0aW9ucy5ub3JtYWxpemVyKHVzZXJPcHRpb25zLmNsaWVudEVudHJ5KV0pXG4gICAgICAgIDoge307XG5cbiAgICBjb25zdCB7IHR5cGUsIGVycm9yLCBwYWdlcyB9ID0gYXdhaXQgcmVzb2x2ZVBhZ2VzKHVzZXJPcHRpb25zLmJ1aWxkLnBhZ2VzKTtcblxuICAgIGlmICh0eXBlID09PSBcImVycm9yXCIpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IFwiZXJyb3JcIixcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIGlkOiBlbnZJZCxcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IGNsaWVudEZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuY2xpZW50RW50cnkpO1xuICAgIGNvbnN0IHNlcnZlckZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuc2VydmVyRW50cnkpO1xuICAgIGNvbnN0IGNzc0ZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuY3NzRW50cnkpO1xuICAgIGNvbnN0IGpzb25GaWxlcyA9IGNyZWF0ZUdsb2JBdXRvRGlzY292ZXIodXNlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLmpzb25FbnRyeSk7XG4gICAgY29uc3QgaHRtbEZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuaHRtbFBhdHRlcm4uc291cmNlKTtcblxuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgcmVzb2x2ZUJ1aWxkUGFnZXMoe1xuICAgICAgcGFnZXMsXG4gICAgICB1c2VyT3B0aW9ucyxcbiAgICAgIGxvZ2dlcixcbiAgICB9KTtcblxuIFxuXG4gICAgY29uc3QgY3VzdG9tV29ya2VySW5wdXRzID0gY3VzdG9tV29ya2VyRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuICAgIGNvbnN0IGNsaWVudElucHV0cyA9IGF3YWl0IGNsaWVudEZpbGVzKHtcbiAgICAgIGlucHV0czoge30sXG4gICAgICB1c2VyT3B0aW9ucyxcbiAgICB9KTtcbiAgICBjb25zdCBzZXJ2ZXJBY3Rpb25zID0gYXdhaXQgc2VydmVyRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcGFnZUFuZFByb3BJbnB1dHMgPSBwYWdlQW5kUHJvcEZpbGVzKHtcbiAgICAgIGZpbGVzLFxuICAgICAgaW5wdXRzOiB7fSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNzc0lucHV0cyA9IGF3YWl0IGNzc0ZpbGVzKHtcbiAgICAgIGlucHV0czoge30sXG4gICAgICB1c2VyT3B0aW9ucyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGpzb25JbnB1dHMgPSBhd2FpdCBqc29uRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaHRtbElucHV0cyA9IGF3YWl0IGh0bWxGaWxlcyh7XG4gICAgICBpbnB1dHM6IHt9LFxuICAgICAgdXNlck9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgY3VzdG9tIFJvb3QgYW5kIEh0bWwgY29tcG9uZW50cyB0byBpbnB1dHNcbiAgICBjb25zdCBjdXN0b21Db21wb25lbnRJbnB1dHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgIC8vIEFkZCBSb290IGNvbXBvbmVudHMgZnJvbSByZXNvbHZlZCBidWlsZCBwYWdlc1xuICAgIGZvciAoY29uc3QgW3Jvb3RLZXksIHJvb3RWYWx1ZV0gb2YgZmlsZXMucm9vdE1hcCkge1xuICAgICAgaWYgKCFjdXN0b21Db21wb25lbnRJbnB1dHNbcm9vdEtleV0pIHtcbiAgICAgICAgY3VzdG9tQ29tcG9uZW50SW5wdXRzW3Jvb3RLZXldID0gcm9vdFZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkZCBIdG1sIGNvbXBvbmVudHMgZnJvbSByZXNvbHZlZCBidWlsZCBwYWdlc1xuICAgIGZvciAoY29uc3QgW2h0bWxLZXksIGh0bWxWYWx1ZV0gb2YgZmlsZXMuaHRtbE1hcCkge1xuICAgICAgaWYgKCFjdXN0b21Db21wb25lbnRJbnB1dHNbaHRtbEtleV0pIHtcbiAgICAgICAgY3VzdG9tQ29tcG9uZW50SW5wdXRzW2h0bWxLZXldID0gaHRtbFZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgXG4gICAgLy8gU2VwYXJhdGUgY2xpZW50IGFuZCBzZXJ2ZXIgaW5wdXRzXG4gICAgY29uc3QgY2xpZW50SW5wdXRzQ29sbGVjdGlvbiA9IHtcbiAgICAgIC4uLmNvbmZpZ0lucHV0UmVjb3JkLFxuICAgICAgLi4uY2xpZW50SW5wdXRzLFxuICAgICAgLi4uY2xpZW50RW50cnksXG4gICAgICAuLi5jc3NJbnB1dHMsXG4gICAgfTtcbiAgICBcbiAgICBjb25zdCBzZXJ2ZXJJbnB1dHNDb2xsZWN0aW9uID0ge1xuICAgICAgLi4uY2xpZW50SW5wdXRzQ29sbGVjdGlvbixcbiAgICAgIC4uLmN1c3RvbVdvcmtlcklucHV0cyxcbiAgICAgIC4uLnBhZ2VBbmRQcm9wSW5wdXRzLFxuICAgICAgLi4uY3NzSW5wdXRzLFxuICAgICAgLi4uc2VydmVyQWN0aW9ucyxcbiAgICAgIC4uLnNlcnZlckVudHJ5LFxuICAgICAgLi4uanNvbklucHV0cyxcbiAgICAgIC4uLmN1c3RvbUNvbXBvbmVudElucHV0cywgLy8gQWRkIGN1c3RvbSBjb21wb25lbnRzIHRvIHNlcnZlciBidWlsZFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogXCJzdWNjZXNzXCIsXG4gICAgICBpZDogZW52SWQsXG4gICAgICBhdXRvRGlzY292ZXJlZEZpbGVzOiB7XG4gICAgICAgIC4uLmZpbGVzLFxuICAgICAgICB3b3JrZXJQYXRoczogY3VzdG9tV29ya2VySW5wdXRzLFxuICAgICAgICBzZXJ2ZXJFbnRyeSxcbiAgICAgICAgY2xpZW50RW50cnksXG4gICAgICAgIHN0YXRpY0lucHV0czoge1xuICAgICAgICAgIC4uLmluZGV4SHRtbElucHV0cyxcbiAgICAgICAgICAuLi5odG1sSW5wdXRzLFxuICAgICAgICAgIC4uLmNsaWVudElucHV0c0NvbGxlY3Rpb25cbiAgICAgICAgfSxcbiAgICAgICAgY2xpZW50SW5wdXRzOiBjbGllbnRJbnB1dHNDb2xsZWN0aW9uLFxuICAgICAgICBzZXJ2ZXJJbnB1dHM6IHNlcnZlcklucHV0c0NvbGxlY3Rpb24sXG4gICAgICAgIHNlcnZlckFjdGlvbnMsXG4gICAgICB9LFxuICAgIH07XG4gIH07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBMERhLE1BQUEsbUJBQUEsR0FDWCxlQUFlLG9CQUFxQixDQUFBO0FBQUEsRUFDbEMsTUFBQTtBQUFBLEVBQ0EsU0FBQTtBQUFBLEVBQ0EsV0FBQTtBQUFBLEVBQ0E7QUFDRixDQUFHLEVBQUE7QUFDRCxFQUFBLE1BQU0sUUFBUSxDQUFHLEVBQUEsU0FBQSxDQUFVLE9BQU8sQ0FBQSxDQUFBLEVBQUksVUFBVSxJQUFJLENBQUEsQ0FBQTtBQU9wRCxFQUFBLE1BQU0sb0JBQW9CLEVBQUM7QUFDM0IsRUFBQSxJQUFJLE9BQU8sTUFBQSxDQUFPLEtBQU8sRUFBQSxhQUFBLEVBQWUsVUFBVSxRQUFVLEVBQUE7QUFDMUQsSUFBQSxpQkFBQSxDQUNFLFdBQVksQ0FBQSxVQUFBLENBQVcsTUFBTyxDQUFBLEtBQUEsRUFBTyxhQUFlLEVBQUEsS0FBSyxDQUFFLENBQUEsQ0FBQyxDQUM5RCxDQUFBLEdBQUksTUFBTyxDQUFBLEtBQUEsRUFBTyxh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
|
|
@@ -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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
75
|
+
const [rootKey, resolvedRootValue] = userOptions.normalizer(
|
|
76
|
+
rootResult.Root
|
|
77
|
+
);
|
|
78
|
+
const manifestResolvedRootValue = resolvePathWithManifest(resolvedRootValue, manifest);
|
|
50
79
|
if (userOptions.verbose) {
|
|
51
|
-
|
|
80
|
+
logger.info(
|
|
81
|
+
`[resolveBuildPages] resolveBuildPages - Root resolved: ${rootResult.Root} -> ${resolvedRootValue} -> ${manifestResolvedRootValue}`
|
|
82
|
+
);
|
|
52
83
|
}
|
|
53
|
-
rootValue =
|
|
54
|
-
rootMap.set(rootKey,
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
104
|
+
const [htmlKey, resolvedHtmlValue] = userOptions.normalizer(
|
|
105
|
+
htmlResult.Html
|
|
106
|
+
);
|
|
107
|
+
const manifestResolvedHtmlValue = resolvePathWithManifest(resolvedHtmlValue, manifest);
|
|
74
108
|
if (userOptions.verbose) {
|
|
75
|
-
|
|
109
|
+
logger.info(
|
|
110
|
+
`[resolveBuildPages] resolveBuildPages - Html resolved: ${htmlResult.Html} -> ${resolvedHtmlValue} -> ${manifestResolvedHtmlValue}`
|
|
111
|
+
);
|
|
76
112
|
}
|
|
77
|
-
htmlValue =
|
|
78
|
-
htmlMap.set(htmlKey,
|
|
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, {
|
|
87
|
-
|
|
88
|
-
|
|
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(
|
|
127
|
+
routeMap.set(manifestResolvedPageValue, routes);
|
|
91
128
|
continue;
|
|
92
129
|
}
|
|
93
130
|
try {
|
|
94
|
-
await access(join(userOptions.projectRoot,
|
|
131
|
+
await access(join(userOptions.projectRoot, manifestResolvedPageValue));
|
|
95
132
|
} catch {
|
|
96
|
-
errors.push(new Error(`Page file not found: ${
|
|
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
|
-
|
|
142
|
+
const manifestResolvedPropsValue = resolvePathWithManifest(propsValue, manifest);
|
|
143
|
+
if (manifestResolvedPropsValue !== manifestResolvedPageValue) {
|
|
106
144
|
try {
|
|
107
|
-
await access(join(userOptions.projectRoot,
|
|
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, {
|
|
115
|
-
|
|
116
|
-
|
|
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(
|
|
119
|
-
const propsRoutes = routeMap.get(
|
|
159
|
+
routeMap.set(manifestResolvedPageValue, pageRoutes);
|
|
160
|
+
const propsRoutes = routeMap.get(manifestResolvedPropsValue) || [];
|
|
120
161
|
propsRoutes.push(page);
|
|
121
|
-
routeMap.set(
|
|
162
|
+
routeMap.set(manifestResolvedPropsValue, propsRoutes);
|
|
122
163
|
} else {
|
|
123
|
-
urlMap.set(page, {
|
|
124
|
-
|
|
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(
|
|
172
|
+
routeMap.set(manifestResolvedPageValue, routes);
|
|
127
173
|
}
|
|
128
|
-
pageMap.set(pageKey,
|
|
174
|
+
pageMap.set(pageKey, manifestResolvedPageValue);
|
|
129
175
|
}
|
|
130
176
|
if (pages.length === 0 && (userOptions.Root || userOptions.Html)) {
|
|
131
177
|
if (userOptions.verbose) {
|
|
132
|
-
|
|
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(
|
|
184
|
+
const rootResult = await resolveUrlOption(
|
|
185
|
+
userOptions,
|
|
186
|
+
"Root",
|
|
187
|
+
defaultPage
|
|
188
|
+
);
|
|
137
189
|
if (rootResult.type === "success") {
|
|
138
|
-
const [rootKey, resolvedRootValue] = userOptions.normalizer(
|
|
190
|
+
const [rootKey, resolvedRootValue] = userOptions.normalizer(
|
|
191
|
+
rootResult.Root
|
|
192
|
+
);
|
|
139
193
|
if (userOptions.verbose) {
|
|
140
|
-
|
|
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(
|
|
202
|
+
const htmlResult = await resolveUrlOption(
|
|
203
|
+
userOptions,
|
|
204
|
+
"Html",
|
|
205
|
+
defaultPage
|
|
206
|
+
);
|
|
147
207
|
if (htmlResult.type === "success") {
|
|
148
|
-
const [htmlKey, resolvedHtmlValue] = userOptions.normalizer(
|
|
208
|
+
const [htmlKey, resolvedHtmlValue] = userOptions.normalizer(
|
|
209
|
+
htmlResult.Html
|
|
210
|
+
);
|
|
149
211
|
if (userOptions.verbose) {
|
|
150
|
-
|
|
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 = {
|
|
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"}
|