vite-plugin-react-server 1.2.0-alpha.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +211 -59
- package/dist/client.d.ts +4 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +4 -4
- 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 +152 -17
- package/dist/plugin/config/defaults.d.ts.map +1 -1
- package/dist/plugin/config/defaults.js +69 -25
- 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 +1 -1
- package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
- package/dist/plugin/config/resolveEnv.js +32 -28
- 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 +195 -61
- 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 -70
- 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 +13 -0
- package/dist/plugin/env/createConfigEnv.d.ts.map +1 -0
- package/dist/plugin/env/createConfigEnv.js +43 -0
- 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.d.ts +8 -0
- package/dist/plugin/env/getArgValue.d.ts.map +1 -0
- package/dist/plugin/env/getArgValue.js +52 -0
- package/dist/plugin/env/getEnvKey.d.ts +46 -0
- package/dist/plugin/env/getEnvKey.d.ts.map +1 -0
- package/dist/plugin/env/getEnvKey.js +32 -0
- package/dist/plugin/env/index.d.ts +5 -0
- package/dist/plugin/env/index.d.ts.map +1 -1
- package/dist/plugin/env/index.js +7 -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 +27 -102
- 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.d.ts +2 -0
- package/dist/plugin/env/userConfigEnv.d.ts.map +1 -0
- package/dist/plugin/env/userConfigEnv.js +12 -0
- 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 +35 -34
- 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/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 -25
- 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 +2 -2
- package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
- package/dist/plugin/helpers/getRouteFiles.js +67 -36
- 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 -44
- 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 +6 -4
- package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
- package/dist/plugin/helpers/requestInfo.js +48 -30
- 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 +157 -32
- 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 +2 -6
- package/dist/plugin/loader/directives/analyzeModule.d.ts.map +1 -1
- package/dist/plugin/loader/directives/analyzeModule.js +32 -11
- package/dist/plugin/loader/env-loader.d.ts +3 -2
- package/dist/plugin/loader/env-loader.d.ts.map +1 -1
- package/dist/plugin/loader/env-loader.js +32 -9
- package/dist/plugin/loader/parse.d.ts +3 -2
- package/dist/plugin/loader/parse.d.ts.map +1 -1
- package/dist/plugin/loader/parse.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 +4 -5
- 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 +82 -14
- 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 +10 -0
- package/dist/plugin/loader/transformNonServerEnvironment.d.ts.map +1 -0
- package/dist/plugin/loader/transformNonServerEnvironment.js +74 -0
- package/dist/plugin/loader/transformServerModule.d.ts +2 -3
- package/dist/plugin/loader/transformServerModule.d.ts.map +1 -1
- package/dist/plugin/loader/transformServerModule.js +80 -22
- package/dist/plugin/loader/transformWithAcornLoose.js +1 -3
- package/dist/plugin/loader/types.d.ts +37 -32
- 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 +28 -29
- 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 -22
- package/dist/plugin/process-env.d.ts +19 -6
- package/dist/plugin/process-env.d.ts.map +1 -1
- package/dist/plugin/process-env.js +17 -0
- 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 -141
- 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 +15 -29
- 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 -131
- 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 +3 -0
- package/dist/plugin/transformer/plugin.client.d.ts.map +1 -0
- package/dist/plugin/transformer/plugin.client.js +5 -0
- 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 -104
- 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 +368 -143
- 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.d.ts.map +1 -1
- package/dist/plugin/utils/envUrls.node.js +11 -11
- 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 -47
- 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 +240 -15
- 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 +102 -27
- 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 +108 -55
- 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 +37 -33
- package/plugin/config/resolveOptions.ts +375 -154
- 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 +359 -124
- 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 +59 -0
- package/plugin/env/createEnvPlugin.ts +76 -0
- package/plugin/env/getArgValue.ts +56 -0
- package/plugin/env/getEnvKey.ts +80 -0
- package/plugin/env/index.ts +14 -1
- package/plugin/env/plugin.client.ts +3 -0
- package/plugin/env/plugin.server.ts +4 -0
- package/plugin/env/plugin.ts +40 -164
- package/plugin/env/userConfigEnv.ts +22 -0
- 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 +64 -40
- 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 -41
- 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 +94 -48
- package/plugin/helpers/handleServerAction.client.ts +145 -0
- package/plugin/helpers/handleServerAction.server.ts +151 -0
- package/plugin/helpers/handleServerAction.ts +19 -78
- 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 +59 -39
- 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 +232 -46
- package/plugin/loader/directives/analyzeDirectives.ts +163 -73
- package/plugin/loader/directives/analyzeModule.ts +46 -19
- package/plugin/loader/env-loader.ts +56 -14
- package/plugin/loader/parse.ts +2 -2
- package/plugin/loader/react-loader.ts +133 -85
- package/plugin/loader/transformClientModule.ts +84 -26
- package/plugin/loader/transformModule.ts +103 -18
- package/plugin/loader/transformModuleIfNeeded.ts +20 -23
- package/plugin/loader/transformNonServerEnvironment.ts +103 -0
- package/plugin/loader/transformServerModule.ts +132 -37
- package/plugin/loader/types.ts +31 -23
- 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 +30 -32
- package/plugin/plugin.server.ts +38 -45
- package/plugin/plugin.ts +8 -2
- package/plugin/process-env.ts +30 -6
- 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 +20 -41
- 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 -172
- 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 +7 -0
- package/plugin/transformer/plugin.server.ts +6 -140
- 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 +637 -225
- package/plugin/utils/createCallServer.ts +8 -18
- package/plugin/utils/createReactFetcher.ts +87 -5
- package/plugin/utils/env.ts +1 -1
- package/plugin/utils/envUrls.node.ts +15 -10
- 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 +41 -9
- 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 +1289 -56
- package/plugin/worker/rsc/rsc-worker.development.ts +198 -185
- package/plugin/worker/rsc/rsc-worker.production.ts +306 -21
- 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 -174
- 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 -137
- 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/preserver/index.d.ts +0 -2
- package/dist/plugin/preserver/index.d.ts.map +0 -1
- package/dist/plugin/preserver/index.js +0 -1
- package/dist/plugin/preserver/plugin.d.ts +0 -3
- package/dist/plugin/preserver/plugin.d.ts.map +0 -1
- package/dist/plugin/preserver/plugin.js +0 -134
- 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 -209
- 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 -99
- 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 -70
- 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 -205
- 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/react-static/streamHandler.d.ts +0 -2
- package/dist/plugin/react-static/streamHandler.d.ts.map +0 -1
- 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 -5
- package/dist/plugin/worker/rsc/handleRender.d.ts.map +0 -1
- package/dist/plugin/worker/rsc/handleRender.js +0 -140
- 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 -221
- package/plugin/helpers/defaultFileWriter.ts +0 -0
- package/plugin/helpers/resolveComponents.ts +0 -185
- package/plugin/helpers/resolveUserComponents.ts +0 -190
- package/plugin/preserver/index.ts +0 -1
- package/plugin/preserver/plugin.ts +0 -178
- package/plugin/react-client/cleanupWorkerServerAction.ts +0 -33
- package/plugin/react-client/configureWorkerRequestHandler.ts +0 -255
- package/plugin/react-client/createWorkerStream.ts +0 -210
- package/plugin/react-client/handleWorkerRscStream.ts +0 -156
- package/plugin/react-client/handleWorkerServerAction.ts +0 -96
- package/plugin/react-client/restartWorker.ts +0 -91
- package/plugin/react-server/configureReactServer.ts +0 -231
- package/plugin/react-server/handleServerAction.ts +0 -192
- package/plugin/react-static/collectHtmlWorkerContent.ts +0 -147
- package/plugin/react-static/streamHandler.ts +0 -0
- package/plugin/worker/html/createHtmlWorkerRenderState.tsx +0 -142
- package/plugin/worker/html/sendHtmlWorkerMessage.ts +0 -8
- package/plugin/worker/rsc/handleRender.ts +0 -175
- 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/dist/plugin/{react-static/streamHandler.js → error/types.js} +0 -0
- /package/plugin/{config/resolveDevServerConfig.tsx → worker/worker-handlers.server.ts} +0 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vite-plugin-react-server
|
|
3
|
+
* Copyright (c) Nico Brinkkemper
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { createSerializableHandlerOptions } from '../helpers/createSerializableHandlerOptions.js';
|
|
7
|
+
import { assertNonReactServer } from '../config/getCondition.js';
|
|
8
|
+
import { validateRscStreamOptions } from './createRscStream.utils.js';
|
|
9
|
+
import { toError } from '../error/toError.js';
|
|
10
|
+
import { createStreamMetrics } from '../metrics/createStreamMetrics.js';
|
|
11
|
+
import { createMessageChannels } from './createMessageChannels.js';
|
|
12
|
+
import { MessagePortReadable } from './MessagePortReadable.js';
|
|
13
|
+
|
|
14
|
+
assertNonReactServer();
|
|
15
|
+
const createRscStream = function _createRscStreamClient(options) {
|
|
16
|
+
validateRscStreamOptions(options, "createRscStream.client");
|
|
17
|
+
if (!options.rscWorker) {
|
|
18
|
+
throw new Error("RSC worker is required for client-side RSC streaming");
|
|
19
|
+
}
|
|
20
|
+
const { dataPort1, dataPort2, controlPort1, controlPort2 } = createMessageChannels();
|
|
21
|
+
const rscStream = new MessagePortReadable(dataPort1, controlPort1);
|
|
22
|
+
controlPort1.on("message", (message) => {
|
|
23
|
+
switch (message.type) {
|
|
24
|
+
case "ERROR":
|
|
25
|
+
const error = toError(message.error, message.errorInfo);
|
|
26
|
+
if (options.onEvent) {
|
|
27
|
+
options.onEvent({
|
|
28
|
+
type: "route.error",
|
|
29
|
+
data: {
|
|
30
|
+
error,
|
|
31
|
+
route: options.route,
|
|
32
|
+
panicThreshold: options.panicThreshold
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
rscStream.destroy();
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
const serializedOptions = createSerializableHandlerOptions({
|
|
41
|
+
...options,
|
|
42
|
+
dataPort: dataPort2,
|
|
43
|
+
controlPort: controlPort2
|
|
44
|
+
});
|
|
45
|
+
options.rscWorker.postMessage({
|
|
46
|
+
type: "INIT",
|
|
47
|
+
id: options.route,
|
|
48
|
+
dataPort: dataPort2,
|
|
49
|
+
controlPort: controlPort2,
|
|
50
|
+
options: serializedOptions
|
|
51
|
+
}, [dataPort2, controlPort2]);
|
|
52
|
+
const metrics = createStreamMetrics({
|
|
53
|
+
route: options.route,
|
|
54
|
+
startTime: Date.now()
|
|
55
|
+
});
|
|
56
|
+
const clientResult = {
|
|
57
|
+
type: "client",
|
|
58
|
+
id: options.id || `${options.route}-${Date.now()}`,
|
|
59
|
+
rscStream,
|
|
60
|
+
metrics,
|
|
61
|
+
pipe: (destination) => {
|
|
62
|
+
return rscStream.pipe(destination);
|
|
63
|
+
},
|
|
64
|
+
abort: (reason) => {
|
|
65
|
+
try {
|
|
66
|
+
controlPort1.postMessage({ type: "ABORT", reason });
|
|
67
|
+
} catch (error) {
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
rscStream.destroy();
|
|
71
|
+
} catch (error) {
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
return clientResult;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export { createRscStream };
|
|
79
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUnNjU3RyZWFtLmNsaWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3N0cmVhbS9jcmVhdGVSc2NTdHJlYW0uY2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVNlcmlhbGl6YWJsZUhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIi4uL2hlbHBlcnMvY3JlYXRlU2VyaWFsaXphYmxlSGFuZGxlck9wdGlvbnMuanNcIjtcbmltcG9ydCB0eXBlIHsgQ3JlYXRlUnNjU3RyZWFtRm4sIENsaWVudFJzY1N0cmVhbVJlc3VsdCB9IGZyb20gXCIuL2NyZWF0ZVJzY1N0cmVhbS50eXBlcy5qc1wiO1xuaW1wb3J0IHsgYXNzZXJ0Tm9uUmVhY3RTZXJ2ZXIgfSBmcm9tIFwiLi4vY29uZmlnL2dldENvbmRpdGlvbi5qc1wiO1xuaW1wb3J0IHsgdmFsaWRhdGVSc2NTdHJlYW1PcHRpb25zIH0gZnJvbSBcIi4vY3JlYXRlUnNjU3RyZWFtLnV0aWxzLmpzXCI7XG5pbXBvcnQgeyB0b0Vycm9yIH0gZnJvbSBcIi4uL2Vycm9yL3RvRXJyb3IuanNcIjtcbmltcG9ydCB7IGNyZWF0ZVN0cmVhbU1ldHJpY3MgfSBmcm9tIFwiLi4vbWV0cmljcy9jcmVhdGVTdHJlYW1NZXRyaWNzLmpzXCI7XG5pbXBvcnQgeyBjcmVhdGVNZXNzYWdlQ2hhbm5lbHMgfSBmcm9tIFwiLi9jcmVhdGVNZXNzYWdlQ2hhbm5lbHMuanNcIjtcbmltcG9ydCB7IE1lc3NhZ2VQb3J0UmVhZGFibGUgfSBmcm9tIFwiLi9NZXNzYWdlUG9ydFJlYWRhYmxlLmpzXCI7XG5cbmFzc2VydE5vblJlYWN0U2VydmVyKCk7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBSU0Mgc3RyZWFtIGJ5IGNvbW11bmljYXRpbmcgd2l0aCB0aGUgUlNDIHdvcmtlci5cbiAqIFxuICogKipQdXJwb3NlKio6IENyZWF0ZXMgUlNDIHN0cmVhbXMgYnkgb2ZmbG9hZGluZyBSZWFjdCByZW5kZXJpbmcgdG8gYSBzZXBhcmF0ZSB3b3JrZXIgdGhyZWFkLlxuICogKipXaGVuIHRvIHVzZSoqOiBcbiAqIC0gWW91IG5lZWQgdG8gY3JlYXRlIFJTQyBzdHJlYW1zIGluIGEgY2xpZW50IGVudmlyb25tZW50XG4gKiAtIFlvdSB3YW50IHRvIGF2b2lkIGJsb2NraW5nIHRoZSBtYWluIHRocmVhZCBkdXJpbmcgUmVhY3QgcmVuZGVyaW5nXG4gKiAtIFlvdSdyZSBidWlsZGluZyBzdGF0aWMgc2l0ZXMgYW5kIG5lZWQgUlNDIGNvbnRlbnQgZm9yIG11bHRpcGxlIHJvdXRlc1xuICogLSBZb3UgbmVlZCB0byBjcmVhdGUgLnJzYyBmaWxlcyBmb3IgY2xpZW50LXNpZGUgbmF2aWdhdGlvblxuICogXG4gKiAqKkZsb3cqKjogUm91dGUgKyBDb21wb25lbnRzIOKGkiBSU0MgV29ya2VyIOKGkiBSU0MgU3RyZWFtXG4gKiBcbiAqIEBwYXJhbSBvcHRpb25zIC0gT3B0aW9ucyBmb3IgUlNDIHN0cmVhbSBjcmVhdGlvblxuICogQHJldHVybnMgUlNDIHN0cmVhbSB3aXRoIHBpcGUvYWJvcnQgaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVSc2NTdHJlYW06IENyZWF0ZVJzY1N0cmVhbUZuPFwiY2xpZW50XCI+ID0gZnVuY3Rpb24gX2NyZWF0ZVJzY1N0cmVhbUNsaWVudChvcHRpb25zKSB7XG4gIC8vIFZhbGlkYXRlIG9wdGlvbnNcbiAgdmFsaWRhdGVSc2NTdHJlYW1PcHRpb25zKG9wdGlvbnMsIFwiY3JlYXRlUnNjU3RyZWFtLmNsaWVudFwiKTtcblxuICBpZiAoIW9wdGlvbnMucnNjV29ya2VyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiUlNDIHdvcmtlciBpcyByZXF1aXJlZCBmb3IgY2xpZW50LXNpZGUgUlNDIHN0cmVhbWluZ1wiKTtcbiAgfVxuXG4gIC8vIENyZWF0ZSB0d28gc2VwYXJhdGUgTWVzc2FnZVBvcnRzIGZvciBjbGVhbiBzZXBhcmF0aW9uIG9mIGNvbmNlcm5zXG4gIGNvbnN0IHsgZGF0YVBvcnQxLCBkYXRhUG9ydDIsIGNvbnRyb2xQb3J0MSwgY29udHJvbFBvcnQyIH0gPSBjcmVhdGVNZXNzYWdlQ2hhbm5lbHMoKTtcblxuICAvLyBDcmVhdGUgdGhlIFJTQyBvdXRwdXQgc3RyZWFtXG4gIGNvbnN0IHJzY1N0cmVhbSA9IG5ldyBNZXNzYWdlUG9ydFJlYWRhYmxlKGRhdGFQb3J0MSwgY29udHJvbFBvcnQxKTtcblxuICAvLyBDb250cm9sIHBvcnQgLSBoYW5kbGVzIGNvbnRyb2wgbWVzc2FnZXNcbiAgY29udHJvbFBvcnQxLm9uKCdtZXNzYWdlJywgKG1lc3NhZ2U6IGFueSkgPT4ge1xuICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICBjYXNlICdFUlJPUic6XG4gICAgICAgIGNvbnN0IGVycm9yID0gdG9FcnJvcihtZXNzYWdlLmVycm9yLCBtZXNzYWdlLmVycm9ySW5mbyk7XG4gICAgICAgIFxuICAgICAgICAvLyBFbWl0IHJvdXRlLmVycm9yIGV2ZW50IGZvciBwYW5pYyBoYW5kbGluZ1xuICAgICAgICBpZiAob3B0aW9ucy5vbkV2ZW50KSB7XG4gICAgICAgICAgb3B0aW9ucy5vbkV2ZW50KHtcbiAgICAgICAgICAgIHR5cGU6IFwicm91dGUuZXJyb3JcIixcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgZXJyb3I6IGVycm9yLFxuICAgICAgICAgICAgICByb3V0ZTogb3B0aW9ucy5yb3V0ZSxcbiAgICAgICAgICAgICAgcGFuaWNUaHJlc2hvbGQ6IG9wdGlvbnMucGFuaWNUaHJlc2hvbGRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy8gRW5kIHRoZSBzdHJlYW0gbm9ybWFsbHlcbiAgICAgICAgcnNjU3RyZWFtLmRlc3Ryb3koKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdSU0NfRU5EJzpcbiAgICAgICAgLy8gV29ya2VyIGhhcyBmaW5pc2hlZCBzZW5kaW5nIGRhdGEgLSBkb24ndCBjbG9zZSBwb3J0cyB5ZXRcbiAgICAgICAgLy8gTGV0IHRoZSBNZXNzYWdlUG9ydFJlYWRhYmxlIGhhbmRsZSB0aGUgbmF0dXJhbCBlbmQgb2Ygc3RyZWFtXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTUVUUklDUyc6XG4gICAgICAgIC8vIE1ldHJpY3MgYXJlIGhhbmRsZWQgYnkgdGhlIHdvcmtlciBpbnRlcm5hbGx5XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gQ3JlYXRlIHNlcmlhbGl6YWJsZSBoYW5kbGVyIG9wdGlvbnMgZm9yIHRoZSB3b3JrZXJcbiAgY29uc3Qgc2VyaWFsaXplZE9wdGlvbnMgPSBjcmVhdGVTZXJpYWxpemFibGVIYW5kbGVyT3B0aW9ucyh7XG4gICAgLi4ub3B0aW9ucyxcbiAgICBkYXRhUG9ydDogZGF0YVBvcnQyLFxuICAgIGNvbnRyb2xQb3J0OiBjb250cm9sUG9ydDIsXG4gIH0pO1xuXG4gIC8vIFNlbmQgaW5pdGlhbGl6YXRpb24gdG8gd29ya2VyXG4gIG9wdGlvbnMucnNjV29ya2VyLnBvc3RNZXNzYWdlKHtcbiAgICB0eXBlOiBcIklOSVRcIixcbiAgICBpZDogb3B0aW9ucy5yb3V0ZSxcbiAgICBkYXRhUG9ydDogZGF0YVBvcnQyLFxuICAgIGNvbnRyb2xQb3J0OiBjb250cm9sUG9ydDIsXG4gICAgb3B0aW9uczogc2VyaWFsaXplZE9wdGlvbnMsXG4gIH0sIFtkYXRhUG9ydDIsIGNvbnRyb2xQb3J0Ml0gYXMgYW55KTtcblxuICAvLyBDcmVhdGUgc3RyZWFtIG1ldHJpY3NcbiAgY29uc3QgbWV0cmljcyA9IGNyZWF0ZVN0cmVhbU1ldHJpY3Moe1xuICAgIHJvdXRlOiBvcHRpb25zLnJvdXRlLFxuICAgIHN0YXJ0VGltZTogRGF0ZS5ub3coKSxcbiAgfSk7XG5cbiAgLy8gUmV0dXJuIGNsaWVudCByZXN1bHQgd2l0aCBjb25zaXN0ZW50IGludGVyZmFjZVxuICBjb25zdCBjbGllbnRSZXN1bHQ6IENsaWVudFJzY1N0cmVhbVJlc3VsdCA9IHtcbiAgICB0eXBlOiBcImNsaWVudFwiIGFzIGNvbnN0LFxuICAgIGlkOiBvcHRpb25zLmlkIHx8IGAke29wdGlvbnMucm91dGV9LSR7RGF0ZS5ub3coKX1gLFxuICAgIHJzY1N0cmVhbSxcbiAgICBtZXRyaWNzLFxuICAgIHBpcGU6IDxXcml0YWJsZSBleHRlbmRzIE5vZGVKUy5Xcml0YWJsZVN0cmVhbT4oZGVzdGluYXRpb246IFdyaXRhYmxlKSA9PiB7XG4gICAgICByZXR1cm4gcnNjU3RyZWFtLnBpcGUoZGVzdGluYXRpb24pO1xuICAgIH0sXG4gICAgYWJvcnQ6IChyZWFzb24/OiB1bmtub3duKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb250cm9sUG9ydDEucG9zdE1lc3NhZ2UoeyB0eXBlOiBcIkFCT1JUXCIsIHJlYXNvbiB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIFBvcnQgbWF5IGFscmVhZHkgYmUgY2xvc2VkXG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIEltbWVkaWF0ZSBjbGVhbnVwIGZvciBhYm9ydCB0byBwcmV2ZW50IGhhbmdpbmdcbiAgICAgIHRyeSB7XG4gICAgICAgIHJzY1N0cmVhbS5kZXN0cm95KCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBTdHJlYW0gbWF5IGFscmVhZHkgYmUgZGVzdHJveWVkLCBpZ25vcmVcbiAgICAgIH1cbiAgICAgIC8vIERvbid0IGNsb3NlIHBvcnRzIC0gbGV0IFJlYWN0IGhhbmRsZSBjbGVhbnVwIHRvIHByZXZlbnQgXCJDb25uZWN0aW9uIGNsb3NlZFwiIGVycm9yc1xuICAgICAgLy8gUG9ydHMgd2lsbCBiZSBjbGVhbmVkIHVwIHdoZW4gd29ya2VyIHRlcm1pbmF0ZXNcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBjbGllbnRSZXN1bHQ7XG59OyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBU0Esb0JBQXFCLEVB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRscStream.d.ts","sourceRoot":"","sources":["../../../plugin/stream/createRscStream.ts"],"names":[],"mappings":"AAKA,eAAO,MAAQ,eAAe,KAE7B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vite-plugin-react-server
|
|
3
|
+
* Copyright (c) Nico Brinkkemper
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { getCondition } from '../config/getCondition.js';
|
|
7
|
+
|
|
8
|
+
const dir = new URL("./", import.meta.url).pathname.replace(/\/$/, "");
|
|
9
|
+
const condition = getCondition("");
|
|
10
|
+
const { createRscStream } = await import(`${dir}/createRscStream.${condition}.js`);
|
|
11
|
+
|
|
12
|
+
export { createRscStream };
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUnNjU3RyZWFtLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vc3RyZWFtL2NyZWF0ZVJzY1N0cmVhbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRDb25kaXRpb24gfSBmcm9tIFwiLi4vY29uZmlnL2dldENvbmRpdGlvbi5qc1wiO1xuXG5jb25zdCBkaXIgPSBuZXcgVVJMKFwiLi9cIiwgaW1wb3J0Lm1ldGEudXJsKS5wYXRobmFtZS5yZXBsYWNlKC9cXC8kLywgXCJcIik7XG5jb25zdCBjb25kaXRpb24gPSBnZXRDb25kaXRpb24oXCJcIik7XG5cbmV4cG9ydCBjb25zdCB7IGNyZWF0ZVJzY1N0cmVhbSB9ID0gKGF3YWl0IGltcG9ydChgJHtkaXJ9L2NyZWF0ZVJzY1N0cmVhbS4ke2NvbmRpdGlvbn0uanNgKSkgYXMge1xuICBjcmVhdGVSc2NTdHJlYW06IGFueTtcbn07ICJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUEsTUFBTSxHQUFBLEdBQU0sSUFBSSxHQUFBLENBQUksSUFBTSxFQUFBLE1BQUEsQ0FBQSxJQUFBLENBQVksR0FBRyxDQUFFLENBQUEsUUFBQSxDQUFTLE9BQVEsQ0FBQSxLQUFBLEVBQU8sRUFBRSxDQUFBO0FBQ3JFLE1BQU0sU0FBQSxHQUFZLGFBQWEsRUFBRSxDQUFBO0FBRXBCLE1BQUEsRUFBRSxpQkFBcUIsR0FBQSxNQUFNLE9BQU8sQ0FBRyxFQUFBLEdBQUcsb0JBQW9CLFNBQVMsQ0FBQSxHQUFBLENBQUE7Ozs7In0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { CreateRscStreamFn } from "./createRscStream.types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates an RSC stream using the server-side render handler.
|
|
4
|
+
*
|
|
5
|
+
* **Purpose**: Creates RSC streams directly in the server environment without worker threads.
|
|
6
|
+
* **When to use**:
|
|
7
|
+
* - You're in a server environment (Node.js server)
|
|
8
|
+
* - You want to create RSC streams synchronously without worker overhead
|
|
9
|
+
* - You need RSC streams for server-side rendering or API responses
|
|
10
|
+
* - You're in a development server and want direct RSC generation
|
|
11
|
+
*
|
|
12
|
+
* **Flow**: Route + Components → RSC Stream (direct server rendering)
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // Create RSC stream for server-side rendering
|
|
17
|
+
* const rscStream = createRscStream({
|
|
18
|
+
* route: "/api/data",
|
|
19
|
+
* PageComponent: DataPage,
|
|
20
|
+
* RootComponent: RootLayout,
|
|
21
|
+
* HtmlComponent: React.Fragment, // Headless for API
|
|
22
|
+
* pageProps: { data: apiData },
|
|
23
|
+
* logger: myLogger,
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* // Pipe to response
|
|
27
|
+
* rscStream.pipe(response);
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* // Create full RSC with HTML wrapper
|
|
33
|
+
* const rscFull = createRscStream({
|
|
34
|
+
* route: "/about",
|
|
35
|
+
* PageComponent: AboutPage,
|
|
36
|
+
* RootComponent: RootLayout,
|
|
37
|
+
* HtmlComponent: HtmlDocument, // Full HTML wrapper
|
|
38
|
+
* pageProps: { title: "About Us" },
|
|
39
|
+
* });
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @param options - Options for RSC stream creation
|
|
43
|
+
* @returns RSC stream with pipe/abort interface
|
|
44
|
+
*/
|
|
45
|
+
export declare const createRscStream: CreateRscStreamFn<"server">;
|
|
46
|
+
//# sourceMappingURL=createRscStream.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRscStream.server.d.ts","sourceRoot":"","sources":["../../../plugin/stream/createRscStream.server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,4BAA4B,CAAC;AAapC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,QAAQ,CA+HrD,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vite-plugin-react-server
|
|
3
|
+
* Copyright (c) Nico Brinkkemper
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { createRenderToPipeableStreamHandler } from './createRenderToPipeableStreamHandler.server.js';
|
|
7
|
+
import { assertReactServer } from '../config/getCondition.js';
|
|
8
|
+
import { validateRscStreamOptions, createBaseRscStreamResult, handleRscStreamError } from './createRscStream.utils.js';
|
|
9
|
+
import { createStreamMetrics } from '../metrics/createStreamMetrics.js';
|
|
10
|
+
import { createRscWorkerStream } from './createRscWorkerStream.js';
|
|
11
|
+
|
|
12
|
+
assertReactServer();
|
|
13
|
+
const createRscStream = function _createRscStreamServer(options) {
|
|
14
|
+
const logger = options.logger;
|
|
15
|
+
const verbose = options.verbose || false;
|
|
16
|
+
validateRscStreamOptions(options, "createRscStream.server");
|
|
17
|
+
if (verbose) {
|
|
18
|
+
logger?.info(
|
|
19
|
+
`[createRscStream.server:${options.route}] Creating RSC stream for route: ${options.route}`
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
if (verbose) {
|
|
24
|
+
logger?.info(`[createRscStream.server:${options.route}] Checking for rscWorker: ${!!options.rscWorker}`);
|
|
25
|
+
}
|
|
26
|
+
if (options.rscWorker) {
|
|
27
|
+
if (verbose) {
|
|
28
|
+
logger?.info(
|
|
29
|
+
`[createRscStream.server:${options.route}] Using worker-based RSC stream`
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
const workerStreamResult = createRscWorkerStream({
|
|
33
|
+
worker: options.rscWorker,
|
|
34
|
+
route: options.route,
|
|
35
|
+
url: options.url,
|
|
36
|
+
moduleBasePath: options.moduleBasePath,
|
|
37
|
+
moduleBaseURL: options.moduleBaseURL,
|
|
38
|
+
moduleRootPath: options.moduleRootPath,
|
|
39
|
+
projectRoot: options.projectRoot,
|
|
40
|
+
verbose,
|
|
41
|
+
logger,
|
|
42
|
+
panicThreshold: options.panicThreshold,
|
|
43
|
+
rscTimeout: options.rscTimeout,
|
|
44
|
+
serverPipeableStreamOptions: options.serverPipeableStreamOptions,
|
|
45
|
+
build: options.build,
|
|
46
|
+
pagePath: options.pagePath,
|
|
47
|
+
propsPath: options.propsPath,
|
|
48
|
+
rootPath: options.rootPath,
|
|
49
|
+
htmlPath: options.htmlPath
|
|
50
|
+
});
|
|
51
|
+
const { stream: workerStream, dataPort1, controlPort1 } = workerStreamResult;
|
|
52
|
+
const serverResult2 = {
|
|
53
|
+
type: "server",
|
|
54
|
+
rscStream: workerStream,
|
|
55
|
+
id: options.id || options.route,
|
|
56
|
+
pipe: (destination) => {
|
|
57
|
+
workerStream.pipe(destination);
|
|
58
|
+
return destination;
|
|
59
|
+
},
|
|
60
|
+
abort: () => {
|
|
61
|
+
try {
|
|
62
|
+
workerStream.destroy();
|
|
63
|
+
} catch (error) {
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
dataPort1.onmessage = null;
|
|
67
|
+
controlPort1.onmessage = null;
|
|
68
|
+
dataPort1.close();
|
|
69
|
+
controlPort1.close();
|
|
70
|
+
} catch (error) {
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
metrics: createStreamMetrics()
|
|
74
|
+
// Worker will provide real metrics
|
|
75
|
+
};
|
|
76
|
+
return serverResult2;
|
|
77
|
+
}
|
|
78
|
+
const result = createRenderToPipeableStreamHandler(options);
|
|
79
|
+
if (!result || typeof result.pipe !== "function") {
|
|
80
|
+
throw new Error(
|
|
81
|
+
"createHandler returned invalid result - missing pipe function"
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
if (!result.rscStream) {
|
|
85
|
+
throw new Error(
|
|
86
|
+
"createHandler returned invalid result - missing stream"
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
const baseResult = createBaseRscStreamResult(
|
|
90
|
+
result.rscStream,
|
|
91
|
+
result.pipe,
|
|
92
|
+
result.abort,
|
|
93
|
+
result.metrics,
|
|
94
|
+
options.id || options.route
|
|
95
|
+
);
|
|
96
|
+
const serverResult = {
|
|
97
|
+
...baseResult,
|
|
98
|
+
type: "server"
|
|
99
|
+
};
|
|
100
|
+
if (verbose) {
|
|
101
|
+
logger?.info(
|
|
102
|
+
`[createRscStream.server:${options.route}] RSC stream created successfully`
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
return serverResult;
|
|
106
|
+
} catch (error) {
|
|
107
|
+
handleRscStreamError(error, options, "RSC stream creation error");
|
|
108
|
+
throw error;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
export { createRscStream };
|
|
113
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUnNjU3RyZWFtLnNlcnZlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3N0cmVhbS9jcmVhdGVSc2NTdHJlYW0uc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlbmRlclRvUGlwZWFibGVTdHJlYW1IYW5kbGVyIH0gZnJvbSBcIi4vY3JlYXRlUmVuZGVyVG9QaXBlYWJsZVN0cmVhbUhhbmRsZXIuc2VydmVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIENyZWF0ZVJzY1N0cmVhbUZuLFxuICBTZXJ2ZXJSc2NTdHJlYW1SZXN1bHQsXG59IGZyb20gXCIuL2NyZWF0ZVJzY1N0cmVhbS50eXBlcy5qc1wiO1xuaW1wb3J0IHsgYXNzZXJ0UmVhY3RTZXJ2ZXIgfSBmcm9tIFwiLi4vY29uZmlnL2dldENvbmRpdGlvbi5qc1wiO1xuaW1wb3J0IHtcbiAgdmFsaWRhdGVSc2NTdHJlYW1PcHRpb25zLFxuICBjcmVhdGVCYXNlUnNjU3RyZWFtUmVzdWx0LFxuICBoYW5kbGVSc2NTdHJlYW1FcnJvcixcbn0gZnJvbSBcIi4vY3JlYXRlUnNjU3RyZWFtLnV0aWxzLmpzXCI7XG5cbmltcG9ydCB7IGNyZWF0ZVN0cmVhbU1ldHJpY3MgfSBmcm9tIFwiLi4vbWV0cmljcy9jcmVhdGVTdHJlYW1NZXRyaWNzLmpzXCI7XG5pbXBvcnQgeyBjcmVhdGVSc2NXb3JrZXJTdHJlYW0gfSBmcm9tIFwiLi9jcmVhdGVSc2NXb3JrZXJTdHJlYW0uanNcIjtcblxuYXNzZXJ0UmVhY3RTZXJ2ZXIoKTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIFJTQyBzdHJlYW0gdXNpbmcgdGhlIHNlcnZlci1zaWRlIHJlbmRlciBoYW5kbGVyLlxuICpcbiAqICoqUHVycG9zZSoqOiBDcmVhdGVzIFJTQyBzdHJlYW1zIGRpcmVjdGx5IGluIHRoZSBzZXJ2ZXIgZW52aXJvbm1lbnQgd2l0aG91dCB3b3JrZXIgdGhyZWFkcy5cbiAqICoqV2hlbiB0byB1c2UqKjpcbiAqIC0gWW91J3JlIGluIGEgc2VydmVyIGVudmlyb25tZW50IChOb2RlLmpzIHNlcnZlcilcbiAqIC0gWW91IHdhbnQgdG8gY3JlYXRlIFJTQyBzdHJlYW1zIHN5bmNocm9ub3VzbHkgd2l0aG91dCB3b3JrZXIgb3ZlcmhlYWRcbiAqIC0gWW91IG5lZWQgUlNDIHN0cmVhbXMgZm9yIHNlcnZlci1zaWRlIHJlbmRlcmluZyBvciBBUEkgcmVzcG9uc2VzXG4gKiAtIFlvdSdyZSBpbiBhIGRldmVsb3BtZW50IHNlcnZlciBhbmQgd2FudCBkaXJlY3QgUlNDIGdlbmVyYXRpb25cbiAqXG4gKiAqKkZsb3cqKjogUm91dGUgKyBDb21wb25lbnRzIOKGkiBSU0MgU3RyZWFtIChkaXJlY3Qgc2VydmVyIHJlbmRlcmluZylcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gQ3JlYXRlIFJTQyBzdHJlYW0gZm9yIHNlcnZlci1zaWRlIHJlbmRlcmluZ1xuICogY29uc3QgcnNjU3RyZWFtID0gY3JlYXRlUnNjU3RyZWFtKHtcbiAqICAgcm91dGU6IFwiL2FwaS9kYXRhXCIsXG4gKiAgIFBhZ2VDb21wb25lbnQ6IERhdGFQYWdlLFxuICogICBSb290Q29tcG9uZW50OiBSb290TGF5b3V0LFxuICogICBIdG1sQ29tcG9uZW50OiBSZWFjdC5GcmFnbWVudCwgLy8gSGVhZGxlc3MgZm9yIEFQSVxuICogICBwYWdlUHJvcHM6IHsgZGF0YTogYXBpRGF0YSB9LFxuICogICBsb2dnZXI6IG15TG9nZ2VyLFxuICogfSk7XG4gKlxuICogLy8gUGlwZSB0byByZXNwb25zZVxuICogcnNjU3RyZWFtLnBpcGUocmVzcG9uc2UpO1xuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENyZWF0ZSBmdWxsIFJTQyB3aXRoIEhUTUwgd3JhcHBlclxuICogY29uc3QgcnNjRnVsbCA9IGNyZWF0ZVJzY1N0cmVhbSh7XG4gKiAgIHJvdXRlOiBcIi9hYm91dFwiLFxuICogICBQYWdlQ29tcG9uZW50OiBBYm91dFBhZ2UsXG4gKiAgIFJvb3RDb21wb25lbnQ6IFJvb3RMYXlvdXQsXG4gKiAgIEh0bWxDb21wb25lbnQ6IEh0bWxEb2N1bWVudCwgLy8gRnVsbCBIVE1MIHdyYXBwZXJcbiAqICAgcGFnZVByb3BzOiB7IHRpdGxlOiBcIkFib3V0IFVzXCIgfSxcbiAqIH0pO1xuICogYGBgXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25zIGZvciBSU0Mgc3RyZWFtIGNyZWF0aW9uXG4gKiBAcmV0dXJucyBSU0Mgc3RyZWFtIHdpdGggcGlwZS9hYm9ydCBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZVJzY1N0cmVhbTogQ3JlYXRlUnNjU3RyZWFtRm48XCJzZXJ2ZXJcIj4gPVxuICBmdW5jdGlvbiBfY3JlYXRlUnNjU3RyZWFtU2VydmVyKG9wdGlvbnMpIHtcbiAgICBjb25zdCBsb2dnZXIgPSBvcHRpb25zLmxvZ2dlcjtcbiAgICBjb25zdCB2ZXJib3NlID0gb3B0aW9ucy52ZXJib3NlIHx8IGZhbHNlO1xuXG4gICAgLy8gVmFsaWRhdGUgY29tbW9uIG9wdGlvbnNcbiAgICB2YWxpZGF0ZVJzY1N0cmVhbU9wdGlvbnMob3B0aW9ucywgXCJjcmVhdGVSc2NTdHJlYW0uc2VydmVyXCIpO1xuXG4gICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgIGxvZ2dlcj8uaW5mbyhcbiAgICAgICAgYFtjcmVhdGVSc2NTdHJlYW0uc2VydmVyOiR7b3B0aW9ucy5yb3V0ZX1dIENyZWF0aW5nIFJTQyBzdHJlYW0gZm9yIHJvdXRlOiAke29wdGlvbnMucm91dGV9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgLy8gSWYgd29ya2VyIGlzIHByb3ZpZGVkLCB1c2Ugd29ya2VyLWJhc2VkIFJTQyBzdHJlYW1cbiAgICAgIC8vIG5vdGU6IGRvbid0IHVzZSB0aGUgbWFpbiBcIndvcmtlclwiIHByb3AgaGVyZSwgd2hpY2ggaXMgYWx3YXlzIHRoZSBpbnZlcnNlIHdvcmtlciAoaHRtbC13b3JrZXIgaW4gc2VydmVyIGNhc2UpXG4gICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICBsb2dnZXI/LmluZm8oYFtjcmVhdGVSc2NTdHJlYW0uc2VydmVyOiR7b3B0aW9ucy5yb3V0ZX1dIENoZWNraW5nIGZvciByc2NXb3JrZXI6ICR7ISFvcHRpb25zLnJzY1dvcmtlcn1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zLnJzY1dvcmtlcikge1xuICAgICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICAgIGxvZ2dlcj8uaW5mbyhcbiAgICAgICAgICAgIGBbY3JlYXRlUnNjU3RyZWFtLnNlcnZlcjoke29wdGlvbnMucm91dGV9XSBVc2luZyB3b3JrZXItYmFzZWQgUlNDIHN0cmVhbWBcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgd29ya2VyU3RyZWFtUmVzdWx0ID0gY3JlYXRlUnNjV29ya2VyU3RyZWFtKHtcbiAgICAgICAgICB3b3JrZXI6IG9wdGlvbnMucnNjV29ya2VyLFxuICAgICAgICAgIHJvdXRlOiBvcHRpb25zLnJvdXRlLFxuICAgICAgICAgIHVybDogb3B0aW9ucy51cmwsXG4gICAgICAgICAgbW9kdWxlQmFzZVBhdGg6IG9wdGlvbnMubW9kdWxlQmFzZVBhdGgsXG4gICAgICAgICAgbW9kdWxlQmFzZVVSTDogb3B0aW9ucy5tb2R1bGVCYXNlVVJMLFxuICAgICAgICAgIG1vZHVsZVJvb3RQYXRoOiBvcHRpb25zLm1vZHVsZVJvb3RQYXRoLFxuICAgICAgICAgIHByb2plY3RSb290OiBvcHRpb25zLnByb2plY3RSb290LFxuICAgICAgICAgIHZlcmJvc2UsXG4gICAgICAgICAgbG9nZ2VyLFxuICAgICAgICAgIHBhbmljVGhyZXNob2xkOiBvcHRpb25zLnBhbmljVGhyZXNob2xkLFxuICAgICAgICAgIHJzY1RpbWVvdXQ6IG9wdGlvbnMucnNjVGltZW91dCxcbiAgICAgICAgICBzZXJ2ZXJQaXBlYWJsZVN0cmVhbU9wdGlvbnM6IG9wdGlvbnMuc2VydmVyUGlwZWFibGVTdHJlYW1PcHRpb25zLFxuICAgICAgICAgIGJ1aWxkOiBvcHRpb25zLmJ1aWxkLFxuICAgICAgICAgIHBhZ2VQYXRoOiBvcHRpb25zLnBhZ2VQYXRoLFxuICAgICAgICAgIHByb3BzUGF0aDogb3B0aW9ucy5wcm9wc1BhdGgsXG4gICAgICAgICAgcm9vdFBhdGg6IG9wdGlvbnMucm9vdFBhdGgsXG4gICAgICAgICAgaHRtbFBhdGg6IG9wdGlvbnMuaHRtbFBhdGgsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHsgc3RyZWFtOiB3b3JrZXJTdHJlYW0sIGRhdGFQb3J0MSwgY29udHJvbFBvcnQxIH0gPSB3b3JrZXJTdHJlYW1SZXN1bHQ7XG5cbiAgICAgICAgLy8gUmV0dXJuIHdvcmtlciBzdHJlYW0gd2l0aCBjb25zaXN0ZW50IGludGVyZmFjZVxuICAgICAgICBjb25zdCBzZXJ2ZXJSZXN1bHQ6IFNlcnZlclJzY1N0cmVhbVJlc3VsdCA9IHtcbiAgICAgICAgICB0eXBlOiBcInNlcnZlclwiIGFzIGNvbnN0LFxuICAgICAgICAgIHJzY1N0cmVhbTogd29ya2VyU3RyZWFtLFxuICAgICAgICAgIGlkOiBvcHRpb25zLmlkIHx8IG9wdGlvbnMucm91dGUsXG4gICAgICAgICAgcGlwZTogPFdyaXRhYmxlIGV4dGVuZHMgTm9kZUpTLldyaXRhYmxlU3RyZWFtPihcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uOiBXcml0YWJsZVxuICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgd29ya2VyU3RyZWFtLnBpcGUoZGVzdGluYXRpb24pO1xuICAgICAgICAgICAgcmV0dXJuIGRlc3RpbmF0aW9uO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgYWJvcnQ6ICgpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHdvcmtlclN0cmVhbS5kZXN0cm95KCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAvLyBTdHJlYW0gbWF5IGFscmVhZHkgYmUgZGVzdHJveWVkLCBpZ25vcmVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIENsZWFuIHVwIE1lc3NhZ2VQb3J0IGxpc3RlbmVycyB0byBwcmV2ZW50IG1lbW9yeSBsZWFrc1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgLy8gUmVtb3ZlIG9ubWVzc2FnZSBoYW5kbGVycyAocHJvcGVydHkgYXNzaWdubWVudCBjbGVhbnVwKVxuICAgICAgICAgICAgICBkYXRhUG9ydDEub25tZXNzYWdlID0gbnVsbDtcbiAgICAgICAgICAgICAgY29udHJvbFBvcnQxLm9ubWVzc2FnZSA9IG51bGw7XG4gICAgICAgICAgICAgIC8vIENsb3NlIE1lc3NhZ2VQb3J0c1xuICAgICAgICAgICAgICBkYXRhUG9ydDEuY2xvc2UoKTtcbiAgICAgICAgICAgICAgY29udHJvbFBvcnQxLmNsb3NlKCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAvLyBJZ25vcmUgY2xlYW51cCBlcnJvcnNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIG1ldHJpY3M6IGNyZWF0ZVN0cmVhbU1ldHJpY3MoKSwgLy8gV29ya2VyIHdpbGwgcHJvdmlkZSByZWFsIG1ldHJpY3NcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gc2VydmVyUmVzdWx0O1xuICAgICAgfVxuXG4gICAgICAvLyBPdGhlcndpc2UsIHVzZSBkaXJlY3Qgc2VydmVyIHJlbmRlcmluZ1xuICAgICAgY29uc3QgcmVzdWx0ID0gY3JlYXRlUmVuZGVyVG9QaXBlYWJsZVN0cmVhbUhhbmRsZXIob3B0aW9ucyk7XG5cbiAgICAgIC8vIFZhbGlkYXRlIHRoZSByZXN1bHRcbiAgICAgIGlmICghcmVzdWx0IHx8IHR5cGVvZiByZXN1bHQucGlwZSAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcImNyZWF0ZUhhbmRsZXIgcmV0dXJuZWQgaW52YWxpZCByZXN1bHQgLSBtaXNzaW5nIHBpcGUgZnVuY3Rpb25cIlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJlc3VsdC5yc2NTdHJlYW0pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiY3JlYXRlSGFuZGxlciByZXR1cm5lZCBpbnZhbGlkIHJlc3VsdCAtIG1pc3Npbmcgc3RyZWFtXCJcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gQ3JlYXRlIGJhc2UgcmVzdWx0IHN0cnVjdHVyZVxuICAgICAgY29uc3QgYmFzZVJlc3VsdCA9IGNyZWF0ZUJhc2VSc2NTdHJlYW1SZXN1bHQoXG4gICAgICAgIHJlc3VsdC5yc2NTdHJlYW0sXG4gICAgICAgIHJlc3VsdC5waXBlLFxuICAgICAgICByZXN1bHQuYWJvcnQsXG4gICAgICAgIHJlc3VsdC5tZXRyaWNzLFxuICAgICAgICBvcHRpb25zLmlkIHx8IG9wdGlvbnMucm91dGVcbiAgICAgICk7XG5cbiAgICAgIC8vIFJldHVybiBzZXJ2ZXItc3BlY2lmaWMgcmVzdWx0c1xuICAgICAgY29uc3Qgc2VydmVyUmVzdWx0OiBTZXJ2ZXJSc2NTdHJlYW1SZXN1bHQgPSB7XG4gICAgICAgIC4uLmJhc2VSZXN1bHQsXG4gICAgICAgIHR5cGU6IFwic2VydmVyXCIgYXMgY29uc3QsXG4gICAgICB9O1xuXG4gICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICBsb2dnZXI/LmluZm8oXG4gICAgICAgICAgYFtjcmVhdGVSc2NTdHJlYW0uc2VydmVyOiR7b3B0aW9ucy5yb3V0ZX1dIFJTQyBzdHJlYW0gY3JlYXRlZCBzdWNjZXNzZnVsbHlgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzZXJ2ZXJSZXN1bHQ7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGhhbmRsZVJzY1N0cmVhbUVycm9yKGVycm9yLCBvcHRpb25zLCBcIlJTQyBzdHJlYW0gY3JlYXRpb24gZXJyb3JcIik7XG4gICAgICAvLyBUaGlzIHdpbGwgbmV2ZXIgYmUgcmVhY2hlZCBhcyBoYW5kbGVSc2NTdHJlYW1FcnJvciBlaXRoZXIgdGhyb3dzIG9yIHJlLXRocm93c1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9O1xuIl0sIm5hbWVzIjpbInNlcnZlclJlc3VsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFlQSxpQkFBa0IsRUFBQTtBQTZDTCxNQUFBLGVBQUEsR0FDWCxTQUFTLHNCQUFBLENBQXVCLE9BQVMsRUFBQTtBQUN2QyxFQUFBLE1BQU0sU0FBUyxPQUFRLENBQUEsTUFBQTtBQUN2QixFQUFNLE1BQUEsT0FBQSxHQUFVLFFBQVEsT0FBVyxJQUFBLEtBQUE7QUFHbkMsRUFBQSx3QkFBQSxDQUF5QixTQUFTLHdCQUF3QixDQUFBO0FBRTFELEVBQUEsSUFBSSxPQUFTLEVBQUE7QUFDWCxJQUFRLE1BQUEsRUFBQSxJQUFBO0FBQUEsTUFDTixDQUEyQix3QkFBQSxFQUFBLE9BQUEsQ0FBUSxLQUFLLENBQUEsaUNBQUEsRUFBb0MsUUFBUSxLQUFLLENBQUE7QUFBQSxLQUMzRjtBQUFBO0FBR0YsRUFBSSxJQUFBO0FBR0YsSUFBQSxJQUFJLE9BQVMsRUFBQTtBQUNYLE1BQVEsTUFBQSxFQUFBLElBQUEsQ0FBSywyQkFBMkIsT0FBUSxDQUFBLEtBQUssNkJBQTZCLENBQUMsQ0FBQyxPQUFRLENBQUEsU0FBUyxDQUFFLENBQUEsQ0FBQTtBQUFBO0FBRXpHLElBQUEsSUFBSSxRQUFRLFNBQVcsRUFBQTtBQUNyQixNQUFBLElBQUksT0FBUyxFQUFBO0FBQ1gsUUFBUSxNQUFBLEVBQUEsSUFBQTtBQUFBLFVBQ04sQ0FBQSx3QkFBQSxFQUEyQixRQUFRLEtBQUssQ0FBQSwrQkFBQTtBQUFBLFNBQzFDO0FBQUE7QUFHRixNQUFBLE1BQU0scUJBQXFCLHFCQUFzQixDQUFBO0FBQUEsUUFDL0MsUUFBUSxPQUFRLENBQUEsU0FBQTtBQUFBLFFBQ2hCLE9B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
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import type { StreamMetrics } from "../helpers/metrics.js";
|
|
2
|
+
import type { Stream } from "node:stream";
|
|
3
|
+
import type { OnMetrics, PanicThreshold } from "../types.js";
|
|
4
|
+
import type { SerializableHandlerOptions } from "../helpers/createSerializableHandlerOptions.js";
|
|
5
|
+
/**
|
|
6
|
+
* Base RSC Stream Result - common interface for both client and server
|
|
7
|
+
*/
|
|
8
|
+
export interface BaseRscStreamResult {
|
|
9
|
+
id: string;
|
|
10
|
+
rscStream: Stream.Readable;
|
|
11
|
+
pipe: <Writable extends NodeJS.WritableStream>(destination: Writable) => Writable;
|
|
12
|
+
abort: (reason?: unknown) => void;
|
|
13
|
+
metrics: StreamMetrics;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Client-specific RSC Stream Result
|
|
17
|
+
*/
|
|
18
|
+
export interface ClientRscStreamResult extends BaseRscStreamResult {
|
|
19
|
+
type: "client";
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Server-specific RSC Stream Result
|
|
23
|
+
*/
|
|
24
|
+
export interface ServerRscStreamResult extends BaseRscStreamResult {
|
|
25
|
+
type: "server";
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* RSC Stream Result - union type for both environments
|
|
29
|
+
*/
|
|
30
|
+
export type RscStreamResult = ClientRscStreamResult | ServerRscStreamResult;
|
|
31
|
+
/**
|
|
32
|
+
* Client-specific RSC Stream Options
|
|
33
|
+
*/
|
|
34
|
+
export type ClientRscStreamOptions = SerializableHandlerOptions & {
|
|
35
|
+
route: string;
|
|
36
|
+
pagePath: string | undefined;
|
|
37
|
+
projectRoot: string;
|
|
38
|
+
moduleBaseURL: string;
|
|
39
|
+
build: SerializableHandlerOptions['build'];
|
|
40
|
+
dev: SerializableHandlerOptions['dev'];
|
|
41
|
+
cssFiles: Map<string, any>;
|
|
42
|
+
globalCss: Map<string, any>;
|
|
43
|
+
manifest: any;
|
|
44
|
+
id?: string;
|
|
45
|
+
moduleRootPath?: string;
|
|
46
|
+
moduleBasePath?: string;
|
|
47
|
+
verbose?: boolean;
|
|
48
|
+
panicThreshold?: PanicThreshold;
|
|
49
|
+
propsPath?: string;
|
|
50
|
+
rootPath?: string;
|
|
51
|
+
htmlPath?: string;
|
|
52
|
+
pageExportName: string;
|
|
53
|
+
propsExportName: string;
|
|
54
|
+
rootExportName: string;
|
|
55
|
+
htmlExportName: string;
|
|
56
|
+
moduleBase: string;
|
|
57
|
+
publicOrigin: string;
|
|
58
|
+
rscTimeout: number;
|
|
59
|
+
rscWorker?: any;
|
|
60
|
+
htmlWorker?: any;
|
|
61
|
+
htmlWorkerPath?: string;
|
|
62
|
+
rscWorkerPath?: string;
|
|
63
|
+
worker?: any;
|
|
64
|
+
clientPipeableStreamOptions?: any;
|
|
65
|
+
serverPipeableStreamOptions?: any;
|
|
66
|
+
url: string;
|
|
67
|
+
onMetrics?: OnMetrics;
|
|
68
|
+
onEvent?: (event: any) => void;
|
|
69
|
+
reuseHeadlessStreamId?: string;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Server-specific RSC Stream Options
|
|
73
|
+
*/
|
|
74
|
+
export interface ServerRscStreamOptions {
|
|
75
|
+
route: string;
|
|
76
|
+
pagePath: string;
|
|
77
|
+
logger: any;
|
|
78
|
+
loader: any;
|
|
79
|
+
build: any;
|
|
80
|
+
id?: string;
|
|
81
|
+
projectRoot: string;
|
|
82
|
+
moduleRootPath: string;
|
|
83
|
+
moduleBasePath: string;
|
|
84
|
+
moduleBaseURL: string;
|
|
85
|
+
verbose: boolean;
|
|
86
|
+
panicThreshold?: PanicThreshold;
|
|
87
|
+
propsPath?: string;
|
|
88
|
+
rootPath?: string;
|
|
89
|
+
htmlPath?: string;
|
|
90
|
+
pageExportName: string;
|
|
91
|
+
propsExportName: string;
|
|
92
|
+
rootExportName: string;
|
|
93
|
+
htmlExportName: string;
|
|
94
|
+
moduleBase: string;
|
|
95
|
+
publicOrigin: string;
|
|
96
|
+
rscTimeout: number;
|
|
97
|
+
cssFiles: Map<string, any>;
|
|
98
|
+
globalCss: Map<string, any>;
|
|
99
|
+
manifest: any;
|
|
100
|
+
worker?: any;
|
|
101
|
+
rscWorker?: any;
|
|
102
|
+
rscWorkerPath?: string;
|
|
103
|
+
htmlWorker?: any;
|
|
104
|
+
htmlWorkerPath?: string;
|
|
105
|
+
clientPipeableStreamOptions?: any;
|
|
106
|
+
serverPipeableStreamOptions?: any;
|
|
107
|
+
url: string;
|
|
108
|
+
htmlTimeout?: number;
|
|
109
|
+
fileWriteTimeout?: number;
|
|
110
|
+
workerShutdownTimeout?: number;
|
|
111
|
+
css?: any;
|
|
112
|
+
onEvent?: (event: any) => void;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Environment-specific RSC Stream Options
|
|
116
|
+
*/
|
|
117
|
+
export type CreateRscStreamOptions<Env extends "client" | "server" = "client" | "server"> = Env extends "client" ? ClientRscStreamOptions : ServerRscStreamOptions;
|
|
118
|
+
/**
|
|
119
|
+
* RSC Stream Function - creates React Server Components streams
|
|
120
|
+
*
|
|
121
|
+
* **Purpose**: Creates RSC streams for both client and server environments
|
|
122
|
+
* **When to use**:
|
|
123
|
+
* - You need to create RSC streams for static generation or server-side rendering
|
|
124
|
+
* - You want environment-specific optimizations (worker-based vs direct rendering)
|
|
125
|
+
* - You need to serialize React components for client-side hydration
|
|
126
|
+
*
|
|
127
|
+
* **Flow**: Route + Components → RSC Stream (with environment-specific processing)
|
|
128
|
+
*/
|
|
129
|
+
export type CreateRscStreamFn<Env extends "client" | "server" = "client" | "server"> = <Opt extends CreateRscStreamOptions<Env> = CreateRscStreamOptions<Env>>(options: Opt) => Env extends "client" ? ClientRscStreamResult : ServerRscStreamResult;
|
|
130
|
+
/**
|
|
131
|
+
* Unified RSC Stream Function - automatically chooses environment
|
|
132
|
+
*/
|
|
133
|
+
export type CreateRscStreamFnUnified = <Env extends "client" | "server", Opt extends CreateRscStreamOptions<Env>>(options: Opt) => RscStreamResult;
|
|
134
|
+
//# sourceMappingURL=createRscStream.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRscStream.types.d.ts","sourceRoot":"","sources":["../../../plugin/stream/createRscStream.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { createStreamMetrics } from "../helpers/metrics.js";
|
|
2
|
+
import type { ClientRscStreamOptions, ServerRscStreamOptions, BaseRscStreamResult } from "./createRscStream.types.js";
|
|
3
|
+
import type { PassThrough } from "node:stream";
|
|
4
|
+
import { type Logger } from "vite";
|
|
5
|
+
/**
|
|
6
|
+
* Validates common RSC stream options
|
|
7
|
+
*
|
|
8
|
+
* @param options - RSC stream options to validate
|
|
9
|
+
* @param context - Context for error messages
|
|
10
|
+
* @throws Error if validation fails
|
|
11
|
+
*/
|
|
12
|
+
export declare function validateRscStreamOptions(options: ClientRscStreamOptions | ServerRscStreamOptions, context: string): void;
|
|
13
|
+
/**
|
|
14
|
+
* Creates common RSC stream result structure
|
|
15
|
+
*
|
|
16
|
+
* @param rscStream - The RSC stream
|
|
17
|
+
* @param elements - React elements
|
|
18
|
+
* @param pipe - Pipe function
|
|
19
|
+
* @param abort - Abort function
|
|
20
|
+
* @param metrics - Stream metrics
|
|
21
|
+
* @returns Base RSC stream result
|
|
22
|
+
*/
|
|
23
|
+
export declare function createBaseRscStreamResult(rscStream: PassThrough, pipe: <Writable extends NodeJS.WritableStream>(destination: Writable) => Writable, abort: (reason?: unknown) => void, metrics: ReturnType<typeof createStreamMetrics>, id: string): BaseRscStreamResult;
|
|
24
|
+
/**
|
|
25
|
+
* Handles RSC stream errors with consistent error handling
|
|
26
|
+
*
|
|
27
|
+
* @param error - The error that occurred
|
|
28
|
+
* @param options - RSC stream options for context
|
|
29
|
+
* @param context - Additional context for error handling
|
|
30
|
+
* @throws Error if panic threshold is met
|
|
31
|
+
*/
|
|
32
|
+
export declare function handleRscStreamError(error: unknown, options: ClientRscStreamOptions | ServerRscStreamOptions, context: string): void;
|
|
33
|
+
/**
|
|
34
|
+
* Creates stream metrics with common setup
|
|
35
|
+
*
|
|
36
|
+
* @param route - Route for logging context
|
|
37
|
+
* @param verbose - Whether to enable verbose logging
|
|
38
|
+
* @returns Stream metrics instance
|
|
39
|
+
*/
|
|
40
|
+
export declare function createRscStreamMetrics(): ReturnType<typeof createStreamMetrics>;
|
|
41
|
+
/**
|
|
42
|
+
* Sets up common stream event handlers for metrics collection
|
|
43
|
+
*
|
|
44
|
+
* @param stream - The stream to monitor
|
|
45
|
+
* @param metrics - Metrics to update
|
|
46
|
+
* @param options - Configuration options
|
|
47
|
+
* @returns Cleanup function
|
|
48
|
+
*/
|
|
49
|
+
export declare function setupRscStreamEventHandlers(stream: PassThrough, metrics: ReturnType<typeof createStreamMetrics>, options: {
|
|
50
|
+
route: string;
|
|
51
|
+
verbose?: boolean;
|
|
52
|
+
logger?: Logger;
|
|
53
|
+
}): () => void;
|
|
54
|
+
//# sourceMappingURL=createRscStream.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRscStream.utils.d.ts","sourceRoot":"","sources":["../../../plugin/stream/createRscStream.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAEjD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,sBAAsB,GAAG,sBAAsB,EACxD,OAAO,EAAE,MAAM,GACd,IAAI,CAQN;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,CAAC,QAAQ,SAAS,MAAM,CAAC,cAAc,EAC3C,WAAW,EAAE,QAAQ,KAClB,QAAQ,EACb,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,EACjC,OAAO,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAC/C,EAAE,EAAE,MAAM,GACT,mBAAmB,CAQrB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,sBAAsB,GAAG,sBAAsB,EACxD,OAAO,EAAE,MAAM,GACd,IAAI,CAcN;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAI/E;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAC/C,OAAO,EAAE;IACP,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,MAAM,IAAI,CAsDZ"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vite-plugin-react-server
|
|
3
|
+
* Copyright (c) Nico Brinkkemper
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { createStreamMetrics } from '../metrics/createStreamMetrics.js';
|
|
7
|
+
import { handleError } from '../error/handleError.js';
|
|
8
|
+
import { getNodeEnv } from '../config/getNodeEnv.js';
|
|
9
|
+
import { createLogger } from 'vite';
|
|
10
|
+
|
|
11
|
+
function validateRscStreamOptions(options, context) {
|
|
12
|
+
if (!options.route) {
|
|
13
|
+
throw new Error(`${context}: Route is required for RSC stream creation`);
|
|
14
|
+
}
|
|
15
|
+
if (!options.pagePath) {
|
|
16
|
+
throw new Error(`${context}: pagePath is required for RSC stream creation`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function createBaseRscStreamResult(rscStream, pipe, abort, metrics, id) {
|
|
20
|
+
return {
|
|
21
|
+
id,
|
|
22
|
+
rscStream,
|
|
23
|
+
pipe,
|
|
24
|
+
abort,
|
|
25
|
+
metrics
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function handleRscStreamError(error, options, context) {
|
|
29
|
+
const panicError = handleError({
|
|
30
|
+
error,
|
|
31
|
+
logger: options.logger,
|
|
32
|
+
mode: getNodeEnv(),
|
|
33
|
+
panicThreshold: options.panicThreshold || "none",
|
|
34
|
+
context: `${context} for route ${options.route}`
|
|
35
|
+
});
|
|
36
|
+
if (panicError != null) {
|
|
37
|
+
throw panicError;
|
|
38
|
+
}
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
function createRscStreamMetrics() {
|
|
42
|
+
const metrics = createStreamMetrics();
|
|
43
|
+
metrics.startTime = performance.now();
|
|
44
|
+
return metrics;
|
|
45
|
+
}
|
|
46
|
+
function setupRscStreamEventHandlers(stream, metrics, options) {
|
|
47
|
+
const { route, verbose = false, logger = createLogger() } = options;
|
|
48
|
+
stream.on("data", (chunk) => {
|
|
49
|
+
if (verbose) {
|
|
50
|
+
logger.info(
|
|
51
|
+
`[createRscStream:${route}] Received data chunk: ${chunk.length} bytes`
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
metrics.chunks++;
|
|
55
|
+
metrics.bytes += chunk.length;
|
|
56
|
+
});
|
|
57
|
+
stream.on("end", () => {
|
|
58
|
+
if (verbose) {
|
|
59
|
+
logger.info(`[createRscStream:${route}] Stream ended`);
|
|
60
|
+
}
|
|
61
|
+
metrics.duration = performance.now() - metrics.startTime;
|
|
62
|
+
metrics.endTime = performance.now();
|
|
63
|
+
});
|
|
64
|
+
stream.on("error", (error) => {
|
|
65
|
+
logger.error(`[createRscStream:${route}] Stream error: ${error}`);
|
|
66
|
+
});
|
|
67
|
+
stream.on("drain", () => {
|
|
68
|
+
if (verbose) {
|
|
69
|
+
logger.info(
|
|
70
|
+
`[createRscStream:${route}] Stream drain - backpressure resolved`
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
const originalWrite = stream.write.bind(stream);
|
|
75
|
+
stream.write = function(chunk, encoding, callback) {
|
|
76
|
+
const result = originalWrite(chunk, encoding, callback);
|
|
77
|
+
if (!result) {
|
|
78
|
+
metrics.backpressureCount++;
|
|
79
|
+
if (verbose) {
|
|
80
|
+
logger.warn(`[createRscStream:${route}] Backpressure detected`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return result;
|
|
84
|
+
};
|
|
85
|
+
return () => {
|
|
86
|
+
stream.removeAllListeners();
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export { createBaseRscStreamResult, createRscStreamMetrics, handleRscStreamError, setupRscStreamEventHandlers, validateRscStreamOptions };
|
|
91
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlUnNjU3RyZWFtLnV0aWxzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vc3RyZWFtL2NyZWF0ZVJzY1N0cmVhbS51dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTdHJlYW1NZXRyaWNzIH0gZnJvbSBcIi4uL2hlbHBlcnMvbWV0cmljcy5qc1wiO1xuaW1wb3J0IHsgaGFuZGxlRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3IvaGFuZGxlRXJyb3IuanNcIjtcbmltcG9ydCB7IGdldE5vZGVFbnYgfSBmcm9tIFwiLi4vY29uZmlnL2dldE5vZGVFbnYuanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgQ2xpZW50UnNjU3RyZWFtT3B0aW9ucyxcbiAgU2VydmVyUnNjU3RyZWFtT3B0aW9ucyxcbiAgQmFzZVJzY1N0cmVhbVJlc3VsdCxcbn0gZnJvbSBcIi4vY3JlYXRlUnNjU3RyZWFtLnR5cGVzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFBhc3NUaHJvdWdoIH0gZnJvbSBcIm5vZGU6c3RyZWFtXCI7XG5pbXBvcnQgeyBjcmVhdGVMb2dnZXIsIHR5cGUgTG9nZ2VyIH0gZnJvbSBcInZpdGVcIjtcblxuLyoqXG4gKiBWYWxpZGF0ZXMgY29tbW9uIFJTQyBzdHJlYW0gb3B0aW9uc1xuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gUlNDIHN0cmVhbSBvcHRpb25zIHRvIHZhbGlkYXRlXG4gKiBAcGFyYW0gY29udGV4dCAtIENvbnRleHQgZm9yIGVycm9yIG1lc3NhZ2VzXG4gKiBAdGhyb3dzIEVycm9yIGlmIHZhbGlkYXRpb24gZmFpbHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUnNjU3RyZWFtT3B0aW9ucyhcbiAgb3B0aW9uczogQ2xpZW50UnNjU3RyZWFtT3B0aW9ucyB8IFNlcnZlclJzY1N0cmVhbU9wdGlvbnMsXG4gIGNvbnRleHQ6IHN0cmluZ1xuKTogdm9pZCB7XG4gIGlmICghb3B0aW9ucy5yb3V0ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtjb250ZXh0fTogUm91dGUgaXMgcmVxdWlyZWQgZm9yIFJTQyBzdHJlYW0gY3JlYXRpb25gKTtcbiAgfVxuXG4gIGlmICghb3B0aW9ucy5wYWdlUGF0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtjb250ZXh0fTogcGFnZVBhdGggaXMgcmVxdWlyZWQgZm9yIFJTQyBzdHJlYW0gY3JlYXRpb25gKTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgY29tbW9uIFJTQyBzdHJlYW0gcmVzdWx0IHN0cnVjdHVyZVxuICpcbiAqIEBwYXJhbSByc2NTdHJlYW0gLSBUaGUgUlNDIHN0cmVhbVxuICogQHBhcmFtIGVsZW1lbnRzIC0gUmVhY3QgZWxlbWVudHNcbiAqIEBwYXJhbSBwaXBlIC0gUGlwZSBmdW5jdGlvblxuICogQHBhcmFtIGFib3J0IC0gQWJvcnQgZnVuY3Rpb25cbiAqIEBwYXJhbSBtZXRyaWNzIC0gU3RyZWFtIG1ldHJpY3NcbiAqIEByZXR1cm5zIEJhc2UgUlNDIHN0cmVhbSByZXN1bHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJhc2VSc2NTdHJlYW1SZXN1bHQoXG4gIHJzY1N0cmVhbTogUGFzc1Rocm91Z2gsXG4gIHBpcGU6IDxXcml0YWJsZSBleHRlbmRzIE5vZGVKUy5Xcml0YWJsZVN0cmVhbT4oXG4gICAgZGVzdGluYXRpb246IFdyaXRhYmxlXG4gICkgPT4gV3JpdGFibGUsXG4gIGFib3J0OiAocmVhc29uPzogdW5rbm93bikgPT4gdm9pZCxcbiAgbWV0cmljczogUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlU3RyZWFtTWV0cmljcz4sXG4gIGlkOiBzdHJpbmdcbik6IEJhc2VSc2NTdHJlYW1SZXN1bHQge1xuICByZXR1cm4ge1xuICAgIGlkLFxuICAgIHJzY1N0cmVhbSxcbiAgICBwaXBlLFxuICAgIGFib3J0LFxuICAgIG1ldHJpY3MsXG4gIH07XG59XG5cbi8qKlxuICogSGFuZGxlcyBSU0Mgc3RyZWFtIGVycm9ycyB3aXRoIGNvbnNpc3RlbnQgZXJyb3IgaGFuZGxpbmdcbiAqXG4gKiBAcGFyYW0gZXJyb3IgLSBUaGUgZXJyb3IgdGhhdCBvY2N1cnJlZFxuICogQHBhcmFtIG9wdGlvbnMgLSBSU0Mgc3RyZWFtIG9wdGlvbnMgZm9yIGNvbnRleHRcbiAqIEBwYXJhbSBjb250ZXh0IC0gQWRkaXRpb25hbCBjb250ZXh0IGZvciBlcnJvciBoYW5kbGluZ1xuICogQHRocm93cyBFcnJvciBpZiBwYW5pYyB0aHJlc2hvbGQgaXMgbWV0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVSc2NTdHJlYW1FcnJvcihcbiAgZXJyb3I6IHVua25vd24sXG4gIG9wdGlvbnM6IENsaWVudFJzY1N0cmVhbU9wdGlvbnMgfCBTZXJ2ZXJSc2NTdHJlYW1PcHRpb25zLFxuICBjb250ZXh0OiBzdHJpbmdcbik6IHZvaWQge1xuICBjb25zdCBwYW5pY0Vycm9yID0gaGFuZGxlRXJyb3Ioe1xuICAgIGVycm9yLFxuICAgIGxvZ2dlcjogKG9wdGlvbnMgYXMgYW55KS5sb2dnZXIsXG4gICAgbW9kZTogZ2V0Tm9kZUVudigpLFxuICAgIHBhbmljVGhyZXNob2xkOiBvcHRpb25zLnBhbmljVGhyZXNob2xkIHx8IFwibm9uZVwiLFxuICAgIGNvbnRleHQ6IGAke2NvbnRleHR9IGZvciByb3V0ZSAke29wdGlvbnMucm91dGV9YCxcbiAgfSk7XG5cbiAgaWYgKHBhbmljRXJyb3IgIT0gbnVsbCkge1xuICAgIHRocm93IHBhbmljRXJyb3I7XG4gIH1cblxuICB0aHJvdyBlcnJvcjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHN0cmVhbSBtZXRyaWNzIHdpdGggY29tbW9uIHNldHVwXG4gKlxuICogQHBhcmFtIHJvdXRlIC0gUm91dGUgZm9yIGxvZ2dpbmcgY29udGV4dFxuICogQHBhcmFtIHZlcmJvc2UgLSBXaGV0aGVyIHRvIGVuYWJsZSB2ZXJib3NlIGxvZ2dpbmdcbiAqIEByZXR1cm5zIFN0cmVhbSBtZXRyaWNzIGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSc2NTdHJlYW1NZXRyaWNzKCk6IFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZVN0cmVhbU1ldHJpY3M+IHtcbiAgY29uc3QgbWV0cmljcyA9IGNyZWF0ZVN0cmVhbU1ldHJpY3MoKTtcbiAgbWV0cmljcy5zdGFydFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgcmV0dXJuIG1ldHJpY3M7XG59XG5cbi8qKlxuICogU2V0cyB1cCBjb21tb24gc3RyZWFtIGV2ZW50IGhhbmRsZXJzIGZvciBtZXRyaWNzIGNvbGxlY3Rpb25cbiAqXG4gKiBAcGFyYW0gc3RyZWFtIC0gVGhlIHN0cmVhbSB0byBtb25pdG9yXG4gKiBAcGFyYW0gbWV0cmljcyAtIE1ldHJpY3MgdG8gdXBkYXRlXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9uc1xuICogQHJldHVybnMgQ2xlYW51cCBmdW5jdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBSc2NTdHJlYW1FdmVudEhhbmRsZXJzKFxuICBzdHJlYW06IFBhc3NUaHJvdWdoLFxuICBtZXRyaWNzOiBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVTdHJlYW1NZXRyaWNzPixcbiAgb3B0aW9uczoge1xuICAgIHJvdXRlOiBzdHJpbmc7XG4gICAgdmVyYm9zZT86IGJvb2xlYW47XG4gICAgbG9nZ2VyPzogTG9nZ2VyO1xuICB9XG4pOiAoKSA9PiB2b2lkIHtcbiAgY29uc3QgeyByb3V0ZSwgdmVyYm9zZSA9IGZhbHNlLCBsb2dnZXIgPSBjcmVhdGVMb2dnZXIoKSB9ID0gb3B0aW9ucztcblxuICBzdHJlYW0ub24oXCJkYXRhXCIsIChjaHVuazogQnVmZmVyKSA9PiB7XG4gICAgaWYgKHZlcmJvc2UpIHtcbiAgICAgIGxvZ2dlci5pbmZvKFxuICAgICAgICBgW2NyZWF0ZVJzY1N0cmVhbToke3JvdXRlfV0gUmVjZWl2ZWQgZGF0YSBjaHVuazogJHtjaHVuay5sZW5ndGh9IGJ5dGVzYFxuICAgICAgKTtcbiAgICB9XG4gICAgbWV0cmljcy5jaHVua3MrKztcbiAgICBtZXRyaWNzLmJ5dGVzICs9IGNodW5rLmxlbmd0aDtcbiAgfSk7XG5cbiAgc3RyZWFtLm9uKFwiZW5kXCIsICgpID0+IHtcbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgbG9nZ2VyLmluZm8oYFtjcmVhdGVSc2NTdHJlYW06JHtyb3V0ZX1dIFN0cmVhbSBlbmRlZGApO1xuICAgIH1cbiAgICBtZXRyaWNzLmR1cmF0aW9uID0gcGVyZm9ybWFuY2Uubm93KCkgLSBtZXRyaWNzLnN0YXJ0VGltZTtcbiAgICBtZXRyaWNzLmVuZFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgfSk7XG5cbiAgc3RyZWFtLm9uKFwiZXJyb3JcIiwgKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgbG9nZ2VyLmVycm9yKGBbY3JlYXRlUnNjU3RyZWFtOiR7cm91dGV9XSBTdHJlYW0gZXJyb3I6ICR7ZXJyb3J9YCk7XG4gIH0pO1xuXG4gIHN0cmVhbS5vbihcImRyYWluXCIsICgpID0+IHtcbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgIGBbY3JlYXRlUnNjU3RyZWFtOiR7cm91dGV9XSBTdHJlYW0gZHJhaW4gLSBiYWNrcHJlc3N1cmUgcmVzb2x2ZWRgXG4gICAgICApO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gVHJhY2sgYmFja3ByZXNzdXJlIHdoZW4gd3JpdGUgYnVmZmVyIGlzIGZ1bGxcbiAgY29uc3Qgb3JpZ2luYWxXcml0ZSA9IHN0cmVhbS53cml0ZS5iaW5kKHN0cmVhbSk7XG4gIHN0cmVhbS53cml0ZSA9IGZ1bmN0aW9uIChcbiAgICBjaHVuazogYW55LFxuICAgIGVuY29kaW5nPzogQnVmZmVyRW5jb2RpbmcgfCAoKGVycm9yOiBFcnJvciB8IG51bGwgfCB1bmRlZmluZWQpID0+IHZvaWQpLFxuICAgIGNhbGxiYWNrPzogKGVycm9yOiBFcnJvciB8IG51bGwgfCB1bmRlZmluZWQpID0+IHZvaWRcbiAgKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gb3JpZ2luYWxXcml0ZShjaHVuaywgZW5jb2RpbmcgYXMgYW55LCBjYWxsYmFjayk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIG1ldHJpY3MuYmFja3ByZXNzdXJlQ291bnQrKztcbiAgICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICAgIGxvZ2dlci53YXJuKGBbY3JlYXRlUnNjU3RyZWFtOiR7cm91dGV9XSBCYWNrcHJlc3N1cmUgZGV0ZWN0ZWRgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcblxuICByZXR1cm4gKCkgPT4ge1xuICAgIC8vIE5vIGNsZWFudXAgbmVlZGVkIHNpbmNlIHdlIHJlbW92ZWQgdGhlIHRpbWVvdXRcbiAgICBzdHJlYW0ucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQWtCTyxTQUFTLHdCQUFBLENBQ2QsU0FDQSxPQUNNLEVBQUE7QUFDTixFQUFJLElBQUEsQ0FBQyxRQUFRLEtBQU8sRUFBQTtBQUNsQixJQUFBLE1BQU0sSUFBSSxLQUFBLENBQU0sQ0FBRyxFQUFBLE9BQU8sQ0FBNkMsMkNBQUEsQ0FBQSxDQUFBO0FBQUE7QUFHekUsRUFBSSxJQUFBLENBQUMsUUFBUSxRQUFVLEVBQUE7QUFDckIsSUFBQSxNQUFNLElBQUksS0FBQSxDQUFNLENBQUcsRUFBQSxPQUFPLENBQWdELDhDQUFBLENBQUEsQ0FBQTtBQUFBO0FBRTlFO0FBWU8sU0FBUyx5QkFDZCxDQUFBLFNBQUEsRUFDQSxJQUdBLEVBQUEsS0FBQSxFQUNBLFNBQ0EsRUFDcUIsRUFBQTtBQUNyQixFQUFPLE9BQUE7QUFBQSxJQUNMLEVBQUE7QUFBQSxJQUNBLFNBQUE7QUFBQSxJQUNBLElBQUE7QUFBQSxJQUNBLEtBQUE7QUFBQSxJQUNBO0FBQUEsR0FDRjtBQUNGO0FBVU8sU0FBUyxvQkFBQSxDQUNkLEtBQ0EsRUFBQSxPQUFBLEVBQ0EsT0FDTSxFQUFBO0FBQ04sRUFBQSxNQUFNLGFB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
|