@bleedingdev/modern-js-runtime 3.8.3-ultramodern.6 → 3.9.0-ultramodern.10
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/dist/cjs/cli/code.js +3 -1
- package/dist/cjs/cli/ssr/index.js +2 -74
- package/dist/cjs/core/browser/hydrate.js +6 -1
- package/dist/cjs/core/context/index.js +4 -43
- package/dist/cjs/core/context/public.js +4 -7
- package/dist/cjs/core/context/runtime.js +17 -5
- package/dist/cjs/core/react/wrapper.js +22 -65
- package/dist/cjs/core/server/helmet.js +5 -4
- package/dist/cjs/core/server/requestResponse.js +4 -4
- package/dist/cjs/core/server/routerCleanup.js +2 -2
- package/dist/cjs/core/server/shared.js +171 -4
- package/dist/cjs/core/server/stream/afterTemplate.js +21 -16
- package/dist/cjs/core/server/stream/beforeTemplate.js +34 -25
- package/dist/cjs/core/server/stream/beforeTemplate.worker.js +28 -21
- package/dist/cjs/core/server/stream/createReadableStream.js +208 -123
- package/dist/cjs/core/server/stream/createReadableStream.worker.js +159 -90
- package/dist/cjs/core/server/stream/deferredScript.js +3 -3
- package/dist/cjs/core/server/stream/shared.js +2 -2
- package/dist/cjs/core/server/string/index.js +100 -64
- package/dist/cjs/core/server/string/loadable.js +34 -19
- package/dist/cjs/core/server/string/ssrData.js +5 -12
- package/dist/cjs/core/server/utils.js +1 -2
- package/dist/cjs/document/cli/index.js +1 -2
- package/dist/cjs/exports/head.js +7 -14
- package/dist/cjs/router/runtime/PrefetchLink.js +67 -123
- package/dist/cjs/router/runtime/hooks.js +13 -2
- package/dist/cjs/router/runtime/internal.js +7 -45
- package/dist/cjs/router/runtime/plugin.js +2 -8
- package/dist/cjs/router/runtime/plugin.node.js +2 -30
- package/dist/cjs/router/runtime/redirect.js +1 -1
- package/dist/esm/cli/code.mjs +3 -1
- package/dist/esm/cli/ssr/index.mjs +3 -72
- package/dist/esm/core/browser/hydrate.mjs +7 -2
- package/dist/esm/core/context/index.mjs +2 -5
- package/dist/esm/core/context/public.mjs +1 -5
- package/dist/esm/core/context/runtime.mjs +13 -4
- package/dist/esm/core/react/wrapper.mjs +21 -67
- package/dist/esm/core/server/helmet.mjs +5 -4
- package/dist/esm/core/server/requestResponse.mjs +3 -3
- package/dist/esm/core/server/routerCleanup.mjs +1 -1
- package/dist/esm/core/server/shared.mjs +153 -1
- package/dist/esm/core/server/stream/afterTemplate.mjs +23 -18
- package/dist/esm/core/server/stream/beforeTemplate.mjs +37 -28
- package/dist/esm/core/server/stream/beforeTemplate.worker.mjs +31 -24
- package/dist/esm/core/server/stream/createReadableStream.mjs +207 -122
- package/dist/esm/core/server/stream/createReadableStream.worker.mjs +149 -90
- package/dist/esm/core/server/stream/deferredScript.mjs +3 -3
- package/dist/esm/core/server/stream/shared.mjs +2 -2
- package/dist/esm/core/server/string/index.mjs +104 -68
- package/dist/esm/core/server/string/loadable.mjs +34 -19
- package/dist/esm/core/server/string/ssrData.mjs +5 -12
- package/dist/esm/core/server/utils.mjs +1 -2
- package/dist/esm/document/cli/index.mjs +2 -3
- package/dist/esm/exports/head.mjs +7 -14
- package/dist/esm/router/runtime/PrefetchLink.mjs +68 -124
- package/dist/esm/router/runtime/hooks.mjs +9 -1
- package/dist/esm/router/runtime/internal.mjs +2 -33
- package/dist/esm/router/runtime/plugin.mjs +1 -7
- package/dist/esm/router/runtime/plugin.node.mjs +1 -29
- package/dist/esm/router/runtime/redirect.mjs +1 -1
- package/dist/esm-node/cli/code.mjs +3 -1
- package/dist/esm-node/cli/ssr/index.mjs +3 -72
- package/dist/esm-node/core/browser/hydrate.mjs +7 -2
- package/dist/esm-node/core/context/index.mjs +2 -5
- package/dist/esm-node/core/context/public.mjs +1 -5
- package/dist/esm-node/core/context/runtime.mjs +13 -4
- package/dist/esm-node/core/react/wrapper.mjs +21 -67
- package/dist/esm-node/core/server/helmet.mjs +5 -4
- package/dist/esm-node/core/server/requestResponse.mjs +3 -3
- package/dist/esm-node/core/server/routerCleanup.mjs +1 -1
- package/dist/esm-node/core/server/shared.mjs +153 -1
- package/dist/esm-node/core/server/stream/afterTemplate.mjs +23 -18
- package/dist/esm-node/core/server/stream/beforeTemplate.mjs +37 -28
- package/dist/esm-node/core/server/stream/beforeTemplate.worker.mjs +31 -24
- package/dist/esm-node/core/server/stream/createReadableStream.mjs +207 -122
- package/dist/esm-node/core/server/stream/createReadableStream.worker.mjs +149 -90
- package/dist/esm-node/core/server/stream/deferredScript.mjs +3 -3
- package/dist/esm-node/core/server/stream/shared.mjs +2 -2
- package/dist/esm-node/core/server/string/index.mjs +104 -68
- package/dist/esm-node/core/server/string/loadable.mjs +34 -19
- package/dist/esm-node/core/server/string/ssrData.mjs +5 -12
- package/dist/esm-node/core/server/utils.mjs +1 -2
- package/dist/esm-node/document/cli/index.mjs +2 -3
- package/dist/esm-node/exports/head.mjs +7 -14
- package/dist/esm-node/router/runtime/PrefetchLink.mjs +68 -124
- package/dist/esm-node/router/runtime/hooks.mjs +9 -1
- package/dist/esm-node/router/runtime/internal.mjs +2 -33
- package/dist/esm-node/router/runtime/plugin.mjs +1 -7
- package/dist/esm-node/router/runtime/plugin.node.mjs +1 -29
- package/dist/esm-node/router/runtime/redirect.mjs +1 -1
- package/dist/types/cli/index.d.ts +7 -7
- package/dist/types/cli/ssr/index.d.ts +0 -3
- package/dist/types/core/browser/hydrate.d.ts +1 -1
- package/dist/types/core/browser/index.d.ts +1 -1
- package/dist/types/core/compat/hooks.d.ts +1 -1
- package/dist/types/core/compat/index.d.ts +1 -1
- package/dist/types/core/compat/requestContext.d.ts +3 -3
- package/dist/types/core/config.d.ts +1 -1
- package/dist/types/core/context/index.d.ts +8 -10
- package/dist/types/core/context/monitors/index.d.ts +1 -1
- package/dist/types/core/context/monitors/index.server.d.ts +1 -1
- package/dist/types/core/context/public.d.ts +1 -23
- package/dist/types/core/context/runtime.d.ts +27 -3
- package/dist/types/core/context/serverPayload/index.d.ts +1 -1
- package/dist/types/core/index.d.ts +5 -5
- package/dist/types/core/plugin/index.d.ts +1 -1
- package/dist/types/core/plugin/types.d.ts +2 -2
- package/dist/types/core/react/wrapper.d.ts +7 -1
- package/dist/types/core/server/helmet.d.ts +4 -5
- package/dist/types/core/server/index.d.ts +2 -2
- package/dist/types/core/server/react/index.d.ts +2 -2
- package/dist/types/core/server/requestHandler.d.ts +3 -3
- package/dist/types/core/server/requestResponse.d.ts +3 -3
- package/dist/types/core/server/routerCleanup.d.ts +2 -2
- package/dist/types/core/server/server.d.ts +4 -4
- package/dist/types/core/server/shared.d.ts +25 -2
- package/dist/types/core/server/stream/afterTemplate.d.ts +5 -4
- package/dist/types/core/server/stream/beforeTemplate.d.ts +6 -3
- package/dist/types/core/server/stream/beforeTemplate.worker.d.ts +6 -3
- package/dist/types/core/server/stream/createReadableStream.d.ts +1 -1
- package/dist/types/core/server/stream/createReadableStream.worker.d.ts +1 -1
- package/dist/types/core/server/stream/index.d.ts +1 -1
- package/dist/types/core/server/stream/shared.d.ts +5 -5
- package/dist/types/core/server/stream/template.d.ts +2 -2
- package/dist/types/core/server/string/index.d.ts +1 -1
- package/dist/types/core/server/string/loadable.d.ts +7 -4
- package/dist/types/core/server/string/ssrData.d.ts +5 -4
- package/dist/types/core/server/string/types.d.ts +2 -6
- package/dist/types/core/server/tracer.d.ts +1 -1
- package/dist/types/core/server/utils.d.ts +2 -2
- package/dist/types/core/types.d.ts +2 -3
- package/dist/types/document/index.d.ts +12 -12
- package/dist/types/exports/config-routes.d.ts +1 -1
- package/dist/types/exports/head.d.ts +2 -2
- package/dist/types/index.d.ts +9 -9
- package/dist/types/internal.d.ts +1 -1
- package/dist/types/react-server.d.ts +3 -3
- package/dist/types/router/cli/code/getClientRoutes/index.d.ts +1 -1
- package/dist/types/router/cli/handler.d.ts +1 -1
- package/dist/types/router/cli/index.d.ts +3 -3
- package/dist/types/router/index.d.ts +1 -1
- package/dist/types/router/internal.d.ts +2 -2
- package/dist/types/router/runtime/PrefetchLink.d.ts +27 -2
- package/dist/types/router/runtime/hooks.d.ts +19 -2
- package/dist/types/router/runtime/index.d.ts +4 -4
- package/dist/types/router/runtime/internal.d.ts +5 -22
- package/dist/types/router/runtime/plugin.d.ts +3 -3
- package/dist/types/router/runtime/plugin.node.d.ts +3 -3
- package/dist/types/router/runtime/rsc-router.d.ts +3 -3
- package/dist/types/router/runtime/types.d.ts +2 -43
- package/dist/types/router/runtime/utils.d.ts +1 -1
- package/package.json +19 -47
- package/rstest.config.mts +32 -2
- package/dist/cjs/boundary-debugger/index.js +0 -317
- package/dist/cjs/core/context/extensions.js +0 -74
- package/dist/cjs/core/context/helmetContext.js +0 -54
- package/dist/cjs/core/server/federatedCss.js +0 -58
- package/dist/cjs/core/server/scriptOrder.js +0 -140
- package/dist/cjs/module-federation/consume-surface.js +0 -199
- package/dist/cjs/module-federation/distributed-ssr.js +0 -135
- package/dist/cjs/module-federation/index.js +0 -316
- package/dist/cjs/module-federation/last-known-good.js +0 -157
- package/dist/cjs/module-federation/manifest-recovery-runtime-plugin.js +0 -129
- package/dist/cjs/module-federation/surface-resolution-types.js +0 -61
- package/dist/cjs/router/runtime/lifecycle.js +0 -167
- package/dist/cjs/router/runtime/provider.js +0 -153
- package/dist/esm/boundary-debugger/index.mjs +0 -277
- package/dist/esm/core/context/extensions.mjs +0 -33
- package/dist/esm/core/context/helmetContext.mjs +0 -13
- package/dist/esm/core/server/federatedCss.mjs +0 -20
- package/dist/esm/core/server/scriptOrder.mjs +0 -90
- package/dist/esm/module-federation/consume-surface.mjs +0 -158
- package/dist/esm/module-federation/distributed-ssr.mjs +0 -82
- package/dist/esm/module-federation/index.mjs +0 -115
- package/dist/esm/module-federation/last-known-good.mjs +0 -113
- package/dist/esm/module-federation/manifest-recovery-runtime-plugin.mjs +0 -89
- package/dist/esm/module-federation/surface-resolution-types.mjs +0 -8
- package/dist/esm/router/runtime/lifecycle.mjs +0 -105
- package/dist/esm/router/runtime/provider.mjs +0 -100
- package/dist/esm-node/boundary-debugger/index.mjs +0 -278
- package/dist/esm-node/core/context/extensions.mjs +0 -34
- package/dist/esm-node/core/context/helmetContext.mjs +0 -14
- package/dist/esm-node/core/server/federatedCss.mjs +0 -21
- package/dist/esm-node/core/server/scriptOrder.mjs +0 -91
- package/dist/esm-node/module-federation/consume-surface.mjs +0 -159
- package/dist/esm-node/module-federation/distributed-ssr.mjs +0 -83
- package/dist/esm-node/module-federation/index.mjs +0 -116
- package/dist/esm-node/module-federation/last-known-good.mjs +0 -114
- package/dist/esm-node/module-federation/manifest-recovery-runtime-plugin.mjs +0 -90
- package/dist/esm-node/module-federation/surface-resolution-types.mjs +0 -9
- package/dist/esm-node/router/runtime/lifecycle.mjs +0 -106
- package/dist/esm-node/router/runtime/provider.mjs +0 -101
- package/dist/types/boundary-debugger/index.d.ts +0 -28
- package/dist/types/core/context/extensions.d.ts +0 -35
- package/dist/types/core/context/helmetContext.d.ts +0 -10
- package/dist/types/core/server/federatedCss.d.ts +0 -5
- package/dist/types/core/server/scriptOrder.d.ts +0 -25
- package/dist/types/module-federation/consume-surface.d.ts +0 -104
- package/dist/types/module-federation/distributed-ssr.d.ts +0 -61
- package/dist/types/module-federation/index.d.ts +0 -71
- package/dist/types/module-federation/last-known-good.d.ts +0 -52
- package/dist/types/module-federation/manifest-recovery-runtime-plugin.d.ts +0 -25
- package/dist/types/module-federation/surface-resolution-types.d.ts +0 -23
- package/dist/types/router/runtime/lifecycle.d.ts +0 -27
- package/dist/types/router/runtime/provider.d.ts +0 -78
- /package/dist/esm/{rslib-runtime.mjs → rslib-runtime~1.mjs} +0 -0
- /package/dist/esm-node/{rslib-runtime.mjs → rslib-runtime~0.mjs} +0 -0
package/dist/cjs/cli/code.js
CHANGED
|
@@ -115,7 +115,9 @@ const generateCode = async (entrypoints, appContext, config, hooks)=>{
|
|
|
115
115
|
const bootstrapFile = external_path_default().resolve(internalDirectory, `./${entryName}/${external_constants_js_namespaceObject.ENTRY_BOOTSTRAP_FILE_NAME}`);
|
|
116
116
|
await utils_namespaceObject.fs.outputFile(bootstrapFile, `import(/* webpackChunkName: "async-${entryName}" */ './${external_constants_js_namespaceObject.INDEX_FILE_NAME}');`, 'utf8');
|
|
117
117
|
const bootstrapServerFile = external_path_default().resolve(internalDirectory, `./${entryName}/${external_constants_js_namespaceObject.ENTRY_SERVER_BOOTSTRAP_FILE_NAME}`);
|
|
118
|
-
if (ssrMode) await utils_namespaceObject.fs.outputFile(bootstrapServerFile, `export const requestHandler = import('./${external_constants_js_namespaceObject.SERVER_ENTRY_POINT_FILE_NAME}').then((m) => m.requestHandler)
|
|
118
|
+
if (ssrMode) await utils_namespaceObject.fs.outputFile(bootstrapServerFile, `export const requestHandler = import('./${external_constants_js_namespaceObject.SERVER_ENTRY_POINT_FILE_NAME}').then((m) => m.requestHandler);
|
|
119
|
+
// The renderer awaits this promise later; retain its rejection without an early unhandled rejection.
|
|
120
|
+
requestHandler.catch(() => {});`, 'utf8');
|
|
119
121
|
}
|
|
120
122
|
if (ssrMode) {
|
|
121
123
|
const indexServerCode = external_template_server_js_namespaceObject.serverIndex({
|
|
@@ -38,7 +38,6 @@ var __webpack_exports__ = {};
|
|
|
38
38
|
__webpack_require__.r(__webpack_exports__);
|
|
39
39
|
__webpack_require__.d(__webpack_exports__, {
|
|
40
40
|
default: ()=>cli_ssr,
|
|
41
|
-
shouldUseModuleFederationNodeOutput: ()=>shouldUseModuleFederationNodeOutput,
|
|
42
41
|
ssrPlugin: ()=>ssrPlugin
|
|
43
42
|
});
|
|
44
43
|
const utils_namespaceObject = require("@modern-js/utils");
|
|
@@ -47,51 +46,6 @@ var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_na
|
|
|
47
46
|
const external_loadable_bundler_plugin_js_namespaceObject = require("./loadable-bundler-plugin.js");
|
|
48
47
|
var external_loadable_bundler_plugin_js_default = /*#__PURE__*/ __webpack_require__.n(external_loadable_bundler_plugin_js_namespaceObject);
|
|
49
48
|
const external_mode_js_namespaceObject = require("./mode.js");
|
|
50
|
-
const getRspackPlugins = (rspackConfig)=>{
|
|
51
|
-
if (!rspackConfig) return [];
|
|
52
|
-
const rspackEntries = Array.isArray(rspackConfig) ? rspackConfig : [
|
|
53
|
-
rspackConfig
|
|
54
|
-
];
|
|
55
|
-
const plugins = [];
|
|
56
|
-
for (const entry of rspackEntries){
|
|
57
|
-
if (!entry || 'function' == typeof entry || 'object' != typeof entry) continue;
|
|
58
|
-
const maybePlugins = entry.plugins;
|
|
59
|
-
if (Array.isArray(maybePlugins)) {
|
|
60
|
-
for (const plugin of maybePlugins)if (plugin) plugins.push(plugin);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return plugins;
|
|
64
|
-
};
|
|
65
|
-
const getRspackPluginName = (plugin)=>{
|
|
66
|
-
if ('string' == typeof plugin) return plugin;
|
|
67
|
-
if ('function' == typeof plugin) return plugin.name;
|
|
68
|
-
if (Array.isArray(plugin)) {
|
|
69
|
-
const [first] = plugin;
|
|
70
|
-
if (!first) return;
|
|
71
|
-
if ('string' == typeof first) return first;
|
|
72
|
-
if ('function' == typeof first) return first.name;
|
|
73
|
-
if ('object' == typeof first) return first.name || first.constructor?.name;
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
return plugin.name || plugin.constructor?.name;
|
|
77
|
-
};
|
|
78
|
-
const hasServerRenderingConfig = (userConfig)=>{
|
|
79
|
-
const { output, server } = userConfig;
|
|
80
|
-
if (output?.ssg) return true;
|
|
81
|
-
if (output?.ssgByEntries && Object.keys(output.ssgByEntries).length > 0) return true;
|
|
82
|
-
if (server?.ssr) return true;
|
|
83
|
-
if (server?.ssrByEntries && Object.keys(server.ssrByEntries).length > 0) return true;
|
|
84
|
-
return false;
|
|
85
|
-
};
|
|
86
|
-
const isModuleFederationAppSSREnabledInConfig = (ssr)=>{
|
|
87
|
-
if (!ssr || 'object' != typeof ssr) return false;
|
|
88
|
-
return true === ssr.moduleFederationAppSSR;
|
|
89
|
-
};
|
|
90
|
-
const isModuleFederationAppSSREnabled = (userConfig)=>{
|
|
91
|
-
if (isModuleFederationAppSSREnabledInConfig(userConfig.server?.ssr)) return true;
|
|
92
|
-
if (userConfig.server?.ssrByEntries && 'object' == typeof userConfig.server.ssrByEntries) return Object.values(userConfig.server.ssrByEntries).some(isModuleFederationAppSSREnabledInConfig);
|
|
93
|
-
return false;
|
|
94
|
-
};
|
|
95
49
|
const checkUseStringSSR = (config, appDirectory, entrypoints)=>{
|
|
96
50
|
if (entrypoints && entrypoints.length > 0) {
|
|
97
51
|
for (const entrypoint of entrypoints){
|
|
@@ -107,41 +61,19 @@ const checkUseStringSSR = (config, appDirectory, entrypoints)=>{
|
|
|
107
61
|
}
|
|
108
62
|
return true;
|
|
109
63
|
};
|
|
110
|
-
const isModuleFederationRspackPlugin = (plugin)=>{
|
|
111
|
-
const candidate = getRspackPluginName(plugin);
|
|
112
|
-
return 'string' == typeof candidate && /modulefederation/i.test(candidate);
|
|
113
|
-
};
|
|
114
|
-
const hasModuleFederationMarker = (config)=>{
|
|
115
|
-
if ('true' === process.env.MF_SSR_PRJ) return true;
|
|
116
|
-
const define = config.source?.define || {};
|
|
117
|
-
if ('REMOTE_IP_STRATEGY' in define || 'FEDERATION_IPV4' in define) return true;
|
|
118
|
-
const plugins = getRspackPlugins(config.tools?.rspack);
|
|
119
|
-
return plugins.some(isModuleFederationRspackPlugin);
|
|
120
|
-
};
|
|
121
64
|
const isNodeEnvironmentTarget = (target)=>'string' == typeof target && ('node' === target || 'async-node' === target || target.startsWith('node'));
|
|
122
|
-
const shouldUseModuleFederationNodeOutput = (config)=>isNodeEnvironmentTarget(config.output?.target) && hasModuleFederationMarker(config);
|
|
123
65
|
const ssrBuilderPlugin = (modernAPI, outputModule, exportLoadablePath)=>({
|
|
124
66
|
name: '@modern-js/builder-plugin-ssr',
|
|
125
67
|
setup (api) {
|
|
126
68
|
api.modifyEnvironmentConfig((config, { name, mergeEnvironmentConfig })=>{
|
|
127
69
|
const isServerEnvironment = isNodeEnvironmentTarget(config.output.target) || 'workerSSR' === name;
|
|
128
70
|
const userConfig = modernAPI.getNormalizedConfig();
|
|
129
|
-
const hasServerRendering = hasServerRenderingConfig(userConfig);
|
|
130
|
-
const hasModuleFederationRuntimeMarker = hasServerRendering && shouldUseModuleFederationNodeOutput(config);
|
|
131
|
-
const hasExplicitMfSsrFlag = isModuleFederationAppSSREnabled(userConfig);
|
|
132
|
-
const requireExplicitMfSsrFlag = 'true' === process.env.MODERN_MF_APP_SSR_REQUIRE_EXPLICIT;
|
|
133
|
-
if (hasServerRendering && hasModuleFederationRuntimeMarker && !hasExplicitMfSsrFlag) {
|
|
134
|
-
const warningMessage = '[modernjs][mf-ssr] Module Federation SSR was auto-detected from runtime markers. Set server.ssr.moduleFederationAppSSR=true explicitly in host and remotes to avoid heuristic drift.';
|
|
135
|
-
if (requireExplicitMfSsrFlag) throw new Error(`${warningMessage} (enforced by MODERN_MF_APP_SSR_REQUIRE_EXPLICIT=true)`);
|
|
136
|
-
console.warn(warningMessage);
|
|
137
|
-
}
|
|
138
|
-
const isModuleFederationAppSSR = hasServerRendering && hasExplicitMfSsrFlag;
|
|
139
71
|
const ssrEnv = userConfig.deploy?.worker?.ssr || userConfig.server?.rsc ? 'edge' : 'node';
|
|
140
72
|
const appContext = modernAPI.getAppContext();
|
|
141
73
|
const { appDirectory, entrypoints } = appContext;
|
|
142
74
|
const useLoadablePlugin = (0, utils_namespaceObject.isUseSSRBundle)(userConfig) && !isServerEnvironment && checkUseStringSSR(userConfig, appDirectory, entrypoints);
|
|
143
75
|
const outputConfig = {
|
|
144
|
-
module: isServerEnvironment &&
|
|
76
|
+
module: isServerEnvironment && outputModule
|
|
145
77
|
};
|
|
146
78
|
const useLoadableComponents = (0, utils_namespaceObject.isUseSSRBundle)(userConfig) && checkUseStringSSR(userConfig, appDirectory, entrypoints);
|
|
147
79
|
return mergeEnvironmentConfig(config, {
|
|
@@ -151,12 +83,10 @@ const ssrBuilderPlugin = (modernAPI, outputModule, exportLoadablePath)=>({
|
|
|
151
83
|
'process.env.MODERN_SSR_ENV': JSON.stringify(ssrEnv),
|
|
152
84
|
'process.env.MODERN_ENABLE_HYDRATION': JSON.stringify((0, utils_namespaceObject.isUseSSRBundle)(userConfig)),
|
|
153
85
|
'process.env.MODERN_ENABLE_RSC': JSON.stringify(Boolean(userConfig.server?.rsc)),
|
|
154
|
-
__MODERN_ENABLE_RSC__: JSON.stringify(Boolean(userConfig.server?.rsc))
|
|
155
|
-
'process.env.MODERN_MF_APP_SSR': JSON.stringify(String(isModuleFederationAppSSR))
|
|
86
|
+
__MODERN_ENABLE_RSC__: JSON.stringify(Boolean(userConfig.server?.rsc))
|
|
156
87
|
}
|
|
157
88
|
},
|
|
158
89
|
output: outputConfig,
|
|
159
|
-
splitChunks: isServerEnvironment && (hasModuleFederationRuntimeMarker || hasExplicitMfSsrFlag) ? false : void 0,
|
|
160
90
|
tools: {
|
|
161
91
|
bundlerChain: useLoadablePlugin ? (chain)=>{
|
|
162
92
|
chain.plugin('loadable').use(external_loadable_bundler_plugin_js_default(), [
|
|
@@ -225,11 +155,9 @@ const ssrPlugin = ()=>({
|
|
|
225
155
|
});
|
|
226
156
|
const cli_ssr = ssrPlugin;
|
|
227
157
|
exports["default"] = __webpack_exports__["default"];
|
|
228
|
-
exports.shouldUseModuleFederationNodeOutput = __webpack_exports__.shouldUseModuleFederationNodeOutput;
|
|
229
158
|
exports.ssrPlugin = __webpack_exports__.ssrPlugin;
|
|
230
159
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
231
160
|
"default",
|
|
232
|
-
"shouldUseModuleFederationNodeOutput",
|
|
233
161
|
"ssrPlugin"
|
|
234
162
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
235
163
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -67,7 +67,12 @@ function hydrateRoot(App, context, ModernRender, ModernHydrate) {
|
|
|
67
67
|
callback: callback,
|
|
68
68
|
children: App
|
|
69
69
|
});
|
|
70
|
-
return ModernHydrate(
|
|
70
|
+
return ModernHydrate(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
|
|
71
|
+
children: [
|
|
72
|
+
(0, wrapper_js_namespaceObject.wrapRuntimeContextProvider)(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(SSRApp, {}), hydrateContext),
|
|
73
|
+
null
|
|
74
|
+
]
|
|
75
|
+
}));
|
|
71
76
|
}
|
|
72
77
|
}
|
|
73
78
|
return stringSSRHydrate();
|
|
@@ -30,14 +30,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
30
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
31
31
|
DefaultNotFound: ()=>DefaultNotFound_js_namespaceObject.DefaultNotFound,
|
|
32
32
|
InternalRuntimeContext: ()=>external_runtime_js_namespaceObject.InternalRuntimeContext,
|
|
33
|
+
RuntimeComponentResolverContext: ()=>external_runtime_js_namespaceObject.RuntimeComponentResolverContext,
|
|
33
34
|
RuntimeContext: ()=>external_runtime_js_namespaceObject.RuntimeContext,
|
|
34
|
-
applyRouterRuntimeState: ()=>lifecycle_js_namespaceObject.applyRouterRuntimeState,
|
|
35
|
-
applyRouterServerPrepareResult: ()=>lifecycle_js_namespaceObject.applyRouterServerPrepareResult,
|
|
36
|
-
cleanupRouterRuntimeState: ()=>lifecycle_js_namespaceObject.cleanupRouterRuntimeState,
|
|
37
|
-
createRouterProviderRealm: ()=>provider_js_namespaceObject.createRouterProviderRealm,
|
|
38
|
-
createRouterRuntimeState: ()=>lifecycle_js_namespaceObject.createRouterRuntimeState,
|
|
39
|
-
createRouterServerSnapshot: ()=>lifecycle_js_namespaceObject.createRouterServerSnapshot,
|
|
40
|
-
createRuntimeContextExtension: ()=>external_extensions_js_namespaceObject.createRuntimeContextExtension,
|
|
41
35
|
getCurrentEntryName: ()=>getCurrentEntryName,
|
|
42
36
|
getGlobalApp: ()=>getGlobalApp,
|
|
43
37
|
getGlobalBasename: ()=>getGlobalBasename,
|
|
@@ -48,10 +42,6 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
48
42
|
getGlobalRSCRoot: ()=>getGlobalRSCRoot,
|
|
49
43
|
getGlobalRoutes: ()=>getGlobalRoutes,
|
|
50
44
|
getInitialContext: ()=>external_runtime_js_namespaceObject.getInitialContext,
|
|
51
|
-
getRouterHydrationScripts: ()=>lifecycle_js_namespaceObject.getRouterHydrationScripts,
|
|
52
|
-
getRouterMatchedRouteIds: ()=>lifecycle_js_namespaceObject.getRouterMatchedRouteIds,
|
|
53
|
-
getRouterRuntimeState: ()=>lifecycle_js_namespaceObject.getRouterRuntimeState,
|
|
54
|
-
getRouterServerSnapshot: ()=>lifecycle_js_namespaceObject.getRouterServerSnapshot,
|
|
55
45
|
getServerPayload: ()=>index_js_namespaceObject.getServerPayload,
|
|
56
46
|
modifyRoutes: ()=>hooks_js_namespaceObject.modifyRoutes,
|
|
57
47
|
onAfterCreateRouter: ()=>hooks_js_namespaceObject.onAfterCreateRouter,
|
|
@@ -59,18 +49,13 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
59
49
|
onBeforeCreateRouter: ()=>hooks_js_namespaceObject.onBeforeCreateRouter,
|
|
60
50
|
onBeforeCreateRoutes: ()=>hooks_js_namespaceObject.onBeforeCreateRoutes,
|
|
61
51
|
onBeforeHydrateRouter: ()=>hooks_js_namespaceObject.onBeforeHydrateRouter,
|
|
62
|
-
|
|
63
|
-
resolveRouterProvider: ()=>provider_js_namespaceObject.resolveRouterProvider,
|
|
64
|
-
routerProviderRegistryHooks: ()=>provider_js_namespaceObject.routerProviderRegistryHooks,
|
|
52
|
+
routerProviderRegistryHooks: ()=>hooks_js_namespaceObject.routerProviderRegistryHooks,
|
|
65
53
|
setGlobalContext: ()=>setGlobalContext,
|
|
66
54
|
setGlobalInternalRuntimeContext: ()=>setGlobalInternalRuntimeContext,
|
|
67
55
|
setServerPayload: ()=>index_js_namespaceObject.setServerPayload
|
|
68
56
|
});
|
|
69
57
|
const DefaultNotFound_js_namespaceObject = require("../../router/runtime/DefaultNotFound.js");
|
|
70
58
|
const hooks_js_namespaceObject = require("../../router/runtime/hooks.js");
|
|
71
|
-
const lifecycle_js_namespaceObject = require("../../router/runtime/lifecycle.js");
|
|
72
|
-
const provider_js_namespaceObject = require("../../router/runtime/provider.js");
|
|
73
|
-
const external_extensions_js_namespaceObject = require("./extensions.js");
|
|
74
59
|
const external_runtime_js_namespaceObject = require("./runtime.js");
|
|
75
60
|
const index_js_namespaceObject = require("./serverPayload/index.js");
|
|
76
61
|
const globalContext = {};
|
|
@@ -117,14 +102,8 @@ function getGlobalBasename() {
|
|
|
117
102
|
}
|
|
118
103
|
exports.DefaultNotFound = __webpack_exports__.DefaultNotFound;
|
|
119
104
|
exports.InternalRuntimeContext = __webpack_exports__.InternalRuntimeContext;
|
|
105
|
+
exports.RuntimeComponentResolverContext = __webpack_exports__.RuntimeComponentResolverContext;
|
|
120
106
|
exports.RuntimeContext = __webpack_exports__.RuntimeContext;
|
|
121
|
-
exports.applyRouterRuntimeState = __webpack_exports__.applyRouterRuntimeState;
|
|
122
|
-
exports.applyRouterServerPrepareResult = __webpack_exports__.applyRouterServerPrepareResult;
|
|
123
|
-
exports.cleanupRouterRuntimeState = __webpack_exports__.cleanupRouterRuntimeState;
|
|
124
|
-
exports.createRouterProviderRealm = __webpack_exports__.createRouterProviderRealm;
|
|
125
|
-
exports.createRouterRuntimeState = __webpack_exports__.createRouterRuntimeState;
|
|
126
|
-
exports.createRouterServerSnapshot = __webpack_exports__.createRouterServerSnapshot;
|
|
127
|
-
exports.createRuntimeContextExtension = __webpack_exports__.createRuntimeContextExtension;
|
|
128
107
|
exports.getCurrentEntryName = __webpack_exports__.getCurrentEntryName;
|
|
129
108
|
exports.getGlobalApp = __webpack_exports__.getGlobalApp;
|
|
130
109
|
exports.getGlobalBasename = __webpack_exports__.getGlobalBasename;
|
|
@@ -135,10 +114,6 @@ exports.getGlobalLayoutApp = __webpack_exports__.getGlobalLayoutApp;
|
|
|
135
114
|
exports.getGlobalRSCRoot = __webpack_exports__.getGlobalRSCRoot;
|
|
136
115
|
exports.getGlobalRoutes = __webpack_exports__.getGlobalRoutes;
|
|
137
116
|
exports.getInitialContext = __webpack_exports__.getInitialContext;
|
|
138
|
-
exports.getRouterHydrationScripts = __webpack_exports__.getRouterHydrationScripts;
|
|
139
|
-
exports.getRouterMatchedRouteIds = __webpack_exports__.getRouterMatchedRouteIds;
|
|
140
|
-
exports.getRouterRuntimeState = __webpack_exports__.getRouterRuntimeState;
|
|
141
|
-
exports.getRouterServerSnapshot = __webpack_exports__.getRouterServerSnapshot;
|
|
142
117
|
exports.getServerPayload = __webpack_exports__.getServerPayload;
|
|
143
118
|
exports.modifyRoutes = __webpack_exports__.modifyRoutes;
|
|
144
119
|
exports.onAfterCreateRouter = __webpack_exports__.onAfterCreateRouter;
|
|
@@ -146,8 +121,6 @@ exports.onAfterHydrateRouter = __webpack_exports__.onAfterHydrateRouter;
|
|
|
146
121
|
exports.onBeforeCreateRouter = __webpack_exports__.onBeforeCreateRouter;
|
|
147
122
|
exports.onBeforeCreateRoutes = __webpack_exports__.onBeforeCreateRoutes;
|
|
148
123
|
exports.onBeforeHydrateRouter = __webpack_exports__.onBeforeHydrateRouter;
|
|
149
|
-
exports.registerRouterProvider = __webpack_exports__.registerRouterProvider;
|
|
150
|
-
exports.resolveRouterProvider = __webpack_exports__.resolveRouterProvider;
|
|
151
124
|
exports.routerProviderRegistryHooks = __webpack_exports__.routerProviderRegistryHooks;
|
|
152
125
|
exports.setGlobalContext = __webpack_exports__.setGlobalContext;
|
|
153
126
|
exports.setGlobalInternalRuntimeContext = __webpack_exports__.setGlobalInternalRuntimeContext;
|
|
@@ -155,14 +128,8 @@ exports.setServerPayload = __webpack_exports__.setServerPayload;
|
|
|
155
128
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
156
129
|
"DefaultNotFound",
|
|
157
130
|
"InternalRuntimeContext",
|
|
131
|
+
"RuntimeComponentResolverContext",
|
|
158
132
|
"RuntimeContext",
|
|
159
|
-
"applyRouterRuntimeState",
|
|
160
|
-
"applyRouterServerPrepareResult",
|
|
161
|
-
"cleanupRouterRuntimeState",
|
|
162
|
-
"createRouterProviderRealm",
|
|
163
|
-
"createRouterRuntimeState",
|
|
164
|
-
"createRouterServerSnapshot",
|
|
165
|
-
"createRuntimeContextExtension",
|
|
166
133
|
"getCurrentEntryName",
|
|
167
134
|
"getGlobalApp",
|
|
168
135
|
"getGlobalBasename",
|
|
@@ -173,10 +140,6 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
173
140
|
"getGlobalRSCRoot",
|
|
174
141
|
"getGlobalRoutes",
|
|
175
142
|
"getInitialContext",
|
|
176
|
-
"getRouterHydrationScripts",
|
|
177
|
-
"getRouterMatchedRouteIds",
|
|
178
|
-
"getRouterRuntimeState",
|
|
179
|
-
"getRouterServerSnapshot",
|
|
180
143
|
"getServerPayload",
|
|
181
144
|
"modifyRoutes",
|
|
182
145
|
"onAfterCreateRouter",
|
|
@@ -184,8 +147,6 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
184
147
|
"onBeforeCreateRouter",
|
|
185
148
|
"onBeforeCreateRoutes",
|
|
186
149
|
"onBeforeHydrateRouter",
|
|
187
|
-
"registerRouterProvider",
|
|
188
|
-
"resolveRouterProvider",
|
|
189
150
|
"routerProviderRegistryHooks",
|
|
190
151
|
"setGlobalContext",
|
|
191
152
|
"setGlobalInternalRuntimeContext",
|
|
@@ -28,14 +28,11 @@ var __webpack_require__ = {};
|
|
|
28
28
|
var __webpack_exports__ = {};
|
|
29
29
|
__webpack_require__.r(__webpack_exports__);
|
|
30
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
-
ReactRuntimeContext: ()=>ReactRuntimeContext,
|
|
32
|
-
RuntimeContext: ()=>RuntimeContext,
|
|
33
|
-
useRuntimeContext: ()=>useRuntimeContext
|
|
31
|
+
ReactRuntimeContext: ()=>external_runtime_js_namespaceObject.ReactRuntimeContext,
|
|
32
|
+
RuntimeContext: ()=>external_runtime_js_namespaceObject.RuntimeContext,
|
|
33
|
+
useRuntimeContext: ()=>external_runtime_js_namespaceObject.useRuntimeContext
|
|
34
34
|
});
|
|
35
|
-
const
|
|
36
|
-
const RuntimeContext = (0, external_react_namespaceObject.createContext)({});
|
|
37
|
-
const ReactRuntimeContext = RuntimeContext;
|
|
38
|
-
const useRuntimeContext = ()=>(0, external_react_namespaceObject.useContext)(RuntimeContext);
|
|
35
|
+
const external_runtime_js_namespaceObject = require("./runtime.js");
|
|
39
36
|
exports.ReactRuntimeContext = __webpack_exports__.ReactRuntimeContext;
|
|
40
37
|
exports.RuntimeContext = __webpack_exports__.RuntimeContext;
|
|
41
38
|
exports.useRuntimeContext = __webpack_exports__.useRuntimeContext;
|
|
@@ -29,15 +29,25 @@ var __webpack_exports__ = {};
|
|
|
29
29
|
__webpack_require__.r(__webpack_exports__);
|
|
30
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
31
31
|
InternalRuntimeContext: ()=>InternalRuntimeContext,
|
|
32
|
-
ReactRuntimeContext: ()=>
|
|
33
|
-
|
|
32
|
+
ReactRuntimeContext: ()=>ReactRuntimeContext,
|
|
33
|
+
RuntimeComponentResolverContext: ()=>RuntimeComponentResolverContext,
|
|
34
|
+
RuntimeContext: ()=>RuntimeContext,
|
|
34
35
|
getInitialContext: ()=>getInitialContext,
|
|
35
|
-
useRuntimeContext: ()=>
|
|
36
|
+
useRuntimeContext: ()=>useRuntimeContext
|
|
36
37
|
});
|
|
37
38
|
const external_react_namespaceObject = require("react");
|
|
38
|
-
const external_public_js_namespaceObject = require("./public.js");
|
|
39
39
|
const ROUTE_MANIFEST = '_MODERNJS_ROUTE_MANIFEST';
|
|
40
|
-
|
|
40
|
+
function getRuntimeReactContext(kind, create) {
|
|
41
|
+
const key = Symbol.for(`@modern-js/runtime:react-context:v1:${kind}`);
|
|
42
|
+
const contexts = globalThis;
|
|
43
|
+
contexts[key] ??= create();
|
|
44
|
+
return contexts[key];
|
|
45
|
+
}
|
|
46
|
+
const InternalRuntimeContext = getRuntimeReactContext('internal', ()=>(0, external_react_namespaceObject.createContext)({}));
|
|
47
|
+
const RuntimeContext = getRuntimeReactContext('public', ()=>(0, external_react_namespaceObject.createContext)({}));
|
|
48
|
+
const RuntimeComponentResolverContext = getRuntimeReactContext('component-resolver', ()=>(0, external_react_namespaceObject.createContext)(void 0));
|
|
49
|
+
const ReactRuntimeContext = RuntimeContext;
|
|
50
|
+
const useRuntimeContext = ()=>(0, external_react_namespaceObject.useContext)(RuntimeContext);
|
|
41
51
|
const getInitialContext = (isBrowser = true, routeManifest)=>{
|
|
42
52
|
const requestContext = {
|
|
43
53
|
request: {
|
|
@@ -63,12 +73,14 @@ const getInitialContext = (isBrowser = true, routeManifest)=>{
|
|
|
63
73
|
};
|
|
64
74
|
exports.InternalRuntimeContext = __webpack_exports__.InternalRuntimeContext;
|
|
65
75
|
exports.ReactRuntimeContext = __webpack_exports__.ReactRuntimeContext;
|
|
76
|
+
exports.RuntimeComponentResolverContext = __webpack_exports__.RuntimeComponentResolverContext;
|
|
66
77
|
exports.RuntimeContext = __webpack_exports__.RuntimeContext;
|
|
67
78
|
exports.getInitialContext = __webpack_exports__.getInitialContext;
|
|
68
79
|
exports.useRuntimeContext = __webpack_exports__.useRuntimeContext;
|
|
69
80
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
70
81
|
"InternalRuntimeContext",
|
|
71
82
|
"ReactRuntimeContext",
|
|
83
|
+
"RuntimeComponentResolverContext",
|
|
72
84
|
"RuntimeContext",
|
|
73
85
|
"getInitialContext",
|
|
74
86
|
"useRuntimeContext"
|
|
@@ -28,50 +28,20 @@ var __webpack_require__ = {};
|
|
|
28
28
|
var __webpack_exports__ = {};
|
|
29
29
|
__webpack_require__.r(__webpack_exports__);
|
|
30
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
wrapRuntimeComponentResolver: ()=>wrapRuntimeComponentResolver,
|
|
31
32
|
wrapRuntimeContextProvider: ()=>wrapRuntimeContextProvider
|
|
32
33
|
});
|
|
33
34
|
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
34
|
-
const external_react_helmet_async_namespaceObject = require("react-helmet-async");
|
|
35
35
|
const index_js_namespaceObject = require("../context/index.js");
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
enumerable: false
|
|
36
|
+
const runtime_js_namespaceObject = require("../context/runtime.js");
|
|
37
|
+
function wrapRuntimeComponentResolver(root, hooks = (0, index_js_namespaceObject.getGlobalInternalRuntimeContext)()?.hooks) {
|
|
38
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(runtime_js_namespaceObject.RuntimeComponentResolverContext.Provider, {
|
|
39
|
+
value: hooks?.resolveComponent?.call,
|
|
40
|
+
children: root
|
|
42
41
|
});
|
|
43
|
-
Object.defineProperty(requestContext.response, 'status', {
|
|
44
|
-
enumerable: false
|
|
45
|
-
});
|
|
46
|
-
if (void 0 === ssrContext) return requestContext;
|
|
47
|
-
const { request, response } = ssrContext;
|
|
48
|
-
return {
|
|
49
|
-
request: {
|
|
50
|
-
url: request.url,
|
|
51
|
-
userAgent: request.userAgent,
|
|
52
|
-
cookie: request.cookie,
|
|
53
|
-
pathname: request.pathname,
|
|
54
|
-
query: {
|
|
55
|
-
...request.query
|
|
56
|
-
},
|
|
57
|
-
params: {
|
|
58
|
-
...request.params
|
|
59
|
-
},
|
|
60
|
-
headers: {
|
|
61
|
-
...request.headers
|
|
62
|
-
},
|
|
63
|
-
host: request.host,
|
|
64
|
-
referer: request.referer
|
|
65
|
-
},
|
|
66
|
-
response: Object.assign(requestContext.response, {
|
|
67
|
-
locals: response.locals ?? {}
|
|
68
|
-
})
|
|
69
|
-
};
|
|
70
42
|
}
|
|
71
43
|
function wrapRuntimeContextProvider(App, contextValue) {
|
|
72
44
|
const { isBrowser, initialData, routes, context, routeManifest, routerContext, unstable_getBlockNavState, ssrContext, _internalContext, _internalRouterBaseName, ...rest } = contextValue;
|
|
73
|
-
const internalContextValue = contextValue;
|
|
74
|
-
const helmetContext = (0, helmetContext_js_namespaceObject.ensureHelmetContext)(internalContextValue);
|
|
75
45
|
const runtimeContextValue = {
|
|
76
46
|
isBrowser,
|
|
77
47
|
initialData,
|
|
@@ -79,41 +49,28 @@ function wrapRuntimeContextProvider(App, contextValue) {
|
|
|
79
49
|
context,
|
|
80
50
|
...rest
|
|
81
51
|
};
|
|
82
|
-
(0,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
context: rscSafeRequestContext,
|
|
94
|
-
requestContext: rscSafeRequestContext
|
|
95
|
-
};
|
|
96
|
-
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_js_namespaceObject.InternalRuntimeContext.Provider, {
|
|
97
|
-
value: rscInternalContextValue,
|
|
98
|
-
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_js_namespaceObject.RuntimeContext.Provider, {
|
|
99
|
-
value: rscRuntimeContextValue,
|
|
100
|
-
children: App
|
|
101
|
-
})
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_js_namespaceObject.InternalRuntimeContext.Provider, {
|
|
105
|
-
value: internalContextValue,
|
|
52
|
+
const isRsc = true === (0, index_js_namespaceObject.getGlobalEnableRsc)();
|
|
53
|
+
const projection = {
|
|
54
|
+
internalContext: contextValue,
|
|
55
|
+
publicContext: runtimeContextValue
|
|
56
|
+
};
|
|
57
|
+
const values = (0, index_js_namespaceObject.getGlobalInternalRuntimeContext)()?.hooks.transformRuntimeContext?.call(projection, {
|
|
58
|
+
context: contextValue,
|
|
59
|
+
isRsc
|
|
60
|
+
}) ?? projection;
|
|
61
|
+
const root = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_js_namespaceObject.InternalRuntimeContext.Provider, {
|
|
62
|
+
value: values.internalContext,
|
|
106
63
|
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_js_namespaceObject.RuntimeContext.Provider, {
|
|
107
|
-
value:
|
|
108
|
-
children:
|
|
109
|
-
context: helmetContext,
|
|
110
|
-
children: App
|
|
111
|
-
})
|
|
64
|
+
value: values.publicContext,
|
|
65
|
+
children: App
|
|
112
66
|
})
|
|
113
67
|
});
|
|
68
|
+
return isRsc && false === isBrowser ? root : wrapRuntimeComponentResolver(root);
|
|
114
69
|
}
|
|
70
|
+
exports.wrapRuntimeComponentResolver = __webpack_exports__.wrapRuntimeComponentResolver;
|
|
115
71
|
exports.wrapRuntimeContextProvider = __webpack_exports__.wrapRuntimeContextProvider;
|
|
116
72
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
73
|
+
"wrapRuntimeComponentResolver",
|
|
117
74
|
"wrapRuntimeContextProvider"
|
|
118
75
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
119
76
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -32,7 +32,6 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
32
32
|
getHelmetData: ()=>getHelmetData,
|
|
33
33
|
helmetReplace: ()=>helmetReplace
|
|
34
34
|
});
|
|
35
|
-
const helmetContext_js_namespaceObject = require("../context/helmetContext.js");
|
|
36
35
|
const external_utils_js_namespaceObject = require("./utils.js");
|
|
37
36
|
const EOL = '\n';
|
|
38
37
|
const RE_HTML_ATTR = /<html[^>]*>/;
|
|
@@ -40,8 +39,10 @@ const RE_BODY_ATTR = /<body[^>]*>/;
|
|
|
40
39
|
const RE_LAST_IN_HEAD = /<\/head>/;
|
|
41
40
|
const RE_TITLE = /<title[^>]*>([\s\S\n\r]*?)<\/title>/;
|
|
42
41
|
const TEST_TITLE_CONTENT = /(?<=<title[^>]*>)([\s\S\n\r]*?)([.|\S])([\s\S\n\r]*?)(?=<\/title>)/;
|
|
43
|
-
function getHelmetData(
|
|
44
|
-
|
|
42
|
+
function getHelmetData(providers) {
|
|
43
|
+
let result;
|
|
44
|
+
for (const provider of providers)result = provider.getHeadData?.() ?? result;
|
|
45
|
+
return result;
|
|
45
46
|
}
|
|
46
47
|
function createReplaceHelemt(helmetData) {
|
|
47
48
|
return helmetData ? (template)=>helmetReplace(template, helmetData) : (tempalte)=>tempalte;
|
|
@@ -53,7 +54,7 @@ function helmetReplace(content, helmetData) {
|
|
|
53
54
|
const htmlAttributes = helmetData.htmlAttributes.toString();
|
|
54
55
|
if (htmlAttributes) result = (0, external_utils_js_namespaceObject.safeReplace)(result, RE_HTML_ATTR, `<html ${htmlAttributes}>`);
|
|
55
56
|
const base = helmetData.base.toString();
|
|
56
|
-
const priority = helmetData.priority
|
|
57
|
+
const priority = helmetData.priority?.toString() ?? '';
|
|
57
58
|
const link = helmetData.link.toString();
|
|
58
59
|
const meta = helmetData.meta.toString();
|
|
59
60
|
const noscript = helmetData.noscript.toString();
|
|
@@ -32,14 +32,14 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
32
32
|
createLoaderRedirectResponse: ()=>createLoaderRedirectResponse,
|
|
33
33
|
finalizeRenderResponse: ()=>finalizeRenderResponse
|
|
34
34
|
});
|
|
35
|
-
const
|
|
35
|
+
const router_state_namespaceObject = require("@modern-js/runtime-extensions/router-state");
|
|
36
36
|
const redirect_js_namespaceObject = require("../../router/runtime/redirect.js");
|
|
37
37
|
const external_tracer_js_namespaceObject = require("./tracer.js");
|
|
38
38
|
const isRedirectStatus = (status)=>301 === status || 302 === status || 303 === status || 307 === status || 308 === status;
|
|
39
39
|
const isNullBodyStatus = (status)=>204 === status || 205 === status || 304 === status;
|
|
40
40
|
const getRedirectLocation = (headers)=>{
|
|
41
41
|
const location = headers.get('Location');
|
|
42
|
-
return location && URL.canParse(location, 'http://localhost') ? location : void 0;
|
|
42
|
+
return null !== location && '' !== location && URL.canParse(location, 'http://localhost') ? location : void 0;
|
|
43
43
|
};
|
|
44
44
|
const processRedirect = (headers, status, ctx)=>{
|
|
45
45
|
headers.delete('content-length');
|
|
@@ -51,7 +51,7 @@ const processRedirect = (headers, status, ctx)=>{
|
|
|
51
51
|
});
|
|
52
52
|
};
|
|
53
53
|
const applyRouterSnapshotResult = (context, onError)=>{
|
|
54
|
-
const routerServerSnapshot = (0,
|
|
54
|
+
const routerServerSnapshot = (0, router_state_namespaceObject.getRouterServerSnapshot)(context);
|
|
55
55
|
const routerStatusCode = routerServerSnapshot?.statusCode ?? context.routerContext?.statusCode;
|
|
56
56
|
if (void 0 !== routerStatusCode && 0 !== routerStatusCode && !Number.isNaN(routerStatusCode) && 200 !== routerStatusCode) context.ssrContext?.response.status(routerStatusCode);
|
|
57
57
|
const errors = Object.values(routerServerSnapshot?.errors || context.routerContext?.errors || {});
|
|
@@ -61,7 +61,7 @@ const createLoaderRedirectResponse = (beforeRenderResult, redirectCtx)=>{
|
|
|
61
61
|
if (void 0 === beforeRenderResult || !isRedirectStatus(beforeRenderResult.status)) return;
|
|
62
62
|
if (beforeRenderResult.headers.has('X-Modernjs-Redirect')) return beforeRenderResult;
|
|
63
63
|
const redirectUrl = getRedirectLocation(beforeRenderResult.headers);
|
|
64
|
-
if (
|
|
64
|
+
if (void 0 === redirectUrl) return;
|
|
65
65
|
return processRedirect(new Headers(beforeRenderResult.headers), beforeRenderResult.status, redirectCtx);
|
|
66
66
|
};
|
|
67
67
|
const finalizeRenderResponse = async (response, responseProxy, redirectCtx, routerCleanup)=>{
|
|
@@ -33,7 +33,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
33
33
|
finishWithRouterCleanup: ()=>finishWithRouterCleanup,
|
|
34
34
|
runWithRouterCleanupOnError: ()=>runWithRouterCleanupOnError
|
|
35
35
|
});
|
|
36
|
-
const
|
|
36
|
+
const router_state_namespaceObject = require("@modern-js/runtime-extensions/router-state");
|
|
37
37
|
const ROUTER_CLEANUP_ERROR = 'An error occurs during router runtime cleanup';
|
|
38
38
|
async function runWithRouterCleanupOnError(routerCleanup, callback) {
|
|
39
39
|
try {
|
|
@@ -57,7 +57,7 @@ function createRouterCleanup(runtimeContext, onError) {
|
|
|
57
57
|
if (finished) return;
|
|
58
58
|
finished = true;
|
|
59
59
|
try {
|
|
60
|
-
await (0,
|
|
60
|
+
await (0, router_state_namespaceObject.getRouterRuntimeState)(runtimeContext)?.cleanup?.();
|
|
61
61
|
} catch (error) {
|
|
62
62
|
onError(error, ROUTER_CLEANUP_ERROR);
|
|
63
63
|
}
|