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,160 @@
|
|
|
1
|
+
import type { VitePluginFn } from "../../types.js";
|
|
2
|
+
import { configureReactServer } from "./configureReactServer.client.js";
|
|
3
|
+
import { resolveOptions } from "../config/resolveOptions.js";
|
|
4
|
+
import type { ConfigEnv } from "vite";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Dev server plugin for client environment.
|
|
9
|
+
* Uses configureServer hook for proper dev server setup.
|
|
10
|
+
*/
|
|
11
|
+
export const vitePluginReactDevServer: VitePluginFn = function _vitePluginReactServerDevClient(options) {
|
|
12
|
+
if (options == null) {
|
|
13
|
+
throw new Error("options is required");
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (options.verbose) {
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const resolvedOptions = resolveOptions(options);
|
|
20
|
+
if (resolvedOptions.type === "error") {
|
|
21
|
+
if (resolvedOptions.error != null) {
|
|
22
|
+
throw resolvedOptions.error;
|
|
23
|
+
}
|
|
24
|
+
throw new Error("Failed to resolve options");
|
|
25
|
+
}
|
|
26
|
+
const userOptions = resolvedOptions.userOptions;
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
let configEnv: ConfigEnv | undefined;
|
|
30
|
+
let hmrHandler: { restart: (() => Promise<void>) | null; sendHmrUpdate: (file: string, routes?: string[]) => void } | null = null;
|
|
31
|
+
let isProcessingHmr = false; // Prevent recursive HMR updates
|
|
32
|
+
let restartTimeout: NodeJS.Timeout | null = null; // Debounce worker restarts
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
name: "vite-plugin-react-server:dev-server-client",
|
|
36
|
+
apply: "serve", // Only apply in dev server mode
|
|
37
|
+
// Note: Removed applyToEnvironment - handleHotUpdate needs to run regardless
|
|
38
|
+
// The plugin should apply to client environment, but handleHotUpdate is a dev server hook
|
|
39
|
+
// that should work regardless of environment filtering
|
|
40
|
+
config(_config, viteConfigEnv) {
|
|
41
|
+
configEnv = viteConfigEnv;
|
|
42
|
+
|
|
43
|
+
},
|
|
44
|
+
configureServer(server) {
|
|
45
|
+
// Log that plugin is being configured
|
|
46
|
+
server.config.logger.info(`[vite-plugin-react-server] Dev server plugin configured for client environment`);
|
|
47
|
+
|
|
48
|
+
// Configure the React server for client environment (worker-based)
|
|
49
|
+
// This uses the existing configureReactServer.client.js implementation
|
|
50
|
+
hmrHandler = configureReactServer({
|
|
51
|
+
server,
|
|
52
|
+
autoDiscoveredFiles: {
|
|
53
|
+
propsMap: new Map(),
|
|
54
|
+
pageMap: new Map(),
|
|
55
|
+
rootMap: new Map(),
|
|
56
|
+
htmlMap: new Map(),
|
|
57
|
+
routeMap: new Map(),
|
|
58
|
+
urlMap: new Map(),
|
|
59
|
+
errors: [],
|
|
60
|
+
workerPaths: {},
|
|
61
|
+
serverEntry: null,
|
|
62
|
+
clientEntry: {},
|
|
63
|
+
clientInputs: {},
|
|
64
|
+
staticInputs: {},
|
|
65
|
+
serverInputs: {},
|
|
66
|
+
// staticManifest removed from AutoDiscoveredFiles
|
|
67
|
+
serverActions: {},
|
|
68
|
+
},
|
|
69
|
+
userOptions,
|
|
70
|
+
configEnv: configEnv!,
|
|
71
|
+
serverManifest: {},
|
|
72
|
+
resolvedConfig: server.config,
|
|
73
|
+
});
|
|
74
|
+
},
|
|
75
|
+
handleHotUpdate({ file, server }) {
|
|
76
|
+
// Prevent recursive HMR updates
|
|
77
|
+
if (isProcessingHmr) {
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Handle server component file changes
|
|
82
|
+
const moduleBase = userOptions.moduleBase || "src";
|
|
83
|
+
const projectRoot = userOptions.projectRoot || server.config.root;
|
|
84
|
+
|
|
85
|
+
// Normalize paths for comparison (handle both absolute and relative)
|
|
86
|
+
const normalizedFile = file.replace(projectRoot, '').replace(/^\/+/, '');
|
|
87
|
+
const isServerFile = normalizedFile.startsWith(moduleBase + '/') &&
|
|
88
|
+
(file.endsWith('.tsx') || file.endsWith('.ts') || file.endsWith('.jsx') || file.endsWith('.js'));
|
|
89
|
+
|
|
90
|
+
// Always log for debugging
|
|
91
|
+
server.config.logger.info(`[vite-plugin-react-server] handleHotUpdate: file=${file}, normalized=${normalizedFile}, isServerFile=${isServerFile}, hasHandler=${!!hmrHandler}`);
|
|
92
|
+
|
|
93
|
+
if (isServerFile && hmrHandler) {
|
|
94
|
+
isProcessingHmr = true;
|
|
95
|
+
|
|
96
|
+
try {
|
|
97
|
+
server.config.logger.info(`[vite-plugin-react-server] File changed: ${file}, sending HMR update...`);
|
|
98
|
+
|
|
99
|
+
// CRITICAL: Send HMR_UPDATE message to worker to invalidate modules
|
|
100
|
+
// This clears component caches, but Node.js's ES module cache persists
|
|
101
|
+
hmrHandler.sendHmrUpdate(file);
|
|
102
|
+
|
|
103
|
+
// CRITICAL: Send custom HMR message to client via WebSocket
|
|
104
|
+
// Server components aren't in the client bundle, so vite:beforeUpdate doesn't fire
|
|
105
|
+
// We need to manually notify the client to refetch the RSC stream
|
|
106
|
+
server.ws.send({
|
|
107
|
+
type: 'custom',
|
|
108
|
+
event: 'vite-plugin-react-server:server-component-update',
|
|
109
|
+
data: {
|
|
110
|
+
file: normalizedFile,
|
|
111
|
+
path: file,
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
// CRITICAL: Node.js caches ES modules, so we need to restart the worker
|
|
116
|
+
// to clear the module cache. Debounce restarts to prevent recursion.
|
|
117
|
+
if (hmrHandler.restart) {
|
|
118
|
+
// Clear any pending restart
|
|
119
|
+
if (restartTimeout) {
|
|
120
|
+
clearTimeout(restartTimeout);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// Debounce worker restart to prevent recursion
|
|
124
|
+
// Wait 500ms after the last file change before restarting
|
|
125
|
+
restartTimeout = setTimeout(async () => {
|
|
126
|
+
try {
|
|
127
|
+
server.config.logger.info(`[vite-plugin-react-server] Restarting worker to clear Node.js module cache...`);
|
|
128
|
+
await hmrHandler!.restart!();
|
|
129
|
+
server.config.logger.info(`[vite-plugin-react-server] Worker restarted successfully`);
|
|
130
|
+
} catch (error) {
|
|
131
|
+
server.config.logger.error(`[vite-plugin-react-server] Failed to restart worker: ${error}`);
|
|
132
|
+
} finally {
|
|
133
|
+
restartTimeout = null;
|
|
134
|
+
// Reset flag after restart completes
|
|
135
|
+
setTimeout(() => {
|
|
136
|
+
isProcessingHmr = false;
|
|
137
|
+
}, 100);
|
|
138
|
+
}
|
|
139
|
+
}, 500); // 500ms debounce
|
|
140
|
+
} else {
|
|
141
|
+
// No restart function available yet - worker hasn't been created
|
|
142
|
+
// This is expected if handleHotUpdate fires before the first request
|
|
143
|
+
server.config.logger.warn(`[vite-plugin-react-server] Restart function not available yet - worker will be created on next request`);
|
|
144
|
+
setTimeout(() => {
|
|
145
|
+
isProcessingHmr = false;
|
|
146
|
+
}, 100);
|
|
147
|
+
}
|
|
148
|
+
} catch (error) {
|
|
149
|
+
server.config.logger.error(`[vite-plugin-react-server] Error handling HMR update: ${error}`);
|
|
150
|
+
isProcessingHmr = false;
|
|
151
|
+
}
|
|
152
|
+
} else if (isServerFile && !hmrHandler) {
|
|
153
|
+
server.config.logger.warn(`[vite-plugin-react-server] Server file changed but HMR handler not available yet: ${file}`);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// Return undefined to allow other plugins to handle the update
|
|
157
|
+
return undefined;
|
|
158
|
+
},
|
|
159
|
+
};
|
|
160
|
+
};
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import type { StreamPluginOptions } from "../../types.js";
|
|
2
|
+
import { configureReactServer } from "./configureReactServer.server.js";
|
|
3
|
+
import { resolveOptions } from "../config/resolveOptions.js";
|
|
4
|
+
import type { Plugin, ViteDevServer } from "vite";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Dev server plugin for server environment.
|
|
8
|
+
* Returns two plugins: one for HMR handling (all environments) and one for server config.
|
|
9
|
+
*/
|
|
10
|
+
export const vitePluginReactDevServer = function _vitePluginReactServerDevServer(options: StreamPluginOptions): Plugin[] {
|
|
11
|
+
if (options == null) {
|
|
12
|
+
throw new Error("options is required");
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const resolvedOptions = resolveOptions(options);
|
|
16
|
+
if (resolvedOptions.type === "error") {
|
|
17
|
+
if (resolvedOptions.error != null) {
|
|
18
|
+
throw resolvedOptions.error;
|
|
19
|
+
}
|
|
20
|
+
throw new Error("Failed to resolve options");
|
|
21
|
+
}
|
|
22
|
+
const userOptions = resolvedOptions.userOptions;
|
|
23
|
+
|
|
24
|
+
// Separate plugin for HMR handling (must apply to all environments)
|
|
25
|
+
const hmrPlugin = {
|
|
26
|
+
name: "vite-plugin-react-server:server-hmr",
|
|
27
|
+
apply: "serve" as const,
|
|
28
|
+
// Server-level handleHotUpdate — sends custom WS event to client
|
|
29
|
+
handleHotUpdate({ file, server }: { file: string; server: ViteDevServer }) {
|
|
30
|
+
const moduleBase = userOptions.moduleBase || "src";
|
|
31
|
+
const projectRoot = userOptions.projectRoot || server.config.root;
|
|
32
|
+
const normalizedFile = file.replace(projectRoot, '').replace(/^\/+/, '');
|
|
33
|
+
const isServerFile = normalizedFile.startsWith(moduleBase + '/') &&
|
|
34
|
+
(file.endsWith('.tsx') || file.endsWith('.ts') || file.endsWith('.jsx') || file.endsWith('.js'));
|
|
35
|
+
|
|
36
|
+
if (isServerFile) {
|
|
37
|
+
server.config.logger.info(`[vite-plugin-react-server] Server component changed: ${normalizedFile}`);
|
|
38
|
+
|
|
39
|
+
// Send custom HMR event so client can refetch RSC stream
|
|
40
|
+
server.ws.send({
|
|
41
|
+
type: 'custom',
|
|
42
|
+
event: 'vite-plugin-react-server:server-component-update',
|
|
43
|
+
data: {
|
|
44
|
+
file: normalizedFile,
|
|
45
|
+
path: file,
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// Invalidate the server module so next request gets fresh content
|
|
50
|
+
const mod = server.environments['server']?.moduleGraph?.getModulesByFile(file);
|
|
51
|
+
if (mod) {
|
|
52
|
+
for (const m of mod) {
|
|
53
|
+
server.environments['server']?.moduleGraph?.invalidateModule(m);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Return empty array to prevent Vite's default full-page reload
|
|
58
|
+
// The client will refetch the RSC stream via the custom event
|
|
59
|
+
return [];
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const serverPlugin = {
|
|
65
|
+
name: "vite-plugin-react-server:dev-server-server",
|
|
66
|
+
apply: "serve" as const,
|
|
67
|
+
applyToEnvironment(partialEnvironment: any) {
|
|
68
|
+
return partialEnvironment?.consumer === 'server';
|
|
69
|
+
},
|
|
70
|
+
configureServer(server: ViteDevServer) {
|
|
71
|
+
// Log that plugin is being configured
|
|
72
|
+
server.config.logger.info(`[vite-plugin-react-server] Dev server plugin configured for server environment (react-server condition)`);
|
|
73
|
+
|
|
74
|
+
// Configure the React server for server environment (direct RSC processing)
|
|
75
|
+
// This uses the existing configureReactServer.server.js implementation
|
|
76
|
+
configureReactServer({
|
|
77
|
+
server,
|
|
78
|
+
autoDiscoveredFiles: {
|
|
79
|
+
propsMap: new Map(),
|
|
80
|
+
pageMap: new Map(),
|
|
81
|
+
rootMap: new Map(),
|
|
82
|
+
htmlMap: new Map(),
|
|
83
|
+
routeMap: new Map(),
|
|
84
|
+
urlMap: new Map(),
|
|
85
|
+
errors: [],
|
|
86
|
+
workerPaths: {},
|
|
87
|
+
serverEntry: null,
|
|
88
|
+
clientEntry: {},
|
|
89
|
+
clientInputs: {},
|
|
90
|
+
staticInputs: {},
|
|
91
|
+
serverInputs: {},
|
|
92
|
+
// staticManifest removed from AutoDiscoveredFiles
|
|
93
|
+
serverActions: {},
|
|
94
|
+
},
|
|
95
|
+
userOptions,
|
|
96
|
+
serverManifest: {},
|
|
97
|
+
resolvedConfig: server.config,
|
|
98
|
+
});
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
// Fix CJS named imports in server environment.
|
|
103
|
+
// Vite's esbuild JSX transform (and @vitejs/plugin-react if present) generates
|
|
104
|
+
// named imports like `import { useEffect } from "react"`. In the server environment,
|
|
105
|
+
// react's react-server export is CJS-only, and Node's ESM interop doesn't support
|
|
106
|
+
// named exports from CJS. This post-transform rewrites them.
|
|
107
|
+
const cjsFixPlugin: Plugin = {
|
|
108
|
+
name: "vite-plugin-react-server:server-cjs-fix",
|
|
109
|
+
apply: "serve" as const,
|
|
110
|
+
enforce: "post" as const,
|
|
111
|
+
applyToEnvironment(env: any) {
|
|
112
|
+
return env?.name === 'server';
|
|
113
|
+
},
|
|
114
|
+
transform(code: string, id: string) {
|
|
115
|
+
if (id.includes('node_modules')) return;
|
|
116
|
+
if (!id.match(/\.[jt]sx?$/)) return;
|
|
117
|
+
|
|
118
|
+
const namedImportRe = /import\s*\{([^}]+)\}\s*from\s*["']react["']\s*;?/g;
|
|
119
|
+
if (!namedImportRe.test(code)) return;
|
|
120
|
+
|
|
121
|
+
namedImportRe.lastIndex = 0;
|
|
122
|
+
let counter = 0;
|
|
123
|
+
const result = code.replace(namedImportRe, (_match, imports) => {
|
|
124
|
+
const alias = `__react_cjs_${counter++}`;
|
|
125
|
+
return `import ${alias} from "react"; const {${imports}} = ${alias};`;
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
return { code: result, map: null };
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
return [hmrPlugin, cjsFixPlugin, serverPlugin];
|
|
133
|
+
};
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { createWorker } from "../worker/createWorker.js";
|
|
2
|
+
import { cleanupWorker } from "../helpers/workerCleanup.js";
|
|
3
|
+
import { serializedDevServerConfig } from "../helpers/serializeUserOptions.js";
|
|
4
|
+
import { MessageChannel, type Worker } from "node:worker_threads";
|
|
5
|
+
import { DEFAULT_CONFIG } from "../config/defaults.js";
|
|
6
|
+
import { React } from "../vendor/vendor.client.js";
|
|
7
|
+
import type { RestartWorkerFn } from "../react-client/types.js";
|
|
8
|
+
import { getNodeEnv } from "../config/getNodeEnv.js";
|
|
9
|
+
import { handleError } from "../error/handleError.js";
|
|
10
|
+
import { setMaxListenersOnPort, unrefPort } from "../stream/setMaxListeners.js";
|
|
11
|
+
|
|
12
|
+
let currentWorker: Worker | null = null;
|
|
13
|
+
let isRestarting = false;
|
|
14
|
+
let currentHmrChannel: MessageChannel | null = null;
|
|
15
|
+
let currentMessageHandler: ((event: Event) => void) | null = null;
|
|
16
|
+
let currentErrorHandler: ((error: any) => void) | null = null;
|
|
17
|
+
|
|
18
|
+
export const restartWorker: RestartWorkerFn = async function _restartWorker({
|
|
19
|
+
server,
|
|
20
|
+
autoDiscoveredFiles,
|
|
21
|
+
userOptions,
|
|
22
|
+
configEnv,
|
|
23
|
+
hmrChannel,
|
|
24
|
+
}) {
|
|
25
|
+
if (isRestarting) {
|
|
26
|
+
// Wait for the current restart to complete
|
|
27
|
+
while (isRestarting) {
|
|
28
|
+
await new Promise(resolve => setTimeout(resolve, 10));
|
|
29
|
+
}
|
|
30
|
+
return currentWorker;
|
|
31
|
+
}
|
|
32
|
+
isRestarting = true;
|
|
33
|
+
|
|
34
|
+
try {
|
|
35
|
+
// Terminate the current worker if it exists
|
|
36
|
+
cleanupWorker(currentWorker);
|
|
37
|
+
currentWorker = null;
|
|
38
|
+
|
|
39
|
+
// Clean up any existing HMR channel
|
|
40
|
+
if (currentHmrChannel) {
|
|
41
|
+
currentHmrChannel.port1.close();
|
|
42
|
+
currentHmrChannel.port2.close();
|
|
43
|
+
currentHmrChannel = null;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Clean up any existing event listeners on the main HMR channel
|
|
47
|
+
if (currentMessageHandler) {
|
|
48
|
+
hmrChannel.port1.removeEventListener("message", currentMessageHandler);
|
|
49
|
+
currentMessageHandler = null;
|
|
50
|
+
}
|
|
51
|
+
if (currentErrorHandler) {
|
|
52
|
+
hmrChannel.port1.removeEventListener("messageerror", currentErrorHandler);
|
|
53
|
+
currentErrorHandler = null;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const routeCount = autoDiscoveredFiles.urlMap.size;
|
|
57
|
+
const hmrBuffer = 20; // Buffer for HMR and other operations
|
|
58
|
+
const maxListeners = routeCount + hmrBuffer;
|
|
59
|
+
|
|
60
|
+
// Create a new MessageChannel for this worker
|
|
61
|
+
const workerHmrChannel = new MessageChannel();
|
|
62
|
+
currentHmrChannel = workerHmrChannel;
|
|
63
|
+
|
|
64
|
+
// Increase max listeners to prevent warnings during development
|
|
65
|
+
setMaxListenersOnPort(workerHmrChannel.port1, maxListeners);
|
|
66
|
+
setMaxListenersOnPort(workerHmrChannel.port2, maxListeners);
|
|
67
|
+
unrefPort(workerHmrChannel.port1);
|
|
68
|
+
unrefPort(workerHmrChannel.port2);
|
|
69
|
+
|
|
70
|
+
// Forward messages from the plugin's HMR channel to the worker's channel
|
|
71
|
+
const messageHandler = (event: Event) => {
|
|
72
|
+
try {
|
|
73
|
+
workerHmrChannel.port1.postMessage((event as MessageEvent).data);
|
|
74
|
+
} catch (error) {
|
|
75
|
+
// Ignore HMR errors for now to avoid DataCloneError
|
|
76
|
+
if (userOptions.verbose) {
|
|
77
|
+
server.config.logger.info(`[restartWorker] HMR message error: ${error}`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
// Handle HMR channel errors
|
|
83
|
+
const errorHandler = (error: any) => {
|
|
84
|
+
if (userOptions.verbose) {
|
|
85
|
+
server.config.logger.warn(`[restartWorker] HMR message error: ${error}`);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
// Store handlers for cleanup
|
|
90
|
+
currentMessageHandler = messageHandler;
|
|
91
|
+
currentErrorHandler = errorHandler;
|
|
92
|
+
|
|
93
|
+
// Increase max listeners to prevent warnings during development
|
|
94
|
+
// This is a targeted fix for the memory leak warnings
|
|
95
|
+
setMaxListenersOnPort(hmrChannel.port1, maxListeners);
|
|
96
|
+
|
|
97
|
+
hmrChannel.port1.addEventListener("message", messageHandler);
|
|
98
|
+
hmrChannel.port1.addEventListener("messageerror", errorHandler);
|
|
99
|
+
|
|
100
|
+
if (userOptions.verbose) {
|
|
101
|
+
server.config.logger.info(`[restartWorker] userOptions.projectRoot: ${userOptions.projectRoot}`);
|
|
102
|
+
server.config.logger.info(`[restartWorker] server.config.root: ${server.config.root}`);
|
|
103
|
+
server.config.logger.info(`[restartWorker] Using projectRoot: ${userOptions.projectRoot || server.config.root}`);
|
|
104
|
+
server.config.logger.info(`[restartWorker] configEnv.command: ${configEnv?.command}`);
|
|
105
|
+
server.config.logger.info(`[restartWorker] configEnv.mode: ${configEnv?.mode}`);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const workerResult = await createWorker({
|
|
109
|
+
projectRoot: userOptions.projectRoot || server.config.root,
|
|
110
|
+
workerPath: userOptions.rscWorkerPath,
|
|
111
|
+
reverseCondition: "react-server",
|
|
112
|
+
currentCondition: "react-client",
|
|
113
|
+
maxListeners: maxListeners,
|
|
114
|
+
envPrefix:
|
|
115
|
+
typeof server.config.envPrefix === "string"
|
|
116
|
+
? server.config.envPrefix
|
|
117
|
+
: Array.isArray(server.config.envPrefix)
|
|
118
|
+
? server.config.envPrefix[0]
|
|
119
|
+
: DEFAULT_CONFIG.ENV_PREFIX,
|
|
120
|
+
workerData: {
|
|
121
|
+
userOptions: userOptions,
|
|
122
|
+
resolvedConfig: serializedDevServerConfig(server.config),
|
|
123
|
+
configEnv: configEnv,
|
|
124
|
+
reactVersion: React.version,
|
|
125
|
+
id: "worker/rsc",
|
|
126
|
+
serverManifest: {}, // staticManifest removed from AutoDiscoveredFiles
|
|
127
|
+
},
|
|
128
|
+
transferList: [workerHmrChannel.port2], // Transfer the port properly
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
if (workerResult.type === "success") {
|
|
132
|
+
currentWorker = workerResult.worker;
|
|
133
|
+
if (userOptions.verbose)
|
|
134
|
+
server.config.logger.info(
|
|
135
|
+
`[react-client] Set max listeners to ${maxListeners} for ${routeCount} routes`
|
|
136
|
+
);
|
|
137
|
+
} else if (workerResult.type === "error") {
|
|
138
|
+
const panicError = handleError({
|
|
139
|
+
error: workerResult.error,
|
|
140
|
+
logger: server.config.customLogger || server.config.logger,
|
|
141
|
+
mode: getNodeEnv(server.config.mode),
|
|
142
|
+
panicThreshold: userOptions.panicThreshold,
|
|
143
|
+
critical: false,
|
|
144
|
+
context: "restartWorker",
|
|
145
|
+
});
|
|
146
|
+
if (panicError != null) {
|
|
147
|
+
throw panicError;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
} finally {
|
|
151
|
+
isRestarting = false;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
return currentWorker;
|
|
155
|
+
};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { createWorker } from "../worker/createWorker.js";
|
|
2
|
+
import { cleanupWorker } from "../helpers/workerCleanup.js";
|
|
3
|
+
import { serializedDevServerConfig } from "../helpers/serializeUserOptions.js";
|
|
4
|
+
import { MessageChannel, type Worker } from "node:worker_threads";
|
|
5
|
+
import { React } from "../vendor/vendor.server.js";
|
|
6
|
+
import type { RestartWorkerFn } from "../react-client/types.js";
|
|
7
|
+
import { getNodeEnv } from "../config/getNodeEnv.js";
|
|
8
|
+
import { handleError } from "../error/handleError.js";
|
|
9
|
+
import { envPrefixFromConfig } from "../config/envPrefixFromConfig.js";
|
|
10
|
+
import { setMaxListenersOnPort, unrefPort } from "../stream/setMaxListeners.js";
|
|
11
|
+
|
|
12
|
+
let currentWorker: Worker | null = null;
|
|
13
|
+
let isRestarting = false;
|
|
14
|
+
let currentHmrChannel: MessageChannel | null = null;
|
|
15
|
+
|
|
16
|
+
export const restartWorker: RestartWorkerFn = async function _restartWorker({
|
|
17
|
+
server,
|
|
18
|
+
autoDiscoveredFiles,
|
|
19
|
+
userOptions,
|
|
20
|
+
configEnv,
|
|
21
|
+
hmrChannel,
|
|
22
|
+
}) {
|
|
23
|
+
if (isRestarting) {
|
|
24
|
+
// Wait for the current restart to complete
|
|
25
|
+
while (isRestarting) {
|
|
26
|
+
await new Promise(resolve => setTimeout(resolve, 10));
|
|
27
|
+
}
|
|
28
|
+
return currentWorker;
|
|
29
|
+
}
|
|
30
|
+
isRestarting = true;
|
|
31
|
+
|
|
32
|
+
try {
|
|
33
|
+
// Terminate the current worker if it exists
|
|
34
|
+
cleanupWorker(currentWorker);
|
|
35
|
+
currentWorker = null;
|
|
36
|
+
|
|
37
|
+
// Clean up any existing HMR channel
|
|
38
|
+
if (currentHmrChannel) {
|
|
39
|
+
currentHmrChannel.port1.close();
|
|
40
|
+
currentHmrChannel.port2.close();
|
|
41
|
+
currentHmrChannel = null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const routeCount = autoDiscoveredFiles.urlMap.size;
|
|
45
|
+
const hmrBuffer = 20; // Buffer for HMR and other operations
|
|
46
|
+
const maxListeners = routeCount + hmrBuffer;
|
|
47
|
+
|
|
48
|
+
// Create a new MessageChannel for this worker
|
|
49
|
+
const workerHmrChannel = new MessageChannel();
|
|
50
|
+
currentHmrChannel = workerHmrChannel;
|
|
51
|
+
|
|
52
|
+
// Increase max listeners to prevent warnings during development
|
|
53
|
+
setMaxListenersOnPort(workerHmrChannel.port1, maxListeners);
|
|
54
|
+
setMaxListenersOnPort(workerHmrChannel.port2, maxListeners);
|
|
55
|
+
unrefPort(workerHmrChannel.port1);
|
|
56
|
+
unrefPort(workerHmrChannel.port2);
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
// Forward messages from the plugin's HMR channel to the worker's channel
|
|
60
|
+
const messageHandler = (event: Event) => {
|
|
61
|
+
workerHmrChannel.port1.postMessage((event as MessageEvent).data);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
hmrChannel.port1.addEventListener("message", messageHandler);
|
|
65
|
+
|
|
66
|
+
const workerResult = await createWorker({
|
|
67
|
+
projectRoot: server.config.root,
|
|
68
|
+
workerPath: userOptions.htmlWorkerPath,
|
|
69
|
+
reverseCondition: "react-client",
|
|
70
|
+
currentCondition: "react-server",
|
|
71
|
+
maxListeners: maxListeners,
|
|
72
|
+
envPrefix: envPrefixFromConfig(server.config),
|
|
73
|
+
workerData: {
|
|
74
|
+
userOptions: userOptions,
|
|
75
|
+
resolvedConfig: serializedDevServerConfig(server.config),
|
|
76
|
+
configEnv: configEnv,
|
|
77
|
+
reactVersion: React.version,
|
|
78
|
+
id: "worker/html",
|
|
79
|
+
serverManifest: {}, // staticManifest removed from AutoDiscoveredFiles
|
|
80
|
+
},
|
|
81
|
+
transferList: [workerHmrChannel.port2],
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
if (workerResult.type === "success") {
|
|
85
|
+
currentWorker = workerResult.worker;
|
|
86
|
+
if (userOptions.verbose)
|
|
87
|
+
server.config.logger.info(
|
|
88
|
+
`[react-client] Set max listeners to ${maxListeners} for ${routeCount} routes`
|
|
89
|
+
);
|
|
90
|
+
} else if (workerResult.type === "error") {
|
|
91
|
+
const panicError = handleError({
|
|
92
|
+
error: workerResult.error,
|
|
93
|
+
logger: server.config.customLogger || server.config.logger,
|
|
94
|
+
mode: getNodeEnv(server.config.mode),
|
|
95
|
+
panicThreshold: userOptions.panicThreshold,
|
|
96
|
+
critical: false,
|
|
97
|
+
context: "restartWorker",
|
|
98
|
+
});
|
|
99
|
+
if (panicError != null) {
|
|
100
|
+
throw panicError;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
} finally {
|
|
104
|
+
isRestarting = false;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return currentWorker;
|
|
108
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { getCondition } from "../config/getCondition.js";
|
|
2
|
+
|
|
3
|
+
const dir = new URL("./", import.meta.url).pathname.replace(/\/$/, "");
|
|
4
|
+
const condition = getCondition("");
|
|
5
|
+
|
|
6
|
+
export const { restartWorker } = (await import(`${dir}/restartWorker.${condition}.js`)) as {
|
|
7
|
+
restartWorker: any;
|
|
8
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { Manifest, ViteDevServer, Logger, ResolvedConfig, ConfigEnv } from "vite";
|
|
2
|
+
import type {
|
|
3
|
+
AutoDiscoveredFiles,
|
|
4
|
+
CreateHandlerOptions,
|
|
5
|
+
ResolvedUserOptions,
|
|
6
|
+
} from "../types.js";
|
|
7
|
+
import type { IncomingMessage, ServerResponse } from "http";
|
|
8
|
+
import type { MessageChannel, Worker } from "node:worker_threads";
|
|
9
|
+
import type { PassThrough } from "node:stream";
|
|
10
|
+
import type { RscChunkOutputMessage } from "../worker/rsc/types.js";
|
|
11
|
+
import type { MessageHandler } from "../types.js";
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
export type ConfigureRequestHandlerFn = (
|
|
15
|
+
req: IncomingMessage,
|
|
16
|
+
res: ServerResponse,
|
|
17
|
+
worker: Worker,
|
|
18
|
+
logger: ViteDevServer["config"]["logger"]
|
|
19
|
+
) => Promise<void>;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* React Worker Server - configures worker-based rendering infrastructure
|
|
23
|
+
* Similar to configureReactServer but for worker-based rendering
|
|
24
|
+
*/
|
|
25
|
+
export type CreateReactWorkerServerFn = (props: {
|
|
26
|
+
server: ViteDevServer;
|
|
27
|
+
autoDiscoveredFiles: AutoDiscoveredFiles;
|
|
28
|
+
userOptions: ResolvedUserOptions;
|
|
29
|
+
configEnv: ConfigEnv;
|
|
30
|
+
hmrChannel?: MessageChannel;
|
|
31
|
+
serverManifest: Manifest;
|
|
32
|
+
resolvedConfig: ResolvedConfig;
|
|
33
|
+
onWorkerCreated?: (worker: any, restart?: () => Promise<void>) => void;
|
|
34
|
+
}) => {
|
|
35
|
+
restart: (() => Promise<void>) | null;
|
|
36
|
+
sendHmrUpdate: (file: string, routes?: string[]) => void;
|
|
37
|
+
} | null;
|
|
38
|
+
|
|
39
|
+
export type HandleServerActionFn = (
|
|
40
|
+
req: IncomingMessage,
|
|
41
|
+
res: ServerResponse,
|
|
42
|
+
server: ViteDevServer,
|
|
43
|
+
handlerOptions: Pick<
|
|
44
|
+
CreateHandlerOptions,
|
|
45
|
+
"verbose" | "moduleBasePath" | "projectRoot" | "loader"
|
|
46
|
+
>
|
|
47
|
+
) => Promise<void>;
|
|
48
|
+
|
|
49
|
+
export type ConfigureReactServerFn = (options: {
|
|
50
|
+
server: ViteDevServer;
|
|
51
|
+
autoDiscoveredFiles: AutoDiscoveredFiles;
|
|
52
|
+
userOptions: ResolvedUserOptions;
|
|
53
|
+
serverManifest: Manifest;
|
|
54
|
+
resolvedConfig: ResolvedConfig;
|
|
55
|
+
hmrChannel?: MessageChannel;
|
|
56
|
+
onWorkerCreated?: (worker: Worker, restart?: () => Promise<void>) => void;
|
|
57
|
+
}) => void;
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
export type CleanupWorkerServerActionFn = (
|
|
61
|
+
passThrough: PassThrough,
|
|
62
|
+
worker: Worker,
|
|
63
|
+
messageHandler: MessageHandler<RscChunkOutputMessage>,
|
|
64
|
+
res: ServerResponse,
|
|
65
|
+
error?: unknown,
|
|
66
|
+
logger?: Logger
|
|
67
|
+
) => void;
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
export type CleanupServerActionFn = (
|
|
72
|
+
passThrough: PassThrough,
|
|
73
|
+
worker: Worker,
|
|
74
|
+
messageHandler: MessageHandler<RscChunkOutputMessage>,
|
|
75
|
+
res: ServerResponse,
|
|
76
|
+
error?: unknown,
|
|
77
|
+
logger?: Logger
|
|
78
|
+
) => void;
|