vite-plugin-react-server 1.1.19 → 1.2.0-alpha.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 +102 -395
- package/dist/_virtual/dynamic-import-helper.js +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -2
- package/dist/index.js +1 -1
- package/dist/package.json +58 -25
- package/dist/plugin/components/{css-collector-elements.d.ts → css.d.ts} +2 -2
- package/dist/plugin/components/css.d.ts.map +1 -0
- package/dist/plugin/components/css.js +33 -0
- package/dist/plugin/components/html.d.ts +1 -1
- package/dist/plugin/components/html.d.ts.map +1 -1
- package/dist/plugin/components/html.js +5 -5
- package/dist/plugin/components/index.d.ts +3 -3
- package/dist/plugin/components/index.d.ts.map +1 -1
- package/dist/plugin/components/index.js +9 -3
- package/dist/plugin/components/root.d.ts +7 -0
- package/dist/plugin/components/root.d.ts.map +1 -0
- package/dist/plugin/components/root.js +18 -0
- package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js +1 -1
- package/dist/plugin/config/autoDiscover/customWorkerFiles.js +1 -1
- package/dist/plugin/config/autoDiscover/pageAndPropFiles.js +1 -1
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts +5 -4
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +26 -7
- package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts +25 -2
- package/dist/plugin/config/autoDiscover/resolveBuildPages.d.ts.map +1 -1
- package/dist/plugin/config/autoDiscover/resolveBuildPages.js +84 -5
- package/dist/plugin/config/createModuleID.d.ts +3 -6
- package/dist/plugin/config/createModuleID.d.ts.map +1 -1
- package/dist/plugin/config/createModuleID.js +42 -32
- package/dist/plugin/config/defaults.d.ts +199 -121
- package/dist/plugin/config/defaults.d.ts.map +1 -1
- package/dist/plugin/config/defaults.js +155 -89
- package/dist/plugin/config/extMap.d.ts +6 -2
- package/dist/plugin/config/extMap.d.ts.map +1 -1
- package/dist/plugin/config/extMap.js +38 -48
- package/dist/plugin/config/flightBindings.d.ts +4 -0
- package/dist/plugin/config/flightBindings.d.ts.map +1 -0
- package/dist/plugin/config/flightBindings.js +215 -0
- package/dist/plugin/config/getCondition.d.ts +2 -0
- package/dist/plugin/config/getCondition.d.ts.map +1 -1
- package/dist/plugin/config/getCondition.js +4 -2
- package/dist/plugin/config/getPaths.js +1 -1
- package/dist/plugin/config/index.d.ts +17 -4
- package/dist/plugin/config/index.d.ts.map +1 -1
- package/dist/plugin/config/index.js +29 -7
- package/dist/plugin/config/interpolatePattern.d.ts +13 -0
- package/dist/plugin/config/interpolatePattern.d.ts.map +1 -0
- package/dist/plugin/config/interpolatePattern.js +13 -0
- package/dist/plugin/config/mimeTypes.js +1 -1
- package/dist/plugin/config/parsePattern.d.ts +25 -0
- package/dist/plugin/config/parsePattern.d.ts.map +1 -0
- package/dist/plugin/config/parsePattern.js +30 -0
- package/dist/plugin/config/resolveAllowedDirectives.d.ts +26 -0
- package/dist/plugin/config/resolveAllowedDirectives.d.ts.map +1 -0
- package/dist/plugin/config/resolveAllowedDirectives.js +35 -0
- package/dist/plugin/config/resolveDirectiveMatcher.d.ts +25 -0
- package/dist/plugin/config/resolveDirectiveMatcher.d.ts.map +1 -0
- package/dist/plugin/config/resolveDirectiveMatcher.js +33 -0
- package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
- package/dist/plugin/config/resolveEnv.js +14 -4
- package/dist/plugin/config/resolveOptions.d.ts +13 -3
- package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
- package/dist/plugin/config/resolveOptions.js +228 -206
- package/dist/plugin/config/resolvePages.js +1 -1
- package/dist/plugin/config/resolvePatternWithValues.d.ts +39 -0
- package/dist/plugin/config/resolvePatternWithValues.d.ts.map +1 -0
- package/dist/plugin/config/resolvePatternWithValues.js +36 -0
- package/dist/plugin/config/resolveRegExp.d.ts +29 -0
- package/dist/plugin/config/resolveRegExp.d.ts.map +1 -0
- package/dist/plugin/config/resolveRegExp.js +39 -0
- package/dist/plugin/config/resolveUrlOption.d.ts +37 -6
- package/dist/plugin/config/resolveUrlOption.d.ts.map +1 -1
- package/dist/plugin/config/resolveUrlOption.js +42 -12
- package/dist/plugin/config/resolveUserConfig.d.ts +5 -4
- package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
- package/dist/plugin/config/resolveUserConfig.js +86 -40
- package/dist/plugin/env/plugin.d.ts +6 -0
- package/dist/plugin/env/plugin.d.ts.map +1 -1
- package/dist/plugin/env/plugin.js +111 -93
- package/dist/plugin/error/directiveError.d.ts +13 -0
- package/dist/plugin/error/directiveError.d.ts.map +1 -0
- package/dist/plugin/error/directiveError.js +21 -0
- package/dist/plugin/error/enhanceError.d.ts +14 -0
- package/dist/plugin/error/enhanceError.d.ts.map +1 -0
- package/dist/plugin/error/enhanceError.js +24 -0
- package/dist/plugin/error/index.d.ts +4 -0
- package/dist/plugin/error/index.d.ts.map +1 -0
- package/dist/plugin/error/index.js +9 -0
- package/dist/plugin/error/logError.d.ts +3 -0
- package/dist/plugin/error/logError.d.ts.map +1 -0
- package/dist/plugin/error/logError.js +47 -0
- package/dist/plugin/error/serializeError.d.ts +7 -0
- package/dist/plugin/error/serializeError.d.ts.map +1 -0
- package/dist/plugin/error/serializeError.js +37 -0
- package/dist/plugin/error/toError.d.ts +1 -8
- package/dist/plugin/error/toError.d.ts.map +1 -1
- package/dist/plugin/error/toError.js +62 -34
- package/dist/plugin/file-preserver/plugin.js +93 -105
- package/dist/plugin/getNodeEnv.d.ts +11 -0
- package/dist/plugin/getNodeEnv.d.ts.map +1 -0
- package/dist/plugin/getNodeEnv.js +17 -0
- package/dist/plugin/helpers/cleanObject.d.ts.map +1 -1
- package/dist/plugin/helpers/cleanObject.js +2 -1
- package/dist/plugin/helpers/collectManifestCss.js +1 -1
- package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +6 -4
- package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
- package/dist/plugin/helpers/collectViteModuleGraphCss.js +15 -9
- package/dist/plugin/helpers/createCssProps.d.ts +3 -4
- package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
- package/dist/plugin/helpers/createCssProps.js +16 -4
- package/dist/plugin/helpers/createEventHandler.d.ts +2 -2
- package/dist/plugin/helpers/createEventHandler.d.ts.map +1 -1
- package/dist/plugin/helpers/createEventHandler.js +1 -1
- package/dist/plugin/helpers/createHandler.d.ts +10 -8
- package/dist/plugin/helpers/createHandler.d.ts.map +1 -1
- package/dist/plugin/helpers/createHandler.js +11 -5
- package/dist/plugin/helpers/createRscStream.d.ts +18 -5
- package/dist/plugin/helpers/createRscStream.d.ts.map +1 -1
- package/dist/plugin/helpers/createRscStream.js +48 -14
- package/dist/plugin/helpers/formatMetrics.d.ts +1 -5
- package/dist/plugin/helpers/formatMetrics.d.ts.map +1 -1
- package/dist/plugin/helpers/formatMetrics.js +2 -39
- package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
- package/dist/plugin/helpers/getBundleManifest.js +9 -2
- package/dist/plugin/helpers/getRouteFiles.d.ts +30 -2
- package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
- package/dist/plugin/helpers/getRouteFiles.js +70 -7
- package/dist/plugin/helpers/handleServerAction.d.ts +8 -7
- package/dist/plugin/helpers/handleServerAction.d.ts.map +1 -1
- package/dist/plugin/helpers/handleServerAction.js +5 -2
- package/dist/plugin/helpers/hydrateUserOptions.d.ts +9 -0
- package/dist/plugin/helpers/hydrateUserOptions.d.ts.map +1 -0
- package/dist/plugin/helpers/hydrateUserOptions.js +22 -0
- package/dist/plugin/helpers/index.d.ts +2 -0
- package/dist/plugin/helpers/index.d.ts.map +1 -1
- package/dist/plugin/helpers/index.js +31 -31
- package/dist/plugin/helpers/inputNormalizer.d.ts +1 -1
- package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
- package/dist/plugin/helpers/inputNormalizer.js +33 -20
- package/dist/plugin/helpers/metrics.d.ts +4 -10
- package/dist/plugin/helpers/metrics.d.ts.map +1 -1
- package/dist/plugin/helpers/metrics.js +3 -59
- package/dist/plugin/helpers/moduleRefs.js +1 -1
- package/dist/plugin/helpers/moduleResolver.d.ts +24 -2
- package/dist/plugin/helpers/moduleResolver.d.ts.map +1 -1
- package/dist/plugin/helpers/moduleResolver.js +61 -22
- package/dist/plugin/helpers/requestInfo.d.ts +28 -1
- package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
- package/dist/plugin/helpers/requestInfo.js +43 -30
- package/dist/plugin/helpers/requestToRoute.d.ts +1 -1
- package/dist/plugin/helpers/requestToRoute.d.ts.map +1 -1
- package/dist/plugin/helpers/requestToRoute.js +17 -9
- package/dist/plugin/helpers/resolveComponent.d.ts +57 -0
- package/dist/plugin/helpers/resolveComponent.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveComponent.js +71 -0
- package/dist/plugin/helpers/resolveComponents.d.ts +27 -0
- package/dist/plugin/helpers/resolveComponents.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveComponents.js +137 -0
- package/dist/plugin/helpers/resolvePage.d.ts +15 -11
- package/dist/plugin/helpers/resolvePage.d.ts.map +1 -1
- package/dist/plugin/helpers/resolvePage.js +11 -7
- package/dist/plugin/helpers/resolvePageAndProps.d.ts +3 -10
- package/dist/plugin/helpers/resolvePageAndProps.d.ts.map +1 -1
- package/dist/plugin/helpers/resolvePageAndProps.js +28 -18
- package/dist/plugin/helpers/resolveProps.d.ts +13 -7
- package/dist/plugin/helpers/resolveProps.d.ts.map +1 -1
- package/dist/plugin/helpers/resolveProps.js +55 -25
- package/dist/plugin/helpers/resolveUserComponents.d.ts +33 -0
- package/dist/plugin/helpers/resolveUserComponents.d.ts.map +1 -0
- package/dist/plugin/helpers/resolveUserComponents.js +163 -0
- package/dist/plugin/helpers/serializeUserOptions.d.ts +7 -7
- package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
- package/dist/plugin/helpers/serializeUserOptions.js +127 -42
- package/dist/plugin/helpers/stashReturnValue.d.ts +2 -1
- package/dist/plugin/helpers/stashReturnValue.d.ts.map +1 -1
- package/dist/plugin/helpers/stashReturnValue.js +6 -3
- package/dist/plugin/helpers/tryManifest.d.ts +1 -2
- package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
- package/dist/plugin/helpers/tryManifest.js +1 -1
- package/dist/plugin/loader/createDefaultLoader.d.ts +19 -8
- package/dist/plugin/loader/createDefaultLoader.d.ts.map +1 -1
- package/dist/plugin/loader/createDefaultLoader.js +69 -107
- package/dist/plugin/loader/createTransformer.d.ts +6 -0
- package/dist/plugin/loader/createTransformer.d.ts.map +1 -0
- package/dist/plugin/loader/createTransformer.js +97 -0
- package/dist/plugin/loader/{css-loader.development.d.ts → css-loader.d.ts} +6 -8
- package/dist/plugin/loader/css-loader.d.ts.map +1 -0
- package/dist/plugin/loader/css-loader.js +134 -0
- package/dist/plugin/loader/directives/addLocalExportedNames.d.ts +4 -0
- package/dist/plugin/loader/directives/addLocalExportedNames.d.ts.map +1 -0
- package/dist/plugin/loader/directives/addLocalExportedNames.js +57 -0
- package/dist/plugin/loader/directives/analyzeDirectives.d.ts +9 -0
- package/dist/plugin/loader/directives/analyzeDirectives.d.ts.map +1 -0
- package/dist/plugin/loader/directives/analyzeDirectives.js +221 -0
- package/dist/plugin/loader/directives/analyzeModule.d.ts +11 -0
- package/dist/plugin/loader/directives/analyzeModule.d.ts.map +1 -0
- package/dist/plugin/loader/directives/analyzeModule.js +34 -0
- package/dist/plugin/loader/directives/collectExports.d.ts +13 -0
- package/dist/plugin/loader/directives/collectExports.d.ts.map +1 -0
- package/dist/plugin/loader/directives/collectExports.js +116 -0
- package/dist/plugin/loader/directives/collectExportsFromModule.d.ts +6 -0
- package/dist/plugin/loader/directives/collectExportsFromModule.d.ts.map +1 -0
- package/dist/plugin/loader/directives/collectExportsFromModule.js +24 -0
- package/dist/plugin/loader/directives/findDirectiveMatches.d.ts +3 -0
- package/dist/plugin/loader/directives/findDirectiveMatches.d.ts.map +1 -0
- package/dist/plugin/loader/directives/findDirectiveMatches.js +46 -0
- package/dist/plugin/loader/directives/getExportedName.d.ts +3 -0
- package/dist/plugin/loader/directives/getExportedName.d.ts.map +1 -0
- package/dist/plugin/loader/directives/getExportedName.js +59 -0
- package/dist/plugin/loader/directives/getExports.d.ts +7 -0
- package/dist/plugin/loader/directives/getExports.d.ts.map +1 -0
- package/dist/plugin/loader/directives/getExports.js +28 -0
- package/dist/plugin/loader/directives/getFunctionBody.d.ts +3 -0
- package/dist/plugin/loader/directives/getFunctionBody.d.ts.map +1 -0
- package/dist/plugin/loader/directives/getFunctionBody.js +31 -0
- package/dist/plugin/loader/directives/getFunctionName.d.ts +10 -0
- package/dist/plugin/loader/directives/getFunctionName.d.ts.map +1 -0
- package/dist/plugin/loader/directives/getFunctionName.js +42 -0
- package/dist/plugin/loader/directives/getQualifiedName.d.ts +3 -0
- package/dist/plugin/loader/directives/getQualifiedName.d.ts.map +1 -0
- package/dist/plugin/loader/directives/getQualifiedName.js +65 -0
- package/dist/plugin/loader/directives/index.d.ts +14 -0
- package/dist/plugin/loader/directives/index.d.ts.map +1 -0
- package/dist/plugin/loader/directives/index.js +18 -0
- package/dist/plugin/loader/directives/processFunctionNode.d.ts +4 -0
- package/dist/plugin/loader/directives/processFunctionNode.d.ts.map +1 -0
- package/dist/plugin/loader/directives/processFunctionNode.js +86 -0
- package/dist/plugin/loader/directives/typeGuards.d.ts +37 -0
- package/dist/plugin/loader/directives/typeGuards.d.ts.map +1 -0
- package/dist/plugin/loader/directives/typeGuards.js +100 -0
- package/dist/plugin/loader/directives/types.d.ts +154 -0
- package/dist/plugin/loader/directives/types.d.ts.map +1 -0
- package/dist/plugin/loader/directives/utils.d.ts +14 -0
- package/dist/plugin/loader/directives/utils.d.ts.map +1 -0
- package/dist/plugin/loader/directives/utils.js +21 -0
- package/dist/plugin/loader/env-loader.d.ts +11 -0
- package/dist/plugin/loader/env-loader.d.ts.map +1 -0
- package/dist/plugin/loader/env-loader.js +65 -0
- package/dist/plugin/loader/index.d.ts +8 -1
- package/dist/plugin/loader/index.d.ts.map +1 -1
- package/dist/plugin/loader/index.js +13 -4
- package/dist/plugin/loader/parse.d.ts +11 -2
- package/dist/plugin/loader/parse.d.ts.map +1 -1
- package/dist/plugin/loader/parse.js +29 -6
- package/dist/plugin/loader/react-loader.d.ts +22 -1
- package/dist/plugin/loader/react-loader.d.ts.map +1 -1
- package/dist/plugin/loader/react-loader.js +169 -6
- package/dist/plugin/loader/removeDirectives.d.ts +5 -0
- package/dist/plugin/loader/removeDirectives.d.ts.map +1 -0
- package/dist/plugin/loader/removeDirectives.js +17 -0
- package/dist/plugin/loader/removeRanges.d.ts +5 -0
- package/dist/plugin/loader/removeRanges.d.ts.map +1 -0
- package/dist/plugin/loader/removeRanges.js +20 -0
- package/dist/plugin/loader/sourceMap.d.ts +16 -24
- package/dist/plugin/loader/sourceMap.d.ts.map +1 -1
- package/dist/plugin/loader/sourceMap.js +125 -97
- package/dist/plugin/loader/transformClientModule.d.ts +10 -0
- package/dist/plugin/loader/transformClientModule.d.ts.map +1 -0
- package/dist/plugin/loader/transformClientModule.js +46 -0
- package/dist/plugin/loader/transformModule.d.ts +6 -0
- package/dist/plugin/loader/transformModule.d.ts.map +1 -0
- package/dist/plugin/loader/transformModule.js +33 -0
- package/dist/plugin/loader/transformModuleIfNeeded.d.ts +12 -1
- package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -1
- package/dist/plugin/loader/transformModuleIfNeeded.js +9 -20
- package/dist/plugin/loader/transformServerModule.d.ts +11 -0
- package/dist/plugin/loader/transformServerModule.d.ts.map +1 -0
- package/dist/plugin/loader/transformServerModule.js +84 -0
- package/dist/plugin/loader/transformWithAcornLoose.d.ts +12 -0
- package/dist/plugin/loader/transformWithAcornLoose.d.ts.map +1 -0
- package/dist/plugin/loader/transformWithAcornLoose.js +18 -0
- package/dist/plugin/loader/types.d.ts +59 -12
- package/dist/plugin/loader/types.d.ts.map +1 -1
- package/dist/plugin/metrics/collectStreamMetrics.d.ts +9 -0
- package/dist/plugin/metrics/collectStreamMetrics.d.ts.map +1 -0
- package/dist/plugin/metrics/collectStreamMetrics.js +35 -0
- package/dist/plugin/metrics/createRenderMetrics.d.ts +3 -0
- package/dist/plugin/metrics/createRenderMetrics.d.ts.map +1 -0
- package/dist/plugin/metrics/createRenderMetrics.js +24 -0
- package/dist/plugin/metrics/createStreamMetrics.d.ts +3 -0
- package/dist/plugin/metrics/createStreamMetrics.d.ts.map +1 -0
- package/dist/plugin/metrics/createStreamMetrics.js +19 -0
- package/dist/plugin/metrics/formatMetrics.d.ts +6 -3
- package/dist/plugin/metrics/formatMetrics.d.ts.map +1 -1
- package/dist/plugin/metrics/formatMetrics.js +5 -2
- package/dist/plugin/metrics/index.d.ts +3 -1
- package/dist/plugin/metrics/index.d.ts.map +1 -1
- package/dist/plugin/metrics/index.js +9 -1
- package/dist/plugin/metrics/types.d.ts +23 -0
- package/dist/plugin/metrics/types.d.ts.map +1 -0
- package/dist/plugin/metrics/types.js +1 -0
- package/dist/plugin/plugin.client.d.ts +23 -2
- package/dist/plugin/plugin.client.d.ts.map +1 -1
- package/dist/plugin/plugin.client.js +30 -17
- package/dist/plugin/plugin.server.d.ts +13 -2
- package/dist/plugin/plugin.server.d.ts.map +1 -1
- package/dist/plugin/plugin.server.js +7 -4
- package/dist/plugin/preserver/plugin.d.ts +2 -2
- package/dist/plugin/preserver/plugin.d.ts.map +1 -1
- package/dist/plugin/preserver/plugin.js +33 -29
- package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts +11 -0
- package/dist/plugin/react-client/cleanupWorkerServerAction.d.ts.map +1 -0
- package/dist/plugin/react-client/cleanupWorkerServerAction.js +18 -0
- package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts +9 -9
- package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +1 -1
- package/dist/plugin/react-client/configureWorkerRequestHandler.js +25 -14
- package/dist/plugin/react-client/createMessageHandlers.d.ts +1 -1
- package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
- package/dist/plugin/react-client/createMessageHandlers.js +15 -3
- package/dist/plugin/react-client/createWorkerStream.d.ts +12 -10
- package/dist/plugin/react-client/createWorkerStream.d.ts.map +1 -1
- package/dist/plugin/react-client/createWorkerStream.js +27 -29
- package/dist/plugin/react-client/handleWorkerRscStream.d.ts +13 -8
- package/dist/plugin/react-client/handleWorkerRscStream.d.ts.map +1 -1
- package/dist/plugin/react-client/handleWorkerRscStream.js +59 -24
- package/dist/plugin/react-client/handleWorkerServerAction.d.ts +2 -1
- package/dist/plugin/react-client/handleWorkerServerAction.d.ts.map +1 -1
- package/dist/plugin/react-client/handleWorkerServerAction.js +43 -28
- package/dist/plugin/react-client/index.d.ts +4 -1
- package/dist/plugin/react-client/index.d.ts.map +1 -1
- package/dist/plugin/react-client/index.js +10 -1
- package/dist/plugin/react-client/plugin.d.ts +5 -3
- package/dist/plugin/react-client/plugin.d.ts.map +1 -1
- package/dist/plugin/react-client/plugin.js +9 -11
- package/dist/plugin/react-client/restartWorker.d.ts +5 -4
- package/dist/plugin/react-client/restartWorker.d.ts.map +1 -1
- package/dist/plugin/react-client/restartWorker.js +12 -10
- package/dist/plugin/react-server/configureReactServer.d.ts +5 -4
- package/dist/plugin/react-server/configureReactServer.d.ts.map +1 -1
- package/dist/plugin/react-server/configureReactServer.js +98 -43
- package/dist/plugin/react-server/handleServerAction.d.ts +3 -2
- package/dist/plugin/react-server/handleServerAction.d.ts.map +1 -1
- package/dist/plugin/react-server/handleServerAction.js +14 -20
- package/dist/plugin/react-server/plugin.d.ts +3 -4
- package/dist/plugin/react-server/plugin.d.ts.map +1 -1
- package/dist/plugin/react-server/plugin.js +14 -17
- package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts +8 -6
- package/dist/plugin/react-static/collectHtmlWorkerContent.d.ts.map +1 -1
- package/dist/plugin/react-static/collectHtmlWorkerContent.js +4 -4
- package/dist/plugin/react-static/collectRscContent.d.ts +8 -6
- package/dist/plugin/react-static/collectRscContent.d.ts.map +1 -1
- package/dist/plugin/react-static/collectRscContent.js +4 -4
- package/dist/plugin/react-static/configurePreviewServer.d.ts +6 -4
- package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
- package/dist/plugin/react-static/configurePreviewServer.js +38 -31
- package/dist/plugin/react-static/createBuildLoader.d.ts +5 -5
- package/dist/plugin/react-static/createBuildLoader.d.ts.map +1 -1
- package/dist/plugin/react-static/createBuildLoader.js +122 -30
- package/dist/plugin/react-static/fileWriter.js +1 -1
- package/dist/plugin/react-static/plugin.d.ts +3 -4
- package/dist/plugin/react-static/plugin.d.ts.map +1 -1
- package/dist/plugin/react-static/plugin.js +62 -47
- package/dist/plugin/react-static/renderPage.d.ts +4 -2
- package/dist/plugin/react-static/renderPage.d.ts.map +1 -1
- package/dist/plugin/react-static/renderPage.js +33 -17
- package/dist/plugin/react-static/renderPages.d.ts +4 -2
- package/dist/plugin/react-static/renderPages.d.ts.map +1 -1
- package/dist/plugin/react-static/renderPages.js +7 -6
- package/dist/plugin/react-static/renderStreams.d.ts +5 -22
- package/dist/plugin/react-static/renderStreams.d.ts.map +1 -1
- package/dist/plugin/react-static/renderStreams.js +6 -6
- package/dist/plugin/react-static/rscToHtmlStream.d.ts.map +1 -1
- package/dist/plugin/react-static/rscToHtmlStream.js +1 -1
- package/dist/plugin/react-static/temporaryReferences.js +1 -1
- package/dist/plugin/react-static/types.d.ts +0 -1
- package/dist/plugin/react-static/types.d.ts.map +1 -1
- package/dist/plugin/root.js +1 -1
- package/dist/plugin/transformer/plugin.js +1 -1
- package/dist/plugin/transformer/plugin.server.d.ts +5 -3
- package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
- package/dist/plugin/transformer/plugin.server.js +43 -44
- package/dist/plugin/types/css-tracking.d.ts +2 -2
- package/dist/plugin/types/css-tracking.d.ts.map +1 -1
- package/dist/plugin/types.d.ts +452 -192
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/types.js +2 -1
- package/dist/plugin/utils/callServer.js +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 +1 -1
- package/dist/plugin/utils/createReactFetcher.d.ts +2 -3
- package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -1
- package/dist/plugin/utils/createReactFetcher.js +1 -1
- package/dist/plugin/utils/env.js +1 -1
- package/dist/plugin/utils/envUrls.node.js +1 -1
- 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 +12 -5
- package/dist/plugin/utils/routeToURL.d.ts +12 -0
- package/dist/plugin/utils/routeToURL.d.ts.map +1 -0
- package/dist/plugin/utils/routeToURL.js +26 -0
- package/dist/plugin/utils/urls.d.ts.map +1 -1
- package/dist/plugin/utils/urls.js +5 -3
- package/dist/plugin/vendor/index.js +7 -1
- package/dist/plugin/vendor/vendor.client.js +1 -1
- package/dist/plugin/vendor/vendor.js +1 -1
- package/dist/plugin/vendor/vendor.server.js +1 -1
- package/dist/plugin/worker/createWorker.d.ts +31 -17
- package/dist/plugin/worker/createWorker.d.ts.map +1 -1
- package/dist/plugin/worker/createWorker.js +18 -12
- package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts +2 -2
- package/dist/plugin/worker/html/createHtmlWorkerRenderState.d.ts.map +1 -1
- package/dist/plugin/worker/html/createHtmlWorkerRenderState.js +5 -2
- package/dist/plugin/worker/html/html-worker.development.js +3 -3
- package/dist/plugin/worker/html/html-worker.production.js +1 -1
- package/dist/plugin/worker/html/index.d.ts +1 -1
- package/dist/plugin/worker/html/index.d.ts.map +1 -1
- package/dist/plugin/worker/html/index.js +1 -1
- 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 +9 -11
- package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts +3 -0
- package/dist/plugin/worker/html/sendHtmlWorkerMessage.d.ts.map +1 -0
- package/dist/plugin/worker/html/sendHtmlWorkerMessage.js +2 -0
- package/dist/plugin/worker/html/types.d.ts +20 -2
- package/dist/plugin/worker/html/types.d.ts.map +1 -1
- package/dist/plugin/worker/index.d.ts +3 -0
- package/dist/plugin/worker/index.d.ts.map +1 -0
- package/dist/plugin/worker/index.js +7 -0
- package/dist/plugin/worker/registerLoaders.js +2 -2
- package/dist/plugin/worker/rsc/handleRender.d.ts +4 -3
- package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/handleRender.js +54 -32
- package/dist/plugin/worker/rsc/handlers.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/handlers.js +19 -15
- package/dist/plugin/worker/rsc/index.d.ts +1 -1
- package/dist/plugin/worker/rsc/index.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/index.js +1 -1
- 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 +16 -4
- package/dist/plugin/worker/rsc/rsc-worker.development.js +77 -11
- package/dist/plugin/worker/rsc/rsc-worker.production.js +1 -1
- package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts +3 -0
- package/dist/plugin/worker/rsc/sendRscWorkerMessage.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/sendRscWorkerMessage.js +11 -0
- package/dist/plugin/worker/rsc/state.js +1 -1
- package/dist/plugin/worker/rsc/types.d.ts +95 -0
- package/dist/plugin/worker/rsc/types.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/types.js +1 -0
- package/dist/plugin/worker/rsc/userOptions.d.ts +1 -1
- package/dist/plugin/worker/rsc/userOptions.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/userOptions.js +3 -4
- package/dist/plugin/worker/sendMessage.d.ts +3 -4
- package/dist/plugin/worker/sendMessage.d.ts.map +1 -1
- package/dist/plugin/worker/sendMessage.js +15 -5
- package/dist/plugin/worker/types.d.ts +109 -260
- package/dist/plugin/worker/types.d.ts.map +1 -1
- package/dist/server.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +58 -25
- package/plugin/components/{css-collector-elements.tsx → css.tsx} +3 -3
- package/plugin/components/html.tsx +4 -4
- package/plugin/components/index.ts +3 -3
- package/plugin/components/root.tsx +20 -0
- package/plugin/config/autoDiscover/resolveAutoDiscover.ts +173 -134
- package/plugin/config/autoDiscover/resolveBuildPages.ts +120 -7
- package/plugin/config/createModuleID.ts +60 -39
- package/plugin/config/defaults.tsx +184 -95
- package/plugin/config/extMap.ts +51 -56
- package/plugin/config/flightBindings.ts +221 -0
- package/plugin/config/getCondition.ts +6 -0
- package/plugin/config/index.ts +17 -4
- package/plugin/config/interpolatePattern.ts +19 -0
- package/plugin/config/parsePattern.ts +81 -0
- package/plugin/config/resolveAllowedDirectives.ts +59 -0
- package/plugin/config/resolveDirectiveMatcher.ts +57 -0
- package/plugin/config/resolveEnv.ts +5 -10
- package/plugin/config/resolveOptions.ts +415 -299
- package/plugin/config/resolvePatternWithValues.ts +70 -0
- package/plugin/config/resolveRegExp.ts +89 -0
- package/plugin/config/resolveUrlOption.ts +92 -20
- package/plugin/config/resolveUserConfig.ts +417 -351
- package/plugin/env/plugin.ts +71 -7
- package/plugin/error/directiveError.ts +29 -0
- package/plugin/error/enhanceError.ts +41 -0
- package/plugin/error/index.ts +3 -0
- package/plugin/error/logError.ts +45 -0
- package/plugin/error/serializeError.ts +34 -0
- package/plugin/error/toError.ts +75 -45
- package/plugin/file-preserver/plugin.ts +3 -3
- package/plugin/getNodeEnv.ts +24 -0
- package/plugin/helpers/cleanObject.ts +2 -1
- package/plugin/helpers/collectViteModuleGraphCss.ts +138 -118
- package/plugin/helpers/createCssProps.tsx +41 -20
- package/plugin/helpers/createEventHandler.ts +1 -1
- package/plugin/helpers/createHandler.ts +40 -12
- package/plugin/helpers/createRscStream.tsx +97 -35
- package/plugin/helpers/formatMetrics.ts +2 -37
- package/plugin/helpers/getBundleManifest.ts +10 -1
- package/plugin/helpers/getRouteFiles.ts +112 -8
- package/plugin/helpers/handleServerAction.ts +10 -6
- package/plugin/helpers/hydrateUserOptions.ts +23 -0
- package/plugin/helpers/index.ts +4 -0
- package/plugin/helpers/inputNormalizer.ts +44 -24
- package/plugin/helpers/metrics.ts +4 -64
- package/plugin/helpers/moduleResolver.ts +74 -19
- package/plugin/helpers/requestInfo.ts +72 -52
- package/plugin/helpers/requestToRoute.ts +38 -12
- package/plugin/helpers/resolveComponent.ts +173 -0
- package/plugin/helpers/resolveComponents.ts +185 -0
- package/plugin/helpers/resolvePage.ts +35 -29
- package/plugin/helpers/resolvePageAndProps.ts +82 -61
- package/plugin/helpers/resolveProps.ts +100 -37
- package/plugin/helpers/resolveUserComponents.ts +190 -0
- package/plugin/helpers/serializeUserOptions.ts +190 -69
- package/plugin/helpers/stashReturnValue.ts +7 -4
- package/plugin/helpers/tryManifest.ts +1 -1
- package/plugin/loader/createDefaultLoader.ts +119 -119
- package/plugin/loader/createTransformer.ts +118 -0
- package/plugin/loader/css-loader.ts +206 -0
- package/plugin/loader/directives/addLocalExportedNames.ts +78 -0
- package/plugin/loader/directives/analyzeDirectives.ts +298 -0
- package/plugin/loader/directives/analyzeModule.ts +39 -0
- package/plugin/loader/directives/collectExports.ts +181 -0
- package/plugin/loader/directives/collectExportsFromModule.ts +25 -0
- package/plugin/loader/directives/findDirectiveMatches.ts +58 -0
- package/plugin/loader/directives/getExportedName.ts +73 -0
- package/plugin/loader/directives/getExports.ts +27 -0
- package/plugin/loader/directives/getFunctionBody.ts +32 -0
- package/plugin/loader/directives/getFunctionName.ts +70 -0
- package/plugin/loader/directives/getQualifiedName.ts +76 -0
- package/plugin/loader/directives/index.ts +13 -0
- package/plugin/loader/directives/processFunctionNode.ts +97 -0
- package/plugin/loader/directives/typeGuards.ts +160 -0
- package/plugin/loader/directives/types.ts +174 -0
- package/plugin/loader/directives/utils.ts +35 -0
- package/plugin/loader/{env-loader.development.ts → env-loader.ts} +8 -22
- package/plugin/loader/index.ts +8 -6
- package/plugin/loader/parse.ts +42 -12
- package/plugin/loader/react-loader.ts +255 -4
- package/plugin/loader/removeDirectives.ts +14 -0
- package/plugin/loader/removeRanges.ts +21 -0
- package/plugin/loader/sourceMap.ts +174 -84
- package/plugin/loader/transformClientModule.ts +64 -0
- package/plugin/loader/transformModule.ts +54 -0
- package/plugin/loader/transformModuleIfNeeded.ts +40 -40
- package/plugin/loader/transformServerModule.ts +136 -0
- package/plugin/loader/transformWithAcornLoose.ts +27 -0
- package/plugin/loader/types.ts +65 -13
- package/plugin/metrics/collectStreamMetrics.ts +38 -0
- package/plugin/metrics/createRenderMetrics.ts +17 -0
- package/plugin/metrics/createStreamMetrics.ts +14 -0
- package/plugin/metrics/formatMetrics.ts +7 -3
- package/plugin/metrics/index.ts +3 -1
- package/plugin/metrics/types.ts +24 -0
- package/plugin/plugin.client.ts +39 -15
- package/plugin/plugin.server.ts +39 -18
- package/plugin/preserver/plugin.ts +42 -42
- package/plugin/react-client/cleanupWorkerServerAction.ts +33 -0
- package/plugin/react-client/configureWorkerRequestHandler.ts +212 -201
- package/plugin/react-client/createMessageHandlers.ts +17 -3
- package/plugin/react-client/createWorkerStream.ts +55 -51
- package/plugin/react-client/handleWorkerRscStream.ts +141 -61
- package/plugin/react-client/handleWorkerServerAction.ts +59 -37
- package/plugin/react-client/index.ts +4 -1
- package/plugin/react-client/plugin.ts +17 -18
- package/plugin/react-client/restartWorker.ts +75 -70
- package/plugin/react-server/configureReactServer.ts +200 -142
- package/plugin/react-server/handleServerAction.ts +156 -160
- package/plugin/react-server/plugin.ts +18 -25
- package/plugin/react-static/collectHtmlWorkerContent.ts +109 -102
- package/plugin/react-static/collectRscContent.ts +55 -51
- package/plugin/react-static/configurePreviewServer.ts +110 -100
- package/plugin/react-static/createBuildLoader.ts +157 -48
- package/plugin/react-static/plugin.ts +368 -357
- package/plugin/react-static/renderPage.ts +43 -24
- package/plugin/react-static/renderPages.ts +21 -14
- package/plugin/react-static/renderStreams.ts +13 -15
- package/plugin/react-static/rscToHtmlStream.ts +4 -6
- package/plugin/react-static/types.ts +0 -3
- package/plugin/transformer/README.md +82 -8
- package/plugin/transformer/plugin.server.ts +55 -82
- package/plugin/types/css-tracking.ts +1 -1
- package/plugin/types/global.d.ts +2 -2
- package/plugin/types/react-server-dom-esm.d.ts +12 -13
- package/plugin/types.ts +685 -309
- package/plugin/utils/createCallServer.ts +5 -5
- package/plugin/utils/createReactFetcher.ts +4 -6
- package/plugin/utils/index.ts +2 -1
- package/plugin/utils/routeToURL.ts +34 -0
- package/plugin/utils/urls.ts +9 -6
- package/plugin/worker/createWorker.ts +67 -34
- package/plugin/worker/html/README.md +10 -0
- package/plugin/worker/html/createHtmlWorkerRenderState.tsx +7 -4
- package/plugin/worker/html/html-worker.development.tsx +4 -3
- package/plugin/worker/html/index.ts +3 -1
- package/plugin/worker/html/messageHandler.tsx +10 -16
- package/plugin/worker/html/sendHtmlWorkerMessage.ts +8 -0
- package/plugin/worker/html/types.ts +67 -1
- package/plugin/worker/index.ts +2 -0
- package/plugin/worker/registerLoaders.ts +3 -3
- package/plugin/worker/rsc/README.md +203 -1
- package/plugin/worker/rsc/handleRender.ts +76 -39
- package/plugin/worker/rsc/handlers.ts +30 -22
- package/plugin/worker/rsc/index.ts +2 -0
- package/plugin/worker/rsc/messageHandler.tsx +17 -10
- package/plugin/worker/rsc/rsc-worker.development.ts +104 -17
- package/plugin/worker/rsc/sendRscWorkerMessage.ts +7 -0
- package/plugin/worker/rsc/state.ts +1 -1
- package/plugin/worker/rsc/types.ts +185 -0
- package/plugin/worker/rsc/userOptions.ts +2 -3
- package/plugin/worker/sendMessage.ts +23 -14
- package/plugin/worker/types.ts +131 -386
- package/scripts/check-react-version.mjs +3 -3
- package/scripts/fix-unused-imports.mjs +77 -0
- package/tsconfig.json +1 -1
- package/dist/_virtual/dynamic-import-helper.js.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/plugin/components/css-collector-elements.d.ts.map +0 -1
- package/dist/plugin/components/css-collector-elements.js +0 -33
- package/dist/plugin/components/css-collector-elements.js.map +0 -1
- package/dist/plugin/components/css-collector.d.ts +0 -7
- package/dist/plugin/components/css-collector.d.ts.map +0 -1
- package/dist/plugin/components/css-collector.js +0 -18
- package/dist/plugin/components/css-collector.js.map +0 -1
- package/dist/plugin/components/html.js.map +0 -1
- package/dist/plugin/components.js +0 -9
- package/dist/plugin/components.js.map +0 -1
- package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.js.map +0 -1
- package/dist/plugin/config/autoDiscover/customWorkerFiles.js.map +0 -1
- package/dist/plugin/config/autoDiscover/pageAndPropFiles.js.map +0 -1
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js.map +0 -1
- package/dist/plugin/config/autoDiscover/resolveBuildPages.js.map +0 -1
- package/dist/plugin/config/defaults.js.map +0 -1
- package/dist/plugin/config/extMap.js.map +0 -1
- package/dist/plugin/config/getCondition.js.map +0 -1
- package/dist/plugin/config/getPaths.js.map +0 -1
- package/dist/plugin/config/mimeTypes.js.map +0 -1
- package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts +0 -5
- package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts.map +0 -1
- package/dist/plugin/config/resolveAutoDiscoverMatcher.js +0 -25
- package/dist/plugin/config/resolveAutoDiscoverMatcher.js.map +0 -1
- package/dist/plugin/config/resolveEnv.js.map +0 -1
- package/dist/plugin/config/resolveOptions.js.map +0 -1
- package/dist/plugin/config/resolvePages.js.map +0 -1
- package/dist/plugin/config/resolveUrlOption.js.map +0 -1
- package/dist/plugin/config/resolveUserConfig.js.map +0 -1
- package/dist/plugin/config.js +0 -17
- package/dist/plugin/config.js.map +0 -1
- package/dist/plugin/env.js +0 -79
- package/dist/plugin/env.js.map +0 -1
- package/dist/plugin/error/toError.js.map +0 -1
- package/dist/plugin/file-preserver.js +0 -96
- package/dist/plugin/file-preserver.js.map +0 -1
- package/dist/plugin/helpers/cleanObject.js.map +0 -1
- package/dist/plugin/helpers/collectManifestCss.js.map +0 -1
- package/dist/plugin/helpers/collectViteModuleGraphCss.js.map +0 -1
- package/dist/plugin/helpers/createCssProps.js.map +0 -1
- package/dist/plugin/helpers/createEventHandler.js.map +0 -1
- package/dist/plugin/helpers/createHandler.js.map +0 -1
- package/dist/plugin/helpers/createRscStream.js.map +0 -1
- package/dist/plugin/helpers/formatMetrics.js.map +0 -1
- package/dist/plugin/helpers/getBundleManifest.js.map +0 -1
- package/dist/plugin/helpers/getRouteFiles.js.map +0 -1
- package/dist/plugin/helpers/handleServerAction.js.map +0 -1
- package/dist/plugin/helpers/inputNormalizer.js.map +0 -1
- package/dist/plugin/helpers/metrics.js.map +0 -1
- package/dist/plugin/helpers/moduleRefs.js.map +0 -1
- package/dist/plugin/helpers/requestInfo.js.map +0 -1
- package/dist/plugin/helpers/requestToRoute.js.map +0 -1
- package/dist/plugin/helpers/resolvePage.js.map +0 -1
- package/dist/plugin/helpers/resolvePageAndProps.js.map +0 -1
- package/dist/plugin/helpers/resolveProps.js.map +0 -1
- package/dist/plugin/helpers/serializeUserOptions.js.map +0 -1
- package/dist/plugin/helpers/sourceMap.d.ts +0 -8
- package/dist/plugin/helpers/sourceMap.d.ts.map +0 -1
- package/dist/plugin/helpers/sourceMap.js +0 -136
- package/dist/plugin/helpers/stashReturnValue.js.map +0 -1
- package/dist/plugin/helpers/tryManifest.js.map +0 -1
- package/dist/plugin/helpers.js +0 -27
- package/dist/plugin/helpers.js.map +0 -1
- package/dist/plugin/loader/css-loader.development.d.ts.map +0 -1
- package/dist/plugin/loader/css-loader.development.js +0 -76
- package/dist/plugin/loader/css-loader.development.js.map +0 -1
- package/dist/plugin/loader/css-loader.production.d.ts +0 -31
- package/dist/plugin/loader/css-loader.production.d.ts.map +0 -1
- package/dist/plugin/loader/css-loader.production.js +0 -45
- package/dist/plugin/loader/css-loader.production.js.map +0 -1
- package/dist/plugin/loader/env-loader.development.d.ts +0 -13
- package/dist/plugin/loader/env-loader.development.d.ts.map +0 -1
- package/dist/plugin/loader/env-loader.development.js +0 -68
- package/dist/plugin/loader/handleExports.d.ts +0 -40
- package/dist/plugin/loader/handleExports.d.ts.map +0 -1
- package/dist/plugin/loader/handleExports.js +0 -209
- package/dist/plugin/loader/handleExports.js.map +0 -1
- package/dist/plugin/loader/parse.js.map +0 -1
- package/dist/plugin/loader/react-loader.client.d.ts +0 -2
- package/dist/plugin/loader/react-loader.client.d.ts.map +0 -1
- package/dist/plugin/loader/react-loader.client.js +0 -2
- package/dist/plugin/loader/react-loader.js.map +0 -1
- package/dist/plugin/loader/react-loader.server.d.ts +0 -21
- package/dist/plugin/loader/react-loader.server.d.ts.map +0 -1
- package/dist/plugin/loader/react-loader.server.js +0 -131
- package/dist/plugin/loader/transformModuleIfNeeded.js.map +0 -1
- package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts +0 -48
- package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts.map +0 -1
- package/dist/plugin/loader/transformModuleWithPreservedFunctions.js +0 -431
- package/dist/plugin/loader/transformModuleWithPreservedFunctions.js.map +0 -1
- package/dist/plugin/metrics/formatMetrics.js.map +0 -1
- package/dist/plugin/metrics.js +0 -7
- package/dist/plugin/metrics.js.map +0 -1
- package/dist/plugin/plugin.client.js.map +0 -1
- package/dist/plugin/plugin.server.js.map +0 -1
- package/dist/plugin/preserver/plugin.js.map +0 -1
- package/dist/plugin/react-client/configureWorkerRequestHandler.js.map +0 -1
- package/dist/plugin/react-client/createMessageHandlers.js.map +0 -1
- package/dist/plugin/react-client/createWorkerStream.js.map +0 -1
- package/dist/plugin/react-client/handleWorkerRscStream.js.map +0 -1
- package/dist/plugin/react-client/handleWorkerServerAction.js.map +0 -1
- package/dist/plugin/react-client/plugin.js.map +0 -1
- package/dist/plugin/react-client/restartWorker.js.map +0 -1
- package/dist/plugin/react-server/configureReactServer.js.map +0 -1
- package/dist/plugin/react-server/handleServerAction.js.map +0 -1
- package/dist/plugin/react-server/plugin.js.map +0 -1
- package/dist/plugin/react-static/collectHtmlWorkerContent.js.map +0 -1
- package/dist/plugin/react-static/collectRscContent.js.map +0 -1
- package/dist/plugin/react-static/configurePreviewServer.js.map +0 -1
- package/dist/plugin/react-static/createBuildLoader.js.map +0 -1
- package/dist/plugin/react-static/fileWriter.js.map +0 -1
- package/dist/plugin/react-static/plugin.js.map +0 -1
- package/dist/plugin/react-static/renderPage.js.map +0 -1
- package/dist/plugin/react-static/renderPages.js.map +0 -1
- package/dist/plugin/react-static/renderStreams.js.map +0 -1
- package/dist/plugin/react-static/rscToHtmlStream.js.map +0 -1
- package/dist/plugin/react-static/temporaryReferences.js.map +0 -1
- package/dist/plugin/root.js.map +0 -1
- package/dist/plugin/source-map/createMappingsSerializer.d.ts +0 -2
- package/dist/plugin/source-map/createMappingsSerializer.d.ts.map +0 -1
- package/dist/plugin/source-map/createMappingsSerializer.js +0 -129
- package/dist/plugin/source-map/createMappingsSerializer.js.map +0 -1
- package/dist/plugin/source-map/readMappings.d.ts +0 -2
- package/dist/plugin/source-map/readMappings.d.ts.map +0 -1
- package/dist/plugin/source-map/readMappings.js +0 -200
- package/dist/plugin/transformer/plugin.client.d.ts +0 -2
- package/dist/plugin/transformer/plugin.client.d.ts.map +0 -1
- package/dist/plugin/transformer/plugin.js.map +0 -1
- package/dist/plugin/transformer/plugin.server.js.map +0 -1
- package/dist/plugin/utils/callServer.js.map +0 -1
- package/dist/plugin/utils/createCallServer.js.map +0 -1
- package/dist/plugin/utils/createReactFetcher.js.map +0 -1
- package/dist/plugin/utils/env.js.map +0 -1
- package/dist/plugin/utils/envUrls.node.js.map +0 -1
- package/dist/plugin/utils/urls.js.map +0 -1
- package/dist/plugin/utils.js +0 -11
- package/dist/plugin/utils.js.map +0 -1
- package/dist/plugin/vendor/vendor.client.js.map +0 -1
- package/dist/plugin/vendor/vendor.js.map +0 -1
- package/dist/plugin/vendor/vendor.server.js.map +0 -1
- package/dist/plugin/vendor.js +0 -7
- package/dist/plugin/vendor.js.map +0 -1
- package/dist/plugin/worker/createWorker.js.map +0 -1
- package/dist/plugin/worker/html/createHtmlWorkerRenderState.js.map +0 -1
- package/dist/plugin/worker/html/html-worker.development.js.map +0 -1
- package/dist/plugin/worker/html/html-worker.production.js.map +0 -1
- package/dist/plugin/worker/html/index.js.map +0 -1
- package/dist/plugin/worker/html/messageHandler.js.map +0 -1
- package/dist/plugin/worker/rsc/handleRender.js.map +0 -1
- package/dist/plugin/worker/rsc/handlers.js.map +0 -1
- package/dist/plugin/worker/rsc/index.js.map +0 -1
- package/dist/plugin/worker/rsc/messageHandler.js.map +0 -1
- package/dist/plugin/worker/rsc/rsc-worker.development.js.map +0 -1
- package/dist/plugin/worker/rsc/rsc-worker.production.js.map +0 -1
- package/dist/plugin/worker/rsc/state.js.map +0 -1
- package/dist/plugin/worker/rsc/userOptions.js.map +0 -1
- package/dist/plugin/worker/sendMessage.js.map +0 -1
- package/dist/server.js.map +0 -1
- package/plugin/components/css-collector.tsx +0 -20
- package/plugin/config/resolveAutoDiscoverMatcher.ts +0 -23
- package/plugin/helpers/sourceMap.ts +0 -182
- package/plugin/loader/css-loader.development.ts +0 -135
- package/plugin/loader/css-loader.production.ts +0 -84
- package/plugin/loader/handleExports.ts +0 -309
- package/plugin/loader/react-loader.client.ts +0 -1
- package/plugin/loader/react-loader.server.ts +0 -185
- package/plugin/loader/transformModuleWithPreservedFunctions.ts +0 -596
- package/plugin/source-map/createMappingsSerializer.ts +0 -181
- package/plugin/source-map/readMappings.ts +0 -194
- package/plugin/transformer/plugin.client.ts +0 -0
- /package/dist/plugin/{transformer/plugin.client.js → loader/directives/types.js} +0 -0
|
@@ -8,16 +8,18 @@
|
|
|
8
8
|
* 2. Returns the complete HTML content when the stream is done
|
|
9
9
|
* 3. Provides a clean interface for HTML handling
|
|
10
10
|
*/
|
|
11
|
-
import { PassThrough } from "node:stream";
|
|
12
|
-
import type { CreateHandlerOptions, StreamMetrics
|
|
11
|
+
import type { PassThrough } from "node:stream";
|
|
12
|
+
import type { CreateHandlerOptions, StreamMetrics } from "../types.js";
|
|
13
|
+
export type CollectHtmlWorkerContentReturn = Promise<{
|
|
14
|
+
stream: PassThrough;
|
|
15
|
+
metrics: StreamMetrics;
|
|
16
|
+
}>;
|
|
17
|
+
export type CollectHtmlWorkerContentFn = <Opt extends CreateHandlerOptions = CreateHandlerOptions>(rscStream: PassThrough, handlerOptions: Opt) => CollectHtmlWorkerContentReturn;
|
|
13
18
|
/**
|
|
14
19
|
* Collects RSC content from the rscFull stream
|
|
15
20
|
*
|
|
16
21
|
* @param rscFull The stream containing the RSC content
|
|
17
22
|
* @returns A promise that resolves with the complete RSC content
|
|
18
23
|
*/
|
|
19
|
-
export declare
|
|
20
|
-
stream: PassThrough;
|
|
21
|
-
metrics: StreamMetrics;
|
|
22
|
-
}>;
|
|
24
|
+
export declare const collectHtmlWorkerContent: CollectHtmlWorkerContentFn;
|
|
23
25
|
//# sourceMappingURL=collectHtmlWorkerContent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectHtmlWorkerContent.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/collectHtmlWorkerContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"collectHtmlWorkerContent.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/collectHtmlWorkerContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACd,MAAM,aAAa,CAAC;AAMrB,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAAC;IACnD,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CACvC,GAAG,SAAS,oBAAoB,GAAG,oBAAoB,EAEvD,SAAS,EAAE,WAAW,EACtB,cAAc,EAAE,GAAG,KAChB,8BAA8B,CAAC;AAEpC;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,0BA0GpC,CAAC"}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
* MIT License
|
|
5
5
|
*/
|
|
6
6
|
import { Transform } from 'node:stream';
|
|
7
|
-
import { createStreamMetrics } from '../
|
|
7
|
+
import { createStreamMetrics } from '../metrics/createStreamMetrics.js';
|
|
8
8
|
import { createRscToHtmlStream } from './rscToHtmlStream.js';
|
|
9
9
|
import { fileWriter } from './fileWriter.js';
|
|
10
10
|
|
|
11
|
-
async function
|
|
11
|
+
const collectHtmlWorkerContent = async function _collectHtmlWorkerContent(rscStream, handlerOptions) {
|
|
12
12
|
if (!handlerOptions.worker) {
|
|
13
13
|
throw new Error("Worker is not a valid worker");
|
|
14
14
|
}
|
|
@@ -88,7 +88,7 @@ async function collectHtmlWorkerContent(rscStream, handlerOptions) {
|
|
|
88
88
|
rscToHtmlStream.destroy();
|
|
89
89
|
throw error;
|
|
90
90
|
}
|
|
91
|
-
}
|
|
91
|
+
};
|
|
92
92
|
|
|
93
93
|
export { collectHtmlWorkerContent };
|
|
94
|
-
//# sourceMappingURL=
|
|
94
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdEh0bWxXb3JrZXJDb250ZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vcmVhY3Qtc3RhdGljL2NvbGxlY3RIdG1sV29ya2VyQ29udGVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHJzY0hhbmRsZXIudHNcbiAqXG4gKiBQVVJQT1NFOiBIYW5kbGVzIGNvbGxlY3RpbmcgSFRNTCBjb250ZW50IGZyb20gdGhlIGh0bWxDb21wYWN0IHN0cmVhbVxuICpcbiAqIFRoaXMgbW9kdWxlOlxuICogMS4gQ29sbGVjdHMgSFRNTCBjb250ZW50IGZyb20gdGhlIHJzY0Z1bGwgc3RyZWFtICh3aGljaCBpbmNsdWRlcyA8aHRtbD4gYW5kIDxib2R5PiB0YWdzKVxuICogMi4gUmV0dXJucyB0aGUgY29tcGxldGUgSFRNTCBjb250ZW50IHdoZW4gdGhlIHN0cmVhbSBpcyBkb25lXG4gKiAzLiBQcm92aWRlcyBhIGNsZWFuIGludGVyZmFjZSBmb3IgSFRNTCBoYW5kbGluZ1xuICovXG5cbmltcG9ydCB0eXBlIHsgUGFzc1Rocm91Z2ggfSBmcm9tIFwibm9kZTpzdHJlYW1cIjtcbmltcG9ydCB7IFRyYW5zZm9ybSB9IGZyb20gXCJub2RlOnN0cmVhbVwiO1xuaW1wb3J0IHR5cGUge1xuICBDcmVhdGVIYW5kbGVyT3B0aW9ucyxcbiAgU3RyZWFtTWV0cmljcywgIFxufSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNyZWF0ZVN0cmVhbU1ldHJpY3MgfSBmcm9tIFwiLi4vbWV0cmljcy9jcmVhdGVTdHJlYW1NZXRyaWNzLmpzXCI7XG5pbXBvcnQgeyBjcmVhdGVSc2NUb0h0bWxTdHJlYW0gfSBmcm9tIFwiLi9yc2NUb0h0bWxTdHJlYW0uanNcIjtcbmltcG9ydCB7IGZpbGVXcml0ZXIgfSBmcm9tIFwiLi9maWxlV3JpdGVyLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEh0bWxXb3JrZXJPdXRwdXRNZXNzYWdlIH0gZnJvbSBcIi4uL3dvcmtlci9odG1sL3R5cGVzLmpzXCI7XG5cbmV4cG9ydCB0eXBlIENvbGxlY3RIdG1sV29ya2VyQ29udGVudFJldHVybiA9IFByb21pc2U8e1xuICBzdHJlYW06IFBhc3NUaHJvdWdoO1xuICBtZXRyaWNzOiBTdHJlYW1NZXRyaWNzO1xufT47XG5cbmV4cG9ydCB0eXBlIENvbGxlY3RIdG1sV29ya2VyQ29udGVudEZuID0gPFxuICBPcHQgZXh0ZW5kcyBDcmVhdGVIYW5kbGVyT3B0aW9ucyA9IENyZWF0ZUhhbmRsZXJPcHRpb25zXG4+KFxuICByc2NTdHJlYW06IFBhc3NUaHJvdWdoLFxuICBoYW5kbGVyT3B0aW9uczogT3B0XG4pID0+IENvbGxlY3RIdG1sV29ya2VyQ29udGVudFJldHVybjtcblxuLyoqXG4gKiBDb2xsZWN0cyBSU0MgY29udGVudCBmcm9tIHRoZSByc2NGdWxsIHN0cmVhbVxuICpcbiAqIEBwYXJhbSByc2NGdWxsIFRoZSBzdHJlYW0gY29udGFpbmluZyB0aGUgUlNDIGNvbnRlbnRcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGNvbXBsZXRlIFJTQyBjb250ZW50XG4gKi9cbmV4cG9ydCBjb25zdCBjb2xsZWN0SHRtbFdvcmtlckNvbnRlbnQ6IENvbGxlY3RIdG1sV29ya2VyQ29udGVudEZuID1cbiAgYXN5bmMgZnVuY3Rpb24gX2NvbGxlY3RIdG1sV29ya2VyQ29udGVudChyc2NTdHJlYW0sIGhhbmRsZXJPcHRpb25zKSB7XG4gICAgaWYgKCFoYW5kbGVyT3B0aW9ucy53b3JrZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIldvcmtlciBpcyBub3QgYSB2YWxpZCB3b3JrZXJcIik7XG4gICAgfVxuICAgIGNvbnN0IG1ldHJpY3MgPSBjcmVhdGVTdHJlYW1NZXRyaWNzKCk7XG4gICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgICAvLyBDcmVhdGUgUlNDIHRvIEhUTUwgdHJhbnNmb3JtIHN0cmVhbVxuICAgIGNvbnN0IHJzY1RvSHRtbFN0cmVhbSA9IGNyZWF0ZVJzY1RvSHRtbFN0cmVhbSh7XG4gICAgICB3b3JrZXI6IGhhbmRsZXJPcHRpb25zLndvcmtlcixcbiAgICAgIHJvdXRlOiBoYW5kbGVyT3B0aW9ucy5yb3V0ZSxcbiAgICAgIG1vZHVsZVJvb3RQYXRoOiBoYW5kbGVyT3B0aW9ucy5tb2R1bGVSb290UGF0aCxcbiAgICAgIG1vZHVsZUJhc2VVUkw6IGhhbmRsZXJPcHRpb25zLm1vZHVsZUJhc2VVUkwsXG4gICAgICBwaXBlYWJsZVN0cmVhbU9wdGlvbnM6IGhhbmRsZXJPcHRpb25zLnBpcGVhYmxlU3RyZWFtT3B0aW9ucyxcbiAgICAgIGJ1aWxkOiBoYW5kbGVyT3B0aW9ucy5idWlsZCxcbiAgICAgIGNzc0ZpbGVzOiBoYW5kbGVyT3B0aW9ucy5jc3NGaWxlcyxcbiAgICAgIHByb2plY3RSb290OiBoYW5kbGVyT3B0aW9ucy5wcm9qZWN0Um9vdCxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSB0cmFuc2Zvcm0gc3RyZWFtIHRvIGhhbmRsZSBIVE1MIGNodW5rcyBhbmQgZmlsZSB3cml0aW5nXG4gICAgY29uc3QgaHRtbFRyYW5zZm9ybSA9IG5ldyBUcmFuc2Zvcm0oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBfZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gICAgICAgIG1ldHJpY3MuY2h1bmtzKys7XG4gICAgICAgIGNhbGxiYWNrKG51bGwsIGNodW5rKTtcbiAgICAgIH0sXG4gICAgICBmbHVzaChjYWxsYmFjaykge1xuICAgICAgICBtZXRyaWNzLmR1cmF0aW9uID0gcGVyZm9ybWFuY2Uubm93KCkgLSBzdGFydFRpbWU7XG4gICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgbGV0IGlzQ29tcGxldGUgPSBmYWxzZTtcblxuICAgIC8vIENyZWF0ZSBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSByb3V0ZSBpcyBjb21wbGV0ZVxuICAgIGNvbnN0IHJvdXRlQ29tcGxldGUgPSBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAoIWhhbmRsZXJPcHRpb25zLndvcmtlcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJXb3JrZXIgaXMgbm90IGEgdmFsaWQgd29ya2VyXCIpO1xuICAgICAgfVxuICAgICAgY29uc3QgbWVzc2FnZUhhbmRsZXIgPSAobXNnOiBIdG1sV29ya2VyT3V0cHV0TWVzc2FnZSkgPT4ge1xuICAgICAgICBpZiAoIWhhbmRsZXJPcHRpb25zLndvcmtlcikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIldvcmtlciBpcyBub3QgYSB2YWxpZCB3b3JrZXJcIik7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChtc2cudHlwZSkge1xuICAgICAgICAgIGNhc2UgXCJIVE1MX0NIVU5LXCI6XG4gICAgICAgICAgICBpZiAoIWlzQ29tcGxldGUpIHtcbiAgICAgICAgICAgICAgaHRtbFRyYW5zZm9ybS53cml0ZShtc2cuY2h1bmspO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkhUTUxfQ09NUExFVEVcIjpcbiAgICAgICAgICAgIGlzQ29tcGxldGUgPSB0cnVlO1xuICAgICAgICAgICAgLy8gRW5kIHRoZSB0cmFuc2Zvcm0gc3RyZWFtXG4gICAgICAgICAgICBodG1sVHJhbnNmb3JtLmVuZCgpO1xuICAgICAgICAgICAgLy8gU2VuZCBjbGVhbnVwIG1lc3NhZ2UgdG8gd29ya2VyXG4gICAgICAgICAgICBoYW5kbGVyT3B0aW9ucy53b3JrZXIucG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICB0eXBlOiBcIkNMRUFOVVBcIixcbiAgICAgICAgICAgICAgaWQ6IGhhbmRsZXJPcHRpb25zLnJvdXRlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiQ0xFQU5VUF9DT01QTEVURVwiOlxuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkVSUk9SXCI6XG4gICAgICAgICAgICBoYW5kbGVyT3B0aW9ucy53b3JrZXIucmVtb3ZlTGlzdGVuZXIoXCJtZXNzYWdlXCIsIG1lc3NhZ2VIYW5kbGVyKTtcbiAgICAgICAgICAgIHJlamVjdChtc2cuZXJyb3IpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBoYW5kbGVyT3B0aW9ucy53b3JrZXIub24oXCJtZXNzYWdlXCIsIG1lc3NhZ2VIYW5kbGVyKTtcbiAgICB9KTtcblxuICAgIHRyeSB7XG4gICAgICAvLyBTZXQgdXAgZXZlbnQgaGFuZGxlciB0byBjYXB0dXJlIGNvbnRlbnQgbGVuZ3RoXG4gICAgICBpZiAoaGFuZGxlck9wdGlvbnMub25FdmVudCkge1xuICAgICAgICBjb25zdCBvcmlnaW5hbE9uRXZlbnQgPSBoYW5kbGVyT3B0aW9ucy5vbkV2ZW50O1xuICAgICAgICBoYW5kbGVyT3B0aW9ucy5vbkV2ZW50ID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQudHlwZSA9PT0gXCJmaWxlLndyaXRlLmRvbmVcIiAmJlxuICAgICAgICAgICAgZXZlbnQuZGF0YS5maWxlVHlwZSA9PT0gXCJodG1sXCJcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG1ldHJpY3MuYnl0ZXMgPSBldmVudC5kYXRhLmNvbnRlbnQubGVuZ3RoO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvcmlnaW5hbE9uRXZlbnQoZXZlbnQpO1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyBQaXBlIFJTQyB0aHJvdWdoIHRyYW5zZm9ybSB0byBIVE1MXG4gICAgICByc2NTdHJlYW0ucGlwZShyc2NUb0h0bWxTdHJlYW0pO1xuXG4gICAgICAvLyBTZXQgdXAgZmlsZSB3cml0aW5nIHVzaW5nIGZpbGVXcml0ZXJcbiAgICAgIGNvbnN0IHdyaXRlUHJvbWlzZSA9IGZpbGVXcml0ZXIoaHRtbFRyYW5zZm9ybSwgXCJodG1sXCIsIGhhbmRsZXJPcHRpb25zKTtcblxuICAgICAgLy8gV2FpdCBmb3Igcm91dGUgdG8gY29tcGxldGVcbiAgICAgIGF3YWl0IHJvdXRlQ29tcGxldGU7XG5cbiAgICAgIC8vIFdhaXQgZm9yIGZpbGUgd3JpdGluZyB0byBjb21wbGV0ZVxuICAgICAgYXdhaXQgd3JpdGVQcm9taXNlO1xuXG4gICAgICByc2NUb0h0bWxTdHJlYW0uZGVzdHJveSgpO1xuXG4gICAgICByZXR1cm4geyBzdHJlYW06IHJzY1N0cmVhbSwgbWV0cmljcyB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBDbGVhbiB1cCBzdHJlYW1zIG9uIGVycm9yXG4gICAgICByc2NUb0h0bWxTdHJlYW0uZGVzdHJveSgpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUF3Q08sTUFBTSx3QkFDWCxHQUFBLGVBQWUseUJBQTBCLENBQUEsU0FBQSxFQUFXLGNBQWdCLEVBQUE7QUFDbEUsRUFBSSxJQUFBLENBQUMsZUFBZSxNQUFRLEVBQUE7QUFDMUIsSUFBTSxNQUFBLElBQUksTUFBTSw4QkFBOEIsQ0FBQTtBQUFBO0FBRWhELEVBQUEsTUFBTSxVQUFVLG1CQUFvQixFQUFBO0FBQ3BDLEVBQU0sTUFBQSxTQUFBLEdBQVksWUFBWSxHQUFJLEVBQUE7QUFHbEMsRUFBQSxNQUFNLGtCQUFrQixxQkFBc0IsQ0FBQTtBQUFBLElBQzVDLFFBQVEsY0FBZSxDQUFBLE1BQUE7QUFBQSxJQUN2QixPQUFPLGNBQWUsQ0FBQSxLQUFBO0FBQUEsSUFDdEIsZ0JBQWdCLGNBQWUsQ0FBQSxjQUFBO0FBQUEsSUFDL0IsZUFBZSxjQUFlLENBQUEsYUFBQTtBQUFBLElBQzlCLHVCQUF1QixjQUFlLENBQUEscUJBQUE7QUFBQSxJQUN0QyxPQUFPLGNBQWUsQ0FBQSxL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
|
|
@@ -8,8 +8,13 @@
|
|
|
8
8
|
* 2. Returns the complete RSC content when the stream is done
|
|
9
9
|
* 3. Provides a clean interface for RSC handling
|
|
10
10
|
*/
|
|
11
|
-
import { PassThrough } from "node:stream";
|
|
12
|
-
import type { CreateHandlerOptions, StreamMetrics
|
|
11
|
+
import type { PassThrough } from "node:stream";
|
|
12
|
+
import type { CreateHandlerOptions, StreamMetrics } from "../types.js";
|
|
13
|
+
export type CollectRscContentReturn = Promise<{
|
|
14
|
+
stream: PassThrough;
|
|
15
|
+
metrics: StreamMetrics;
|
|
16
|
+
}>;
|
|
17
|
+
export type CollectRscContentFn = (rscStream: PassThrough, handlerOptions: CreateHandlerOptions) => CollectRscContentReturn;
|
|
13
18
|
/**
|
|
14
19
|
* Collects RSC content from the rscHeadless stream
|
|
15
20
|
*
|
|
@@ -17,8 +22,5 @@ import type { CreateHandlerOptions, StreamMetrics, PagePropOpt, InlineCssOpt } f
|
|
|
17
22
|
* @param handlerOptions The options for the handler
|
|
18
23
|
* @returns A promise that resolves with the complete RSC content and metrics
|
|
19
24
|
*/
|
|
20
|
-
export declare
|
|
21
|
-
stream: PassThrough;
|
|
22
|
-
metrics: StreamMetrics;
|
|
23
|
-
}>;
|
|
25
|
+
export declare const collectRscContent: CollectRscContentFn;
|
|
24
26
|
//# sourceMappingURL=collectRscContent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectRscContent.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/collectRscContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"collectRscContent.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/collectRscContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACd,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC;IAC5C,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAChC,SAAS,EAAE,WAAW,EACtB,cAAc,EAAE,oBAAoB,KACjC,uBAAuB,CAAC;AAE7B;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,mBAiD7B,CAAC"}
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
import { Transform } from 'node:stream';
|
|
7
7
|
import { join, dirname } from 'node:path';
|
|
8
8
|
import { mkdir } from 'node:fs/promises';
|
|
9
|
-
import { createStreamMetrics } from '../
|
|
9
|
+
import { createStreamMetrics } from '../metrics/createStreamMetrics.js';
|
|
10
10
|
import { fileWriter } from './fileWriter.js';
|
|
11
11
|
|
|
12
|
-
async function
|
|
12
|
+
const collectRscContent = async function _collectRscContent(rscStream, handlerOptions) {
|
|
13
13
|
const metrics = createStreamMetrics();
|
|
14
14
|
const startTime = performance.now();
|
|
15
15
|
const outputPath = join(
|
|
@@ -43,7 +43,7 @@ async function collectRscContent(rscStream, handlerOptions) {
|
|
|
43
43
|
metricsTransform.destroy();
|
|
44
44
|
throw error;
|
|
45
45
|
}
|
|
46
|
-
}
|
|
46
|
+
};
|
|
47
47
|
|
|
48
48
|
export { collectRscContent };
|
|
49
|
-
//# sourceMappingURL=
|
|
49
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdFJzY0NvbnRlbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9yZWFjdC1zdGF0aWMvY29sbGVjdFJzY0NvbnRlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiByc2NIYW5kbGVyLnRzXG4gKlxuICogUFVSUE9TRTogSGFuZGxlcyBjb2xsZWN0aW5nIFJTQyBjb250ZW50IGZyb20gdGhlIHJzY0hlYWRsZXNzIHN0cmVhbVxuICpcbiAqIFRoaXMgbW9kdWxlOlxuICogMS4gQ29sbGVjdHMgUlNDIGNvbnRlbnQgZnJvbSB0aGUgcnNjSGVhZGxlc3Mgc3RyZWFtXG4gKiAyLiBSZXR1cm5zIHRoZSBjb21wbGV0ZSBSU0MgY29udGVudCB3aGVuIHRoZSBzdHJlYW0gaXMgZG9uZVxuICogMy4gUHJvdmlkZXMgYSBjbGVhbiBpbnRlcmZhY2UgZm9yIFJTQyBoYW5kbGluZ1xuICovXG5cbmltcG9ydCB0eXBlIHsgUGFzc1Rocm91Z2ggfSBmcm9tIFwibm9kZTpzdHJlYW1cIjtcbmltcG9ydCB7IFRyYW5zZm9ybSB9IGZyb20gXCJub2RlOnN0cmVhbVwiO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IG1rZGlyIH0gZnJvbSBcIm5vZGU6ZnMvcHJvbWlzZXNcIjtcbmltcG9ydCB0eXBlIHtcbiAgQ3JlYXRlSGFuZGxlck9wdGlvbnMsXG4gIFN0cmVhbU1ldHJpY3MsXG59IGZyb20gXCIuLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgY3JlYXRlU3RyZWFtTWV0cmljcyB9IGZyb20gXCIuLi9tZXRyaWNzL2NyZWF0ZVN0cmVhbU1ldHJpY3MuanNcIjtcbmltcG9ydCB7IGZpbGVXcml0ZXIgfSBmcm9tIFwiLi9maWxlV3JpdGVyLmpzXCI7XG5cbmV4cG9ydCB0eXBlIENvbGxlY3RSc2NDb250ZW50UmV0dXJuID0gUHJvbWlzZTx7XG4gIHN0cmVhbTogUGFzc1Rocm91Z2g7XG4gIG1ldHJpY3M6IFN0cmVhbU1ldHJpY3M7XG59PjtcblxuZXhwb3J0IHR5cGUgQ29sbGVjdFJzY0NvbnRlbnRGbiA9IChcbiAgcnNjU3RyZWFtOiBQYXNzVGhyb3VnaCxcbiAgaGFuZGxlck9wdGlvbnM6IENyZWF0ZUhhbmRsZXJPcHRpb25zXG4pID0+IENvbGxlY3RSc2NDb250ZW50UmV0dXJuO1xuXG4vKipcbiAqIENvbGxlY3RzIFJTQyBjb250ZW50IGZyb20gdGhlIHJzY0hlYWRsZXNzIHN0cmVhbVxuICpcbiAqIEBwYXJhbSByc2NTdHJlYW0gVGhlIHN0cmVhbSBjb250YWluaW5nIHRoZSBSU0MgY29udGVudFxuICogQHBhcmFtIGhhbmRsZXJPcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgaGFuZGxlclxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgY29tcGxldGUgUlNDIGNvbnRlbnQgYW5kIG1ldHJpY3NcbiAqL1xuZXhwb3J0IGNvbnN0IGNvbGxlY3RSc2NDb250ZW50OiBDb2xsZWN0UnNjQ29udGVudEZuID1cbiAgYXN5bmMgZnVuY3Rpb24gX2NvbGxlY3RSc2NDb250ZW50KHJzY1N0cmVhbSwgaGFuZGxlck9wdGlvbnMpIHtcbiAgICBjb25zdCBtZXRyaWNzID0gY3JlYXRlU3RyZWFtTWV0cmljcygpO1xuICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuXG4gICAgY29uc3Qgb3V0cHV0UGF0aCA9IGpvaW4oXG4gICAgICBoYW5kbGVyT3B0aW9ucy5idWlsZC5vdXREaXIsXG4gICAgICBoYW5kbGVyT3B0aW9ucy5idWlsZC5zdGF0aWMsXG4gICAgICBoYW5kbGVyT3B0aW9ucy5yb3V0ZSxcbiAgICAgIGhhbmRsZXJPcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGhcbiAgICApO1xuXG4gICAgY29uc3QgZGlyID0gZGlybmFtZShvdXRwdXRQYXRoKTtcbiAgICAvLyBFbnN1cmUgZGlyZWN0b3J5IGV4aXN0c1xuICAgIGF3YWl0IG1rZGlyKGpvaW4oaGFuZGxlck9wdGlvbnMucHJvamVjdFJvb3QsIGRpciksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgLy8gQ3JlYXRlIHRyYW5zZm9ybSB0byB0cmFjayBtZXRyaWNzXG4gICAgY29uc3QgbWV0cmljc1RyYW5zZm9ybSA9IG5ldyBUcmFuc2Zvcm0oe1xuICAgICAgdHJhbnNmb3JtKGNodW5rLCBfZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gICAgICAgIG1ldHJpY3MuY2h1bmtzKys7XG4gICAgICAgIG1ldHJpY3MuYnl0ZXMgKz0gY2h1bmsubGVuZ3RoO1xuICAgICAgICBjYWxsYmFjayhudWxsLCBjaHVuayk7XG4gICAgICB9LFxuICAgICAgZmx1c2goY2FsbGJhY2spIHtcbiAgICAgICAgbWV0cmljcy5kdXJhdGlvbiA9IHBlcmZvcm1hbmNlLm5vdygpIC0gc3RhcnRUaW1lO1xuICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRyeSB7XG4gICAgICAvLyBQaXBlIFJTQyBzdHJlYW0gdGhyb3VnaCBtZXRyaWNzIHRyYWNraW5nXG4gICAgICByc2NTdHJlYW0ucGlwZShtZXRyaWNzVHJhbnNmb3JtKTtcblxuICAgICAgLy8gU2V0IHVwIGZpbGUgd3JpdGluZyB1c2luZyBmaWxlV3JpdGVyXG4gICAgICBjb25zdCB3cml0ZVByb21pc2UgPSBmaWxlV3JpdGVyKG1ldHJpY3NUcmFuc2Zvcm0sIFwicnNjXCIsIGhhbmRsZXJPcHRpb25zKTtcblxuICAgICAgLy8gV2FpdCBmb3Igc3RyZWFtIHRvIGNvbXBsZXRlXG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgICBtZXRyaWNzVHJhbnNmb3JtLm9uKFwiZW5kXCIsIHJlc29sdmUpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIFdhaXQgZm9yIGZpbGUgd3JpdGluZyB0byBjb21wbGV0ZVxuICAgICAgYXdhaXQgd3JpdGVQcm9taXNlO1xuXG4gICAgICByZXR1cm4geyBzdHJlYW06IHJzY1N0cmVhbSwgbWV0cmljcyB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBtZXRyaWNzVHJhbnNmb3JtLmRlc3Ryb3koKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQXVDTyxNQUFNLGlCQUNYLEdBQUEsZUFBZSxrQkFBbUIsQ0FBQSxTQUFBLEVBQVcsY0FBZ0IsRUFBQTtBQUMzRCxFQUFBLE1BQU0sVUFBVSxtQkFBb0IsRUFBQTtBQUNwQyxFQUFNLE1BQUEsU0FBQSxHQUFZLFlBQVksR0FBSSxFQUFBO0FBRWxDLEVBQUEsTUFBTSxVQUFhLEdBQUEsSUFBQTtBQUFBLElBQ2pCLGVBQWUsS0FBTSxDQUFBLE1BQUE7QUFBQSxJQUNyQixlQUFlLEtBQU0sQ0FBQSxNQUFBO0FBQUEsSUFDckIsY0FBZSxDQUFBLEtBQUE7QUFBQSxJQUNmLGVBQWUsS0FBTSxDQUFBO0FBQUEsR0FDdkI7QUFFQSxFQUFNLE1BQUEsR0FBQSxHQUFNLFFBQVEsVUFBVSxDQUFBO0FBRTlCLEVBQU0sTUFBQSxLQUFBLENBQU0sS0FBSyxjQUFlLENBQUEsV0FBQSxFQUFhLEdBQUcsQ0FBRyxFQUFBLEVBQUUsU0FBVyxFQUFBLElBQUEsRUFBTSxDQUFBO0FBR3RFLEVBQU0sTUFBQSxnQkFBQSxHQUFtQixJQUFJLFNBQVUsQ0FBQTtBQUFBLElBQ3JDLFNBQUEsQ0FBVSxLQUFPLEVBQUEsU0FBQSxFQUFXLFFBQVUsRUFBQTtBQUNwQyxNQUFRLE9BQUEsQ0FBQSxNQUFBLEVBQUE7QUFDUixNQUFBLE9BQUEsQ0FBUSxTQUFTLEtBQU0sQ0FBQSxNQUFBO0FBQ3ZCLE1BQUEsUUFBQSxDQUFTLE1BQU0sS0FBSyxDQUFBO0FBQUEsS0FDdEI7QUFBQSxJQUNBLE1BQU0sUUFBVSxFQUFBO0FBQ2QsTUFBUSxPQUFBLENBQUEsUUFBQSxHQUFXLFdBQVksQ0FBQSxHQUFBLEVBQVEsR0FBQSxTQUFBO0FBQ3ZDLE1BQVMsUUFBQSxFQUFBO0FBQUE7QUFDWCxHQUNELENBQUE7QUFFRCxFQUFJLElBQUE7QUFFRixJQUFBLFNBQUEsQ0FBVSxLQUFLLGdCQUFnQixDQUFBO0FBRy9CLElBQUEsTUFBTSxZQUFlLEdBQUEsVUFBQSxDQUFXLGdCQUFrQixFQUFBLEtBQUEsRUFBTyxjQUFjLENBQUE7QUFHdkUsSUFBTSxNQUFBLElBQUksT0FBYyxDQUFBLENBQUMsT0FBWSxLQUFBO0FBQ25DLE1BQWlCLGdCQUFBLENBQUEsRUFBQSxDQUFHLE9BQU8sT0FBTyxDQUFBO0FBQUEsS0FDbkMsQ0FBQTtBQUdELElBQU0sTUFBQSxZQUFBO0FBRU4sSUFBTyxPQUFBLEVBQUUsTUFBUSxFQUFBLFNBQUEsRUFBVyxPQUFRLEVBQUE7QUFBQSxXQUM3QixLQUFPLEVBQUE7QUFDZCxJQUFBLGdCQUFBLENBQWlCLE9BQVEsRUFBQTtBQUN6QixJQUFNLE1BQUEsS0FBQTtBQUFBO0FBRVY7Ozs7In0=
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { PreviewServer } from "vite";
|
|
2
|
-
import type { ResolvedUserOptions
|
|
3
|
-
export
|
|
2
|
+
import type { ResolvedUserOptions } from "../types.js";
|
|
3
|
+
export type ConfigurePreviewServerProps<Opt extends ResolvedUserOptions> = {
|
|
4
4
|
server: PreviewServer;
|
|
5
|
-
userOptions:
|
|
6
|
-
}
|
|
5
|
+
userOptions: Opt;
|
|
6
|
+
};
|
|
7
|
+
export type ConfigurePreviewServerFn = <Opt extends ResolvedUserOptions>(props: ConfigurePreviewServerProps<Opt>) => Promise<void>;
|
|
8
|
+
export declare const configurePreviewServer: ConfigurePreviewServerFn;
|
|
7
9
|
//# sourceMappingURL=configurePreviewServer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configurePreviewServer.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/configurePreviewServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EACV,mBAAmB,
|
|
1
|
+
{"version":3,"file":"configurePreviewServer.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/configurePreviewServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EACV,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AAOrB,MAAM,MAAM,2BAA2B,CAAC,GAAG,SAAS,mBAAmB,IAAI;IACzE,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,GAAG,SAAS,mBAAmB,EACrE,KAAK,EAAE,2BAA2B,CAAC,GAAG,CAAC,KACpC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,eAAO,MAAM,sBAAsB,EAAE,wBAgHlC,CAAC"}
|
|
@@ -9,26 +9,24 @@ import { stat } from 'node:fs/promises';
|
|
|
9
9
|
import { pipeline } from 'node:stream/promises';
|
|
10
10
|
import { requestInfo } from '../helpers/requestInfo.js';
|
|
11
11
|
|
|
12
|
-
async function
|
|
13
|
-
server,
|
|
14
|
-
userOptions
|
|
15
|
-
}) {
|
|
12
|
+
const configurePreviewServer = async function _configurePreviewServer({ server, userOptions }) {
|
|
16
13
|
const staticHostDir = join(
|
|
17
14
|
userOptions.projectRoot,
|
|
18
15
|
userOptions.build.outDir,
|
|
19
16
|
userOptions.build.static
|
|
20
17
|
);
|
|
18
|
+
console.log(userOptions.moduleBaseURL, userOptions.moduleBasePath);
|
|
21
19
|
server.middlewares.use(async (req, res, next) => {
|
|
22
20
|
if (!req.url) {
|
|
23
21
|
return next();
|
|
24
22
|
}
|
|
25
|
-
const { contentType, filePath } = requestInfo(
|
|
23
|
+
const { contentType, filePath, isRscRequest } = requestInfo(
|
|
26
24
|
req,
|
|
27
25
|
userOptions,
|
|
28
26
|
staticHostDir,
|
|
29
27
|
server.config.logger
|
|
30
28
|
);
|
|
31
|
-
if (filePath &&
|
|
29
|
+
if (filePath && isRscRequest) {
|
|
32
30
|
try {
|
|
33
31
|
const stats = await stat(filePath);
|
|
34
32
|
if (stats.isFile()) {
|
|
@@ -49,30 +47,33 @@ async function configurePreviewServer({
|
|
|
49
47
|
});
|
|
50
48
|
await pipeline(readStream, res, { signal });
|
|
51
49
|
} catch (error) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (
|
|
55
|
-
res.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
} else if (streamError.code === "ENOENT") {
|
|
59
|
-
res.statusCode = 404;
|
|
60
|
-
server.config.logger.error(
|
|
61
|
-
`File not found: ${filePath}. ${streamError.message}`,
|
|
62
|
-
{
|
|
63
|
-
error: streamError
|
|
64
|
-
}
|
|
65
|
-
);
|
|
66
|
-
res.end("File not found");
|
|
67
|
-
} else {
|
|
68
|
-
server.config.logger.error(
|
|
69
|
-
`Error loading file: ${filePath}. ${streamError.message}`,
|
|
70
|
-
{
|
|
71
|
-
error: streamError
|
|
50
|
+
if (error != null && typeof error === "object" && "code" in error) {
|
|
51
|
+
const streamError = error;
|
|
52
|
+
if (streamError.code === "ERR_STREAM_PREMATURE_CLOSE" || streamError.name === "AbortError") {
|
|
53
|
+
if (res.writable) {
|
|
54
|
+
res.statusCode = 499;
|
|
55
|
+
res.end("Client closed request");
|
|
72
56
|
}
|
|
73
|
-
)
|
|
74
|
-
|
|
75
|
-
|
|
57
|
+
} else if (streamError.code === "ENOENT") {
|
|
58
|
+
res.statusCode = 404;
|
|
59
|
+
server.config.logger.error(
|
|
60
|
+
`File not found: ${filePath}. ${streamError.message}`,
|
|
61
|
+
{
|
|
62
|
+
error: streamError
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
console.log("File not found: ", filePath);
|
|
66
|
+
res.end("File not found");
|
|
67
|
+
} else {
|
|
68
|
+
server.config.logger.error(
|
|
69
|
+
`Error loading file: ${filePath}. ${streamError.message}`,
|
|
70
|
+
{
|
|
71
|
+
error: streamError
|
|
72
|
+
}
|
|
73
|
+
);
|
|
74
|
+
res.statusCode = 500;
|
|
75
|
+
res.end("Internal server error");
|
|
76
|
+
}
|
|
76
77
|
}
|
|
77
78
|
return;
|
|
78
79
|
}
|
|
@@ -81,6 +82,12 @@ async function configurePreviewServer({
|
|
|
81
82
|
} catch (error) {
|
|
82
83
|
const err = error;
|
|
83
84
|
if (err.code === "ENOENT") {
|
|
85
|
+
server.config.logger.error(
|
|
86
|
+
`File not found: ${filePath}. ${err.message}`,
|
|
87
|
+
{
|
|
88
|
+
error: err
|
|
89
|
+
}
|
|
90
|
+
);
|
|
84
91
|
res.statusCode = 404;
|
|
85
92
|
res.end("File not found");
|
|
86
93
|
} else {
|
|
@@ -95,7 +102,7 @@ async function configurePreviewServer({
|
|
|
95
102
|
}
|
|
96
103
|
next();
|
|
97
104
|
});
|
|
98
|
-
}
|
|
105
|
+
};
|
|
99
106
|
|
|
100
107
|
export { configurePreviewServer };
|
|
101
|
-
//# sourceMappingURL=configurePreviewServer.js.map
|
|
108
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlUHJldmlld1NlcnZlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3JlYWN0LXN0YXRpYy9jb25maWd1cmVQcmV2aWV3U2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJldmlld1NlcnZlciB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgdHlwZSB7XG4gIFJlc29sdmVkVXNlck9wdGlvbnMsXG4gIFN0cmVhbUVycm9yLFxufSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBjcmVhdGVSZWFkU3RyZWFtIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCB7IHN0YXQgfSBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHsgcGlwZWxpbmUgfSBmcm9tIFwibm9kZTpzdHJlYW0vcHJvbWlzZXNcIjtcbmltcG9ydCB7IHJlcXVlc3RJbmZvIH0gZnJvbSBcIi4uL2hlbHBlcnMvcmVxdWVzdEluZm8uanNcIjtcblxuZXhwb3J0IHR5cGUgQ29uZmlndXJlUHJldmlld1NlcnZlclByb3BzPE9wdCBleHRlbmRzIFJlc29sdmVkVXNlck9wdGlvbnM+ID0ge1xuICBzZXJ2ZXI6IFByZXZpZXdTZXJ2ZXI7XG4gIHVzZXJPcHRpb25zOiBPcHQ7XG59O1xuXG5leHBvcnQgdHlwZSBDb25maWd1cmVQcmV2aWV3U2VydmVyRm4gPSA8T3B0IGV4dGVuZHMgUmVzb2x2ZWRVc2VyT3B0aW9ucz4oXG4gIHByb3BzOiBDb25maWd1cmVQcmV2aWV3U2VydmVyUHJvcHM8T3B0PlxuKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG5leHBvcnQgY29uc3QgY29uZmlndXJlUHJldmlld1NlcnZlcjogQ29uZmlndXJlUHJldmlld1NlcnZlckZuID1cbiAgYXN5bmMgZnVuY3Rpb24gX2NvbmZpZ3VyZVByZXZpZXdTZXJ2ZXIoeyBzZXJ2ZXIsIHVzZXJPcHRpb25zIH0pIHtcbiAgICBjb25zdCBzdGF0aWNIb3N0RGlyID0gam9pbihcbiAgICAgIHVzZXJPcHRpb25zLnByb2plY3RSb290LFxuICAgICAgdXNlck9wdGlvbnMuYnVpbGQub3V0RGlyLFxuICAgICAgdXNlck9wdGlvbnMuYnVpbGQuc3RhdGljXG4gICAgKTtcbiAgICBjb25zb2xlLmxvZyh1c2VyT3B0aW9ucy5tb2R1bGVCYXNlVVJMLCB1c2VyT3B0aW9ucy5tb2R1bGVCYXNlUGF0aCk7XG4gICAgc2VydmVyLm1pZGRsZXdhcmVzLnVzZShhc3luYyAocmVxLCByZXMsIG5leHQpID0+IHtcbiAgICAgIGlmICghcmVxLnVybCkge1xuICAgICAgICByZXR1cm4gbmV4dCgpO1xuICAgICAgfVxuICAgICAgY29uc3QgeyBjb250ZW50VHlwZSwgZmlsZVBhdGgsIGlzUnNjUmVxdWVzdCB9ID0gcmVxdWVzdEluZm8oXG4gICAgICAgIHJlcSxcbiAgICAgICAgdXNlck9wdGlvbnMsXG4gICAgICAgIHN0YXRpY0hvc3REaXIsXG4gICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyXG4gICAgICApO1xuICAgICAgLy8gSGFuZGxlIHN0YXRpYyBmaWxlcyBpbmNsdWRpbmcgQ1NTXG4gICAgICBpZiAoZmlsZVBhdGggJiYgKGlzUnNjUmVxdWVzdCkpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBzdGF0cyA9IGF3YWl0IHN0YXQoZmlsZVBhdGgpO1xuICAgICAgICAgIGlmIChzdGF0cy5pc0ZpbGUoKSkge1xuICAgICAgICAgICAgcmVzLnNldEhlYWRlcihcIkNvbnRlbnQtVHlwZVwiLCBjb250ZW50VHlwZSk7XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSBhYm9ydCBjb250cm9sbGVyIGZvciB0aGUgc3RyZWFtXG4gICAgICAgICAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgICAgICAgICAgY29uc3QgeyBzaWduYWwgfSA9IGNvbnRyb2xsZXI7XG5cbiAgICAgICAgICAgIC8vIENoZWNrIGlmIHJlc3BvbnNlIGlzIHN0aWxsIHdyaXRhYmxlIGJlZm9yZSBzdHJlYW1pbmdcbiAgICAgICAgICAgIGlmICghcmVzLndyaXRhYmxlKSB7XG4gICAgICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNDk5O1xuICAgICAgICAgICAgICByZXMuZW5kKFwiQ2xpZW50IGNsb3NlZCByZXF1ZXN0XCIpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlYWRTdHJlYW0gPSBjcmVhdGVSZWFkU3RyZWFtKGZpbGVQYXRoKTtcbiAgICAgICAgICAgICAgcmVhZFN0cmVhbS5vbihcImVycm9yXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlcy53cml0YWJsZSkge1xuICAgICAgICAgICAgICAgICAgY29udHJvbGxlci5hYm9ydCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGF3YWl0IHBpcGVsaW5lKHJlYWRTdHJlYW0sIHJlcywgeyBzaWduYWwgfSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgZXJyb3IgIT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHR5cGVvZiBlcnJvciA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICAgICAgICAgIFwiY29kZVwiIGluIGVycm9yXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0cmVhbUVycm9yID0gZXJyb3IgYXMgU3RyZWFtRXJyb3I7XG4gICAgICAgICAgICAgICAgLy8gSGFuZGxlIGRpZmZlcmVudCBlcnJvciBjYXNlc1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgIHN0cmVhbUVycm9yLmNvZGUgPT09IFwiRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0VcIiB8fFxuICAgICAgICAgICAgICAgICAgc3RyZWFtRXJyb3IubmFtZSA9PT0gXCJBYm9ydEVycm9yXCJcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIC8vIENsaWVudCBjbG9zZWQgdGhlIGNvbm5lY3Rpb25cbiAgICAgICAgICAgICAgICAgIGlmIChyZXMud3JpdGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0OTk7XG4gICAgICAgICAgICAgICAgICAgIHJlcy5lbmQoXCJDbGllbnQgY2xvc2VkIHJlcXVlc3RcIik7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzdHJlYW1FcnJvci5jb2RlID09PSBcIkVOT0VOVFwiKSB7XG4gICAgICAgICAgICAgICAgICAvLyBGaWxlIG5vdCBmb3VuZFxuICAgICAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgYEZpbGUgbm90IGZvdW5kOiAke2ZpbGVQYXRofS4gJHtzdHJlYW1FcnJvci5tZXNzYWdlfWAsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogc3RyZWFtRXJyb3IsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkZpbGUgbm90IGZvdW5kOiBcIiwgZmlsZVBhdGgpO1xuICAgICAgICAgICAgICAgICAgcmVzLmVuZChcIkZpbGUgbm90IGZvdW5kXCIpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAvLyBTZXJ2ZXIgZXJyb3JcbiAgICAgICAgICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICBgRXJyb3IgbG9hZGluZyBmaWxlOiAke2ZpbGVQYXRofS4gJHtzdHJlYW1FcnJvci5tZXNzYWdlfWAsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogc3RyZWFtRXJyb3IsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDUwMDtcbiAgICAgICAgICAgICAgICAgIHJlcy5lbmQoXCJJbnRlcm5hbCBzZXJ2ZXIgZXJyb3JcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3I7XG4gICAgICAgICAgLy8gSGFuZGxlIGZpbGUgc3lzdGVtIGVycm9yc1xuICAgICAgICAgIGlmICgoZXJyIGFzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbikuY29kZSA9PT0gXCJFTk9FTlRcIikge1xuICAgICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuZXJyb3IoXG4gICAgICAgICAgICAgIGBGaWxlIG5vdCBmb3VuZDogJHtmaWxlUGF0aH0uICR7ZXJyLm1lc3NhZ2V9YCxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGVycm9yOiBlcnIsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwNDtcbiAgICAgICAgICAgIHJlcy5lbmQoXCJGaWxlIG5vdCBmb3VuZFwiKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuZXJyb3IoYEVycm9yIGxvYWRpbmcgZmlsZTogJHtmaWxlUGF0aH0uYCwge1xuICAgICAgICAgICAgICBlcnJvcjogZXJyLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDUwMDtcbiAgICAgICAgICAgIHJlcy5lbmQoXCJJbnRlcm5hbCBzZXJ2ZXIgZXJyb3JcIik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBb0JPLE1BQU0seUJBQ1gsZUFBZSx1QkFBQSxDQUF3QixFQUFFLE1BQUEsRUFBUSxhQUFlLEVBQUE7QUFDOUQsRUFBQSxNQUFNLGFBQWdCLEdBQUEsSUFBQTtBQUFBLElBQ3BCLFdBQVksQ0FBQSxXQUFBO0FBQUEsSUFDWixZQUFZLEtBQU0sQ0FBQSxNQUFBO0FBQUEsSUFDbEIsWUFBWSxLQUFNLENBQUE7QUFBQSxHQUNwQjtBQUNBLEVBQUEsT0FBQSxDQUFRLEdBQUksQ0FBQSxXQUFBLENBQVksYUFBZSxFQUFBLFdBQUEsQ0FBWSxjQUFjLENBQUE7QUFDakUsRUFBQSxNQUFBLENBQU8sV0FBWSxDQUFBLEdBQUEsQ0FBSSxPQUFPLEdBQUEsRUFBSyxLQUFLLElBQVMsS0FBQTtBQUMvQyxJQUFJLElBQUEsQ0FBQyxJQUFJLEdBQUssRUFBQTtBQUNaLE1BQUEsT0FBTyxJQUFLLEVBQUE7QUFBQTtBQUVkLElBQUEsTUFBTSxFQUFFLFdBQUEsRUFBYSxRQUFVLEVBQUEsWUFBQSxFQUFpQixHQUFBLFdBQUE7QUFBQSxNQUM5QyxHQUFBO0FBQUEsTUFDQSxXQUFBO0FBQUEsTUFDQSxhQUFBO0FBQUEsTUFDQSxPQUFPLE1BQU8sQ0FBQTtBQUFBLEtBQ2hCO0FBRUEsSUFBQSxJQUFJLFlBQWEsWUFBZSxFQUFBO0FBQzlCLE1BQUksSUFBQTtBQUNGLFFBQU0sTUFBQSxLQUFBLEdBQVEsTUFBTSxJQUFBLENBQUss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
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BuildModuleLoader, ResolvedUserConfig, ResolvedUserOptions } from "../../server.js";
|
|
2
2
|
import type { Manifest } from "vite";
|
|
3
3
|
import type { OutputBundle } from "rollup";
|
|
4
|
-
export
|
|
4
|
+
export type CreateBuildLoaderFn = (props: {
|
|
5
5
|
userConfig: ResolvedUserConfig;
|
|
6
|
-
userOptions: ResolvedUserOptions
|
|
6
|
+
userOptions: ResolvedUserOptions;
|
|
7
7
|
serverManifest: Manifest;
|
|
8
8
|
clientManifest: Manifest;
|
|
9
9
|
staticManifest: Manifest;
|
|
10
|
-
}
|
|
10
|
+
}, bundle: OutputBundle) => BuildModuleLoader;
|
|
11
11
|
/**
|
|
12
12
|
* Creates a loader function for handling module resolution during build.
|
|
13
13
|
*
|
|
@@ -16,5 +16,5 @@ export interface BuildLoaderOptions<T extends PagePropOpt = PagePropOpt, InlineC
|
|
|
16
16
|
* - For server components: Use server manifest and server.js
|
|
17
17
|
* - For static assets: Use static manifest
|
|
18
18
|
*/
|
|
19
|
-
export declare
|
|
19
|
+
export declare const createBuildLoader: CreateBuildLoaderFn;
|
|
20
20
|
//# sourceMappingURL=createBuildLoader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createBuildLoader.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/createBuildLoader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"createBuildLoader.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/createBuildLoader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAM3C,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE;IACxC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,WAAW,EAAE,mBAAmB,CAAC;IACjC,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;CAC1B,EAAE,MAAM,EAAE,YAAY,KAAK,iBAAiB,CAAC;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,mBA+Q/B,CAAA"}
|
|
@@ -7,8 +7,10 @@ import { join } from 'node:path';
|
|
|
7
7
|
import { getModuleRef } from '../helpers/moduleRefs.js';
|
|
8
8
|
import { temporaryReferences } from './temporaryReferences.js';
|
|
9
9
|
import { toError } from '../error/toError.js';
|
|
10
|
+
import { readFile, writeFile, unlink } from 'fs/promises';
|
|
11
|
+
import { existsSync } from 'fs';
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
const createBuildLoader = function _createBuildLoader({
|
|
12
14
|
userOptions,
|
|
13
15
|
serverManifest,
|
|
14
16
|
clientManifest,
|
|
@@ -19,8 +21,12 @@ async function createBuildLoader({
|
|
|
19
21
|
throw new Error("Server manifest is empty");
|
|
20
22
|
}
|
|
21
23
|
return async function buildLoader(id) {
|
|
24
|
+
if (userOptions.verbose) {
|
|
25
|
+
console.log("[buildLoader] id: ", id);
|
|
26
|
+
}
|
|
22
27
|
const [withoutQuery, query] = id.split("?", 2);
|
|
23
|
-
const [
|
|
28
|
+
const [moduleId, exportName] = withoutQuery.split("#", 2);
|
|
29
|
+
const [normalizedKey, normalizedValue] = userOptions.normalizer(moduleId);
|
|
24
30
|
const moduleRef = getModuleRef(id);
|
|
25
31
|
if (temporaryReferences?.has(moduleRef)) {
|
|
26
32
|
const mod = temporaryReferences.get(moduleRef);
|
|
@@ -38,12 +44,12 @@ async function createBuildLoader({
|
|
|
38
44
|
)?.[1];
|
|
39
45
|
if (serverChunk) {
|
|
40
46
|
if (serverChunk.type === "asset") {
|
|
41
|
-
if (userOptions.autoDiscover.jsonPattern(normalizedValue)) {
|
|
47
|
+
if (userOptions.autoDiscover.jsonPattern.test(normalizedValue)) {
|
|
42
48
|
const jsonContent = serverChunk.source;
|
|
43
49
|
if (typeof jsonContent === "string") {
|
|
44
50
|
return { default: JSON.parse(jsonContent) };
|
|
45
51
|
}
|
|
46
|
-
} else if (userOptions.autoDiscover.cssPattern(normalizedValue)) {
|
|
52
|
+
} else if (userOptions.autoDiscover.cssPattern.test(normalizedValue)) {
|
|
47
53
|
const cssContent = serverChunk.source;
|
|
48
54
|
if (typeof cssContent === "string") {
|
|
49
55
|
return { default: cssContent };
|
|
@@ -57,12 +63,12 @@ async function createBuildLoader({
|
|
|
57
63
|
console.warn("Could not find inline module for: " + normalizedValue);
|
|
58
64
|
return null;
|
|
59
65
|
}
|
|
60
|
-
const isClientComponent = userOptions.autoDiscover.
|
|
61
|
-
const isServerAction = userOptions.autoDiscover.serverFunctions(normalizedValue);
|
|
62
|
-
const isPage = userOptions.autoDiscover.pagePattern(normalizedValue);
|
|
63
|
-
const isProps = userOptions.autoDiscover.propsPattern(normalizedValue);
|
|
66
|
+
const isClientComponent = userOptions.autoDiscover.clientPattern.test(normalizedValue);
|
|
64
67
|
if (isClientComponent) {
|
|
65
68
|
const clientEntry = clientManifest[normalizedValue];
|
|
69
|
+
if (userOptions.verbose) {
|
|
70
|
+
console.log("clientEntry", clientEntry);
|
|
71
|
+
}
|
|
66
72
|
if (clientEntry) {
|
|
67
73
|
try {
|
|
68
74
|
const module = await import(join(
|
|
@@ -81,26 +87,6 @@ async function createBuildLoader({
|
|
|
81
87
|
}
|
|
82
88
|
}
|
|
83
89
|
}
|
|
84
|
-
if (isServerAction || isPage || isProps) {
|
|
85
|
-
const serverEntry = serverManifest[normalizedValue];
|
|
86
|
-
if (serverEntry) {
|
|
87
|
-
try {
|
|
88
|
-
const module = await import(join(
|
|
89
|
-
userOptions.projectRoot,
|
|
90
|
-
userOptions.build.outDir,
|
|
91
|
-
userOptions.build.server,
|
|
92
|
-
serverEntry.file
|
|
93
|
-
));
|
|
94
|
-
temporaryReferences?.set(moduleRef, module);
|
|
95
|
-
return module;
|
|
96
|
-
} catch (error) {
|
|
97
|
-
const err = toError(error);
|
|
98
|
-
console.warn("Error loading server module:", err);
|
|
99
|
-
temporaryReferences?.delete(moduleRef);
|
|
100
|
-
throw err;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
90
|
const staticEntry = staticManifest[normalizedValue];
|
|
105
91
|
if (staticEntry) {
|
|
106
92
|
try {
|
|
@@ -111,6 +97,9 @@ async function createBuildLoader({
|
|
|
111
97
|
staticEntry.file
|
|
112
98
|
));
|
|
113
99
|
temporaryReferences?.set(moduleRef, module);
|
|
100
|
+
if (exportName && !(exportName in module)) {
|
|
101
|
+
throw new Error(`Export ${exportName} not found in module ${normalizedValue}`);
|
|
102
|
+
}
|
|
114
103
|
return module;
|
|
115
104
|
} catch (error) {
|
|
116
105
|
const err = toError(error);
|
|
@@ -119,6 +108,109 @@ async function createBuildLoader({
|
|
|
119
108
|
throw err;
|
|
120
109
|
}
|
|
121
110
|
}
|
|
111
|
+
const serverEntry = serverManifest[normalizedValue];
|
|
112
|
+
if (serverEntry) {
|
|
113
|
+
try {
|
|
114
|
+
const module = await import(join(
|
|
115
|
+
userOptions.projectRoot,
|
|
116
|
+
userOptions.build.outDir,
|
|
117
|
+
userOptions.build.server,
|
|
118
|
+
serverEntry.file
|
|
119
|
+
));
|
|
120
|
+
temporaryReferences?.set(moduleRef, module);
|
|
121
|
+
if (exportName && !(exportName in module)) {
|
|
122
|
+
throw new Error(`Export ${exportName} not found in module ${normalizedValue}`);
|
|
123
|
+
}
|
|
124
|
+
return module;
|
|
125
|
+
} catch (error) {
|
|
126
|
+
const err = toError(error);
|
|
127
|
+
if (userOptions.panicThreshold === "critical_errors") {
|
|
128
|
+
console.warn("Error loading server module:", err);
|
|
129
|
+
temporaryReferences?.delete(moduleRef);
|
|
130
|
+
} else {
|
|
131
|
+
console.error("Error loading server module:", err);
|
|
132
|
+
throw err;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const sourceFilePath = join(userOptions.projectRoot, normalizedValue);
|
|
137
|
+
if (userOptions.verbose) {
|
|
138
|
+
console.log("[buildLoader] Checking source file:", sourceFilePath, "exists:", existsSync(sourceFilePath));
|
|
139
|
+
}
|
|
140
|
+
if (existsSync(sourceFilePath)) {
|
|
141
|
+
try {
|
|
142
|
+
if (userOptions.verbose) {
|
|
143
|
+
console.log("[buildLoader] Loading source file:", sourceFilePath);
|
|
144
|
+
}
|
|
145
|
+
if (sourceFilePath.endsWith(".tsx") || sourceFilePath.endsWith(".ts") || sourceFilePath.endsWith(".mts")) {
|
|
146
|
+
const relativePath = normalizedValue.replace(/^src\//, "");
|
|
147
|
+
const staticBuiltPath = join(
|
|
148
|
+
userOptions.projectRoot,
|
|
149
|
+
userOptions.build.outDir,
|
|
150
|
+
userOptions.build.static,
|
|
151
|
+
relativePath.replace(/\.(tsx?|mts)$/, ".js")
|
|
152
|
+
);
|
|
153
|
+
const serverBuiltPath = join(
|
|
154
|
+
userOptions.projectRoot,
|
|
155
|
+
userOptions.build.outDir,
|
|
156
|
+
userOptions.build.server,
|
|
157
|
+
relativePath.replace(/\.(tsx?|mts)$/, ".js")
|
|
158
|
+
);
|
|
159
|
+
let builtModulePath = null;
|
|
160
|
+
if (existsSync(staticBuiltPath)) {
|
|
161
|
+
builtModulePath = staticBuiltPath;
|
|
162
|
+
} else if (existsSync(serverBuiltPath)) {
|
|
163
|
+
builtModulePath = serverBuiltPath;
|
|
164
|
+
}
|
|
165
|
+
if (builtModulePath) {
|
|
166
|
+
if (userOptions.verbose) {
|
|
167
|
+
console.log("[buildLoader] Found built module:", builtModulePath);
|
|
168
|
+
}
|
|
169
|
+
const module = await import(builtModulePath);
|
|
170
|
+
temporaryReferences?.set(moduleRef, module);
|
|
171
|
+
if (exportName && !(exportName in module)) {
|
|
172
|
+
throw new Error(`Export ${exportName} not found in module ${normalizedValue}`);
|
|
173
|
+
}
|
|
174
|
+
return module;
|
|
175
|
+
}
|
|
176
|
+
if (userOptions.verbose) {
|
|
177
|
+
console.log("[buildLoader] No built module found, trying to compile source file");
|
|
178
|
+
}
|
|
179
|
+
const { transformWithEsbuild } = await import('vite');
|
|
180
|
+
const sourceCode = await readFile(sourceFilePath, "utf-8");
|
|
181
|
+
const result = await transformWithEsbuild(sourceCode, sourceFilePath, {
|
|
182
|
+
format: "esm",
|
|
183
|
+
sourcemap: false
|
|
184
|
+
});
|
|
185
|
+
const tempFilePath = sourceFilePath.replace(/\.(tsx?|mts)$/, ".temp.js");
|
|
186
|
+
await writeFile(tempFilePath, result.code);
|
|
187
|
+
try {
|
|
188
|
+
const module = await import(tempFilePath);
|
|
189
|
+
temporaryReferences?.set(moduleRef, module);
|
|
190
|
+
if (exportName && !(exportName in module)) {
|
|
191
|
+
throw new Error(`Export ${exportName} not found in module ${normalizedValue}`);
|
|
192
|
+
}
|
|
193
|
+
return module;
|
|
194
|
+
} finally {
|
|
195
|
+
try {
|
|
196
|
+
await unlink(tempFilePath);
|
|
197
|
+
} catch (cleanupError) {
|
|
198
|
+
if (userOptions.verbose) {
|
|
199
|
+
console.warn("[buildLoader] Failed to cleanup temp file:", cleanupError);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
} else {
|
|
204
|
+
const content = await readFile(sourceFilePath, "utf-8");
|
|
205
|
+
return { default: content };
|
|
206
|
+
}
|
|
207
|
+
} catch (error) {
|
|
208
|
+
const err = toError(error);
|
|
209
|
+
console.warn("Error loading source file:", err);
|
|
210
|
+
temporaryReferences?.delete(moduleRef);
|
|
211
|
+
throw err;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
122
214
|
throw new Error(`Module ${normalizedValue} not found during build`);
|
|
123
215
|
} catch (error) {
|
|
124
216
|
const emptyExports = {
|
|
@@ -129,7 +221,7 @@ async function createBuildLoader({
|
|
|
129
221
|
return emptyExports;
|
|
130
222
|
}
|
|
131
223
|
};
|
|
132
|
-
}
|
|
224
|
+
};
|
|
133
225
|
|
|
134
226
|
export { createBuildLoader };
|
|
135
|
-
//# sourceMappingURL=createBuildLoader.js.map
|
|
227
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQnVpbGRMb2FkZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BsdWdpbi9yZWFjdC1zdGF0aWMvY3JlYXRlQnVpbGRMb2FkZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHtcbiAgQnVpbGRNb2R1bGVMb2FkZXIsXG4gIFJlc29sdmVkVXNlckNvbmZpZyxcbiAgUmVzb2x2ZWRVc2VyT3B0aW9ucyxcbn0gZnJvbSBcIi4uLy4uL3NlcnZlci5qc1wiO1xuaW1wb3J0IHR5cGUgeyBNYW5pZmVzdCB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgeyBnZXRNb2R1bGVSZWYgfSBmcm9tIFwiLi4vaGVscGVycy9tb2R1bGVSZWZzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IE91dHB1dEJ1bmRsZSB9IGZyb20gXCJyb2xsdXBcIjtcbmltcG9ydCB7IHRlbXBvcmFyeVJlZmVyZW5jZXMgfSBmcm9tIFwiLi90ZW1wb3JhcnlSZWZlcmVuY2VzLmpzXCI7XG5pbXBvcnQgeyB0b0Vycm9yIH0gZnJvbSBcIi4uL2Vycm9yL3RvRXJyb3IuanNcIjtcbmltcG9ydCB7IHJlYWRGaWxlLCB3cml0ZUZpbGUsIHVubGluayB9IGZyb20gXCJmcy9wcm9taXNlc1wiO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gXCJmc1wiO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVCdWlsZExvYWRlckZuID0gKHByb3BzOiB7XG4gIHVzZXJDb25maWc6IFJlc29sdmVkVXNlckNvbmZpZztcbiAgdXNlck9wdGlvbnM6IFJlc29sdmVkVXNlck9wdGlvbnM7XG4gIHNlcnZlck1hbmlmZXN0OiBNYW5pZmVzdDtcbiAgY2xpZW50TWFuaWZlc3Q6IE1hbmlmZXN0O1xuICBzdGF0aWNNYW5pZmVzdDogTWFuaWZlc3Q7XG59LCBidW5kbGU6IE91dHB1dEJ1bmRsZSkgPT4gQnVpbGRNb2R1bGVMb2FkZXI7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGxvYWRlciBmdW5jdGlvbiBmb3IgaGFuZGxpbmcgbW9kdWxlIHJlc29sdXRpb24gZHVyaW5nIGJ1aWxkLlxuICpcbiAqIFRoZSBsb2FkZXIgaGFuZGxlcyB0aGUgZm9sbG93aW5nIHN0cmF0ZWd5OlxuICogIC0gRm9yIGNsaWVudCBjb21wb25lbnRzOiBVc2UgY2xpZW50IG1hbmlmZXN0IGFuZCBjbGllbnQuYnJvd3Nlci5qc1xuICogIC0gRm9yIHNlcnZlciBjb21wb25lbnRzOiBVc2Ugc2VydmVyIG1hbmlmZXN0IGFuZCBzZXJ2ZXIuanNcbiAqICAtIEZvciBzdGF0aWMgYXNzZXRzOiBVc2Ugc3RhdGljIG1hbmlmZXN0XG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVCdWlsZExvYWRlcjogQ3JlYXRlQnVpbGRMb2FkZXJGbiA9IGZ1bmN0aW9uIF9jcmVhdGVCdWlsZExvYWRlcihcbiAge1xuICAgIHVzZXJPcHRpb25zLFxuICAgIHNlcnZlck1hbmlmZXN0LFxuICAgIGNsaWVudE1hbmlmZXN0LFxuICAgIHN0YXRpY01hbmlmZXN0LFxuICB9LFxuICBidW5kbGVcbikge1xuICBjb25zdCBtYW5pZmVzdEtleXMgPSBPYmplY3Qua2V5cyhzZXJ2ZXJNYW5pZmVzdCk7XG4gIGlmICghbWFuaWZlc3RLZXlzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNlcnZlciBtYW5pZmVzdCBpcyBlbXB0eVwiKTtcbiAgfVxuXG4gIHJldHVybiBhc3luYyBmdW5jdGlvbiBidWlsZExvYWRlcihpZCkge1xuICAgIGlmICh1c2VyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIltidWlsZExvYWRlcl0gaWQ6IFwiLCBpZCk7XG4gICAgfVxuICAgIGNvbnN0IFt3aXRob3V0UXVlcnksIHF1ZXJ5XSA9IGlkLnNwbGl0KFwiP1wiLCAyKTtcbiAgICBjb25zdCBbbW9kdWxlSWQsIGV4cG9ydE5hbWVdID0gd2l0aG91dFF1ZXJ5LnNwbGl0KFwiI1wiLCAyKTtcbiAgICBjb25zdCBbbm9ybWFsaXplZEtleSwgbm9ybWFsaXplZFZhbHVlXSA9IHVzZXJPcHRpb25zLm5vcm1hbGl6ZXIobW9kdWxlSWQpO1xuICAgIGNvbnN0IG1vZHVsZVJlZiA9IGdldE1vZHVsZVJlZihpZCk7XG5cbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGEgdGVtcG9yYXJ5IHJlZmVyZW5jZSAoY2FjaGVkIG1vZHVsZSlcbiAgICBpZiAodGVtcG9yYXJ5UmVmZXJlbmNlcz8uaGFzKG1vZHVsZVJlZikpIHtcbiAgICAgIGNvbnN0IG1vZCA9IHRlbXBvcmFyeVJlZmVyZW5jZXMuZ2V0KG1vZHVsZVJlZik7XG4gICAgICBpZiAodHlwZW9mIG1vZCA9PT0gXCJvYmplY3RcIiAmJiBtb2QgIT09IG51bGwgJiYgXCJlcnJvclwiIGluIG1vZCkge1xuICAgICAgICAvLyBpZ25vcmUgaXRcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBtb2Q7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIC8vIEZvciBpbmxpbmUgbW9kdWxlcywgaGFuZGxlIHRoZW0gZGlyZWN0bHlcbiAgICAgIGlmIChxdWVyeSA9PT0gXCJpbmxpbmVcIikge1xuICAgICAgICBjb25zdCBzdGFydHNXaXRoTWFya2VyID0gbm9ybWFsaXplZEtleS5zcGxpdChcIi1cIilbMF07XG4gICAgICAgIGNvbnN0IHNlcnZlckNodW5rID1cbiAgICAgICAgICBidW5kbGVbc2VydmVyTWFuaWZlc3Rbbm9ybWFsaXplZFZhbHVlXT8uZmlsZV0gPz9cbiAgICAgICAgICBidW5kbGVbc3RhdGljTWFuaWZlc3Rbbm9ybWFsaXplZFZhbHVlXT8uZmlsZV0gPz9cbiAgICAgICAgICBidW5kbGVbY2xpZW50TWFuaWZlc3Rbbm9ybWFsaXplZFZhbHVlXT8uZmlsZV0gPz9cbiAgICAgICAgICBidW5kbGVbd2l0aG91dFF1ZXJ5XSA/P1xuICAgICAgICAgIGJ1bmRsZVtub3JtYWxpemVkVmFsdWVdID8/XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoYnVuZGxlKS5maW5kKFxuICAgICAgICAgICAgKFssIHZhbHVlXSkgPT4gdmFsdWUubmFtZSA9PT0gbm9ybWFsaXplZFZhbHVlXG4gICAgICAgICAgKT8uWzFdID8/XG4gICAgICAgICAgT2JqZWN0LmVudHJpZXMoYnVuZGxlKS5maW5kKChbX2tleV0pID0+XG4gICAgICAgICAgICBfa2V5LnN0YXJ0c1dpdGgoc3RhcnRzV2l0aE1hcmtlcilcbiAgICAgICAgICApPy5bMV07XG5cbiAgICAgICAgaWYgKHNlcnZlckNodW5rKSB7XG4gICAgICAgICAgaWYgKHNlcnZlckNodW5rLnR5cGUgPT09IFwiYXNzZXRcIikge1xuICAgICAgICAgICAgLy8gRm9yIENTUyBmaWxlcywgZW5zdXJlIHdlJ3JlIGluIHRoZSBSZWFjdCBTZXJ2ZXIgZW52aXJvbm1lbnRcbiAgICAgICAgICAgIGlmICh1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuanNvblBhdHRlcm4udGVzdChub3JtYWxpemVkVmFsdWUpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGpzb25Db250ZW50ID0gc2VydmVyQ2h1bmsuc291cmNlO1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIGpzb25Db250ZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZGVmYXVsdDogSlNPTi5wYXJzZShqc29uQ29udGVudCkgfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgdXNlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLmNzc1BhdHRlcm4udGVzdChub3JtYWxpemVkVmFsdWUpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgY29uc3QgY3NzQ29udGVudCA9IHNlcnZlckNodW5rLnNvdXJjZTtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjc3NDb250ZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZGVmYXVsdDogY3NzQ29udGVudCB9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4geyBkZWZhdWx0OiBzZXJ2ZXJDaHVuay5zb3VyY2UgfTtcbiAgICAgICAgICB9IGVsc2UgaWYgKFwiY29kZVwiIGluIHNlcnZlckNodW5rKSB7XG4gICAgICAgICAgICByZXR1cm4geyBkZWZhdWx0OiBzZXJ2ZXJDaHVuay5jb2RlIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUud2FybihcIkNvdWxkIG5vdCBmaW5kIGlubGluZSBtb2R1bGUgZm9yOiBcIiArIG5vcm1hbGl6ZWRWYWx1ZSk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICAvLyBEZXRlcm1pbmUgaWYgdGhpcyBpcyBhIGNsaWVudCBjb21wb25lbnRcbiAgICAgIGNvbnN0IGlzQ2xpZW50Q29tcG9uZW50ID1cbiAgICAgICAgdXNlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLmNsaWVudFBhdHRlcm4udGVzdChub3JtYWxpemVkVmFsdWUpO1xuXG4gICAgICAvLyBGb3IgY2xpZW50IGNvbXBvbmVudHMsIHVzZSBjbGllbnQgbWFuaWZlc3RcbiAgICAgIGlmIChpc0NsaWVudENvbXBvbmVudCkge1xuICAgICAgICBjb25zdCBjbGllbnRFbnRyeSA9IGNsaWVudE1hbmlmZXN0W25vcm1hbGl6ZWRWYWx1ZV07XG4gICAgICAgIGlmICh1c2VyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJjbGllbnRFbnRyeVwiLCBjbGllbnRFbnRyeSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNsaWVudEVudHJ5KSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG1vZHVsZSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgam9pbihcbiAgICAgICAgICAgICAgICB1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCxcbiAgICAgICAgICAgICAgICB1c2VyT3B0aW9ucy5idWlsZC5vdXREaXIsXG4gICAgICAgICAgICAgICAgdXNlck9wdGlvbnMuYnVpbGQuY2xpZW50LFxuICAgICAgICAgICAgICAgIGNsaWVudEVudHJ5LmZpbGVcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRlbXBvcmFyeVJlZmVyZW5jZXM/LnNldChtb2R1bGVSZWYsIG1vZHVsZSk7XG4gICAgICAgICAgICByZXR1cm4gbW9kdWxlO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zdCBlcnIgPSB0b0Vycm9yKGVycm9yKTtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkVycm9yIGxvYWRpbmcgY2xpZW50IG1vZHVsZTpcIiwgZXJyKTtcbiAgICAgICAgICAgIHRlbXBvcmFyeVJlZmVyZW5jZXM/LmRlbGV0ZShtb2R1bGVSZWYpO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBGb3Igc3RhdGljIGFzc2V0cywgdXNlIHN0YXRpYyBtYW5pZmVzdFxuICAgICAgY29uc3Qgc3RhdGljRW50cnkgPSBzdGF0aWNNYW5pZmVzdFtub3JtYWxpemVkVmFsdWVdO1xuICAgICAgaWYgKHN0YXRpY0VudHJ5KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgbW9kdWxlID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgam9pbihcbiAgICAgICAgICAgICAgdXNlck9wdGlvbnMucHJvamVjdFJvb3QsXG4gICAgICAgICAgICAgIHVzZXJPcHRpb25zLmJ1aWxkLm91dERpcixcbiAgICAgICAgICAgICAgdXNlck9wdGlvbnMuYnVpbGQuc3RhdGljLFxuICAgICAgICAgICAgICBzdGF0aWNFbnRyeS5maWxlXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0ZW1wb3JhcnlSZWZlcmVuY2VzPy5zZXQobW9kdWxlUmVmLCBtb2R1bGUpO1xuICAgICAgICAgIC8vIElmIHdlIGhhdmUgYW4gZXhwb3J0IG5hbWUsIG1ha2Ugc3VyZSBpdCdzIGEga2V5XG4gICAgICAgICAgaWYgKGV4cG9ydE5hbWUgJiYgIShleHBvcnROYW1lIGluIG1vZHVsZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwb3J0ICR7ZXhwb3J0TmFtZX0gbm90IGZvdW5kIGluIG1vZHVsZSAke25vcm1hbGl6ZWRWYWx1ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG1vZHVsZTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zdCBlcnIgPSB0b0Vycm9yKGVycm9yKTtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXCJFcnJvciBsb2FkaW5nIHN0YXRpYyBtb2R1bGU6XCIsIGVycik7XG4gICAgICAgICAgdGVtcG9yYXJ5UmVmZXJlbmNlcz8uZGVsZXRlKG1vZHVsZVJlZik7XG4gICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIHNlcnZlciBtYW5pZmVzdCBmb3IgYW55IHJlbWFpbmluZyBtb2R1bGVzIChpbmNsdWRpbmcgSHRtbC9Sb290IGNvbXBvbmVudHMpXG4gICAgICBjb25zdCBzZXJ2ZXJFbnRyeSA9IHNlcnZlck1hbmlmZXN0W25vcm1hbGl6ZWRWYWx1ZV07XG5cbiAgICAgIGlmIChzZXJ2ZXJFbnRyeSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IG1vZHVsZSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgIGpvaW4oXG4gICAgICAgICAgICAgIHVzZXJPcHRpb25zLnByb2plY3RSb290LFxuICAgICAgICAgICAgICB1c2VyT3B0aW9ucy5idWlsZC5vdXREaXIsXG4gICAgICAgICAgICAgIHVzZXJPcHRpb25zLmJ1aWxkLnNlcnZlcixcbiAgICAgICAgICAgICAgc2VydmVyRW50cnkuZmlsZVxuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGVtcG9yYXJ5UmVmZXJlbmNlcz8uc2V0KG1vZHVsZVJlZiwgbW9kdWxlKTtcbiAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGFuIGV4cG9ydCBuYW1lLCBtYWtlIHN1cmUgaXQncyBhIGtleVxuICAgICAgICAgIGlmIChleHBvcnROYW1lICYmICEoZXhwb3J0TmFtZSBpbiBtb2R1bGUpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cG9ydCAke2V4cG9ydE5hbWV9IG5vdCBmb3VuZCBpbiBtb2R1bGUgJHtub3JtYWxpemVkVmFsdWV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBtb2R1bGU7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29uc3QgZXJyID0gdG9FcnJvcihlcnJvcik7XG4gICAgICAgICAgaWYodXNlck9wdGlvbnMucGFuaWNUaHJlc2hvbGQgPT09IFwiY3JpdGljYWxfZXJyb3JzXCIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkVycm9yIGxvYWRpbmcgc2VydmVyIG1vZHVsZTpcIiwgZXJyKTtcbiAgICAgICAgICAgIHRlbXBvcmFyeVJlZmVyZW5jZXM/LmRlbGV0ZShtb2R1bGVSZWYpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgbG9hZGluZyBzZXJ2ZXIgbW9kdWxlOlwiLCBlcnIpO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBGb3Igc291cmNlIGZpbGVzIChsaWtlIGN1c3RvbSBSb290L0h0bWwgY29tcG9uZW50cyksIHRyeSB0byBsb2FkIGRpcmVjdGx5IGZyb20gZmlsZXN5c3RlbVxuICAgICAgY29uc3Qgc291cmNlRmlsZVBhdGggPSBqb2luKHVzZXJPcHRpb25zLnByb2plY3RSb290LCBub3JtYWxpemVkVmFsdWUpO1xuICAgICAgaWYgKHVzZXJPcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJbYnVpbGRMb2FkZXJdIENoZWNraW5nIHNvdXJjZSBmaWxlOlwiLCBzb3VyY2VGaWxlUGF0aCwgXCJleGlzdHM6XCIsIGV4aXN0c1N5bmMoc291cmNlRmlsZVBhdGgpKTtcbiAgICAgIH1cbiAgICAgIGlmIChleGlzdHNTeW5jKHNvdXJjZUZpbGVQYXRoKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmICh1c2VyT3B0aW9ucy52ZXJib3NlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIltidWlsZExvYWRlcl0gTG9hZGluZyBzb3VyY2UgZmlsZTpcIiwgc291cmNlRmlsZVBhdGgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEZvciBUeXBlU2NyaXB0L1RTWCBmaWxlcywgZmlyc3QgY2hlY2sgaWYgdGhlcmUncyBhIGJ1aWx0IHZlcnNpb24gaW4gZGlzdFxuICAgICAgICAgIGlmIChzb3VyY2VGaWxlUGF0aC5lbmRzV2l0aCgnLnRzeCcpIHx8IHNvdXJjZUZpbGVQYXRoLmVuZHNXaXRoKCcudHMnKSB8fCBzb3VyY2VGaWxlUGF0aC5lbmRzV2l0aCgnLm10cycpKSB7XG4gICAgICAgICAgICAvLyBUcnkgdG8gZmluZCB0aGUgYnVpbHQgbW9kdWxlIGZpcnN0IC0gY2hlY2sgYm90aCBzdGF0aWMgYW5kIHNlcnZlciBkaXJlY3Rvcmllc1xuICAgICAgICAgICAgY29uc3QgcmVsYXRpdmVQYXRoID0gbm9ybWFsaXplZFZhbHVlLnJlcGxhY2UoL15zcmNcXC8vLCAnJyk7XG4gICAgICAgICAgICBjb25zdCBzdGF0aWNCdWlsdFBhdGggPSBqb2luKFxuICAgICAgICAgICAgICB1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCxcbiAgICAgICAgICAgICAgdXNlck9wdGlvbnMuYnVpbGQub3V0RGlyLFxuICAgICAgICAgICAgICB1c2VyT3B0aW9ucy5idWlsZC5zdGF0aWMsXG4gICAgICAgICAgICAgIHJlbGF0aXZlUGF0aC5yZXBsYWNlKC9cXC4odHN4P3xtdHMpJC8sICcuanMnKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IHNlcnZlckJ1aWx0UGF0aCA9IGpvaW4oXG4gICAgICAgICAgICAgIHVzZXJPcHRpb25zLnByb2plY3RSb290LFxuICAgICAgICAgICAgICB1c2VyT3B0aW9ucy5idWlsZC5vdXREaXIsXG4gICAgICAgICAgICAgIHVzZXJPcHRpb25zLmJ1aWxkLnNlcnZlcixcbiAgICAgICAgICAgICAgcmVsYXRpdmVQYXRoLnJlcGxhY2UoL1xcLih0c3g/fG10cykkLywgJy5qcycpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBDaGVjayBzdGF0aWMgZGlyZWN0b3J5IGZpcnN0LCB0aGVuIHNlcnZlciBkaXJlY3RvcnlcbiAgICAgICAgICAgIGxldCBidWlsdE1vZHVsZVBhdGg6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgICAgICAgICAgaWYgKGV4aXN0c1N5bmMoc3RhdGljQnVpbHRQYXRoKSkge1xuICAgICAgICAgICAgICBidWlsdE1vZHVsZVBhdGggPSBzdGF0aWNCdWlsdFBhdGg7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV4aXN0c1N5bmMoc2VydmVyQnVpbHRQYXRoKSkge1xuICAgICAgICAgICAgICBidWlsdE1vZHVsZVBhdGggPSBzZXJ2ZXJCdWlsdFBhdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChidWlsdE1vZHVsZVBhdGgpIHtcbiAgICAgICAgICAgICAgaWYgKHVzZXJPcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIltidWlsZExvYWRlcl0gRm91bmQgYnVpbHQgbW9kdWxlOlwiLCBidWlsdE1vZHVsZVBhdGgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnN0IG1vZHVsZSA9IGF3YWl0IGltcG9ydChidWlsdE1vZHVsZVBhdGgpO1xuICAgICAgICAgICAgICB0ZW1wb3JhcnlSZWZlcmVuY2VzPy5zZXQobW9kdWxlUmVmLCBtb2R1bGUpO1xuICAgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGFuIGV4cG9ydCBuYW1lLCBtYWtlIHN1cmUgaXQncyBhIGtleVxuICAgICAgICAgICAgICBpZiAoZXhwb3J0TmFtZSAmJiAhKGV4cG9ydE5hbWUgaW4gbW9kdWxlKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwb3J0ICR7ZXhwb3J0TmFtZX0gbm90IGZvdW5kIGluIG1vZHVsZSAke25vcm1hbGl6ZWRWYWx1ZX1gKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gbW9kdWxlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBJZiBubyBidWlsdCBtb2R1bGUgZm91bmQsIHRyeSB0byBjb21waWxlIHRoZSBzb3VyY2UgZmlsZVxuICAgICAgICAgICAgaWYgKHVzZXJPcHRpb25zLnZlcmJvc2UpIHtcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJbYnVpbGRMb2FkZXJdIE5vIGJ1aWx0IG1vZHVsZSBmb3VuZCwgdHJ5aW5nIHRvIGNvbXBpbGUgc291cmNlIGZpbGVcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFVzZSBlc2J1aWxkIHRvIGNvbXBpbGUgdGhlIFR5cGVTY3JpcHQvVFNYIGZpbGVcbiAgICAgICAgICAgIGNvbnN0IHsgdHJhbnNmb3JtV2l0aEVzYnVpbGQgfSA9IGF3YWl0IGltcG9ydCgndml0ZScpO1xuICAgICAgICAgICAgY29uc3Qgc291cmNlQ29kZSA9IGF3YWl0IHJlYWRGaWxlKHNvdXJjZUZpbGVQYXRoLCAndXRmLTgnKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRyYW5zZm9ybVdpdGhFc2J1aWxkKHNvdXJjZUNvZGUsIHNvdXJjZUZpbGVQYXRoLCB7XG4gICAgICAgICAgICAgIGZvcm1hdDogJ2VzbScsXG4gICAgICAgICAgICAgIHNvdXJjZW1hcDogZmFsc2UsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gQ3JlYXRlIGEgdGVtcG9yYXJ5IGZpbGUgd2l0aCB0aGUgY29tcGlsZWQgY29kZVxuICAgICAgICAgICAgY29uc3QgdGVtcEZpbGVQYXRoID0gc291cmNlRmlsZVBhdGgucmVwbGFjZSgvXFwuKHRzeD98bXRzKSQvLCAnLnRlbXAuanMnKTtcbiAgICAgICAgICAgIGF3YWl0IHdyaXRlRmlsZSh0ZW1wRmlsZVBhdGgsIHJlc3VsdC5jb2RlKTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgY29uc3QgbW9kdWxlID0gYXdhaXQgaW1wb3J0KHRlbXBGaWxlUGF0aCk7XG4gICAgICAgICAgICAgIHRlbXBvcmFyeVJlZmVyZW5jZXM/LnNldChtb2R1bGVSZWYsIG1vZHVsZSk7XG4gICAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgYW4gZXhwb3J0IG5hbWUsIG1ha2Ugc3VyZSBpdCdzIGEga2V5XG4gICAgICAgICAgICAgIGlmIChleHBvcnROYW1lICYmICEoZXhwb3J0TmFtZSBpbiBtb2R1bGUpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBvcnQgJHtleHBvcnROYW1lfSBub3QgZm91bmQgaW4gbW9kdWxlICR7bm9ybWFsaXplZFZhbHVlfWApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiBtb2R1bGU7XG4gICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAvLyBDbGVhbiB1cCB0ZW1wb3JhcnkgZmlsZVxuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHVubGluayh0ZW1wRmlsZVBhdGgpO1xuICAgICAgICAgICAgICB9IGNhdGNoIChjbGVhbnVwRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAvLyBJZ25vcmUgY2xlYW51cCBlcnJvcnNcbiAgICAgICAgICAgICAgICBpZiAodXNlck9wdGlvbnMudmVyYm9zZSkge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiW2J1aWxkTG9hZGVyXSBGYWlsZWQgdG8gY2xlYW51cCB0ZW1wIGZpbGU6XCIsIGNsZWFudXBFcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEZvciBvdGhlciBmaWxlcywgcmVhZCBhcyB0ZXh0XG4gICAgICAgICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZEZpbGUoc291cmNlRmlsZVBhdGgsICd1dGYtOCcpO1xuICAgICAgICAgICAgcmV0dXJuIHsgZGVmYXVsdDogY29udGVudCB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zdCBlcnIgPSB0b0Vycm9yKGVycm9yKTtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXCJFcnJvciBsb2FkaW5nIHNvdXJjZSBmaWxlOlwiLCBlcnIpO1xuICAgICAgICAgIHRlbXBvcmFyeVJlZmVyZW5jZXM/LmRlbGV0ZShtb2R1bGVSZWYpO1xuICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1vZHVsZSAke25vcm1hbGl6ZWRWYWx1ZX0gbm90IGZvdW5kIGR1cmluZyBidWlsZGApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBlbXB0eUV4cG9ydHMgPSB7XG4gICAgICAgIGVycm9yOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IgOiBuZXcgRXJyb3IoU3RyaW5nKGVycm9yKSksXG4gICAgICAgIGlkOiBpZCxcbiAgICAgIH07XG4gICAgICB0ZW1wb3JhcnlSZWZlcmVuY2VzPy5kZWxldGUobW9kdWxlUmVmKTtcbiAgICAgIHJldHVybiBl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
|
|
@@ -66,4 +66,4 @@ async function fileWriter(stream, fileType, options) {
|
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
export { fileWriter };
|
|
69
|
-
//# sourceMappingURL=
|
|
69
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZVdyaXRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3JlYWN0LXN0YXRpYy9maWxlV3JpdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZmlsZVdyaXRlci50c1xuICpcbiAqIFBVUlBPU0U6IEhhbmRsZXMgZmlsZSB3cml0aW5nIG9wZXJhdGlvbnMgZm9yIFJlYWN0IFNlcnZlciBDb21wb25lbnRzIChSU0MpIHJlbmRlcmluZ1xuICpcbiAqIFRoaXMgbW9kdWxlOlxuICogMS4gV3JpdGVzIEhUTUwgYW5kIFJTQyBmaWxlcyB0byB0aGUgZmlsZXN5c3RlbSB1c2luZyBzdHJlYW1zXG4gKiAyLiBDcmVhdGVzIG5lY2Vzc2FyeSBkaXJlY3Rvcmllc1xuICogMy4gSGFuZGxlcyBmaWxlIHBhdGggY29uc3RydWN0aW9uXG4gKiA0LiBQcm92aWRlcyBhIGNsZWFuIGludGVyZmFjZSBmb3IgZmlsZSBvcGVyYXRpb25zXG4gKi9cbmltcG9ydCB0eXBlIHsgRmlsZVdyaXRlck9wdGlvbnMgfSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBjcmVhdGVXcml0ZVN0cmVhbSB9IGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyBta2RpciB9IGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCI7XG5pbXBvcnQgeyB0eXBlIFJlYWRhYmxlLCBUcmFuc2Zvcm0gfSBmcm9tIFwibm9kZTpzdHJlYW1cIjtcblxuLyoqXG4gKiBXcml0ZXMgSFRNTCBhbmQgUlNDIGZpbGVzIGZvciBhIHJvdXRlIHVzaW5nIHN0cmVhbXNcbiAqXG4gKiBAcGFyYW0gc3RyZWFtIFRoZSByZWFkYWJsZSBzdHJlYW0gY29udGFpbmluZyB0aGUgY29udGVudFxuICogQHBhcmFtIGZpbGVUeXBlIFRoZSB0eXBlIG9mIGZpbGUgYmVpbmcgd3JpdHRlbiAoXCJodG1sXCIgb3IgXCJyc2NcIilcbiAqIEBwYXJhbSBvcHRpb25zIFRoZSBmaWxlIHdyaXRlciBvcHRpb25zXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGlzIHdyaXR0ZW5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZpbGVXcml0ZXIoXG4gIHN0cmVhbTogUmVhZGFibGUsXG4gIGZpbGVUeXBlOiBcImh0bWxcIiB8IFwicnNjXCIsXG4gIG9wdGlvbnM6IEZpbGVXcml0ZXJPcHRpb25zXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBvbkV2ZW50IH0gPSBvcHRpb25zO1xuXG4gIC8vIFZhbGlkYXRlIHN0cmVhbVxuICBpZiAoIXN0cmVhbSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyBzdHJlYW0gZm9yIHJvdXRlOiAke29wdGlvbnMucm91dGV9YCk7XG4gIH1cblxuICBjb25zdCBvdXRwdXRQYXRoID0gam9pbihcbiAgICBvcHRpb25zLmJ1aWxkLm91dERpcixcbiAgICBvcHRpb25zLmJ1aWxkLnN0YXRpYyxcbiAgICBvcHRpb25zLnJvdXRlLFxuICAgIGZpbGVUeXBlID09PSBcImh0bWxcIiA/IG9wdGlvbnMuYnVpbGQuaHRtbE91dHB1dFBhdGggOiBvcHRpb25zLmJ1aWxkLnJzY091dHB1dFBhdGhcbiAgKTtcblxuICAvLyBFbnN1cmUgZGlyZWN0b3J5IGV4aXN0c1xuICB0cnkge1xuICAgIGF3YWl0IG1rZGlyKGpvaW4ob3B0aW9ucy5idWlsZC5vdXREaXIsIG9wdGlvbnMuYnVpbGQuc3RhdGljLCBvcHRpb25zLnJvdXRlKSwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihgRXJyb3IgY3JlYXRpbmcgZGlyZWN0b3J5OiAke2Vycm9yfWApO1xuICB9XG5cbiAgLy8gQ3JlYXRlIHdyaXRlIHN0cmVhbVxuICBjb25zdCB3cml0ZVN0cmVhbSA9IGNyZWF0ZVdyaXRlU3RyZWFtKG91dHB1dFBhdGgpO1xuXG4gIC8vIENyZWF0ZSB0cmFuc2Zvcm0gc3RyZWFtIHRvIGNhcHR1cmUgY29udGVudFxuICBjb25zdCBjb250ZW50Q2FwdHVyZSA9IG5ldyBUcmFuc2Zvcm0oe1xuICAgIHRyYW5zZm9ybShjaHVuaywgX2VuY29kaW5nLCBjYWxsYmFjaykge1xuICAgICAgLy8gUGFzcyB0aHJvdWdoIHRoZSBjaHVua1xuICAgICAgY2FsbGJhY2sobnVsbCwgY2h1bmspO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gQ29sbGVjdCBjaHVua3MgZm9yIGNvbnRlbnRcbiAgY29uc3QgY2h1bmtzOiBCdWZmZXJbXSA9IFtdO1xuICBjb250ZW50Q2FwdHVyZS5vbignZGF0YScsIChjaHVuaykgPT4ge1xuICAgIGNodW5rcy5wdXNoKEJ1ZmZlci5mcm9tKGNodW5rKSk7XG4gIH0pO1xuXG4gIC8vIEVtaXQgZmlsZS53cml0ZSBldmVudHMgaWYgb25FdmVudCBpcyBwcm92aWRlZFxuICBpZiAob25FdmVudCkge1xuICAgIG9uRXZlbnQoe1xuICAgICAgdHlwZTogXCJmaWxlLndyaXRlXCIsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGZpbGVUeXBlOiBmaWxlVHlwZSxcbiAgICAgICAgcm91dGU6IG9wdGlvbnMucm91dGUsXG4gICAgICAgIHN0cmVhbTogc3RyZWFtLFxuICAgICAgICBwYXRoOiBvdXRwdXRQYXRoLFxuICAgICAgICBvbkNvbXBsZXRlOiBhc3luYyAoKSA9PiB7fSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvLyBQaXBlIHRoZSBzdHJlYW0gdGhyb3VnaCBjb250ZW50IGNhcHR1cmUgdG8gZmlsZVxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHN0cmVhbVxuICAgICAgLnBpcGUoY29udGVudENhcHR1cmUpXG4gICAgICAucGlwZSh3cml0ZVN0cmVhbSlcbiAgICAgIC5vbihcImZpbmlzaFwiLCAoKSA9PiB7XG4gICAgICAgIC8vIENvbWJpbmUgY2h1bmtzIGludG8gY29udGVudFxuICAgICAgICBjb25zdCBjb250ZW50ID0gQnVmZmVyLmNvbmNhdChjaHVua3MpLnRvU3RyaW5nKCd1dGYtOCcpO1xuICAgICAgICBcbiAgICAgICAgLy8gRW1pdCBmaWxlLndyaXRlLmRvbmUgZXZlbnQgd2l0aCBjb250ZW50XG4gICAgICAgIGlmIChvbkV2ZW50KSB7XG4gICAgICAgICAgb25FdmVudCh7XG4gICAgICAgICAgICB0eXBlOiBcImZpbGUud3JpdGUuZG9uZVwiLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICBmaWxlVHlwZTogZmlsZVR5cGUsXG4gICAgICAgICAgICAgIHJvdXRlOiBvcHRpb25zLnJvdXRlLFxuICAgICAgICAgICAgICBjb250ZW50OiBjb250ZW50XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH0pXG4gICAgICAub24oXCJlcnJvclwiLCByZWplY3QpO1xuICB9KTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBeUJBLGVBQXNCLFVBQUEsQ0FDcEIsTUFDQSxFQUFBLFFBQUEsRUFDQSxPQUNlLEVBQUE7QUFDZixFQUFNLE1BQUEsRUFBRSxTQUFZLEdBQUEsT0FBQTtBQUdwQixFQUFBLElBQUksQ0FBQyxNQUFRLEVBQUE7QUFDWCxJQUFBLE1BQU0sSUFBSSxLQUFBLENBQU0sQ0FBNkIsMEJBQUEsRUFBQSxPQUFBLENBQVEsS0FBSyxDQUFFLENBQUEsQ0FBQTtBQUFBO0FBRzlELEVBQUEsTUFBTSxVQUFhLEdBQUEsSUFBQTtBQUFBLElBQ2pCLFFBQVEsS0FBTSxDQUFBLE1BQUE7QUFBQSxJQUNkLFFBQVEsS0FBTSxDQUFBLE1BQUE7QUFBQSxJQUNkLE9BQVEsQ0FBQSxLQUFBO0FBQUEsSUFDUixhQUFhLE1BQVMsR0FBQSxPQUFBLENBQVEsS0FBTSxDQUFBLGNBQUEsR0FBaUIsUUFBUSxLQUFNLENBQUE7QUFBQSxHQUNyRTtBQUdBLEVBQUksSUFBQTtBQUNGLElBQUEsTUFBTSxLQUFNLENBQUEsSUFBQSxDQUFLLE9BQVEsQ0FBQSxLQUFBLENBQU0sUUFBUSxPQUFRLENBQUEsS0FBQSxDQUFNLE1BQVEsRUFBQSxPQUFBLENBQVEsS0FBSyxDQUFBLEVBQUcsRUFBRSxTQUFBLEVBQVcsTUFBTSxDQUFBO0FBQUEsV0FDekYsS0FBTyxFQUFBO0FBQ2QsSUFBUSxPQUFBLENBQUEsS0FBQSxDQUFNLENBQTZCLDBCQUFBLEVBQUEsS0FBSyxDQUFFLENBQUEsQ0FBQTtBQUFBO0FBSXBELEVBQU0sTUFBQSxXQUFBLEdBQWMsa0JBQWtCLFVBQVUsQ0FBQTtBQUdoRCxFQUFNLE1BQUEsY0FBQSxHQUFpQixJQUFJLFNBQVUsQ0FBQTtBQUFBLElBQ25DLFNBQUEsQ0FBVSxLQUFPLEVBQUEsU0FBQSxFQUFXLFFBQVUsRUFBQTtBQUVwQyxNQUFBLFFBQUEsQ0FBUyxNQUFNLEtBQUssQ0FBQTtBQUFBO0FBQ3RCLEdBQ0QsQ0FBQTtBQUdELEVBQUEsTUFBTSxTQUFtQixFQUFDO0FBQzFCLEVBQWUsY0FBQSxDQUFBLEVBQUEsQ0FBRyxNQUFRLEVBQUEsQ0FBQyxLQUFVLEtBQUE7QUFDbkMsSUFBQSxNQUFBLENBQU8sSUFBSyxDQUFBLE1BQUEsQ0FBTyxJQUFLLENBQUEsS0FBSyxDQUFDLENBQUE7QUFBQSxHQUMvQixDQUFBO0FBR0QsRUFBQSxJQUFJLE9BQVMsRUFBQTtBQUNYLElBQVEsT0FBQSxDQUFBO0FBQUEsTUFDTixJQUFNLEVBQUEsWUFBQTtBQUFBLE1BQ04sSUFBTSxFQUFBO0FBQUEsUUFDSixRQUFBO0FBQUEsUUFDQSxPQUFPLE9BQVEsQ0FBQSxLQUFBO0FBQUEsUUFDZixNQUFBO0FBQUEsUUFDQSxJQUFNLEVBQUEsVUFBQTtBQUFBLFFBQ04sWUFBWSxZQUFZO0FBQUE7QUFBQztBQUMzQixLQUNELENBQUE7QUFBQTtBQUlILEVBQUEsT0FBTyxJQUFJLE9BQUEsQ0FBUSxDQUFDLE9BQUEsRUFBUyxNQUFXLEtBQUE7QUFDdEMsSUFDRyxNQUFBLENBQUEsSUFBQSxDQUFLLGNBQWMsQ0FDbkIsQ0FBQSxJQUFBLENBQUssV0FBVyxDQUNoQixDQUFBLEVBQUEsQ0FBRyxVQUFVLE1BQU07QUFFbEIsTUFBQSxNQUFNLFVBQVUsTUFBTyxDQUFBLE1BQUEsQ0FBTyxNQUFNLENBQUEsQ0FBRSxTQUFTLE9BQU8sQ0FBQTtBQUd0RCxNQUFBLElBQUksT0FBUyxFQUFBO0FBQ1gsUUFBUSxPQUFBLENBQUE7QUFBQSxVQUNOLElBQU0sRUFBQSxpQkFBQTtBQUFBLFVBQ04sSUFBTSxFQUFBO0FBQUEsWUFDSixRQUFBO0FBQUEsWUFDQSxPQUFPLE9BQVEsQ0FBQSxLQUFBO0FBQUEsWUFDZjtBQUFBO0FBQ0YsU0FDRCxDQUFBO0FBQUE7QUFFSCxNQUFRLE9BQUEsRUFBQTtBQUFBLEtBQ1QsQ0FBQSxDQUNBLEVBQUcsQ0FBQSxPQUFBLEVBQVMsTUFBTSxDQUFBO0FBQUEsR0FDdEIsQ0FBQTtBQUNIOzs7OyJ9
|