@bleedingdev/modern-js-runtime 3.9.0-ultramodern.2 → 3.9.0-ultramodern.21
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/cli/ssr/loadable-bundler-plugin.js +2 -0
- package/dist/cjs/cli/template.server.js +1 -2
- package/dist/cjs/core/browser/hydrate.js +9 -10
- package/dist/cjs/core/browser/index.js +4 -5
- package/dist/cjs/core/context/index.js +12 -45
- package/dist/cjs/core/context/public.js +4 -7
- package/dist/cjs/core/context/runtime.js +10 -4
- package/dist/cjs/core/index.js +3 -3
- package/dist/cjs/core/plugin/index.js +2 -2
- package/dist/cjs/core/react/index.js +3 -3
- package/dist/cjs/core/react/wrapper.js +23 -67
- package/dist/cjs/core/server/helmet.js +5 -4
- package/dist/cjs/core/server/requestHandler.js +6 -7
- 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 +37 -28
- package/dist/cjs/core/server/stream/beforeTemplate.worker.js +30 -23
- package/dist/cjs/core/server/stream/createReadableStream.js +222 -125
- package/dist/cjs/core/server/stream/createReadableStream.worker.js +171 -90
- package/dist/cjs/core/server/stream/deferredScript.js +3 -3
- package/dist/cjs/core/server/stream/shared.js +6 -2
- package/dist/cjs/core/server/string/index.js +104 -66
- package/dist/cjs/core/server/string/loadable.js +38 -23
- 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 +14 -5
- package/dist/cjs/exports/head.js +7 -14
- package/dist/cjs/internal.js +2 -2
- package/dist/cjs/router/cli/code/nestedRoutes.js +1 -2
- package/dist/cjs/router/cli/code/templates.js +1 -1
- package/dist/cjs/router/cli/code/utils.js +2 -2
- package/dist/cjs/router/runtime/DeferredDataScripts.node.js +10 -9
- package/dist/cjs/router/runtime/PrefetchLink.js +69 -125
- 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 +19 -34
- package/dist/cjs/router/runtime/plugin.node.js +9 -37
- 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/cli/ssr/loadable-bundler-plugin.mjs +2 -0
- package/dist/esm/cli/template.server.mjs +1 -2
- package/dist/esm/core/browser/hydrate.mjs +10 -11
- package/dist/esm/core/browser/index.mjs +1 -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 +6 -3
- package/dist/esm/core/index.mjs +1 -1
- package/dist/esm/core/plugin/index.mjs +1 -1
- package/dist/esm/core/react/index.mjs +1 -1
- package/dist/esm/core/react/wrapper.mjs +20 -67
- package/dist/esm/core/server/helmet.mjs +5 -4
- package/dist/esm/core/server/requestHandler.mjs +1 -2
- 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 +40 -31
- package/dist/esm/core/server/stream/beforeTemplate.worker.mjs +33 -26
- package/dist/esm/core/server/stream/createReadableStream.mjs +220 -123
- package/dist/esm/core/server/stream/createReadableStream.worker.mjs +161 -90
- package/dist/esm/core/server/stream/deferredScript.mjs +3 -3
- package/dist/esm/core/server/stream/shared.mjs +4 -3
- package/dist/esm/core/server/string/index.mjs +106 -68
- package/dist/esm/core/server/string/loadable.mjs +38 -23
- 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 +12 -6
- package/dist/esm/exports/head.mjs +7 -14
- package/dist/esm/internal.mjs +1 -1
- package/dist/esm/router/cli/code/nestedRoutes.mjs +1 -2
- package/dist/esm/router/cli/code/templates.mjs +1 -1
- package/dist/esm/router/cli/code/utils.mjs +2 -2
- package/dist/esm/router/runtime/DeferredDataScripts.node.mjs +10 -9
- 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 +10 -25
- package/dist/esm/router/runtime/plugin.node.mjs +3 -31
- 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/cli/ssr/loadable-bundler-plugin.mjs +2 -0
- package/dist/esm-node/cli/template.server.mjs +1 -2
- package/dist/esm-node/core/browser/hydrate.mjs +10 -11
- package/dist/esm-node/core/browser/index.mjs +1 -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 +6 -3
- package/dist/esm-node/core/index.mjs +1 -1
- package/dist/esm-node/core/plugin/index.mjs +1 -1
- package/dist/esm-node/core/react/index.mjs +1 -1
- package/dist/esm-node/core/react/wrapper.mjs +20 -67
- package/dist/esm-node/core/server/helmet.mjs +5 -4
- package/dist/esm-node/core/server/requestHandler.mjs +1 -2
- 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 +40 -31
- package/dist/esm-node/core/server/stream/beforeTemplate.worker.mjs +33 -26
- package/dist/esm-node/core/server/stream/createReadableStream.mjs +220 -123
- package/dist/esm-node/core/server/stream/createReadableStream.worker.mjs +161 -90
- package/dist/esm-node/core/server/stream/deferredScript.mjs +3 -3
- package/dist/esm-node/core/server/stream/shared.mjs +4 -3
- package/dist/esm-node/core/server/string/index.mjs +106 -68
- package/dist/esm-node/core/server/string/loadable.mjs +38 -23
- 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 +12 -6
- package/dist/esm-node/exports/head.mjs +7 -14
- package/dist/esm-node/internal.mjs +1 -1
- package/dist/esm-node/router/cli/code/nestedRoutes.mjs +1 -2
- package/dist/esm-node/router/cli/code/templates.mjs +1 -1
- package/dist/esm-node/router/cli/code/utils.mjs +2 -2
- package/dist/esm-node/router/runtime/DeferredDataScripts.node.mjs +10 -9
- 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 +10 -25
- package/dist/esm-node/router/runtime/plugin.node.mjs +3 -31
- package/dist/esm-node/router/runtime/redirect.mjs +1 -1
- package/dist/types/cli/ssr/index.d.ts +0 -3
- package/dist/types/core/context/index.d.ts +4 -6
- package/dist/types/core/context/public.d.ts +1 -23
- package/dist/types/core/context/runtime.d.ts +26 -2
- package/dist/types/core/index.d.ts +1 -1
- 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/requestHandler.d.ts +3 -3
- package/dist/types/core/server/requestResponse.d.ts +1 -1
- package/dist/types/core/server/routerCleanup.d.ts +1 -1
- package/dist/types/core/server/shared.d.ts +24 -1
- package/dist/types/core/server/stream/afterTemplate.d.ts +2 -1
- package/dist/types/core/server/stream/beforeTemplate.d.ts +4 -1
- package/dist/types/core/server/stream/beforeTemplate.worker.d.ts +4 -1
- package/dist/types/core/server/stream/shared.d.ts +16 -2
- package/dist/types/core/server/string/loadable.d.ts +6 -3
- package/dist/types/core/server/string/ssrData.d.ts +2 -1
- package/dist/types/core/server/string/types.d.ts +1 -5
- package/dist/types/core/server/tracer.d.ts +1 -1
- package/dist/types/core/server/utils.d.ts +1 -1
- package/dist/types/core/types.d.ts +1 -2
- package/dist/types/document/cli/index.d.ts +1 -0
- package/dist/types/exports/head.d.ts +2 -2
- package/dist/types/internal.d.ts +1 -1
- 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/internal.d.ts +4 -21
- package/dist/types/router/runtime/types.d.ts +2 -43
- package/package.json +18 -46
- package/rslib.config.mts +3 -0
- package/rstest.config.mts +28 -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/cjs/rsc/server.worker.js +0 -62
- 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/rsc/server.worker.mjs +0 -1
- 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/esm-node/rsc/server.worker.mjs +0 -2
- 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/types/rsc/server.worker.d.ts +0 -1
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', {
|
|
@@ -44,6 +44,7 @@ const external_path_namespaceObject = require("path");
|
|
|
44
44
|
var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
|
|
45
45
|
const normalizeChunkId = (id)=>'string' == typeof id && /^\d+$/.test(id) ? Number(id) : id;
|
|
46
46
|
const DEFAULT_CHUNK_LOADING_GLOBAL = '__LOADABLE_LOADED_CHUNKS__';
|
|
47
|
+
const normalizeStatsPublicPath = (publicPath)=>'auto' === publicPath || 'auto/' === publicPath ? '/' : publicPath;
|
|
47
48
|
const normalizeChunkGroup = (group)=>({
|
|
48
49
|
...group,
|
|
49
50
|
chunks: (group.chunks || []).map(normalizeChunkId)
|
|
@@ -86,6 +87,7 @@ class LoadablePlugin {
|
|
|
86
87
|
for (const [name, ep] of Object.entries(stats.entrypoints || {}))entrypoints[name] = normalizeChunkGroup(ep);
|
|
87
88
|
const output = {
|
|
88
89
|
...stats,
|
|
90
|
+
publicPath: normalizeStatsPublicPath(stats.publicPath),
|
|
89
91
|
namedChunkGroups,
|
|
90
92
|
entrypoints,
|
|
91
93
|
generator: 'loadable-components',
|
|
@@ -153,8 +153,7 @@ function genHandlerCode({ mode, metaName, customServerEntry, srcDirectory, inter
|
|
|
153
153
|
return `
|
|
154
154
|
export * from '${realEntryPath}';
|
|
155
155
|
export { default as requestHandler } from '${realEntryPath}'`;
|
|
156
|
-
}
|
|
157
|
-
{
|
|
156
|
+
} else {
|
|
158
157
|
const entrySource = enableRsc ? SERVER_ENTRY_RSC : SERVER_ENTRY;
|
|
159
158
|
const serverEntry = transformServerEntry(entrySource, {
|
|
160
159
|
metaName: metaName || 'modern-js',
|
|
@@ -62,18 +62,23 @@ function hydrateRoot(App, context, ModernRender, ModernHydrate) {
|
|
|
62
62
|
if ('stream' === renderMode) return streamSSRHydrate();
|
|
63
63
|
function streamSSRHydrate() {
|
|
64
64
|
if (renderLevel !== external_constants_js_namespaceObject.RenderLevel.SERVER_RENDER) return ModernRender((0, wrapper_js_namespaceObject.wrapRuntimeContextProvider)(App, context));
|
|
65
|
-
{
|
|
65
|
+
else {
|
|
66
66
|
const SSRApp = ()=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_withCallback_js_namespaceObject.WithCallback, {
|
|
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();
|
|
74
79
|
function stringSSRHydrate() {
|
|
75
80
|
if (renderLevel === external_constants_js_namespaceObject.RenderLevel.CLIENT_RENDER) return ModernRender((0, wrapper_js_namespaceObject.wrapRuntimeContextProvider)(App, context));
|
|
76
|
-
{
|
|
81
|
+
else {
|
|
77
82
|
if (renderLevel === external_constants_js_namespaceObject.RenderLevel.SERVER_RENDER) return (0, component_namespaceObject.loadableReady)(()=>void 0, loadableReadyOptions).then(()=>{
|
|
78
83
|
const SSRApp = ()=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_withCallback_js_namespaceObject.WithCallback, {
|
|
79
84
|
callback: callback,
|
|
@@ -81,13 +86,7 @@ function hydrateRoot(App, context, ModernRender, ModernHydrate) {
|
|
|
81
86
|
});
|
|
82
87
|
return ModernHydrate((0, wrapper_js_namespaceObject.wrapRuntimeContextProvider)(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(SSRApp, {}), hydrateContext));
|
|
83
88
|
});
|
|
84
|
-
|
|
85
|
-
if (null !== runtimeConsole && 'object' == typeof runtimeConsole) {
|
|
86
|
-
const warn = Reflect.get(runtimeConsole, 'warn');
|
|
87
|
-
if ('function' == typeof warn) Reflect.apply(warn, runtimeConsole, [
|
|
88
|
-
`unknow render level: ${renderLevel}, execute render()`
|
|
89
|
-
]);
|
|
90
|
-
}
|
|
89
|
+
console.warn(`unknow render level: ${renderLevel}, execute render()`);
|
|
91
90
|
return ModernRender((0, wrapper_js_namespaceObject.wrapRuntimeContextProvider)(App, context));
|
|
92
91
|
}
|
|
93
92
|
}
|
|
@@ -35,10 +35,9 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
35
35
|
renderWithReact17: ()=>renderWithReact17,
|
|
36
36
|
renderWithReact18: ()=>renderWithReact18
|
|
37
37
|
});
|
|
38
|
+
const context_namespaceObject = require("@modern-js/runtime/context");
|
|
38
39
|
const external_cookie_namespaceObject = require("cookie");
|
|
39
40
|
const client_namespaceObject = require("react-dom/client");
|
|
40
|
-
const index_js_namespaceObject = require("../context/index.js");
|
|
41
|
-
const runtime_js_namespaceObject = require("../context/runtime.js");
|
|
42
41
|
const wrapper_js_namespaceObject = require("../react/wrapper.js");
|
|
43
42
|
const external_hydrate_js_namespaceObject = require("./hydrate.js");
|
|
44
43
|
const IS_REACT18 = 'true' === process.env.IS_REACT18;
|
|
@@ -85,7 +84,7 @@ function isClientArgs(id) {
|
|
|
85
84
|
return void 0 === id || 'string' == typeof id || "u" > typeof HTMLElement && id instanceof HTMLElement;
|
|
86
85
|
}
|
|
87
86
|
async function renderApp(App, id, hydrateFromSsrData, internalRuntimeContext) {
|
|
88
|
-
const context = (0,
|
|
87
|
+
const context = (0, context_namespaceObject.getInitialContext)();
|
|
89
88
|
const runBeforeRender = async (context)=>{
|
|
90
89
|
const api = internalRuntimeContext.pluginAPI;
|
|
91
90
|
api.updateRuntimeContext(context);
|
|
@@ -115,10 +114,10 @@ async function renderApp(App, id, hydrateFromSsrData, internalRuntimeContext) {
|
|
|
115
114
|
throw Error('`render` function needs id in browser environment, it needs to be string or element');
|
|
116
115
|
}
|
|
117
116
|
async function render(App, id) {
|
|
118
|
-
return renderApp(App, id, true, (0,
|
|
117
|
+
return renderApp(App, id, true, (0, context_namespaceObject.getGlobalInternalRuntimeContext)());
|
|
119
118
|
}
|
|
120
119
|
function createNestedAppRenderer() {
|
|
121
|
-
const internalRuntimeContext = (0,
|
|
120
|
+
const internalRuntimeContext = (0, context_namespaceObject.getGlobalInternalRuntimeContext)();
|
|
122
121
|
return (App, id)=>renderApp(App, id, false, internalRuntimeContext);
|
|
123
122
|
}
|
|
124
123
|
async function renderWithReact18(App, rootElement) {
|
|
@@ -30,14 +30,9 @@ __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
|
+
ReactRuntimeContext: ()=>external_runtime_js_namespaceObject.ReactRuntimeContext,
|
|
34
|
+
RuntimeComponentResolverContext: ()=>external_runtime_js_namespaceObject.RuntimeComponentResolverContext,
|
|
33
35
|
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
36
|
getCurrentEntryName: ()=>getCurrentEntryName,
|
|
42
37
|
getGlobalApp: ()=>getGlobalApp,
|
|
43
38
|
getGlobalBasename: ()=>getGlobalBasename,
|
|
@@ -48,10 +43,6 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
48
43
|
getGlobalRSCRoot: ()=>getGlobalRSCRoot,
|
|
49
44
|
getGlobalRoutes: ()=>getGlobalRoutes,
|
|
50
45
|
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
46
|
getServerPayload: ()=>index_js_namespaceObject.getServerPayload,
|
|
56
47
|
modifyRoutes: ()=>hooks_js_namespaceObject.modifyRoutes,
|
|
57
48
|
onAfterCreateRouter: ()=>hooks_js_namespaceObject.onAfterCreateRouter,
|
|
@@ -59,18 +50,14 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
59
50
|
onBeforeCreateRouter: ()=>hooks_js_namespaceObject.onBeforeCreateRouter,
|
|
60
51
|
onBeforeCreateRoutes: ()=>hooks_js_namespaceObject.onBeforeCreateRoutes,
|
|
61
52
|
onBeforeHydrateRouter: ()=>hooks_js_namespaceObject.onBeforeHydrateRouter,
|
|
62
|
-
|
|
63
|
-
resolveRouterProvider: ()=>provider_js_namespaceObject.resolveRouterProvider,
|
|
64
|
-
routerProviderRegistryHooks: ()=>provider_js_namespaceObject.routerProviderRegistryHooks,
|
|
53
|
+
routerProviderRegistryHooks: ()=>hooks_js_namespaceObject.routerProviderRegistryHooks,
|
|
65
54
|
setGlobalContext: ()=>setGlobalContext,
|
|
66
55
|
setGlobalInternalRuntimeContext: ()=>setGlobalInternalRuntimeContext,
|
|
67
|
-
setServerPayload: ()=>index_js_namespaceObject.setServerPayload
|
|
56
|
+
setServerPayload: ()=>index_js_namespaceObject.setServerPayload,
|
|
57
|
+
useRuntimeContext: ()=>external_runtime_js_namespaceObject.useRuntimeContext
|
|
68
58
|
});
|
|
69
59
|
const DefaultNotFound_js_namespaceObject = require("../../router/runtime/DefaultNotFound.js");
|
|
70
60
|
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
61
|
const external_runtime_js_namespaceObject = require("./runtime.js");
|
|
75
62
|
const index_js_namespaceObject = require("./serverPayload/index.js");
|
|
76
63
|
const globalContext = {};
|
|
@@ -117,14 +104,9 @@ function getGlobalBasename() {
|
|
|
117
104
|
}
|
|
118
105
|
exports.DefaultNotFound = __webpack_exports__.DefaultNotFound;
|
|
119
106
|
exports.InternalRuntimeContext = __webpack_exports__.InternalRuntimeContext;
|
|
107
|
+
exports.ReactRuntimeContext = __webpack_exports__.ReactRuntimeContext;
|
|
108
|
+
exports.RuntimeComponentResolverContext = __webpack_exports__.RuntimeComponentResolverContext;
|
|
120
109
|
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
110
|
exports.getCurrentEntryName = __webpack_exports__.getCurrentEntryName;
|
|
129
111
|
exports.getGlobalApp = __webpack_exports__.getGlobalApp;
|
|
130
112
|
exports.getGlobalBasename = __webpack_exports__.getGlobalBasename;
|
|
@@ -135,10 +117,6 @@ exports.getGlobalLayoutApp = __webpack_exports__.getGlobalLayoutApp;
|
|
|
135
117
|
exports.getGlobalRSCRoot = __webpack_exports__.getGlobalRSCRoot;
|
|
136
118
|
exports.getGlobalRoutes = __webpack_exports__.getGlobalRoutes;
|
|
137
119
|
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
120
|
exports.getServerPayload = __webpack_exports__.getServerPayload;
|
|
143
121
|
exports.modifyRoutes = __webpack_exports__.modifyRoutes;
|
|
144
122
|
exports.onAfterCreateRouter = __webpack_exports__.onAfterCreateRouter;
|
|
@@ -146,23 +124,17 @@ exports.onAfterHydrateRouter = __webpack_exports__.onAfterHydrateRouter;
|
|
|
146
124
|
exports.onBeforeCreateRouter = __webpack_exports__.onBeforeCreateRouter;
|
|
147
125
|
exports.onBeforeCreateRoutes = __webpack_exports__.onBeforeCreateRoutes;
|
|
148
126
|
exports.onBeforeHydrateRouter = __webpack_exports__.onBeforeHydrateRouter;
|
|
149
|
-
exports.registerRouterProvider = __webpack_exports__.registerRouterProvider;
|
|
150
|
-
exports.resolveRouterProvider = __webpack_exports__.resolveRouterProvider;
|
|
151
127
|
exports.routerProviderRegistryHooks = __webpack_exports__.routerProviderRegistryHooks;
|
|
152
128
|
exports.setGlobalContext = __webpack_exports__.setGlobalContext;
|
|
153
129
|
exports.setGlobalInternalRuntimeContext = __webpack_exports__.setGlobalInternalRuntimeContext;
|
|
154
130
|
exports.setServerPayload = __webpack_exports__.setServerPayload;
|
|
131
|
+
exports.useRuntimeContext = __webpack_exports__.useRuntimeContext;
|
|
155
132
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
156
133
|
"DefaultNotFound",
|
|
157
134
|
"InternalRuntimeContext",
|
|
135
|
+
"ReactRuntimeContext",
|
|
136
|
+
"RuntimeComponentResolverContext",
|
|
158
137
|
"RuntimeContext",
|
|
159
|
-
"applyRouterRuntimeState",
|
|
160
|
-
"applyRouterServerPrepareResult",
|
|
161
|
-
"cleanupRouterRuntimeState",
|
|
162
|
-
"createRouterProviderRealm",
|
|
163
|
-
"createRouterRuntimeState",
|
|
164
|
-
"createRouterServerSnapshot",
|
|
165
|
-
"createRuntimeContextExtension",
|
|
166
138
|
"getCurrentEntryName",
|
|
167
139
|
"getGlobalApp",
|
|
168
140
|
"getGlobalBasename",
|
|
@@ -173,10 +145,6 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
173
145
|
"getGlobalRSCRoot",
|
|
174
146
|
"getGlobalRoutes",
|
|
175
147
|
"getInitialContext",
|
|
176
|
-
"getRouterHydrationScripts",
|
|
177
|
-
"getRouterMatchedRouteIds",
|
|
178
|
-
"getRouterRuntimeState",
|
|
179
|
-
"getRouterServerSnapshot",
|
|
180
148
|
"getServerPayload",
|
|
181
149
|
"modifyRoutes",
|
|
182
150
|
"onAfterCreateRouter",
|
|
@@ -184,12 +152,11 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
184
152
|
"onBeforeCreateRouter",
|
|
185
153
|
"onBeforeCreateRoutes",
|
|
186
154
|
"onBeforeHydrateRouter",
|
|
187
|
-
"registerRouterProvider",
|
|
188
|
-
"resolveRouterProvider",
|
|
189
155
|
"routerProviderRegistryHooks",
|
|
190
156
|
"setGlobalContext",
|
|
191
157
|
"setGlobalInternalRuntimeContext",
|
|
192
|
-
"setServerPayload"
|
|
158
|
+
"setServerPayload",
|
|
159
|
+
"useRuntimeContext"
|
|
193
160
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
194
161
|
Object.defineProperty(exports, '__esModule', {
|
|
195
162
|
value: true
|
|
@@ -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: ()=>context_namespaceObject.ReactRuntimeContext,
|
|
32
|
+
RuntimeContext: ()=>context_namespaceObject.RuntimeContext,
|
|
33
|
+
useRuntimeContext: ()=>context_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 context_namespaceObject = require("@modern-js/runtime/context");
|
|
39
36
|
exports.ReactRuntimeContext = __webpack_exports__.ReactRuntimeContext;
|
|
40
37
|
exports.RuntimeContext = __webpack_exports__.RuntimeContext;
|
|
41
38
|
exports.useRuntimeContext = __webpack_exports__.useRuntimeContext;
|
|
@@ -29,15 +29,19 @@ 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
|
const InternalRuntimeContext = (0, external_react_namespaceObject.createContext)({});
|
|
41
|
+
const RuntimeContext = (0, external_react_namespaceObject.createContext)({});
|
|
42
|
+
const RuntimeComponentResolverContext = (0, external_react_namespaceObject.createContext)(void 0);
|
|
43
|
+
const ReactRuntimeContext = RuntimeContext;
|
|
44
|
+
const useRuntimeContext = ()=>(0, external_react_namespaceObject.useContext)(RuntimeContext);
|
|
41
45
|
const getInitialContext = (isBrowser = true, routeManifest)=>{
|
|
42
46
|
const requestContext = {
|
|
43
47
|
request: {
|
|
@@ -63,12 +67,14 @@ const getInitialContext = (isBrowser = true, routeManifest)=>{
|
|
|
63
67
|
};
|
|
64
68
|
exports.InternalRuntimeContext = __webpack_exports__.InternalRuntimeContext;
|
|
65
69
|
exports.ReactRuntimeContext = __webpack_exports__.ReactRuntimeContext;
|
|
70
|
+
exports.RuntimeComponentResolverContext = __webpack_exports__.RuntimeComponentResolverContext;
|
|
66
71
|
exports.RuntimeContext = __webpack_exports__.RuntimeContext;
|
|
67
72
|
exports.getInitialContext = __webpack_exports__.getInitialContext;
|
|
68
73
|
exports.useRuntimeContext = __webpack_exports__.useRuntimeContext;
|
|
69
74
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
70
75
|
"InternalRuntimeContext",
|
|
71
76
|
"ReactRuntimeContext",
|
|
77
|
+
"RuntimeComponentResolverContext",
|
|
72
78
|
"RuntimeContext",
|
|
73
79
|
"getInitialContext",
|
|
74
80
|
"useRuntimeContext"
|
package/dist/cjs/core/index.js
CHANGED
|
@@ -28,12 +28,12 @@ var __webpack_require__ = {};
|
|
|
28
28
|
var __webpack_exports__ = {};
|
|
29
29
|
__webpack_require__.r(__webpack_exports__);
|
|
30
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
-
RuntimeContext: ()=>
|
|
31
|
+
RuntimeContext: ()=>context_namespaceObject.RuntimeContext,
|
|
32
32
|
defineRuntimeConfig: ()=>external_config_js_namespaceObject.defineRuntimeConfig,
|
|
33
|
-
useRuntimeContext: ()=>
|
|
33
|
+
useRuntimeContext: ()=>context_namespaceObject.useRuntimeContext
|
|
34
34
|
});
|
|
35
|
+
const context_namespaceObject = require("@modern-js/runtime/context");
|
|
35
36
|
const external_config_js_namespaceObject = require("./config.js");
|
|
36
|
-
const runtime_js_namespaceObject = require("./context/runtime.js");
|
|
37
37
|
exports.RuntimeContext = __webpack_exports__.RuntimeContext;
|
|
38
38
|
exports.defineRuntimeConfig = __webpack_exports__.defineRuntimeConfig;
|
|
39
39
|
exports.useRuntimeContext = __webpack_exports__.useRuntimeContext;
|
|
@@ -32,11 +32,11 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
32
32
|
registerPlugin: ()=>registerPlugin
|
|
33
33
|
});
|
|
34
34
|
const runtime_namespaceObject = require("@modern-js/plugin/runtime");
|
|
35
|
+
const context_namespaceObject = require("@modern-js/runtime/context");
|
|
35
36
|
const merge_namespaceObject = require("@modern-js/runtime-utils/merge");
|
|
36
37
|
const index_js_namespaceObject = require("../compat/index.js");
|
|
37
38
|
const hooks_js_namespaceObject = require("../compat/hooks.js");
|
|
38
39
|
const requestContext_js_namespaceObject = require("../compat/requestContext.js");
|
|
39
|
-
const external_context_index_js_namespaceObject = require("../context/index.js");
|
|
40
40
|
function registerPlugin(internalPlugins, runtimeConfig) {
|
|
41
41
|
const { plugins = [] } = runtimeConfig || {};
|
|
42
42
|
const { runtimeContext } = runtime_namespaceObject.runtime.run({
|
|
@@ -50,7 +50,7 @@ function registerPlugin(internalPlugins, runtimeConfig) {
|
|
|
50
50
|
handleSetupResult: hooks_js_namespaceObject.handleSetupResult
|
|
51
51
|
});
|
|
52
52
|
const internalRuntimeContext = runtimeContext;
|
|
53
|
-
(0,
|
|
53
|
+
(0, context_namespaceObject.setGlobalInternalRuntimeContext)(internalRuntimeContext);
|
|
54
54
|
return internalRuntimeContext;
|
|
55
55
|
}
|
|
56
56
|
function mergeConfig(config, ...otherConfig) {
|
|
@@ -30,17 +30,17 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
30
30
|
__webpack_require__.d(__webpack_exports__, {
|
|
31
31
|
createRoot: ()=>createRoot
|
|
32
32
|
});
|
|
33
|
+
const context_namespaceObject = require("@modern-js/runtime/context");
|
|
33
34
|
const parsed_namespaceObject = require("@modern-js/runtime-utils/parsed");
|
|
34
35
|
const external_common_js_namespaceObject = require("../../common.js");
|
|
35
36
|
const external_constants_js_namespaceObject = require("../constants.js");
|
|
36
|
-
const index_js_namespaceObject = require("../context/index.js");
|
|
37
37
|
function createRoot(UserApp) {
|
|
38
|
-
const App = UserApp || (0,
|
|
38
|
+
const App = UserApp || (0, context_namespaceObject.getGlobalApp)();
|
|
39
39
|
if ((0, external_common_js_namespaceObject.isBrowser)()) {
|
|
40
40
|
window._SSR_DATA = window._SSR_DATA || (0, parsed_namespaceObject.parsedJSONFromElement)(external_constants_js_namespaceObject.SSR_DATA_JSON_ID);
|
|
41
41
|
window._ROUTER_DATA = window._ROUTER_DATA || (0, parsed_namespaceObject.parsedJSONFromElement)(external_constants_js_namespaceObject.ROUTER_DATA_JSON_ID);
|
|
42
42
|
}
|
|
43
|
-
const internalRuntimeContext = (0,
|
|
43
|
+
const internalRuntimeContext = (0, context_namespaceObject.getGlobalInternalRuntimeContext)();
|
|
44
44
|
const hooks = internalRuntimeContext.hooks;
|
|
45
45
|
const WrapperApp = hooks.wrapRoot.call(App);
|
|
46
46
|
return WrapperApp;
|
|
@@ -28,50 +28,19 @@ 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
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const requestContext = (0, index_js_namespaceObject.getInitialContext)().requestContext;
|
|
40
|
-
Object.defineProperty(requestContext.response, 'setHeader', {
|
|
41
|
-
enumerable: false
|
|
35
|
+
const context_namespaceObject = require("@modern-js/runtime/context");
|
|
36
|
+
function wrapRuntimeComponentResolver(root, hooks = (0, context_namespaceObject.getGlobalInternalRuntimeContext)()?.hooks) {
|
|
37
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(context_namespaceObject.RuntimeComponentResolverContext.Provider, {
|
|
38
|
+
value: hooks?.resolveComponent?.call,
|
|
39
|
+
children: root
|
|
42
40
|
});
|
|
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
41
|
}
|
|
71
42
|
function wrapRuntimeContextProvider(App, contextValue) {
|
|
72
43
|
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
44
|
const runtimeContextValue = {
|
|
76
45
|
isBrowser,
|
|
77
46
|
initialData,
|
|
@@ -79,41 +48,28 @@ function wrapRuntimeContextProvider(App, contextValue) {
|
|
|
79
48
|
context,
|
|
80
49
|
...rest
|
|
81
50
|
};
|
|
82
|
-
(0,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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,
|
|
106
|
-
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_js_namespaceObject.RuntimeContext.Provider, {
|
|
107
|
-
value: runtimeContextValue,
|
|
108
|
-
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_helmet_async_namespaceObject.HelmetProvider, {
|
|
109
|
-
context: helmetContext,
|
|
110
|
-
children: App
|
|
111
|
-
})
|
|
51
|
+
const isRsc = true === (0, context_namespaceObject.getGlobalEnableRsc)();
|
|
52
|
+
const projection = {
|
|
53
|
+
internalContext: contextValue,
|
|
54
|
+
publicContext: runtimeContextValue
|
|
55
|
+
};
|
|
56
|
+
const values = (0, context_namespaceObject.getGlobalInternalRuntimeContext)()?.hooks.transformRuntimeContext?.call(projection, {
|
|
57
|
+
context: contextValue,
|
|
58
|
+
isRsc
|
|
59
|
+
}) ?? projection;
|
|
60
|
+
const root = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(context_namespaceObject.InternalRuntimeContext.Provider, {
|
|
61
|
+
value: values.internalContext,
|
|
62
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(context_namespaceObject.RuntimeContext.Provider, {
|
|
63
|
+
value: values.publicContext,
|
|
64
|
+
children: App
|
|
112
65
|
})
|
|
113
66
|
});
|
|
67
|
+
return isRsc && false === isBrowser ? root : wrapRuntimeComponentResolver(root);
|
|
114
68
|
}
|
|
69
|
+
exports.wrapRuntimeComponentResolver = __webpack_exports__.wrapRuntimeComponentResolver;
|
|
115
70
|
exports.wrapRuntimeContextProvider = __webpack_exports__.wrapRuntimeContextProvider;
|
|
116
71
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
72
|
+
"wrapRuntimeComponentResolver",
|
|
117
73
|
"wrapRuntimeContextProvider"
|
|
118
74
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
119
75
|
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();
|