vite-plugin-react-server 1.2.0-alpha.1 → 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 -51
- package/dist/client.d.ts +4 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -6
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -10
- package/dist/package.json +102 -27
- package/dist/plugin/bundle/bundles.d.ts +11 -0
- package/dist/plugin/bundle/bundles.d.ts.map +1 -0
- package/dist/plugin/bundle/bundles.js +11 -0
- package/dist/plugin/bundle/deferredStaticGeneration.d.ts +31 -0
- package/dist/plugin/bundle/deferredStaticGeneration.d.ts.map +1 -0
- package/dist/plugin/bundle/deferredStaticGeneration.js +44 -0
- package/dist/plugin/bundle/manifests.d.ts +20 -0
- package/dist/plugin/bundle/manifests.d.ts.map +1 -0
- package/dist/plugin/bundle/manifests.js +54 -0
- package/dist/plugin/components/css.d.ts +2 -5
- package/dist/plugin/components/css.d.ts.map +1 -1
- package/dist/plugin/components/css.js +7 -9
- package/dist/plugin/components/html.d.ts +2 -3
- package/dist/plugin/components/html.d.ts.map +1 -1
- package/dist/plugin/components/html.js +3 -3
- package/dist/plugin/components/index.d.ts +1 -1
- package/dist/plugin/components/index.d.ts.map +1 -1
- package/dist/plugin/components/root.d.ts.map +1 -1
- package/dist/plugin/components/root.js +4 -4
- package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.d.ts.map +1 -1
- package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js +6 -6
- package/dist/plugin/config/autoDiscover/pageAndPropFiles.d.ts.map +1 -1
- package/dist/plugin/config/autoDiscover/pageAndPropFiles.js +1 -1
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts +6 -5
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +34 -51
- package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts +5 -1
- package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts.map +1 -1
- package/dist/plugin/config/autoDiscover/resolveBuildPages.js +124 -52
- package/dist/plugin/config/createHandlerOptions.client.d.ts +4 -0
- package/dist/plugin/config/createHandlerOptions.client.d.ts.map +1 -0
- package/dist/plugin/config/createHandlerOptions.client.js +293 -0
- package/dist/plugin/config/createHandlerOptions.d.ts +4 -0
- package/dist/plugin/config/createHandlerOptions.d.ts.map +1 -0
- package/dist/plugin/config/createHandlerOptions.js +13 -0
- package/dist/plugin/config/createHandlerOptions.server.d.ts +4 -0
- package/dist/plugin/config/createHandlerOptions.server.d.ts.map +1 -0
- package/dist/plugin/config/createHandlerOptions.server.js +344 -0
- package/dist/plugin/config/createHandlerOptions.types.d.ts +114 -0
- package/dist/plugin/config/createHandlerOptions.types.d.ts.map +1 -0
- package/dist/plugin/config/createModuleID.d.ts +1 -1
- package/dist/plugin/config/createModuleID.d.ts.map +1 -1
- package/dist/plugin/config/createModuleID.js +121 -8
- package/dist/plugin/config/defaults.d.ts +46 -6
- package/dist/plugin/config/defaults.d.ts.map +1 -1
- package/dist/plugin/config/defaults.js +54 -11
- package/dist/plugin/config/envPrefixFromConfig.d.ts +3 -0
- package/dist/plugin/config/envPrefixFromConfig.d.ts.map +1 -0
- package/dist/plugin/config/envPrefixFromConfig.js +8 -0
- package/dist/plugin/config/getCondition.d.ts +54 -3
- package/dist/plugin/config/getCondition.d.ts.map +1 -1
- package/dist/plugin/config/getCondition.js +158 -6
- package/dist/plugin/{getNodeEnv.d.ts → config/getNodeEnv.d.ts} +1 -1
- package/dist/plugin/config/getNodeEnv.d.ts.map +1 -0
- package/dist/plugin/config/getNodeEnv.js +17 -0
- package/dist/plugin/config/index.d.ts +43 -1
- package/dist/plugin/config/index.d.ts.map +1 -1
- package/dist/plugin/config/index.js +9 -4
- package/dist/plugin/config/resolveDirectiveMatcher.d.ts +6 -6
- package/dist/plugin/config/resolveDirectiveMatcher.d.ts.map +1 -1
- package/dist/plugin/config/resolveDirectiveMatcher.js +7 -23
- package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
- package/dist/plugin/config/resolveEnv.js +3 -6
- package/dist/plugin/config/resolveOptions.d.ts +3 -2
- package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
- package/dist/plugin/config/resolveOptions.js +188 -43
- package/dist/plugin/config/resolvePages.d.ts +1 -1
- package/dist/plugin/config/resolvePages.d.ts.map +1 -1
- package/dist/plugin/config/resolvePages.js +1 -1
- package/dist/plugin/config/resolvePatternWithValues.d.ts.map +1 -1
- package/dist/plugin/config/resolvePatternWithValues.js +7 -26
- package/dist/plugin/config/resolveUrlOption.d.ts +1 -1
- package/dist/plugin/config/resolveUrlOption.d.ts.map +1 -1
- package/dist/plugin/config/resolveUrlOption.js +2 -2
- package/dist/plugin/config/resolveUserConfig.d.ts +5 -3
- package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
- package/dist/plugin/config/resolveUserConfig.js +221 -75
- package/dist/plugin/config/stashedOptionsState.d.ts +66 -0
- package/dist/plugin/config/stashedOptionsState.d.ts.map +1 -0
- package/dist/plugin/config/stashedOptionsState.js +25 -0
- package/dist/plugin/dev-server/cleanupServerAction.client.d.ts +6 -0
- package/dist/plugin/dev-server/cleanupServerAction.client.d.ts.map +1 -0
- package/dist/plugin/dev-server/cleanupServerAction.client.js +28 -0
- package/dist/plugin/dev-server/cleanupServerAction.d.ts +2 -0
- package/dist/plugin/dev-server/cleanupServerAction.d.ts.map +1 -0
- package/dist/plugin/dev-server/cleanupServerAction.js +4 -0
- package/dist/plugin/dev-server/cleanupServerAction.server.d.ts +8 -0
- package/dist/plugin/dev-server/cleanupServerAction.server.d.ts.map +1 -0
- package/dist/plugin/dev-server/cleanupServerAction.server.js +15 -0
- package/dist/plugin/dev-server/configureReactServer.client.d.ts +7 -0
- package/dist/plugin/dev-server/configureReactServer.client.d.ts.map +1 -0
- package/dist/plugin/dev-server/configureReactServer.client.js +85 -0
- package/dist/plugin/dev-server/configureReactServer.d.ts +2 -0
- package/dist/plugin/dev-server/configureReactServer.d.ts.map +1 -0
- package/dist/plugin/dev-server/configureReactServer.js +13 -0
- package/dist/plugin/dev-server/configureReactServer.server.d.ts +3 -0
- package/dist/plugin/dev-server/configureReactServer.server.d.ts.map +1 -0
- package/dist/plugin/dev-server/configureReactServer.server.js +444 -0
- package/dist/plugin/dev-server/configureRequestHandler.client.d.ts +13 -0
- package/dist/plugin/dev-server/configureRequestHandler.client.d.ts.map +1 -0
- package/dist/plugin/dev-server/configureRequestHandler.client.js +307 -0
- package/dist/plugin/dev-server/configureRequestHandler.d.ts +2 -0
- package/dist/plugin/dev-server/configureRequestHandler.d.ts.map +1 -0
- package/dist/plugin/dev-server/configureRequestHandler.js +4 -0
- package/dist/plugin/dev-server/configureRequestHandler.server.d.ts +6 -0
- package/dist/plugin/dev-server/configureRequestHandler.server.d.ts.map +1 -0
- package/dist/plugin/dev-server/configureRequestHandler.server.js +44 -0
- package/dist/plugin/dev-server/handleServerAction.client.d.ts +11 -0
- package/dist/plugin/dev-server/handleServerAction.client.d.ts.map +1 -0
- package/dist/plugin/dev-server/handleServerAction.client.js +97 -0
- package/dist/plugin/dev-server/handleServerAction.d.ts +2 -0
- package/dist/plugin/dev-server/handleServerAction.d.ts.map +1 -0
- package/dist/plugin/dev-server/handleServerAction.js +13 -0
- package/dist/plugin/dev-server/handleServerAction.server.d.ts +3 -0
- package/dist/plugin/dev-server/handleServerAction.server.d.ts.map +1 -0
- package/dist/plugin/dev-server/handleServerAction.server.js +15 -0
- package/dist/plugin/dev-server/index.client.d.ts +7 -0
- package/dist/plugin/dev-server/index.client.d.ts.map +1 -0
- package/dist/plugin/dev-server/index.client.js +11 -0
- package/dist/plugin/dev-server/index.d.ts +4 -0
- package/dist/plugin/dev-server/index.d.ts.map +1 -0
- package/dist/plugin/dev-server/index.js +19 -0
- package/dist/plugin/dev-server/index.server.d.ts +7 -0
- package/dist/plugin/dev-server/index.server.d.ts.map +1 -0
- package/dist/plugin/dev-server/index.server.js +11 -0
- package/dist/plugin/dev-server/plugin.client.d.ts +7 -0
- package/dist/plugin/dev-server/plugin.client.d.ts.map +1 -0
- package/dist/plugin/dev-server/plugin.client.js +122 -0
- package/dist/plugin/dev-server/plugin.server.d.ts +8 -0
- package/dist/plugin/dev-server/plugin.server.d.ts.map +1 -0
- package/dist/plugin/dev-server/plugin.server.js +108 -0
- package/dist/plugin/dev-server/restartWorker.client.d.ts +3 -0
- package/dist/plugin/dev-server/restartWorker.client.d.ts.map +1 -0
- package/dist/plugin/dev-server/restartWorker.client.js +131 -0
- package/dist/plugin/dev-server/restartWorker.d.ts +2 -0
- package/dist/plugin/dev-server/restartWorker.d.ts.map +1 -0
- package/dist/plugin/dev-server/restartWorker.js +4 -0
- package/dist/plugin/dev-server/restartWorker.server.d.ts +3 -0
- package/dist/plugin/dev-server/restartWorker.server.d.ts.map +1 -0
- package/dist/plugin/dev-server/restartWorker.server.js +88 -0
- package/dist/plugin/dev-server/types.d.ts +38 -0
- package/dist/plugin/dev-server/types.d.ts.map +1 -0
- package/dist/plugin/dev-server/virtualRscHmrPlugin.d.ts +7 -0
- package/dist/plugin/dev-server/virtualRscHmrPlugin.d.ts.map +1 -0
- package/dist/plugin/dev-server/virtualRscHmrPlugin.js +80 -0
- package/dist/plugin/env/createConfigEnv.d.ts +7 -1
- package/dist/plugin/env/createConfigEnv.d.ts.map +1 -1
- package/dist/plugin/env/createConfigEnv.js +18 -5
- package/dist/plugin/env/createEnvPlugin.d.ts +3 -0
- package/dist/plugin/env/createEnvPlugin.d.ts.map +1 -0
- package/dist/plugin/env/createEnvPlugin.js +59 -0
- package/dist/plugin/env/getArgValue.js +47 -27
- package/dist/plugin/env/getEnvKey.d.ts +6 -0
- package/dist/plugin/env/getEnvKey.d.ts.map +1 -1
- package/dist/plugin/env/getEnvKey.js +11 -3
- package/dist/plugin/env/index.d.ts +2 -0
- package/dist/plugin/env/index.d.ts.map +1 -1
- package/dist/plugin/env/index.js +4 -0
- package/dist/plugin/env/plugin.client.d.ts +2 -0
- package/dist/plugin/env/plugin.client.d.ts.map +1 -0
- package/dist/plugin/env/plugin.client.js +2 -0
- package/dist/plugin/env/plugin.d.ts +4 -34
- package/dist/plugin/env/plugin.d.ts.map +1 -1
- package/dist/plugin/env/plugin.js +31 -64
- package/dist/plugin/env/plugin.server.d.ts +2 -0
- package/dist/plugin/env/plugin.server.d.ts.map +1 -0
- package/dist/plugin/env/plugin.server.js +2 -0
- package/dist/plugin/env/userConfigEnv.js +9 -18
- package/dist/plugin/environments/createBuildEventPlugin.d.ts +4 -0
- package/dist/plugin/environments/createBuildEventPlugin.d.ts.map +1 -0
- package/dist/plugin/environments/createBuildEventPlugin.js +100 -0
- package/dist/plugin/environments/createEnvironmentPlugin.d.ts +19 -0
- package/dist/plugin/environments/createEnvironmentPlugin.d.ts.map +1 -0
- package/dist/plugin/environments/createEnvironmentPlugin.js +257 -0
- package/dist/plugin/environments/hashCoordination.d.ts +14 -0
- package/dist/plugin/environments/hashCoordination.d.ts.map +1 -0
- package/dist/plugin/environments/hashCoordination.js +35 -0
- package/dist/plugin/environments/resolveEnvironmentConfig.d.ts +41 -0
- package/dist/plugin/environments/resolveEnvironmentConfig.d.ts.map +1 -0
- package/dist/plugin/environments/resolveEnvironmentConfig.js +232 -0
- package/dist/plugin/error/assertPanic.d.ts +2 -0
- package/dist/plugin/error/assertPanic.d.ts.map +1 -0
- package/dist/plugin/error/assertPanic.js +15 -0
- package/dist/plugin/error/handleError.d.ts +9 -0
- package/dist/plugin/error/handleError.d.ts.map +1 -0
- package/dist/plugin/error/handleError.js +51 -0
- package/dist/plugin/error/index.d.ts +3 -0
- package/dist/plugin/error/index.d.ts.map +1 -1
- package/dist/plugin/error/index.js +4 -1
- package/dist/plugin/error/logError.d.ts +6 -2
- package/dist/plugin/error/logError.d.ts.map +1 -1
- package/dist/plugin/error/logError.js +34 -36
- package/dist/plugin/error/panicThresholdHandler.d.ts +27 -0
- package/dist/plugin/error/panicThresholdHandler.d.ts.map +1 -0
- package/dist/plugin/error/panicThresholdHandler.js +13 -0
- package/dist/plugin/error/serializeError.d.ts +6 -2
- package/dist/plugin/error/serializeError.d.ts.map +1 -1
- package/dist/plugin/error/serializeError.js +30 -10
- package/dist/plugin/error/serializeErrorInfo.d.ts +5 -0
- package/dist/plugin/error/serializeErrorInfo.d.ts.map +1 -0
- package/dist/plugin/error/serializeErrorInfo.js +19 -0
- package/dist/plugin/error/setupGlobalErrorHandler.d.ts +4 -0
- package/dist/plugin/error/setupGlobalErrorHandler.d.ts.map +1 -0
- package/dist/plugin/error/setupGlobalErrorHandler.js +52 -0
- package/dist/plugin/error/shouldPanic.d.ts +6 -0
- package/dist/plugin/error/shouldPanic.d.ts.map +1 -0
- package/dist/plugin/error/shouldPanic.js +15 -0
- package/dist/plugin/error/toError.d.ts +5 -1
- package/dist/plugin/error/toError.d.ts.map +1 -1
- package/dist/plugin/error/toError.js +43 -19
- package/dist/plugin/error/types.d.ts +28 -0
- package/dist/plugin/error/types.d.ts.map +1 -0
- package/dist/plugin/error/types.js +1 -0
- package/dist/plugin/helpers/collectManifestCss.d.ts.map +1 -1
- package/dist/plugin/helpers/collectManifestCss.js +19 -5
- package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +3 -3
- package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
- package/dist/plugin/helpers/collectViteModuleGraphCss.js +64 -3
- package/dist/plugin/helpers/createBufferedRscStream.d.ts +52 -0
- package/dist/plugin/helpers/createBufferedRscStream.d.ts.map +1 -0
- package/dist/plugin/helpers/createBufferedRscStream.js +147 -0
- package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
- package/dist/plugin/helpers/createCssProps.js +15 -14
- package/dist/plugin/helpers/createElementWithReact.d.ts +9 -0
- package/dist/plugin/helpers/createElementWithReact.d.ts.map +1 -0
- package/dist/plugin/helpers/createElementWithReact.js +87 -0
- package/dist/plugin/helpers/createPatternMatcher.d.ts +24 -0
- package/dist/plugin/helpers/createPatternMatcher.d.ts.map +1 -0
- package/dist/plugin/helpers/createPatternMatcher.js +50 -0
- package/dist/plugin/helpers/createRscRenderHelpers.d.ts +16 -0
- package/dist/plugin/helpers/createRscRenderHelpers.d.ts.map +1 -0
- package/dist/plugin/helpers/createRscRenderHelpers.js +60 -0
- package/dist/plugin/helpers/createSafePageComponent.d.ts +36 -0
- package/dist/plugin/helpers/createSafePageComponent.d.ts.map +1 -0
- package/dist/plugin/helpers/createSafePageComponent.js +50 -0
- package/dist/plugin/helpers/createSerializableHandlerOptions.d.ts +60 -0
- package/dist/plugin/helpers/createSerializableHandlerOptions.d.ts.map +1 -0
- package/dist/plugin/helpers/createSerializableHandlerOptions.js +94 -0
- package/dist/plugin/helpers/createSharedLoader.d.ts +44 -0
- package/dist/plugin/helpers/createSharedLoader.d.ts.map +1 -0
- package/dist/plugin/helpers/createSharedLoader.js +137 -0
- package/dist/plugin/helpers/createUnifiedCssProcessor.d.ts +70 -0
- package/dist/plugin/helpers/createUnifiedCssProcessor.d.ts.map +1 -0
- package/dist/plugin/helpers/createUnifiedCssProcessor.js +89 -0
- package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
- package/dist/plugin/helpers/getBundleManifest.js +2 -3
- package/dist/plugin/helpers/getRouteFiles.d.ts +1 -1
- package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
- package/dist/plugin/helpers/getRouteFiles.js +43 -41
- package/dist/plugin/helpers/handleServerAction.client.d.ts +29 -0
- package/dist/plugin/helpers/handleServerAction.client.d.ts.map +1 -0
- package/dist/plugin/helpers/handleServerAction.client.js +93 -0
- package/dist/plugin/helpers/handleServerAction.d.ts +2 -34
- package/dist/plugin/helpers/handleServerAction.d.ts.map +1 -1
- package/dist/plugin/helpers/handleServerAction.js +15 -45
- package/dist/plugin/helpers/handleServerAction.server.d.ts +25 -0
- package/dist/plugin/helpers/handleServerAction.server.d.ts.map +1 -0
- package/dist/plugin/helpers/handleServerAction.server.js +80 -0
- package/dist/plugin/helpers/handleServerActionHelper.d.ts +61 -0
- package/dist/plugin/helpers/handleServerActionHelper.d.ts.map +1 -0
- package/dist/plugin/helpers/handleServerActionHelper.js +183 -0
- package/dist/plugin/helpers/headlessStreamReuseHandler.d.ts +12 -0
- package/dist/plugin/helpers/headlessStreamReuseHandler.d.ts.map +1 -0
- package/dist/plugin/helpers/headlessStreamReuseHandler.js +29 -0
- package/dist/plugin/helpers/headlessStreamState.d.ts +71 -0
- package/dist/plugin/helpers/headlessStreamState.d.ts.map +1 -0
- package/dist/plugin/helpers/headlessStreamState.js +81 -0
- package/dist/plugin/helpers/hydrateUserOptions.d.ts +1 -1
- package/dist/plugin/helpers/hydrateUserOptions.d.ts.map +1 -1
- package/dist/plugin/helpers/hydrateUserOptions.js +2 -2
- package/dist/plugin/helpers/index.d.ts +12 -5
- package/dist/plugin/helpers/index.d.ts.map +1 -1
- package/dist/plugin/helpers/index.js +18 -4
- package/dist/plugin/helpers/logRenderStart.d.ts +17 -0
- package/dist/plugin/helpers/logRenderStart.d.ts.map +1 -0
- package/dist/plugin/helpers/logRenderStart.js +13 -0
- package/dist/plugin/helpers/mergeMessageWithDefaults.d.ts +90 -0
- package/dist/plugin/helpers/mergeMessageWithDefaults.d.ts.map +1 -0
- package/dist/plugin/helpers/mergeMessageWithDefaults.js +67 -0
- package/dist/plugin/helpers/pipeToResponse.d.ts +19 -0
- package/dist/plugin/helpers/pipeToResponse.d.ts.map +1 -0
- package/dist/plugin/helpers/pipeToResponse.js +55 -0
- package/dist/plugin/helpers/requestInfo.d.ts +2 -0
- package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
- package/dist/plugin/helpers/requestInfo.js +6 -2
- package/dist/plugin/helpers/resolveComponents.client.d.ts +34 -0
- package/dist/plugin/helpers/resolveComponents.client.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveComponents.client.js +126 -0
- package/dist/plugin/helpers/resolveModuleFromManifest.d.ts +36 -0
- package/dist/plugin/helpers/resolveModuleFromManifest.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveModuleFromManifest.js +60 -0
- package/dist/plugin/helpers/resolvePageAndProps.d.ts +23 -2
- package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
- package/dist/plugin/helpers/resolvePageAndProps.js +150 -9
- package/dist/plugin/helpers/resolveRenderUrl.d.ts +11 -0
- package/dist/plugin/helpers/resolveRenderUrl.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveRenderUrl.js +19 -0
- package/dist/plugin/helpers/resolveStreamElements.client.d.ts +14 -0
- package/dist/plugin/helpers/resolveStreamElements.client.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveStreamElements.client.js +36 -0
- package/dist/plugin/helpers/resolveStreamElements.d.ts +3 -0
- package/dist/plugin/helpers/resolveStreamElements.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveStreamElements.js +13 -0
- package/dist/plugin/helpers/resolveStreamElements.server.d.ts +15 -0
- package/dist/plugin/helpers/resolveStreamElements.server.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveStreamElements.server.js +35 -0
- package/dist/plugin/helpers/resolveStreamElements.types.d.ts +22 -0
- package/dist/plugin/helpers/resolveStreamElements.types.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveStreamElements.types.js +1 -0
- package/dist/plugin/helpers/resolveVirtualAndNodeModules.d.ts +15 -0
- package/dist/plugin/helpers/resolveVirtualAndNodeModules.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveVirtualAndNodeModules.js +45 -0
- package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.d.ts +18 -0
- package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveWithDefaultRootAndHtml.js +17 -0
- package/dist/plugin/helpers/serializeUserOptions.d.ts +2 -2
- package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
- package/dist/plugin/helpers/serializeUserOptions.js +28 -13
- package/dist/plugin/helpers/tryManifest.d.ts +2 -2
- package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
- package/dist/plugin/helpers/tryManifest.js +12 -6
- package/dist/plugin/helpers/validateRscRenderMessage.d.ts +9 -0
- package/dist/plugin/helpers/validateRscRenderMessage.d.ts.map +1 -0
- package/dist/plugin/helpers/validateRscRenderMessage.js +13 -0
- package/dist/plugin/helpers/workerCleanup.d.ts +29 -0
- package/dist/plugin/helpers/workerCleanup.d.ts.map +1 -0
- package/dist/plugin/helpers/workerCleanup.js +28 -0
- package/dist/plugin/helpers/workerManager.d.ts +5 -0
- package/dist/plugin/helpers/workerManager.d.ts.map +1 -0
- package/dist/plugin/helpers/workerManager.js +18 -0
- package/dist/plugin/index.d.ts +4 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +5 -2
- package/dist/plugin/loader/createDefaultLoader.d.ts +1 -1
- package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -1
- package/dist/plugin/loader/createDefaultLoader.js +2 -22
- package/dist/plugin/loader/createTransformer.d.ts.map +1 -1
- package/dist/plugin/loader/createTransformer.js +155 -25
- package/dist/plugin/loader/directives/analyzeDirectives.d.ts +3 -2
- package/dist/plugin/loader/directives/analyzeDirectives.d.ts.map +1 -1
- package/dist/plugin/loader/directives/analyzeDirectives.js +53 -26
- package/dist/plugin/loader/directives/analyzeModule.d.ts.map +1 -1
- package/dist/plugin/loader/directives/analyzeModule.js +16 -9
- package/dist/plugin/loader/env-loader.js +2 -2
- package/dist/plugin/loader/react-loader.d.ts +4 -4
- package/dist/plugin/loader/react-loader.d.ts.map +1 -1
- package/dist/plugin/loader/react-loader.js +101 -73
- package/dist/plugin/loader/transformClientModule.d.ts +3 -3
- package/dist/plugin/loader/transformClientModule.d.ts.map +1 -1
- package/dist/plugin/loader/transformClientModule.js +63 -18
- package/dist/plugin/loader/transformModule.d.ts.map +1 -1
- package/dist/plugin/loader/transformModule.js +80 -16
- package/dist/plugin/loader/transformModuleIfNeeded.d.ts +6 -1
- package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -1
- package/dist/plugin/loader/transformModuleIfNeeded.js +10 -18
- package/dist/plugin/loader/transformNonServerEnvironment.d.ts +1 -1
- package/dist/plugin/loader/transformNonServerEnvironment.d.ts.map +1 -1
- package/dist/plugin/loader/transformNonServerEnvironment.js +14 -12
- package/dist/plugin/loader/transformServerModule.d.ts +1 -1
- package/dist/plugin/loader/transformServerModule.d.ts.map +1 -1
- package/dist/plugin/loader/transformServerModule.js +54 -15
- package/dist/plugin/loader/types.d.ts +24 -7
- package/dist/plugin/loader/types.d.ts.map +1 -1
- package/dist/plugin/metrics/collectStreamMetrics.d.ts +1 -2
- package/dist/plugin/metrics/collectStreamMetrics.d.ts.map +1 -1
- package/dist/plugin/metrics/collectStreamMetrics.js +1 -1
- package/dist/plugin/metrics/convertStreamMetrics.d.ts +3 -0
- package/dist/plugin/metrics/convertStreamMetrics.d.ts.map +1 -0
- package/dist/plugin/metrics/convertStreamMetrics.js +26 -0
- package/dist/plugin/metrics/createModuleResolutionMetrics.d.ts +12 -0
- package/dist/plugin/metrics/createModuleResolutionMetrics.d.ts.map +1 -0
- package/dist/plugin/metrics/createModuleResolutionMetrics.js +32 -0
- package/dist/plugin/metrics/createRenderMetrics.d.ts +2 -2
- package/dist/plugin/metrics/createRenderMetrics.d.ts.map +1 -1
- package/dist/plugin/metrics/createRenderMetrics.js +45 -13
- package/dist/plugin/metrics/createStreamMetrics.d.ts +2 -2
- package/dist/plugin/metrics/createStreamMetrics.d.ts.map +1 -1
- package/dist/plugin/metrics/createStreamMetrics.js +15 -4
- package/dist/plugin/metrics/createWorkerStartupMetrics.d.ts +12 -0
- package/dist/plugin/metrics/createWorkerStartupMetrics.d.ts.map +1 -0
- package/dist/plugin/metrics/createWorkerStartupMetrics.js +14 -0
- package/dist/plugin/metrics/formatMetrics.d.ts +0 -6
- package/dist/plugin/metrics/formatMetrics.d.ts.map +1 -1
- package/dist/plugin/metrics/formatMetrics.js +7 -29
- package/dist/plugin/metrics/index.d.ts +6 -3
- package/dist/plugin/metrics/index.d.ts.map +1 -1
- package/dist/plugin/metrics/index.js +6 -3
- package/dist/plugin/metrics/metricWatcher.d.ts +9 -0
- package/dist/plugin/metrics/metricWatcher.d.ts.map +1 -0
- package/dist/plugin/metrics/metricWatcher.js +141 -0
- package/dist/plugin/metrics/types.d.ts +72 -6
- package/dist/plugin/metrics/types.d.ts.map +1 -1
- package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts +3 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts.map +1 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.client.js +36 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.d.ts +19 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.d.ts.map +1 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.js +13 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts +3 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts.map +1 -0
- package/dist/plugin/orchestrator/createPluginOrchestrator.server.js +44 -0
- package/dist/plugin/orchestrator/index.d.ts +2 -0
- package/dist/plugin/orchestrator/index.d.ts.map +1 -0
- package/dist/plugin/orchestrator/index.js +1 -0
- package/dist/plugin/orchestrator/plugin.js +7 -0
- package/dist/plugin/orchestrator/resolveStrategy.d.ts +19 -0
- package/dist/plugin/orchestrator/resolveStrategy.d.ts.map +1 -0
- package/dist/plugin/orchestrator/resolveStrategy.js +35 -0
- package/dist/plugin/orchestrator/types.d.ts +21 -0
- package/dist/plugin/orchestrator/types.d.ts.map +1 -0
- package/dist/plugin/orchestrator/types.js +1 -0
- package/dist/plugin/plugin.client.d.ts +11 -19
- package/dist/plugin/plugin.client.d.ts.map +1 -1
- package/dist/plugin/plugin.client.js +20 -13
- package/dist/plugin/plugin.d.ts +2 -1
- package/dist/plugin/plugin.d.ts.map +1 -1
- package/dist/plugin/plugin.js +4 -2
- package/dist/plugin/plugin.server.d.ts +13 -11
- package/dist/plugin/plugin.server.d.ts.map +1 -1
- package/dist/plugin/plugin.server.js +19 -18
- package/dist/plugin/process-env.d.ts +1 -0
- package/dist/plugin/process-env.d.ts.map +1 -1
- package/dist/plugin/react-client/createMessageHandlers.d.ts +2 -10
- package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
- package/dist/plugin/react-client/createMessageHandlers.js +42 -69
- package/dist/plugin/react-client/index.client.d.ts +2 -0
- package/dist/plugin/react-client/index.client.d.ts.map +1 -0
- package/dist/plugin/react-client/index.client.js +1 -0
- package/dist/plugin/react-client/index.d.ts +3 -4
- package/dist/plugin/react-client/index.d.ts.map +1 -1
- package/dist/plugin/react-client/index.js +10 -5
- package/dist/plugin/react-client/index.server.d.ts +2 -0
- package/dist/plugin/react-client/index.server.d.ts.map +1 -0
- package/dist/plugin/react-client/index.server.js +1 -0
- package/dist/plugin/react-client/plugin.client.d.ts +15 -0
- package/dist/plugin/react-client/plugin.client.d.ts.map +1 -0
- package/dist/plugin/react-client/plugin.client.js +98 -0
- package/dist/plugin/react-client/plugin.d.ts +2 -5
- package/dist/plugin/react-client/plugin.d.ts.map +1 -1
- package/dist/plugin/react-client/plugin.js +6 -121
- package/dist/plugin/react-client/plugin.server.d.ts +15 -0
- package/dist/plugin/react-client/plugin.server.d.ts.map +1 -0
- package/dist/plugin/react-client/plugin.server.js +93 -0
- package/dist/plugin/react-client/types.d.ts +60 -0
- package/dist/plugin/react-client/types.d.ts.map +1 -0
- package/dist/plugin/react-client/types.js +1 -0
- package/dist/plugin/react-server/index.client.d.ts +2 -0
- package/dist/plugin/react-server/index.client.d.ts.map +1 -0
- package/dist/plugin/react-server/index.client.js +1 -0
- package/dist/plugin/react-server/index.d.ts +3 -1
- package/dist/plugin/react-server/index.d.ts.map +1 -1
- package/dist/plugin/react-server/index.js +13 -1
- package/dist/plugin/react-server/index.server.d.ts +2 -0
- package/dist/plugin/react-server/index.server.d.ts.map +1 -0
- package/dist/plugin/react-server/index.server.js +1 -0
- package/dist/plugin/react-server/plugin.client.d.ts +3 -0
- package/dist/plugin/react-server/plugin.client.d.ts.map +1 -0
- package/dist/plugin/react-server/plugin.client.js +40 -0
- package/dist/plugin/react-server/plugin.d.ts +2 -5
- package/dist/plugin/react-server/plugin.d.ts.map +1 -1
- package/dist/plugin/react-server/plugin.js +5 -143
- package/dist/plugin/react-server/plugin.server.d.ts +3 -0
- package/dist/plugin/react-server/plugin.server.d.ts.map +1 -0
- package/dist/plugin/react-server/plugin.server.js +18 -0
- package/dist/plugin/react-server/types.d.ts +11 -0
- package/dist/plugin/react-server/types.d.ts.map +1 -0
- package/dist/plugin/react-server/types.js +1 -0
- package/dist/plugin/react-static/collectHtmlContent.d.ts +15 -0
- package/dist/plugin/react-static/collectHtmlContent.d.ts.map +1 -0
- package/dist/plugin/react-static/collectHtmlContent.js +104 -0
- package/dist/plugin/react-static/collectRscContent.d.ts +10 -15
- package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
- package/dist/plugin/react-static/collectRscContent.js +71 -20
- package/dist/plugin/react-static/configurePreviewServer.d.ts +1 -7
- package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
- package/dist/plugin/react-static/configurePreviewServer.js +3 -6
- package/dist/plugin/react-static/createBuildLoader.client.d.ts +2 -0
- package/dist/plugin/react-static/createBuildLoader.client.d.ts.map +1 -0
- package/dist/plugin/react-static/createBuildLoader.client.js +7 -0
- package/dist/plugin/react-static/createBuildLoader.d.ts +3 -19
- package/dist/plugin/react-static/createBuildLoader.d.ts.map +1 -1
- package/dist/plugin/react-static/createBuildLoader.js +4 -226
- package/dist/plugin/react-static/createBuildLoader.server.d.ts +9 -0
- package/dist/plugin/react-static/createBuildLoader.server.d.ts.map +1 -0
- package/dist/plugin/react-static/createBuildLoader.server.js +253 -0
- package/dist/plugin/react-static/fileWriter.d.ts +3 -14
- package/dist/plugin/react-static/fileWriter.d.ts.map +1 -1
- package/dist/plugin/react-static/fileWriter.js +233 -42
- package/dist/plugin/react-static/index.client.d.ts +7 -0
- package/dist/plugin/react-static/index.client.d.ts.map +1 -0
- package/dist/plugin/react-static/index.client.js +6 -0
- package/dist/plugin/react-static/index.d.ts +7 -1
- package/dist/plugin/react-static/index.d.ts.map +1 -1
- package/dist/plugin/react-static/index.js +19 -1
- package/dist/plugin/react-static/index.server.d.ts +7 -0
- package/dist/plugin/react-static/index.server.d.ts.map +1 -0
- package/dist/plugin/react-static/index.server.js +6 -0
- package/dist/plugin/react-static/plugin.client.d.ts +32 -0
- package/dist/plugin/react-static/plugin.client.d.ts.map +1 -0
- package/dist/plugin/react-static/plugin.client.js +801 -0
- package/dist/plugin/react-static/plugin.d.ts +3 -20
- package/dist/plugin/react-static/plugin.d.ts.map +1 -1
- package/dist/plugin/react-static/plugin.js +4 -365
- package/dist/plugin/react-static/plugin.server.d.ts +18 -0
- package/dist/plugin/react-static/plugin.server.d.ts.map +1 -0
- package/dist/plugin/react-static/plugin.server.js +615 -0
- package/dist/plugin/react-static/processCssFilesForPages.d.ts +16 -0
- package/dist/plugin/react-static/processCssFilesForPages.d.ts.map +1 -0
- package/dist/plugin/react-static/processCssFilesForPages.js +94 -0
- package/dist/plugin/react-static/renderPage.client.d.ts +49 -0
- package/dist/plugin/react-static/renderPage.client.d.ts.map +1 -0
- package/dist/plugin/react-static/renderPage.client.js +555 -0
- package/dist/plugin/react-static/renderPage.d.ts +3 -4
- package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
- package/dist/plugin/react-static/renderPage.js +6 -119
- package/dist/plugin/react-static/renderPage.server.d.ts +24 -0
- package/dist/plugin/react-static/renderPage.server.d.ts.map +1 -0
- package/dist/plugin/react-static/renderPage.server.js +533 -0
- package/dist/plugin/react-static/renderPages.d.ts +11 -3
- package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
- package/dist/plugin/react-static/renderPages.js +533 -92
- package/dist/plugin/react-static/renderPagesBatched.d.ts +6 -0
- package/dist/plugin/react-static/renderPagesBatched.d.ts.map +1 -0
- package/dist/plugin/react-static/renderPagesBatched.js +195 -0
- package/dist/plugin/react-static/renderStreams.d.ts +2 -5
- package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
- package/dist/plugin/react-static/renderStreams.js +36 -24
- package/dist/plugin/react-static/rscToHtmlStream.client.d.ts +12 -0
- package/dist/plugin/react-static/rscToHtmlStream.client.d.ts.map +1 -0
- package/dist/plugin/react-static/rscToHtmlStream.client.js +32 -0
- package/dist/plugin/react-static/rscToHtmlStream.d.ts +3 -21
- package/dist/plugin/react-static/rscToHtmlStream.d.ts.map +1 -1
- package/dist/plugin/react-static/rscToHtmlStream.js +4 -53
- package/dist/plugin/react-static/rscToHtmlStream.server.d.ts +3 -0
- package/dist/plugin/react-static/rscToHtmlStream.server.d.ts.map +1 -0
- package/dist/plugin/react-static/rscToHtmlStream.server.js +39 -0
- package/dist/plugin/react-static/temporaryReferences.client.d.ts +2 -0
- package/dist/plugin/react-static/temporaryReferences.client.d.ts.map +1 -0
- package/dist/plugin/react-static/temporaryReferences.client.js +1 -0
- package/dist/plugin/react-static/temporaryReferences.d.ts +2 -1
- package/dist/plugin/react-static/temporaryReferences.d.ts.map +1 -1
- package/dist/plugin/react-static/temporaryReferences.js +6 -10
- package/dist/plugin/react-static/temporaryReferences.server.d.ts +2 -0
- package/dist/plugin/react-static/temporaryReferences.server.d.ts.map +1 -0
- package/dist/plugin/react-static/temporaryReferences.server.js +3 -0
- package/dist/plugin/react-static/types.d.ts +83 -9
- package/dist/plugin/react-static/types.d.ts.map +1 -1
- package/dist/plugin/root.d.ts.map +1 -1
- package/dist/plugin/root.js +2 -5
- package/dist/plugin/stream/MessagePortReadable.d.ts +22 -0
- package/dist/plugin/stream/MessagePortReadable.d.ts.map +1 -0
- package/dist/plugin/stream/MessagePortReadable.js +101 -0
- package/dist/plugin/stream/MessagePortWritable.d.ts +22 -0
- package/dist/plugin/stream/MessagePortWritable.d.ts.map +1 -0
- package/dist/plugin/stream/MessagePortWritable.js +85 -0
- package/dist/plugin/stream/client.js +12 -0
- package/dist/plugin/stream/createFromNodeStream.client.d.ts +9 -0
- package/dist/plugin/stream/createFromNodeStream.client.d.ts.map +1 -0
- package/dist/plugin/stream/createFromNodeStream.client.js +76 -0
- package/dist/plugin/stream/createFromNodeStream.d.ts +3 -0
- package/dist/plugin/stream/createFromNodeStream.d.ts.map +1 -0
- package/dist/plugin/stream/createFromNodeStream.js +6 -0
- package/dist/plugin/stream/createFromNodeStream.server.d.ts +9 -0
- package/dist/plugin/stream/createFromNodeStream.server.d.ts.map +1 -0
- package/dist/plugin/stream/createFromNodeStream.server.js +27 -0
- package/dist/plugin/stream/createFromNodeStream.types.d.ts +37 -0
- package/dist/plugin/stream/createFromNodeStream.types.d.ts.map +1 -0
- package/dist/plugin/stream/createFromNodeStream.types.js +1 -0
- package/dist/plugin/stream/createHtmlStream.client.d.ts +3 -0
- package/dist/plugin/stream/createHtmlStream.client.d.ts.map +1 -0
- package/dist/plugin/stream/createHtmlStream.client.js +42 -0
- package/dist/plugin/stream/createHtmlStream.d.ts +3 -0
- package/dist/plugin/stream/createHtmlStream.d.ts.map +1 -0
- package/dist/plugin/stream/createHtmlStream.js +6 -0
- package/dist/plugin/stream/createHtmlStream.server.d.ts +6 -0
- package/dist/plugin/stream/createHtmlStream.server.d.ts.map +1 -0
- package/dist/plugin/stream/createHtmlStream.server.js +224 -0
- package/dist/plugin/stream/createHtmlStream.types.d.ts +43 -0
- package/dist/plugin/stream/createHtmlStream.types.d.ts.map +1 -0
- package/dist/plugin/stream/createHtmlStream.types.js +1 -0
- package/dist/plugin/stream/createMainThreadHandlers.d.ts +11 -0
- package/dist/plugin/stream/createMainThreadHandlers.d.ts.map +1 -0
- package/dist/plugin/stream/createMainThreadHandlers.js +32 -0
- package/dist/plugin/stream/createMessageChannels.d.ts +29 -0
- package/dist/plugin/stream/createMessageChannels.d.ts.map +1 -0
- package/dist/plugin/stream/createMessageChannels.js +35 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.d.ts +10 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.d.ts.map +1 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.client.js +188 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.d.ts +3 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.d.ts.map +1 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.js +6 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.d.ts +45 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.d.ts.map +1 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.server.js +249 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.d.ts +17 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.d.ts.map +1 -0
- package/dist/plugin/stream/createRenderToPipeableStreamHandler.types.js +1 -0
- package/dist/plugin/stream/createRscStream.client.d.ts +18 -0
- package/dist/plugin/stream/createRscStream.client.d.ts.map +1 -0
- package/dist/plugin/stream/createRscStream.client.js +79 -0
- package/dist/plugin/stream/createRscStream.d.ts +2 -0
- package/dist/plugin/stream/createRscStream.d.ts.map +1 -0
- package/dist/plugin/stream/createRscStream.js +13 -0
- package/dist/plugin/stream/createRscStream.server.d.ts +46 -0
- package/dist/plugin/stream/createRscStream.server.d.ts.map +1 -0
- package/dist/plugin/stream/createRscStream.server.js +113 -0
- package/dist/plugin/stream/createRscStream.types.d.ts +134 -0
- package/dist/plugin/stream/createRscStream.types.d.ts.map +1 -0
- package/dist/plugin/stream/createRscStream.types.js +1 -0
- package/dist/plugin/stream/createRscStream.utils.d.ts +54 -0
- package/dist/plugin/stream/createRscStream.utils.d.ts.map +1 -0
- package/dist/plugin/stream/createRscStream.utils.js +91 -0
- package/dist/plugin/stream/createRscWorkerStream.d.ts +41 -0
- package/dist/plugin/stream/createRscWorkerStream.d.ts.map +1 -0
- package/dist/plugin/stream/createRscWorkerStream.js +120 -0
- package/dist/plugin/stream/handleRscStream.client.d.ts +17 -0
- package/dist/plugin/stream/handleRscStream.client.d.ts.map +1 -0
- package/dist/plugin/stream/handleRscStream.client.js +163 -0
- package/dist/plugin/stream/handleRscStream.d.ts +3 -0
- package/dist/plugin/stream/handleRscStream.d.ts.map +1 -0
- package/dist/plugin/stream/handleRscStream.js +13 -0
- package/dist/plugin/stream/handleRscStream.server.d.ts +6 -0
- package/dist/plugin/stream/handleRscStream.server.d.ts.map +1 -0
- package/dist/plugin/stream/handleRscStream.server.js +70 -0
- package/dist/plugin/stream/handleRscStream.types.d.ts +28 -0
- package/dist/plugin/stream/handleRscStream.types.d.ts.map +1 -0
- package/dist/plugin/stream/handleRscStream.types.js +1 -0
- package/dist/plugin/stream/index.client.d.ts +7 -0
- package/dist/plugin/stream/index.client.d.ts.map +1 -0
- package/dist/plugin/stream/index.client.js +11 -0
- package/dist/plugin/stream/index.d.ts +95 -0
- package/dist/plugin/stream/index.d.ts.map +1 -0
- package/dist/plugin/stream/index.js +21 -0
- package/dist/plugin/stream/index.server.d.ts +7 -0
- package/dist/plugin/stream/index.server.d.ts.map +1 -0
- package/dist/plugin/stream/index.server.js +11 -0
- package/dist/plugin/stream/renderRscStream.server.d.ts +21 -0
- package/dist/plugin/stream/renderRscStream.server.d.ts.map +1 -0
- package/dist/plugin/stream/renderRscStream.server.js +153 -0
- package/dist/plugin/stream/renderRscStream.types.d.ts +36 -0
- package/dist/plugin/stream/renderRscStream.types.d.ts.map +1 -0
- package/dist/plugin/stream/renderRscStream.types.js +1 -0
- package/dist/plugin/stream/renderRscStreamHelpers.server.d.ts +9 -0
- package/dist/plugin/stream/renderRscStreamHelpers.server.d.ts.map +1 -0
- package/dist/plugin/stream/renderRscStreamHelpers.server.js +63 -0
- package/dist/plugin/stream/server.js +12 -0
- package/dist/plugin/stream/setMaxListeners.d.ts +16 -0
- package/dist/plugin/stream/setMaxListeners.d.ts.map +1 -0
- package/dist/plugin/stream/setMaxListeners.js +16 -0
- package/dist/plugin/transformer/createTransformerPlugin.d.ts +18 -0
- package/dist/plugin/transformer/createTransformerPlugin.d.ts.map +1 -0
- package/dist/plugin/transformer/createTransformerPlugin.js +269 -0
- package/dist/plugin/transformer/plugin.client.d.ts +2 -29
- package/dist/plugin/transformer/plugin.client.d.ts.map +1 -1
- package/dist/plugin/transformer/plugin.client.js +5 -96
- package/dist/plugin/transformer/plugin.server.d.ts +2 -29
- package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
- package/dist/plugin/transformer/plugin.server.js +5 -96
- package/dist/plugin/transformer/transformerEnv.d.ts +15 -0
- package/dist/plugin/transformer/transformerEnv.d.ts.map +1 -0
- package/dist/plugin/transformer/transformerEnv.js +26 -0
- package/dist/plugin/types.d.ts +366 -140
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/types.js +1 -2
- package/dist/plugin/utils/callServer.d.ts +1 -1
- package/dist/plugin/utils/callServer.d.ts.map +1 -1
- package/dist/plugin/utils/createCallServer.d.ts +1 -1
- package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
- package/dist/plugin/utils/createCallServer.js +4 -9
- package/dist/plugin/utils/createReactFetcher.d.ts +43 -2
- package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -1
- package/dist/plugin/utils/createReactFetcher.js +14 -3
- package/dist/plugin/utils/envUrls.node.js +11 -12
- package/dist/plugin/utils/index.client.d.ts +8 -0
- package/dist/plugin/utils/index.client.d.ts.map +1 -0
- package/dist/plugin/utils/index.client.js +8 -0
- package/dist/plugin/utils/index.d.ts +1 -0
- package/dist/plugin/utils/index.d.ts.map +1 -1
- package/dist/plugin/utils/index.js +3 -2
- package/dist/plugin/utils/index.server.d.ts +6 -0
- package/dist/plugin/utils/index.server.d.ts.map +1 -0
- package/dist/plugin/utils/index.server.js +8 -0
- package/dist/plugin/utils/routeToURL.d.ts.map +1 -1
- package/dist/plugin/utils/routeToURL.js +4 -4
- package/dist/plugin/utils/urls.d.ts +1 -1
- package/dist/plugin/utils/urls.d.ts.map +1 -1
- package/dist/plugin/utils/urls.js +29 -8
- package/dist/plugin/utils/useRscHmr.d.ts +39 -0
- package/dist/plugin/utils/useRscHmr.d.ts.map +1 -0
- package/dist/plugin/utils/useRscHmr.js +27 -0
- package/dist/plugin/vendor/vendor.client.d.ts +3 -3
- package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
- package/dist/plugin/vendor/vendor.client.js +7 -6
- package/dist/plugin/vendor/vendor.d.ts +1 -1
- package/dist/plugin/vendor/vendor.d.ts.map +1 -1
- package/dist/plugin/vendor/vendor.js +4 -6
- package/dist/plugin/vendor/vendor.server.d.ts +4 -2
- package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
- package/dist/plugin/vendor/vendor.server.js +2 -3
- package/dist/plugin/vendor/vendor.static.d.ts +4 -0
- package/dist/plugin/vendor/vendor.static.d.ts.map +1 -0
- package/dist/plugin/vendor/vendor.static.js +15 -0
- package/dist/plugin/worker/createWorker.d.ts +16 -5
- package/dist/plugin/worker/createWorker.d.ts.map +1 -1
- package/dist/plugin/worker/createWorker.js +207 -30
- package/dist/plugin/worker/html/handleHtmlRender.d.ts +14 -0
- package/dist/plugin/worker/html/handleHtmlRender.d.ts.map +1 -0
- package/dist/plugin/worker/html/handleHtmlRender.js +190 -0
- package/dist/plugin/worker/html/html-worker.development.js +9 -26
- package/dist/plugin/worker/html/html-worker.js +4 -4
- package/dist/plugin/worker/html/html-worker.production.js +7 -13
- package/dist/plugin/worker/html/index.d.ts +1 -1
- package/dist/plugin/worker/html/index.js +6 -2
- package/dist/plugin/worker/html/messageHandler.d.ts +1 -1
- package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
- package/dist/plugin/worker/html/messageHandler.js +291 -104
- package/dist/plugin/worker/html/state.d.ts +10 -0
- package/dist/plugin/worker/html/state.d.ts.map +1 -0
- package/dist/plugin/worker/html/state.js +28 -0
- package/dist/plugin/worker/html/types.d.ts +52 -23
- package/dist/plugin/worker/html/types.d.ts.map +1 -1
- package/dist/plugin/worker/index.js +1 -1
- package/dist/plugin/worker/rsc/createBundleLoader.d.ts +22 -0
- package/dist/plugin/worker/rsc/createBundleLoader.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/createBundleLoader.js +55 -0
- package/dist/plugin/worker/rsc/createRscWorkerLoader.d.ts +23 -0
- package/dist/plugin/worker/rsc/createRscWorkerLoader.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/createRscWorkerLoader.js +79 -0
- package/dist/plugin/worker/rsc/handleRscRender.d.ts +32 -0
- package/dist/plugin/worker/rsc/handleRscRender.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/handleRscRender.js +349 -0
- package/dist/plugin/worker/rsc/handlers.d.ts +8 -2
- package/dist/plugin/worker/rsc/handlers.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/handlers.js +137 -200
- package/dist/plugin/worker/rsc/hydrateRscRenderMessage.d.ts +118 -0
- package/dist/plugin/worker/rsc/hydrateRscRenderMessage.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/hydrateRscRenderMessage.js +61 -0
- package/dist/plugin/worker/rsc/messageHandler.d.ts +1 -1
- package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/messageHandler.js +927 -49
- package/dist/plugin/worker/rsc/rsc-worker.development.js +153 -148
- package/dist/plugin/worker/rsc/rsc-worker.js +2 -3
- package/dist/plugin/worker/rsc/rsc-worker.production.js +238 -42
- package/dist/plugin/worker/rsc/state.d.ts +6 -0
- package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/state.js +37 -5
- package/dist/plugin/worker/rsc/types.d.ts +73 -12
- package/dist/plugin/worker/rsc/types.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/workerUserOptions.d.ts +10 -0
- package/dist/plugin/worker/rsc/workerUserOptions.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/workerUserOptions.js +39 -0
- package/dist/plugin/worker/sendMessage.d.ts +2 -3
- package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
- package/dist/plugin/worker/sendMessage.js +24 -38
- package/dist/plugin/worker/types.d.ts +42 -56
- package/dist/plugin/worker/types.d.ts.map +1 -1
- package/dist/plugin/worker/worker-handlers.server.d.ts +2 -0
- package/dist/plugin/worker/worker-handlers.server.d.ts.map +1 -0
- package/dist/plugin/worker/worker-handlers.server.js +1 -0
- package/dist/server.d.ts +5 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +4 -6
- package/dist/static.js +11 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +103 -28
- package/plugin/bundle/bundles.ts +22 -0
- package/plugin/bundle/deferredStaticGeneration.ts +48 -0
- package/plugin/bundle/manifests.ts +73 -0
- package/plugin/components/css.tsx +3 -7
- package/plugin/components/html.tsx +4 -3
- package/plugin/components/index.ts +1 -1
- package/plugin/components/root.tsx +3 -3
- package/plugin/config/autoDiscover/createGlobAutoDiscover.ts +10 -5
- package/plugin/config/autoDiscover/pageAndPropFiles.ts +4 -2
- package/plugin/config/autoDiscover/resolveAutoDiscover.ts +64 -79
- package/plugin/config/autoDiscover/resolveBuildPages.ts +181 -69
- package/plugin/config/createHandlerOptions.client.ts +403 -0
- package/plugin/config/createHandlerOptions.server.ts +477 -0
- package/plugin/config/createHandlerOptions.ts +46 -0
- package/plugin/config/createHandlerOptions.types.ts +119 -0
- package/plugin/config/createModuleID.ts +201 -10
- package/plugin/config/defaults.tsx +58 -9
- package/plugin/config/envPrefixFromConfig.ts +10 -0
- package/plugin/config/getCondition.ts +267 -10
- package/plugin/{getNodeEnv.ts → config/getNodeEnv.ts} +4 -2
- package/plugin/config/index.ts +60 -1
- package/plugin/config/resolveDirectiveMatcher.ts +13 -34
- package/plugin/config/resolveEnv.ts +3 -8
- package/plugin/config/resolveOptions.ts +295 -77
- package/plugin/config/resolvePages.ts +1 -1
- package/plugin/config/resolvePatternWithValues.ts +6 -26
- package/plugin/config/resolveUrlOption.ts +2 -2
- package/plugin/config/resolveUserConfig.ts +358 -133
- package/plugin/config/stashedOptionsState.ts +144 -0
- package/plugin/dev-server/cleanupServerAction.client.ts +47 -0
- package/plugin/dev-server/cleanupServerAction.server.ts +24 -0
- package/plugin/dev-server/cleanupServerAction.ts +8 -0
- package/plugin/dev-server/configureReactServer.client.ts +107 -0
- package/plugin/dev-server/configureReactServer.server.ts +558 -0
- package/plugin/dev-server/configureReactServer.ts +8 -0
- package/plugin/dev-server/configureRequestHandler.client.ts +382 -0
- package/plugin/dev-server/configureRequestHandler.server.ts +46 -0
- package/plugin/dev-server/configureRequestHandler.ts +8 -0
- package/plugin/dev-server/handleServerAction.client.ts +126 -0
- package/plugin/dev-server/handleServerAction.server.ts +10 -0
- package/plugin/dev-server/handleServerAction.ts +8 -0
- package/plugin/dev-server/index.client.ts +6 -0
- package/plugin/dev-server/index.server.ts +6 -0
- package/plugin/dev-server/index.ts +20 -0
- package/plugin/dev-server/plugin.client.ts +160 -0
- package/plugin/dev-server/plugin.server.ts +133 -0
- package/plugin/dev-server/restartWorker.client.ts +155 -0
- package/plugin/dev-server/restartWorker.server.ts +108 -0
- package/plugin/dev-server/restartWorker.ts +8 -0
- package/plugin/dev-server/types.ts +78 -0
- package/plugin/dev-server/virtualRscHmrPlugin.ts +82 -0
- package/plugin/env/createConfigEnv.ts +27 -8
- package/plugin/env/createEnvPlugin.ts +76 -0
- package/plugin/env/getArgValue.ts +1 -1
- package/plugin/env/getEnvKey.ts +20 -1
- package/plugin/env/index.ts +10 -0
- package/plugin/env/plugin.client.ts +3 -0
- package/plugin/env/plugin.server.ts +4 -0
- package/plugin/env/plugin.ts +48 -103
- package/plugin/environments/createBuildEventPlugin.ts +117 -0
- package/plugin/environments/createEnvironmentPlugin.ts +332 -0
- package/plugin/environments/hashCoordination.ts +39 -0
- package/plugin/environments/resolveEnvironmentConfig.ts +320 -0
- package/plugin/error/assertPanic.ts +9 -0
- package/plugin/error/handleError.ts +63 -0
- package/plugin/error/index.ts +4 -1
- package/plugin/error/logError.ts +63 -42
- package/plugin/error/panicThresholdHandler.ts +52 -0
- package/plugin/error/serializeError.ts +36 -11
- package/plugin/error/serializeErrorInfo.ts +17 -0
- package/plugin/error/setupGlobalErrorHandler.ts +71 -0
- package/plugin/error/shouldPanic.ts +14 -0
- package/plugin/error/toError.ts +59 -19
- package/plugin/error/types.ts +32 -0
- package/plugin/helpers/README.md +112 -0
- package/plugin/helpers/collectManifestCss.ts +24 -5
- package/plugin/helpers/collectViteModuleGraphCss.ts +83 -9
- package/plugin/helpers/createBufferedRscStream.ts +194 -0
- package/plugin/helpers/createCssProps.tsx +22 -19
- package/plugin/helpers/createElementWithReact.tsx +121 -0
- package/plugin/helpers/createPatternMatcher.ts +100 -0
- package/plugin/helpers/createRscRenderHelpers.ts +77 -0
- package/plugin/helpers/createSafePageComponent.ts +64 -0
- package/plugin/helpers/createSerializableHandlerOptions.ts +183 -0
- package/plugin/helpers/createSharedLoader.ts +207 -0
- package/plugin/helpers/createUnifiedCssProcessor.ts +175 -0
- package/plugin/helpers/getBundleManifest.ts +2 -3
- package/plugin/helpers/getRouteFiles.ts +28 -23
- package/plugin/helpers/handleServerAction.client.ts +145 -0
- package/plugin/helpers/handleServerAction.server.ts +151 -0
- package/plugin/helpers/handleServerAction.ts +19 -79
- package/plugin/helpers/handleServerActionHelper.ts +270 -0
- package/plugin/helpers/headlessStreamReuseHandler.ts +48 -0
- package/plugin/helpers/headlessStreamState.ts +122 -0
- package/plugin/helpers/hydrateUserOptions.ts +2 -2
- package/plugin/helpers/index.ts +32 -5
- package/plugin/helpers/logRenderStart.ts +26 -0
- package/plugin/helpers/mergeMessageWithDefaults.ts +80 -0
- package/plugin/helpers/pipeToResponse.ts +77 -0
- package/plugin/helpers/requestInfo.ts +9 -3
- package/plugin/helpers/resolveComponents.client.ts +183 -0
- package/plugin/helpers/resolveModuleFromManifest.ts +99 -0
- package/plugin/helpers/resolvePageAndProps.ts +237 -50
- package/plugin/helpers/resolveRenderUrl.ts +26 -0
- package/plugin/helpers/resolveStreamElements.client.ts +50 -0
- package/plugin/helpers/resolveStreamElements.server.ts +43 -0
- package/plugin/helpers/resolveStreamElements.ts +13 -0
- package/plugin/helpers/resolveStreamElements.types.ts +29 -0
- package/plugin/helpers/resolveVirtualAndNodeModules.ts +75 -0
- package/plugin/helpers/resolveWithDefaultRootAndHtml.ts +25 -0
- package/plugin/helpers/serializeUserOptions.ts +37 -15
- package/plugin/helpers/tryManifest.ts +15 -6
- package/plugin/helpers/validateRscRenderMessage.ts +13 -0
- package/plugin/helpers/workerCleanup.ts +85 -0
- package/plugin/helpers/workerManager.ts +16 -0
- package/plugin/index.ts +6 -2
- package/plugin/loader/createDefaultLoader.ts +0 -21
- package/plugin/loader/createTransformer.ts +231 -37
- package/plugin/loader/directives/analyzeDirectives.ts +163 -73
- package/plugin/loader/directives/analyzeModule.ts +18 -9
- package/plugin/loader/env-loader.ts +3 -3
- package/plugin/loader/react-loader.ts +133 -86
- package/plugin/loader/transformClientModule.ts +85 -23
- package/plugin/loader/transformModule.ts +101 -21
- package/plugin/loader/transformModuleIfNeeded.ts +20 -23
- package/plugin/loader/transformNonServerEnvironment.ts +21 -13
- package/plugin/loader/transformServerModule.ts +86 -22
- package/plugin/loader/types.ts +22 -7
- package/plugin/metrics/collectStreamMetrics.ts +1 -2
- package/plugin/metrics/convertStreamMetrics.ts +28 -0
- package/plugin/metrics/createModuleResolutionMetrics.ts +38 -0
- package/plugin/metrics/createRenderMetrics.ts +46 -13
- package/plugin/metrics/createStreamMetrics.ts +16 -6
- package/plugin/metrics/createWorkerStartupMetrics.ts +38 -0
- package/plugin/metrics/formatMetrics.ts +5 -33
- package/plugin/metrics/index.ts +6 -3
- package/plugin/metrics/metricWatcher.ts +216 -0
- package/plugin/metrics/types.ts +87 -8
- package/plugin/orchestrator/createPluginOrchestrator.client.ts +47 -0
- package/plugin/orchestrator/createPluginOrchestrator.server.ts +55 -0
- package/plugin/orchestrator/createPluginOrchestrator.ts +29 -0
- package/plugin/orchestrator/index.ts +1 -0
- package/plugin/orchestrator/resolveStrategy.ts +53 -0
- package/plugin/orchestrator/types.ts +24 -0
- package/plugin/plugin.client.ts +29 -34
- package/plugin/plugin.server.ts +36 -42
- package/plugin/plugin.ts +8 -2
- package/plugin/process-env.ts +3 -0
- package/plugin/react-client/createMessageHandlers.ts +9 -34
- package/plugin/react-client/index.client.ts +1 -0
- package/plugin/react-client/index.server.ts +1 -0
- package/plugin/react-client/index.ts +13 -4
- package/plugin/react-client/plugin.client.ts +124 -0
- package/plugin/react-client/plugin.server.ts +108 -0
- package/plugin/react-client/plugin.ts +13 -152
- package/plugin/react-client/types.ts +95 -0
- package/plugin/react-server/index.client.ts +1 -0
- package/plugin/react-server/index.server.ts +1 -0
- package/plugin/react-server/index.ts +13 -1
- package/plugin/react-server/plugin.client.ts +54 -0
- package/plugin/react-server/plugin.server.ts +27 -0
- package/plugin/react-server/plugin.ts +8 -183
- package/plugin/react-server/types.ts +24 -0
- package/plugin/react-static/collectHtmlContent.ts +131 -0
- package/plugin/react-static/collectRscContent.ts +92 -49
- package/plugin/react-static/configurePreviewServer.ts +8 -18
- package/plugin/react-static/createBuildLoader.client.ts +7 -0
- package/plugin/react-static/createBuildLoader.server.ts +333 -0
- package/plugin/react-static/createBuildLoader.ts +8 -300
- package/plugin/react-static/fileWriter.ts +303 -64
- package/plugin/react-static/index.client.ts +6 -0
- package/plugin/react-static/index.server.ts +6 -0
- package/plugin/react-static/index.ts +25 -1
- package/plugin/react-static/plugin.client.ts +932 -0
- package/plugin/react-static/plugin.server.ts +713 -0
- package/plugin/react-static/plugin.ts +8 -446
- package/plugin/react-static/processCssFilesForPages.ts +148 -0
- package/plugin/react-static/renderPage.client.ts +640 -0
- package/plugin/react-static/renderPage.server.ts +655 -0
- package/plugin/react-static/renderPage.ts +10 -160
- package/plugin/react-static/renderPages.ts +736 -139
- package/plugin/react-static/renderPagesBatched.ts +264 -0
- package/plugin/react-static/renderStreams.ts +12 -16
- package/plugin/react-static/rscToHtmlStream.client.ts +61 -0
- package/plugin/react-static/rscToHtmlStream.server.ts +66 -0
- package/plugin/react-static/rscToHtmlStream.ts +8 -80
- package/plugin/react-static/temporaryReferences.client.ts +1 -0
- package/plugin/react-static/temporaryReferences.server.ts +5 -0
- package/plugin/react-static/temporaryReferences.ts +11 -2
- package/plugin/react-static/types.ts +202 -8
- package/plugin/root.ts +1 -3
- package/plugin/stream/MessagePortReadable.ts +131 -0
- package/plugin/stream/MessagePortWritable.ts +104 -0
- package/plugin/stream/createFromNodeStream.client.ts +90 -0
- package/plugin/stream/createFromNodeStream.server.ts +30 -0
- package/plugin/stream/createFromNodeStream.ts +13 -0
- package/plugin/stream/createFromNodeStream.types.ts +53 -0
- package/plugin/stream/createHtmlStream.client.ts +47 -0
- package/plugin/stream/createHtmlStream.server.ts +312 -0
- package/plugin/stream/createHtmlStream.ts +13 -0
- package/plugin/stream/createHtmlStream.types.ts +63 -0
- package/plugin/stream/createMainThreadHandlers.ts +44 -0
- package/plugin/stream/createMessageChannels.ts +52 -0
- package/plugin/stream/createRenderToPipeableStreamHandler.client.ts +224 -0
- package/plugin/stream/createRenderToPipeableStreamHandler.server.ts +358 -0
- package/plugin/stream/createRenderToPipeableStreamHandler.ts +13 -0
- package/plugin/stream/createRenderToPipeableStreamHandler.types.ts +69 -0
- package/plugin/stream/createRscStream.client.ts +122 -0
- package/plugin/stream/createRscStream.server.ts +188 -0
- package/plugin/stream/createRscStream.ts +8 -0
- package/plugin/stream/createRscStream.types.ts +168 -0
- package/plugin/stream/createRscStream.utils.ts +171 -0
- package/plugin/stream/createRscWorkerStream.ts +178 -0
- package/plugin/stream/handleRscStream.client.ts +214 -0
- package/plugin/stream/handleRscStream.server.ts +82 -0
- package/plugin/stream/handleRscStream.ts +11 -0
- package/plugin/stream/handleRscStream.types.ts +70 -0
- package/plugin/stream/index.client.ts +15 -0
- package/plugin/stream/index.server.ts +15 -0
- package/plugin/stream/index.ts +137 -0
- package/plugin/stream/renderRscStream.server.ts +182 -0
- package/plugin/stream/renderRscStream.types.ts +43 -0
- package/plugin/stream/renderRscStreamHelpers.server.ts +88 -0
- package/plugin/stream/setMaxListeners.ts +30 -0
- package/plugin/transformer/README.md +2 -381
- package/plugin/transformer/createTransformerPlugin.ts +388 -0
- package/plugin/transformer/plugin.client.ts +6 -141
- package/plugin/transformer/plugin.server.ts +6 -142
- package/plugin/transformer/transformerEnv.ts +49 -0
- package/plugin/types/react-server-dom-esm.d.ts +269 -110
- package/plugin/types/virtual-rsc-hmr.d.ts +21 -0
- package/plugin/types.ts +636 -223
- package/plugin/utils/createCallServer.ts +8 -18
- package/plugin/utils/createReactFetcher.ts +87 -5
- package/plugin/utils/env.ts +1 -1
- package/plugin/utils/index.client.ts +8 -0
- package/plugin/utils/index.server.ts +8 -0
- package/plugin/utils/index.ts +5 -1
- package/plugin/utils/routeToURL.ts +3 -4
- package/plugin/utils/urls.ts +40 -8
- package/plugin/utils/useRscHmr.ts +72 -0
- package/plugin/vendor/vendor.client.ts +9 -7
- package/plugin/vendor/vendor.server.ts +5 -4
- package/plugin/vendor/vendor.static.ts +12 -0
- package/plugin/vendor/vendor.ts +10 -5
- package/plugin/worker/createWorker.ts +283 -41
- package/plugin/worker/html/README.md +2 -65
- package/plugin/worker/html/handleHtmlRender.ts +245 -0
- package/plugin/worker/html/html-worker.development.tsx +5 -17
- package/plugin/worker/html/html-worker.production.tsx +1 -1
- package/plugin/worker/html/html-worker.ts +5 -5
- package/plugin/worker/html/index.ts +6 -6
- package/plugin/worker/html/messageHandler.tsx +317 -98
- package/plugin/worker/html/state.ts +38 -0
- package/plugin/worker/html/types.ts +108 -35
- package/plugin/worker/rsc/README.md +2 -257
- package/plugin/worker/rsc/createBundleLoader.ts +92 -0
- package/plugin/worker/rsc/createRscWorkerLoader.ts +104 -0
- package/plugin/worker/rsc/handleRscRender.ts +510 -0
- package/plugin/worker/rsc/handlers.ts +159 -238
- package/plugin/worker/rsc/hydrateRscRenderMessage.ts +118 -0
- package/plugin/worker/rsc/messageHandler.tsx +1288 -58
- package/plugin/worker/rsc/rsc-worker.development.ts +198 -185
- package/plugin/worker/rsc/rsc-worker.production.ts +302 -64
- package/plugin/worker/rsc/rsc-worker.tsx +3 -5
- package/plugin/worker/rsc/state.ts +54 -2
- package/plugin/worker/rsc/types.ts +110 -32
- package/plugin/worker/rsc/workerUserOptions.ts +63 -0
- package/plugin/worker/sendMessage.ts +33 -53
- package/plugin/worker/types.ts +94 -91
- package/scripts/generate-toc.mjs +311 -0
- package/scripts/remove-toc.mjs +51 -0
- package/scripts/test-both.sh +82 -0
- package/dist/plugin/config/resolveDevServerConfig.d.ts +0 -2
- package/dist/plugin/config/resolveDevServerConfig.d.ts.map +0 -1
- package/dist/plugin/getNodeEnv.d.ts.map +0 -1
- package/dist/plugin/getNodeEnv.js +0 -17
- package/dist/plugin/helpers/collectBundleManifestCss.d.ts +0 -2
- package/dist/plugin/helpers/collectBundleManifestCss.d.ts.map +0 -1
- package/dist/plugin/helpers/collectBundleManifestCss.js +0 -2
- package/dist/plugin/helpers/createEventHandler.d.ts +0 -22
- package/dist/plugin/helpers/createEventHandler.d.ts.map +0 -1
- package/dist/plugin/helpers/createEventHandler.js +0 -36
- package/dist/plugin/helpers/createHandler.d.ts +0 -14
- package/dist/plugin/helpers/createHandler.d.ts.map +0 -1
- package/dist/plugin/helpers/createHandler.js +0 -75
- package/dist/plugin/helpers/createRscStream.d.ts +0 -26
- package/dist/plugin/helpers/createRscStream.d.ts.map +0 -1
- package/dist/plugin/helpers/createRscStream.js +0 -178
- package/dist/plugin/helpers/defaultFileWriter.d.ts +0 -2
- package/dist/plugin/helpers/defaultFileWriter.d.ts.map +0 -1
- package/dist/plugin/helpers/resolveComponents.d.ts +0 -27
- package/dist/plugin/helpers/resolveComponents.d.ts.map +0 -1
- package/dist/plugin/helpers/resolveComponents.js +0 -146
- package/dist/plugin/helpers/resolveUserComponents.d.ts +0 -33
- package/dist/plugin/helpers/resolveUserComponents.d.ts.map +0 -1
- package/dist/plugin/helpers/resolveUserComponents.js +0 -163
- package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts +0 -11
- package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts.map +0 -1
- package/dist/plugin/react-client/cleanupWorkerServerAction.js +0 -18
- package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts +0 -17
- package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +0 -1
- package/dist/plugin/react-client/configureWorkerRequestHandler.js +0 -203
- package/dist/plugin/react-client/createWorkerStream.d.ts +0 -26
- package/dist/plugin/react-client/createWorkerStream.d.ts.map +0 -1
- package/dist/plugin/react-client/createWorkerStream.js +0 -163
- package/dist/plugin/react-client/handleWorkerRscStream.d.ts +0 -24
- package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +0 -1
- package/dist/plugin/react-client/handleWorkerRscStream.js +0 -91
- package/dist/plugin/react-client/handleWorkerServerAction.d.ts +0 -13
- package/dist/plugin/react-client/handleWorkerServerAction.d.ts.map +0 -1
- package/dist/plugin/react-client/handleWorkerServerAction.js +0 -62
- package/dist/plugin/react-client/restartWorker.d.ts +0 -12
- package/dist/plugin/react-client/restartWorker.d.ts.map +0 -1
- package/dist/plugin/react-client/restartWorker.js +0 -69
- package/dist/plugin/react-server/configureReactServer.d.ts +0 -10
- package/dist/plugin/react-server/configureReactServer.d.ts.map +0 -1
- package/dist/plugin/react-server/configureReactServer.js +0 -209
- package/dist/plugin/react-server/handleServerAction.d.ts +0 -6
- package/dist/plugin/react-server/handleServerAction.d.ts.map +0 -1
- package/dist/plugin/react-server/handleServerAction.js +0 -159
- package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +0 -25
- package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +0 -1
- package/dist/plugin/react-static/collectHtmlWorkerContent.js +0 -94
- package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts +0 -12
- package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +0 -1
- package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +0 -130
- package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts +0 -3
- package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts.map +0 -1
- package/dist/plugin/worker/html/sendHtmlWorkerMessage.js +0 -2
- package/dist/plugin/worker/rsc/handleRender.d.ts +0 -6
- package/dist/plugin/worker/rsc/handleRender.d.ts.map +0 -1
- package/dist/plugin/worker/rsc/handleRender.js +0 -137
- package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts +0 -3
- package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts.map +0 -1
- package/dist/plugin/worker/rsc/sendRscWorkerMessage.js +0 -11
- package/dist/plugin/worker/rsc/userOptions.d.ts +0 -2
- package/dist/plugin/worker/rsc/userOptions.d.ts.map +0 -1
- package/dist/plugin/worker/rsc/userOptions.js +0 -16
- package/plugin/helpers/collectBundleManifestCss.ts +0 -1
- package/plugin/helpers/createEventHandler.ts +0 -44
- package/plugin/helpers/createHandler.ts +0 -97
- package/plugin/helpers/createRscStream.tsx +0 -226
- package/plugin/helpers/defaultFileWriter.ts +0 -0
- package/plugin/helpers/resolveComponents.ts +0 -202
- package/plugin/helpers/resolveUserComponents.ts +0 -190
- package/plugin/react-client/cleanupWorkerServerAction.ts +0 -33
- package/plugin/react-client/configureWorkerRequestHandler.ts +0 -249
- package/plugin/react-client/createWorkerStream.ts +0 -210
- package/plugin/react-client/handleWorkerRscStream.ts +0 -145
- package/plugin/react-client/handleWorkerServerAction.ts +0 -96
- package/plugin/react-client/restartWorker.ts +0 -90
- package/plugin/react-server/configureReactServer.ts +0 -235
- package/plugin/react-server/handleServerAction.ts +0 -192
- package/plugin/react-static/collectHtmlWorkerContent.ts +0 -147
- package/plugin/worker/html/createHtmlWorkerRenderState.tsx +0 -142
- package/plugin/worker/html/sendHtmlWorkerMessage.ts +0 -8
- package/plugin/worker/rsc/handleRender.ts +0 -168
- package/plugin/worker/rsc/sendRscWorkerMessage.ts +0 -7
- package/plugin/worker/rsc/userOptions.ts +0 -7
- /package/dist/plugin/config/{resolveDevServerConfig.js → createHandlerOptions.types.js} +0 -0
- /package/dist/plugin/{helpers/defaultFileWriter.js → dev-server/types.js} +0 -0
- /package/plugin/{config/resolveDevServerConfig.tsx → worker/worker-handlers.server.ts} +0 -0
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { logError, toError } from "../error/index.js";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import type { Logger } from "vite";
|
|
4
|
+
import type { ServerResponse } from "node:http";
|
|
5
|
+
import type { IncomingMessage } from "node:http";
|
|
6
|
+
|
|
7
|
+
export type ServerActionHandlerOptions = {
|
|
8
|
+
projectRoot: string;
|
|
9
|
+
verbose?: boolean;
|
|
10
|
+
logger?: Logger;
|
|
11
|
+
ssrLoadModule?: (path: string) => Promise<any>;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export type ServerActionRequest = {
|
|
15
|
+
id: string;
|
|
16
|
+
args: unknown[];
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Parses a server action request from the request body.
|
|
21
|
+
* Supports two formats:
|
|
22
|
+
* 1. Direct args array: [arg1, arg2, ...]
|
|
23
|
+
* 2. Object with id and args: { id: string, args: unknown[] }
|
|
24
|
+
*/
|
|
25
|
+
export function parseServerActionRequestBody(body: string, url?: string): ServerActionRequest {
|
|
26
|
+
const parsed = JSON.parse(body);
|
|
27
|
+
|
|
28
|
+
if (Array.isArray(parsed)) {
|
|
29
|
+
// Format 1: Direct args array
|
|
30
|
+
return {
|
|
31
|
+
args: parsed,
|
|
32
|
+
id: url?.split("?")[0] ?? "",
|
|
33
|
+
};
|
|
34
|
+
} else if (parsed && typeof parsed === "object" && "id" in parsed) {
|
|
35
|
+
// Format 2: Object with id and args
|
|
36
|
+
return {
|
|
37
|
+
id: parsed.id,
|
|
38
|
+
args: parsed.args ?? [],
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
throw new Error("Invalid server action request format");
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export type ServerActionResponse = {
|
|
46
|
+
type: "server-action-response";
|
|
47
|
+
returnValue: unknown;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Creates a server action response with the given result or error.
|
|
52
|
+
*/
|
|
53
|
+
export function createServerActionResponse(result?: unknown, error?: string): ServerActionResponse {
|
|
54
|
+
return {
|
|
55
|
+
type: "server-action-response",
|
|
56
|
+
returnValue: error
|
|
57
|
+
? { success: false, error }
|
|
58
|
+
: result
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Sets up common response headers for server actions.
|
|
64
|
+
*/
|
|
65
|
+
export function setupServerActionHeaders(res: ServerResponse) {
|
|
66
|
+
res.setHeader("Content-Type", "text/x-component; charset=utf-8");
|
|
67
|
+
res.setHeader("Transfer-Encoding", "chunked");
|
|
68
|
+
res.setHeader("Connection", "keep-alive");
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Parses a server action request from the request body and URL
|
|
73
|
+
*/
|
|
74
|
+
export async function parseServerActionRequest(
|
|
75
|
+
req: IncomingMessage,
|
|
76
|
+
verbose = false,
|
|
77
|
+
logger?: Logger
|
|
78
|
+
): Promise<ServerActionRequest> {
|
|
79
|
+
// Get action ID from x-rsc-action header (preferred) or URL
|
|
80
|
+
let id = (req.headers["x-rsc-action"] as string) ?? req.url?.split("?")[0] ?? "";
|
|
81
|
+
|
|
82
|
+
if (verbose) {
|
|
83
|
+
logger?.info(`[handleServerActionHelper] Parsing request at ${req.url}`);
|
|
84
|
+
logger?.info(`[handleServerActionHelper] Action ID from header: ${req.headers["x-rsc-action"]}`);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Parse the request body
|
|
88
|
+
let args: unknown[];
|
|
89
|
+
try {
|
|
90
|
+
const chunks: Buffer[] = [];
|
|
91
|
+
for await (const chunk of req) {
|
|
92
|
+
chunks.push(chunk);
|
|
93
|
+
}
|
|
94
|
+
const body = Buffer.concat(chunks).toString();
|
|
95
|
+
|
|
96
|
+
if (verbose) {
|
|
97
|
+
logger?.info(`[handleServerActionHelper] Request body length: ${body.length}`);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// Try to parse as JSON first (for backwards compatibility)
|
|
101
|
+
try {
|
|
102
|
+
const parsed = JSON.parse(body);
|
|
103
|
+
if (Array.isArray(parsed)) {
|
|
104
|
+
// Format 1: Direct args array
|
|
105
|
+
args = parsed;
|
|
106
|
+
if (verbose) {
|
|
107
|
+
logger?.info(`[handleServerActionHelper] Parsed args as array`);
|
|
108
|
+
}
|
|
109
|
+
} else if (parsed && typeof parsed === "object" && "id" in parsed) {
|
|
110
|
+
// Format 2: Object with id and args (legacy format)
|
|
111
|
+
id = parsed.id;
|
|
112
|
+
args = parsed.args ?? [];
|
|
113
|
+
} else {
|
|
114
|
+
throw new Error("Invalid server action request format");
|
|
115
|
+
}
|
|
116
|
+
} catch {
|
|
117
|
+
// Not JSON - assume it's React's encoded format
|
|
118
|
+
// For now, pass the raw body to the worker which can decode it
|
|
119
|
+
// using decodeReply from react-server-dom-esm/server
|
|
120
|
+
if (verbose) {
|
|
121
|
+
logger?.info(`[handleServerActionHelper] Body is not JSON, passing raw body`);
|
|
122
|
+
}
|
|
123
|
+
args = [body]; // Pass raw body as first arg, worker will decode
|
|
124
|
+
}
|
|
125
|
+
} catch (error: unknown) {
|
|
126
|
+
throw new Error(`Failed to parse server action request`, {
|
|
127
|
+
cause: error,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
if (!id) {
|
|
132
|
+
throw new Error("Server action ID is required");
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if (verbose) {
|
|
136
|
+
logger?.info(
|
|
137
|
+
`[handleServerActionHelper] Server action request for ${id} with args: ${JSON.stringify(args)}`
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
return { id, args };
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Resolves a server action ID to file path and export name
|
|
146
|
+
*/
|
|
147
|
+
export function resolveServerAction(
|
|
148
|
+
id: string,
|
|
149
|
+
projectRoot: string,
|
|
150
|
+
verbose = false,
|
|
151
|
+
logger?: Logger
|
|
152
|
+
): { filePath: string; exportName: string; fullPath: string } {
|
|
153
|
+
// Parse the server action ID to get the file path and export name
|
|
154
|
+
const [filePath, exportName] = id.split("#");
|
|
155
|
+
if (!filePath || !exportName) {
|
|
156
|
+
throw new Error(
|
|
157
|
+
`Invalid server action ID format: ${id}. Expected format: "path/to/file.ts#exportName"`
|
|
158
|
+
);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// Convert the server action ID to a file path
|
|
162
|
+
const actionPath = filePath.startsWith("/") ? filePath.slice(1) : filePath;
|
|
163
|
+
const fullPath = join(projectRoot, actionPath);
|
|
164
|
+
|
|
165
|
+
if (verbose) {
|
|
166
|
+
logger?.info(
|
|
167
|
+
`[handleServerActionHelper] Resolved file path: id=${id}, actionPath=${actionPath}, projectRoot=${projectRoot}, filePath=${fullPath}, exportName=${exportName}`
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
return { filePath: actionPath, exportName, fullPath };
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Loads and validates a server action from a module
|
|
176
|
+
*/
|
|
177
|
+
export async function loadServerAction(
|
|
178
|
+
fullPath: string,
|
|
179
|
+
exportName: string,
|
|
180
|
+
ssrLoadModule: (path: string) => Promise<any>,
|
|
181
|
+
verbose = false,
|
|
182
|
+
logger?: Logger
|
|
183
|
+
): Promise<Function> {
|
|
184
|
+
if (verbose) {
|
|
185
|
+
logger?.info(`[handleServerActionHelper] Loading module: ${fullPath}`);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
const module = await ssrLoadModule(fullPath);
|
|
189
|
+
|
|
190
|
+
if (verbose) {
|
|
191
|
+
logger?.info(
|
|
192
|
+
`[handleServerActionHelper] Looking for action: ${exportName} in module with exports: ${Object.keys(module).join(", ")}`
|
|
193
|
+
);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
const action = module[exportName];
|
|
197
|
+
|
|
198
|
+
if (typeof action !== "function") {
|
|
199
|
+
if (verbose) {
|
|
200
|
+
logger?.info(
|
|
201
|
+
`[handleServerActionHelper] Export ${exportName} is not a function: ${typeof action}`
|
|
202
|
+
);
|
|
203
|
+
}
|
|
204
|
+
throw new Error(
|
|
205
|
+
`Server action ${exportName} is not a function. Found: ${typeof action}`
|
|
206
|
+
);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
return action;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Executes a server action with the given arguments
|
|
214
|
+
*/
|
|
215
|
+
export async function executeServerAction(
|
|
216
|
+
action: Function,
|
|
217
|
+
args: unknown[],
|
|
218
|
+
verbose = false,
|
|
219
|
+
logger?: Logger
|
|
220
|
+
): Promise<unknown> {
|
|
221
|
+
if (verbose) {
|
|
222
|
+
logger?.info(`[handleServerActionHelper] Executing action with args: ${JSON.stringify(args)}`);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
const result = await action(...args);
|
|
226
|
+
|
|
227
|
+
if (verbose) {
|
|
228
|
+
logger?.info(`[handleServerActionHelper] Action executed successfully: ${JSON.stringify(result)}`);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
return result;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Sends a server action response
|
|
236
|
+
*/
|
|
237
|
+
export function sendServerActionResponse(
|
|
238
|
+
res: ServerResponse,
|
|
239
|
+
result: unknown,
|
|
240
|
+
verbose = false,
|
|
241
|
+
logger?: Logger
|
|
242
|
+
): void {
|
|
243
|
+
if (verbose) {
|
|
244
|
+
logger?.info(`[handleServerActionHelper] Sending response: ${JSON.stringify(result)}`);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// Send in RSC wire format for createFromFetch compatibility
|
|
248
|
+
res.setHeader("Content-Type", "text/x-component");
|
|
249
|
+
res.end(`0:${JSON.stringify(result)}\n`);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Handles server action errors
|
|
254
|
+
*/
|
|
255
|
+
export function handleServerActionError(
|
|
256
|
+
error: unknown,
|
|
257
|
+
res: ServerResponse,
|
|
258
|
+
logger?: Logger
|
|
259
|
+
): void {
|
|
260
|
+
const err = toError(error);
|
|
261
|
+
logError(err, logger);
|
|
262
|
+
|
|
263
|
+
res.statusCode = 500;
|
|
264
|
+
res.setHeader("Content-Type", "application/json");
|
|
265
|
+
res.end(JSON.stringify({
|
|
266
|
+
success: false,
|
|
267
|
+
error: err.message,
|
|
268
|
+
stack: err.stack
|
|
269
|
+
}));
|
|
270
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// No imports needed for this function
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Page component that reuses elements from a headless stream
|
|
5
|
+
*/
|
|
6
|
+
export function createHeadlessReusePageComponent({
|
|
7
|
+
reuseHeadlessStreamId,
|
|
8
|
+
headlessStreamElements,
|
|
9
|
+
headlessStreamErrors,
|
|
10
|
+
route,
|
|
11
|
+
verbose,
|
|
12
|
+
logger,
|
|
13
|
+
}: {
|
|
14
|
+
reuseHeadlessStreamId: string;
|
|
15
|
+
headlessStreamElements: Map<string, any>;
|
|
16
|
+
headlessStreamErrors: Map<string, any>;
|
|
17
|
+
route: string;
|
|
18
|
+
verbose: boolean;
|
|
19
|
+
logger: any;
|
|
20
|
+
}): (() => any) | undefined {
|
|
21
|
+
if (verbose) {
|
|
22
|
+
logger?.info(`[headlessStreamReuseHandler] Looking for reusable elements for stream ${reuseHeadlessStreamId}`);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Check if the headless stream had errors
|
|
26
|
+
if (headlessStreamErrors.has(route)) {
|
|
27
|
+
if (verbose) {
|
|
28
|
+
logger?.info(`[headlessStreamReuseHandler] Headless stream had errors for route ${route}, not reusing`);
|
|
29
|
+
}
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Look for the reusable elements
|
|
34
|
+
const reusableElements = headlessStreamElements.get(reuseHeadlessStreamId);
|
|
35
|
+
if (!reusableElements) {
|
|
36
|
+
if (verbose) {
|
|
37
|
+
logger?.info(`[headlessStreamReuseHandler] No reusable elements found for stream ${reuseHeadlessStreamId}`);
|
|
38
|
+
}
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (verbose) {
|
|
43
|
+
logger?.info(`[headlessStreamReuseHandler] Found reusable elements for stream ${reuseHeadlessStreamId}`);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Return a function that returns the stored elements
|
|
47
|
+
return () => reusableElements.elements;
|
|
48
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manages headless stream state for error tracking and element reuse.
|
|
3
|
+
* Used by both client and server workflows for consistent behavior.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export interface HeadlessStreamData {
|
|
7
|
+
PageComponent: any;
|
|
8
|
+
errored: boolean;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface HeadlessStreamState {
|
|
12
|
+
elements: Map<string, HeadlessStreamData>;
|
|
13
|
+
errors: Map<string, Error>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Creates a new headless stream state manager.
|
|
18
|
+
*/
|
|
19
|
+
export function createHeadlessStreamState(): HeadlessStreamState {
|
|
20
|
+
return {
|
|
21
|
+
elements: new Map<string, HeadlessStreamData>(),
|
|
22
|
+
errors: new Map<string, Error>(),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Tracks a headless stream error for a route.
|
|
28
|
+
*
|
|
29
|
+
* @param state - The headless stream state
|
|
30
|
+
* @param route - The route that had an error
|
|
31
|
+
* @param error - The error that occurred
|
|
32
|
+
*/
|
|
33
|
+
export function trackHeadlessStreamError(
|
|
34
|
+
state: HeadlessStreamState,
|
|
35
|
+
route: string,
|
|
36
|
+
error: Error
|
|
37
|
+
): void {
|
|
38
|
+
state.errors.set(route, error);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Checks if a route has a headless stream error.
|
|
43
|
+
*
|
|
44
|
+
* @param state - The headless stream state
|
|
45
|
+
* @param route - The route to check
|
|
46
|
+
* @returns true if the route has a headless stream error
|
|
47
|
+
*/
|
|
48
|
+
export function hasHeadlessStreamError(
|
|
49
|
+
state: HeadlessStreamState,
|
|
50
|
+
route: string
|
|
51
|
+
): boolean {
|
|
52
|
+
return state.errors.has(route);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Gets the headless stream error for a route.
|
|
57
|
+
*
|
|
58
|
+
* @param state - The headless stream state
|
|
59
|
+
* @param route - The route to get the error for
|
|
60
|
+
* @returns The error if it exists, undefined otherwise
|
|
61
|
+
*/
|
|
62
|
+
export function getHeadlessStreamError(
|
|
63
|
+
state: HeadlessStreamState,
|
|
64
|
+
route: string
|
|
65
|
+
): Error | undefined {
|
|
66
|
+
return state.errors.get(route);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Stores headless stream elements for reuse.
|
|
71
|
+
*
|
|
72
|
+
* @param state - The headless stream state
|
|
73
|
+
* @param streamId - The stream ID
|
|
74
|
+
* @param data - The stream data to store
|
|
75
|
+
*/
|
|
76
|
+
export function storeHeadlessStreamElements(
|
|
77
|
+
state: HeadlessStreamState,
|
|
78
|
+
streamId: string,
|
|
79
|
+
data: HeadlessStreamData
|
|
80
|
+
): void {
|
|
81
|
+
state.elements.set(streamId, data);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Gets headless stream elements for reuse.
|
|
86
|
+
*
|
|
87
|
+
* @param state - The headless stream state
|
|
88
|
+
* @param streamId - The stream ID
|
|
89
|
+
* @returns The stream data if it exists, undefined otherwise
|
|
90
|
+
*/
|
|
91
|
+
export function getHeadlessStreamElements(
|
|
92
|
+
state: HeadlessStreamState,
|
|
93
|
+
streamId: string
|
|
94
|
+
): HeadlessStreamData | undefined {
|
|
95
|
+
return state.elements.get(streamId);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Cleans up headless stream elements after use.
|
|
100
|
+
*
|
|
101
|
+
* @param state - The headless stream state
|
|
102
|
+
* @param streamId - The stream ID to clean up
|
|
103
|
+
*/
|
|
104
|
+
export function cleanupHeadlessStreamElements(
|
|
105
|
+
state: HeadlessStreamState,
|
|
106
|
+
streamId: string
|
|
107
|
+
): void {
|
|
108
|
+
state.elements.delete(streamId);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Clears all headless stream errors for a route.
|
|
113
|
+
*
|
|
114
|
+
* @param state - The headless stream state
|
|
115
|
+
* @param route - The route to clear errors for
|
|
116
|
+
*/
|
|
117
|
+
export function clearHeadlessStreamErrors(
|
|
118
|
+
state: HeadlessStreamState,
|
|
119
|
+
route: string
|
|
120
|
+
): void {
|
|
121
|
+
state.errors.delete(route);
|
|
122
|
+
}
|
|
@@ -3,7 +3,7 @@ import type { ResolvedUserOptions, SerializedUserOptions } from "../types.js";
|
|
|
3
3
|
|
|
4
4
|
export function hydrateUserOptions(
|
|
5
5
|
options: SerializedUserOptions
|
|
6
|
-
): { type: "success"; userOptions: ResolvedUserOptions } | { type: "error"; error:
|
|
6
|
+
): { type: "success"; userOptions: ResolvedUserOptions } | { type: "error"; error: unknown } {
|
|
7
7
|
try {
|
|
8
8
|
// resolveOptions already handles regex deserialization through deserializeRegExp()
|
|
9
9
|
// Cast the serialized options back to the expected input format for resolveOptions
|
|
@@ -18,6 +18,6 @@ export function hydrateUserOptions(
|
|
|
18
18
|
|
|
19
19
|
return { type: "success", userOptions };
|
|
20
20
|
} catch (error) {
|
|
21
|
-
return { type: "error", error: error
|
|
21
|
+
return { type: "error", error: error };
|
|
22
22
|
}
|
|
23
23
|
}
|
package/plugin/helpers/index.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { getCondition } from "../config/getCondition.js";
|
|
2
|
+
|
|
1
3
|
// Route and file handling
|
|
2
4
|
export * from "./getRouteFiles.js";
|
|
3
5
|
export * from "./resolvePage.js";
|
|
4
6
|
export * from "./resolveProps.js";
|
|
5
7
|
export * from "./resolvePageAndProps.js";
|
|
8
|
+
|
|
6
9
|
export * from "./requestInfo.js";
|
|
7
10
|
export * from "./requestToRoute.js";
|
|
8
11
|
|
|
@@ -12,15 +15,12 @@ export * from "./cleanObject.js";
|
|
|
12
15
|
export * from "./inputNormalizer.js";
|
|
13
16
|
|
|
14
17
|
// CSS handling
|
|
15
|
-
export * from "./collectBundleManifestCss.js";
|
|
16
18
|
export * from "./collectManifestCss.js";
|
|
17
19
|
export * from "./collectViteModuleGraphCss.js";
|
|
18
20
|
export * from "./createCssProps.js";
|
|
19
21
|
|
|
20
22
|
// Stream and handler creation
|
|
21
|
-
|
|
22
|
-
export * from "./createHandler.js";
|
|
23
|
-
export * from "./createEventHandler.js";
|
|
23
|
+
// Stream-related functions are now exported from ../stream/index.js
|
|
24
24
|
|
|
25
25
|
// Hydrate user options
|
|
26
26
|
export * from "./hydrateUserOptions.js";
|
|
@@ -39,4 +39,31 @@ export * from "./moduleResolver.js";
|
|
|
39
39
|
|
|
40
40
|
// Utility functions
|
|
41
41
|
export * from "./stashReturnValue.js";
|
|
42
|
-
export * from "./
|
|
42
|
+
export * from "./workerManager.js";
|
|
43
|
+
|
|
44
|
+
// Unified render helpers
|
|
45
|
+
export * from "./validateRscRenderMessage.js";
|
|
46
|
+
export * from "./resolveRenderUrl.js";
|
|
47
|
+
export * from "./mergeMessageWithDefaults.js";
|
|
48
|
+
export * from "./resolveWithDefaultRootAndHtml.js";
|
|
49
|
+
export { resolveComponents as resolveComponentsClient } from "./resolveComponents.client.js";
|
|
50
|
+
|
|
51
|
+
export * from "./logRenderStart.js";
|
|
52
|
+
export * from "./createSerializableHandlerOptions.js";
|
|
53
|
+
|
|
54
|
+
export * from "./createPatternMatcher.js";
|
|
55
|
+
|
|
56
|
+
export * from "./createUnifiedCssProcessor.js";
|
|
57
|
+
|
|
58
|
+
// Server action handling
|
|
59
|
+
|
|
60
|
+
const condition = getCondition("");
|
|
61
|
+
const dirname = new URL("./", import.meta.url).pathname.replace(/\/$/, "");
|
|
62
|
+
|
|
63
|
+
const { handleServerAction } = (await import(
|
|
64
|
+
`${dirname}/handleServerAction.${condition}.js`
|
|
65
|
+
)) as {
|
|
66
|
+
handleServerAction: any
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export { handleServerAction };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Logger } from "vite";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Logs render start if verbose mode is enabled
|
|
5
|
+
*
|
|
6
|
+
* This helper provides consistent logging across different render contexts:
|
|
7
|
+
* - RSC worker renders
|
|
8
|
+
* - HTML worker renders
|
|
9
|
+
* - Client-side renders
|
|
10
|
+
* - Server-side renders
|
|
11
|
+
*
|
|
12
|
+
* @param route - The route being rendered
|
|
13
|
+
* @param verbose - Whether verbose logging is enabled
|
|
14
|
+
* @param logger - The logger instance to use
|
|
15
|
+
* @param context - Optional context identifier (e.g., "rsc-worker", "html-worker", "client", "server")
|
|
16
|
+
*/
|
|
17
|
+
export function logRenderStart(
|
|
18
|
+
route: string,
|
|
19
|
+
verbose: boolean,
|
|
20
|
+
logger: Logger,
|
|
21
|
+
context: string = "render"
|
|
22
|
+
): void {
|
|
23
|
+
if (verbose) {
|
|
24
|
+
logger.info(`[${context}:${route}] Starting render for route: ${route}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { DEFAULT_CONFIG } from "../config/index.js";
|
|
2
|
+
import type { ResolvedUserOptions } from "../types.js";
|
|
3
|
+
import type { RscRenderMessage } from "../worker/rsc/types.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Merges message values with defaults, prioritizing message values
|
|
7
|
+
*
|
|
8
|
+
* @param message - The RSC render message containing values to merge
|
|
9
|
+
* @param defaultUserOptions - Default user options to fall back to
|
|
10
|
+
* @returns Merged values with message values taking precedence
|
|
11
|
+
*/
|
|
12
|
+
export function mergeMessageWithDefaults(
|
|
13
|
+
message: RscRenderMessage,
|
|
14
|
+
defaultUserOptions: Partial<ResolvedUserOptions> = {}
|
|
15
|
+
) {
|
|
16
|
+
// Extract options from the nested structure
|
|
17
|
+
const options = message.options || {};
|
|
18
|
+
|
|
19
|
+
const {
|
|
20
|
+
type = "INIT",
|
|
21
|
+
id,
|
|
22
|
+
route = options.route,
|
|
23
|
+
pagePath = options.pagePath,
|
|
24
|
+
propsPath = options.propsPath,
|
|
25
|
+
rootPath = options.rootPath,
|
|
26
|
+
htmlPath = options.htmlPath,
|
|
27
|
+
rootExportName = options.rootExportName ?? defaultUserOptions.rootExportName ??
|
|
28
|
+
DEFAULT_CONFIG.ROOT_EXPORT_NAME,
|
|
29
|
+
htmlExportName = options.htmlExportName ?? defaultUserOptions.htmlExportName ??
|
|
30
|
+
DEFAULT_CONFIG.HTML_EXPORT_NAME,
|
|
31
|
+
pageExportName = options.pageExportName ?? defaultUserOptions.pageExportName ??
|
|
32
|
+
DEFAULT_CONFIG.PAGE_EXPORT_NAME,
|
|
33
|
+
propsExportName = options.propsExportName ?? defaultUserOptions.propsExportName ??
|
|
34
|
+
DEFAULT_CONFIG.PROPS_EXPORT_NAME,
|
|
35
|
+
projectRoot = options.projectRoot ?? defaultUserOptions.projectRoot,
|
|
36
|
+
moduleRootPath = options.moduleRootPath ?? defaultUserOptions.moduleRootPath ?? "",
|
|
37
|
+
moduleBaseURL = options.moduleBaseURL ?? defaultUserOptions.moduleBaseURL ??
|
|
38
|
+
DEFAULT_CONFIG.MODULE_BASE_URL,
|
|
39
|
+
moduleBasePath = options.moduleBasePath ?? defaultUserOptions.moduleBasePath ??
|
|
40
|
+
DEFAULT_CONFIG.MODULE_BASE_PATH,
|
|
41
|
+
moduleBase = options.moduleBase ?? defaultUserOptions.moduleBase ?? "",
|
|
42
|
+
serverPipeableStreamOptions = options.serverPipeableStreamOptions ?? defaultUserOptions.serverPipeableStreamOptions,
|
|
43
|
+
verbose = options.verbose ?? defaultUserOptions.verbose ?? DEFAULT_CONFIG.VERBOSE,
|
|
44
|
+
build = options.build ?? defaultUserOptions.build ?? DEFAULT_CONFIG.BUILD,
|
|
45
|
+
rscTimeout = options.rscTimeout ?? defaultUserOptions.rscTimeout ?? DEFAULT_CONFIG.RSC_TIMEOUT,
|
|
46
|
+
panicThreshold = options.panicThreshold ?? defaultUserOptions.panicThreshold ??
|
|
47
|
+
DEFAULT_CONFIG.PANIC_THRESHOLD,
|
|
48
|
+
publicOrigin = options.publicOrigin ?? defaultUserOptions.publicOrigin ??
|
|
49
|
+
DEFAULT_CONFIG.PUBLIC_ORIGIN,
|
|
50
|
+
HtmlComponent: _htmlComponent = options.HtmlComponent, // Ignore message component, use parameter
|
|
51
|
+
RootComponent: _rootComponent = options.RootComponent, // Ignore message component, use parameter
|
|
52
|
+
...rest
|
|
53
|
+
} = { ...message, ...options };
|
|
54
|
+
|
|
55
|
+
return {
|
|
56
|
+
type,
|
|
57
|
+
id,
|
|
58
|
+
route,
|
|
59
|
+
pagePath,
|
|
60
|
+
propsPath,
|
|
61
|
+
rootPath,
|
|
62
|
+
htmlPath,
|
|
63
|
+
rootExportName,
|
|
64
|
+
htmlExportName,
|
|
65
|
+
pageExportName,
|
|
66
|
+
propsExportName,
|
|
67
|
+
projectRoot,
|
|
68
|
+
moduleRootPath,
|
|
69
|
+
moduleBaseURL,
|
|
70
|
+
moduleBasePath,
|
|
71
|
+
moduleBase,
|
|
72
|
+
serverPipeableStreamOptions,
|
|
73
|
+
verbose,
|
|
74
|
+
build,
|
|
75
|
+
rscTimeout,
|
|
76
|
+
panicThreshold,
|
|
77
|
+
publicOrigin,
|
|
78
|
+
...rest,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Readable } from "node:stream";
|
|
2
|
+
import type { ServerResponse } from "node:http";
|
|
3
|
+
import type { ReadableStream } from "node:stream/web";
|
|
4
|
+
import { handleError } from "../error/handleError.js";
|
|
5
|
+
import { getNodeEnv } from "../config/getNodeEnv.js";
|
|
6
|
+
import type { Logger } from "vite";
|
|
7
|
+
import type { PanicThreshold } from "../types.js";
|
|
8
|
+
|
|
9
|
+
export interface PipeToResponseOptions {
|
|
10
|
+
stream: ReadableStream<Uint8Array> | any; // Allow any for now to handle type mismatches
|
|
11
|
+
response: ServerResponse;
|
|
12
|
+
contentType: string;
|
|
13
|
+
logger: Logger;
|
|
14
|
+
verbose?: boolean;
|
|
15
|
+
panicThreshold?: PanicThreshold;
|
|
16
|
+
context?: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Pipes a ReadableStream to an HTTP response with proper error handling and headers.
|
|
21
|
+
* This is a common pattern used across the plugin for streaming responses.
|
|
22
|
+
*/
|
|
23
|
+
export function pipeToResponse(options: PipeToResponseOptions): void {
|
|
24
|
+
const { stream, response, contentType, logger, verbose = false, panicThreshold = "none", context = "pipeToResponse" } = options;
|
|
25
|
+
|
|
26
|
+
if (!response.writable) {
|
|
27
|
+
if (verbose) {
|
|
28
|
+
logger.warn(`[${context}] Response not writable, skipping pipe`);
|
|
29
|
+
}
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const readable = Readable.fromWeb(stream as ReadableStream);
|
|
34
|
+
let headersSent = false;
|
|
35
|
+
|
|
36
|
+
readable.on('data', (chunk) => {
|
|
37
|
+
if (!headersSent) {
|
|
38
|
+
// Only send headers when first chunk arrives
|
|
39
|
+
response.setHeader("Content-Type", contentType);
|
|
40
|
+
response.setHeader("Transfer-Encoding", "chunked");
|
|
41
|
+
response.setHeader("Connection", "keep-alive");
|
|
42
|
+
headersSent = true;
|
|
43
|
+
}
|
|
44
|
+
response.write(chunk);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
readable.on('end', () => {
|
|
48
|
+
response.end();
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
readable.on('error', (error) => {
|
|
52
|
+
const panicError = handleError({
|
|
53
|
+
error,
|
|
54
|
+
logger,
|
|
55
|
+
mode: getNodeEnv(),
|
|
56
|
+
panicThreshold,
|
|
57
|
+
context,
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
if (panicError != null) {
|
|
61
|
+
throw panicError;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (verbose) {
|
|
65
|
+
logger.info(`[${context}] Stream error caught, headersSent: ${headersSent}, setting status to 500`);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (!headersSent) {
|
|
69
|
+
response.statusCode = 500;
|
|
70
|
+
response.setHeader("Content-Type", "text/x-component; charset=utf-8");
|
|
71
|
+
response.end();
|
|
72
|
+
} else {
|
|
73
|
+
// If error after headers, just end the response
|
|
74
|
+
response.end();
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|