@modern-js/runtime 3.0.0-alpha.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cli/ssr/index.js +109 -124
- package/dist/cjs/cli/ssr/loadable-bundler-plugin.js +21 -4
- package/dist/cjs/core/browser/index.js +2 -1
- package/dist/cjs/core/compat/requestContext.js +1 -0
- package/dist/cjs/core/context/runtime.js +10 -6
- package/dist/cjs/core/server/stream/createReadableStream.js +2 -15
- package/dist/cjs/core/server/stream/createReadableStream.worker.js +3 -14
- package/dist/cjs/core/server/stream/shared.js +47 -1
- package/dist/cjs/document/cli/index.js +61 -38
- package/dist/cjs/router/runtime/PrefetchLink.js +1 -4
- package/dist/esm/cli/alias.mjs +1 -1
- package/dist/esm/cli/code.mjs +3 -3
- package/dist/esm/cli/entry.mjs +1 -1
- package/dist/esm/cli/index.mjs +7 -7
- package/dist/esm/cli/ssr/index.mjs +3 -19
- package/dist/esm/cli/ssr/loadable-bundler-plugin.mjs +2 -1
- package/dist/esm/cli/template.mjs +1 -1
- package/dist/esm/core/browser/hydrate.mjs +3 -3
- package/dist/esm/core/browser/index.mjs +6 -5
- package/dist/esm/core/compat/index.mjs +1 -1
- package/dist/esm/core/compat/requestContext.mjs +1 -0
- package/dist/esm/core/context/index.mjs +2 -2
- package/dist/esm/core/context/monitors/index.mjs +1 -1
- package/dist/esm/core/context/monitors/index.server.mjs +1 -1
- package/dist/esm/core/context/runtime.mjs +10 -6
- package/dist/esm/core/index.mjs +2 -2
- package/dist/esm/core/plugin/index.mjs +4 -4
- package/dist/esm/core/react/index.mjs +3 -3
- package/dist/esm/core/react/wrapper.mjs +1 -1
- package/dist/esm/core/server/helmet.mjs +1 -1
- package/dist/esm/core/server/index.mjs +1 -1
- package/dist/esm/core/server/react/index.mjs +2 -2
- package/dist/esm/core/server/react/no-ssr-cache/index.mjs +1 -1
- package/dist/esm/core/server/requestHandler.mjs +7 -7
- package/dist/esm/core/server/server.mjs +3 -3
- package/dist/esm/core/server/stream/afterTemplate.mjs +4 -4
- package/dist/esm/core/server/stream/beforeTemplate.mjs +4 -4
- package/dist/esm/core/server/stream/createReadableStream.mjs +11 -14
- package/dist/esm/core/server/stream/createReadableStream.worker.mjs +8 -9
- package/dist/esm/core/server/stream/deferredScript.mjs +1 -1
- package/dist/esm/core/server/stream/index.mjs +2 -2
- package/dist/esm/core/server/stream/shared.mjs +38 -5
- package/dist/esm/core/server/stream/template.mjs +2 -2
- package/dist/esm/core/server/string/index.mjs +10 -10
- package/dist/esm/core/server/string/loadable.mjs +1 -1
- package/dist/esm/core/server/string/ssrData.mjs +2 -2
- package/dist/esm/document/Body.mjs +3 -3
- package/dist/esm/document/Comment.mjs +1 -1
- package/dist/esm/document/Head.mjs +5 -5
- package/dist/esm/document/Html.mjs +3 -3
- package/dist/esm/document/Links.mjs +1 -1
- package/dist/esm/document/Root.mjs +2 -2
- package/dist/esm/document/Script.mjs +1 -1
- package/dist/esm/document/Scripts.mjs +1 -1
- package/dist/esm/document/Style.mjs +1 -1
- package/dist/esm/document/Title.mjs +1 -1
- package/dist/esm/document/cli/index.mjs +63 -40
- package/dist/esm/document/index.mjs +12 -12
- package/dist/esm/index.mjs +5 -5
- package/dist/esm/internal.mjs +1 -1
- package/dist/esm/react-server.mjs +3 -3
- package/dist/esm/router/cli/code/getClientRoutes/getRoutes.mjs +4 -4
- package/dist/esm/router/cli/code/getClientRoutes/index.mjs +1 -1
- package/dist/esm/router/cli/code/getClientRoutes/utils.mjs +1 -1
- package/dist/esm/router/cli/code/index.mjs +9 -9
- package/dist/esm/router/cli/code/inspect.mjs +2 -2
- package/dist/esm/router/cli/code/nestedRoutes.mjs +2 -2
- package/dist/esm/router/cli/code/templates.mjs +2 -2
- package/dist/esm/router/cli/code/utils.mjs +1 -1
- package/dist/esm/router/cli/config-routes/converter.mjs +2 -2
- package/dist/esm/router/cli/entry.mjs +2 -2
- package/dist/esm/router/cli/handler.mjs +5 -5
- package/dist/esm/router/cli/index.mjs +3 -3
- package/dist/esm/router/index.mjs +1 -1
- package/dist/esm/router/internal.mjs +2 -2
- package/dist/esm/router/runtime/DeferredDataScripts.node.mjs +3 -3
- package/dist/esm/router/runtime/PrefetchLink.mjs +2 -5
- package/dist/esm/router/runtime/constants.mjs +1 -1
- package/dist/esm/router/runtime/index.mjs +2 -2
- package/dist/esm/router/runtime/internal.mjs +2 -2
- package/dist/esm/router/runtime/plugin.mjs +4 -4
- package/dist/esm/router/runtime/plugin.node.mjs +4 -4
- package/dist/esm/router/runtime/utils.mjs +2 -2
- package/dist/esm-node/cache/index.mjs +1 -0
- package/dist/esm-node/cli/alias.mjs +1 -0
- package/dist/esm-node/cli/code.mjs +1 -0
- package/dist/esm-node/cli/constants.mjs +1 -0
- package/dist/esm-node/cli/entry.mjs +1 -0
- package/dist/esm-node/cli/index.mjs +2 -0
- package/dist/esm-node/cli/ssr/index.mjs +4 -18
- package/dist/esm-node/cli/ssr/loadable-bundler-plugin.mjs +3 -1
- package/dist/esm-node/cli/ssr/mode.mjs +1 -0
- package/dist/esm-node/cli/template.mjs +1 -0
- package/dist/esm-node/cli/template.server.mjs +1 -0
- package/dist/esm-node/common.mjs +1 -0
- package/dist/esm-node/core/browser/hydrate.mjs +1 -0
- package/dist/esm-node/core/browser/index.mjs +3 -1
- package/dist/esm-node/core/browser/withCallback.mjs +1 -0
- package/dist/esm-node/core/compat/hooks.mjs +1 -0
- package/dist/esm-node/core/compat/index.mjs +1 -0
- package/dist/esm-node/core/compat/requestContext.mjs +2 -0
- package/dist/esm-node/core/config.mjs +1 -0
- package/dist/esm-node/core/constants.mjs +1 -0
- package/dist/esm-node/core/context/index.mjs +1 -0
- package/dist/esm-node/core/context/monitors/default.mjs +1 -0
- package/dist/esm-node/core/context/monitors/index.mjs +1 -0
- package/dist/esm-node/core/context/monitors/index.server.mjs +1 -0
- package/dist/esm-node/core/context/request/index.mjs +1 -0
- package/dist/esm-node/core/context/request/index.server.mjs +1 -0
- package/dist/esm-node/core/context/response/index.mjs +1 -0
- package/dist/esm-node/core/context/response/index.server.mjs +1 -0
- package/dist/esm-node/core/context/runtime.mjs +11 -6
- package/dist/esm-node/core/context/serverPayload/index.mjs +1 -0
- package/dist/esm-node/core/context/serverPayload/index.server.mjs +1 -0
- package/dist/esm-node/core/index.mjs +1 -0
- package/dist/esm-node/core/plugin/index.mjs +1 -0
- package/dist/esm-node/core/plugin/types.mjs +1 -0
- package/dist/esm-node/core/react/index.mjs +1 -0
- package/dist/esm-node/core/react/wrapper.mjs +1 -0
- package/dist/esm-node/core/server/constants.mjs +1 -0
- package/dist/esm-node/core/server/helmet.mjs +1 -0
- package/dist/esm-node/core/server/index.mjs +1 -0
- package/dist/esm-node/core/server/react/index.mjs +1 -0
- package/dist/esm-node/core/server/react/no-ssr-cache/index.mjs +1 -0
- package/dist/esm-node/core/server/react/nossr/index.mjs +1 -0
- package/dist/esm-node/core/server/requestHandler.mjs +1 -0
- package/dist/esm-node/core/server/server.mjs +1 -0
- package/dist/esm-node/core/server/shared.mjs +1 -0
- package/dist/esm-node/core/server/stream/afterTemplate.mjs +1 -0
- package/dist/esm-node/core/server/stream/beforeTemplate.mjs +5 -1
- package/dist/esm-node/core/server/stream/createReadableStream.mjs +6 -8
- package/dist/esm-node/core/server/stream/createReadableStream.worker.mjs +5 -5
- package/dist/esm-node/core/server/stream/deferredScript.mjs +1 -0
- package/dist/esm-node/core/server/stream/index.mjs +1 -0
- package/dist/esm-node/core/server/stream/shared.mjs +35 -1
- package/dist/esm-node/core/server/stream/template.mjs +1 -0
- package/dist/esm-node/core/server/string/index.mjs +1 -0
- package/dist/esm-node/core/server/string/loadable.mjs +5 -1
- package/dist/esm-node/core/server/string/ssrData.mjs +1 -0
- package/dist/esm-node/core/server/string/types.mjs +1 -0
- package/dist/esm-node/core/server/tracer.mjs +1 -0
- package/dist/esm-node/core/server/utils.mjs +1 -0
- package/dist/esm-node/core/types.mjs +1 -0
- package/dist/esm-node/document/Body.mjs +1 -0
- package/dist/esm-node/document/Comment.mjs +1 -0
- package/dist/esm-node/document/DocumentContext.mjs +1 -0
- package/dist/esm-node/document/DocumentStructureContext.mjs +1 -0
- package/dist/esm-node/document/Head.mjs +1 -0
- package/dist/esm-node/document/Html.mjs +1 -0
- package/dist/esm-node/document/Links.mjs +1 -0
- package/dist/esm-node/document/Root.mjs +1 -0
- package/dist/esm-node/document/Script.mjs +1 -0
- package/dist/esm-node/document/Scripts.mjs +1 -0
- package/dist/esm-node/document/Style.mjs +1 -0
- package/dist/esm-node/document/Title.mjs +1 -0
- package/dist/esm-node/document/cli/index.mjs +64 -39
- package/dist/esm-node/document/constants.mjs +1 -0
- package/dist/esm-node/document/index.mjs +1 -0
- package/dist/esm-node/exports/config-routes.mjs +1 -0
- package/dist/esm-node/exports/head.mjs +1 -0
- package/dist/esm-node/exports/loadable.mjs +1 -0
- package/dist/esm-node/index.mjs +1 -0
- package/dist/esm-node/internal.mjs +1 -0
- package/dist/esm-node/react-server.mjs +1 -0
- package/dist/esm-node/router/cli/code/getClientRoutes/getRoutes.mjs +1 -0
- package/dist/esm-node/router/cli/code/getClientRoutes/index.mjs +1 -0
- package/dist/esm-node/router/cli/code/getClientRoutes/utils.mjs +1 -0
- package/dist/esm-node/router/cli/code/index.mjs +1 -0
- package/dist/esm-node/router/cli/code/inspect.mjs +1 -0
- package/dist/esm-node/router/cli/code/makeLegalIdentifier.mjs +1 -0
- package/dist/esm-node/router/cli/code/nestedRoutes.mjs +1 -0
- package/dist/esm-node/router/cli/code/templates.mjs +2 -0
- package/dist/esm-node/router/cli/code/utils.mjs +1 -0
- package/dist/esm-node/router/cli/config-routes/converter.mjs +1 -0
- package/dist/esm-node/router/cli/config-routes/parseRouteConfig.mjs +1 -0
- package/dist/esm-node/router/cli/constants.mjs +1 -0
- package/dist/esm-node/router/cli/entry.mjs +1 -0
- package/dist/esm-node/router/cli/handler.mjs +1 -0
- package/dist/esm-node/router/cli/index.mjs +5 -1
- package/dist/esm-node/router/index.mjs +1 -0
- package/dist/esm-node/router/internal.mjs +1 -0
- package/dist/esm-node/router/runtime/DefaultNotFound.mjs +1 -0
- package/dist/esm-node/router/runtime/DeferredDataScripts.mjs +1 -0
- package/dist/esm-node/router/runtime/DeferredDataScripts.node.mjs +1 -0
- package/dist/esm-node/router/runtime/PrefetchLink.mjs +2 -4
- package/dist/esm-node/router/runtime/constants.mjs +1 -0
- package/dist/esm-node/router/runtime/hooks.mjs +1 -0
- package/dist/esm-node/router/runtime/index.mjs +1 -0
- package/dist/esm-node/router/runtime/internal.mjs +1 -0
- package/dist/esm-node/router/runtime/plugin.mjs +1 -0
- package/dist/esm-node/router/runtime/plugin.node.mjs +1 -0
- package/dist/esm-node/router/runtime/routerHelper.mjs +1 -0
- package/dist/esm-node/router/runtime/rsc-router.mjs +1 -0
- package/dist/esm-node/router/runtime/rsc.mjs +1 -0
- package/dist/esm-node/router/runtime/server.mjs +1 -0
- package/dist/esm-node/router/runtime/types.mjs +1 -0
- package/dist/esm-node/router/runtime/utils.mjs +1 -0
- package/dist/esm-node/router/runtime/withRouter.mjs +1 -0
- package/dist/esm-node/rsc/client.mjs +1 -0
- package/dist/esm-node/rsc/server.mjs +1 -0
- package/dist/types/cli/ssr/loadable-bundler-plugin.d.ts +22 -1
- package/dist/types/core/context/runtime.d.ts +4 -0
- package/dist/types/core/server/stream/shared.d.ts +4 -0
- package/package.json +31 -59
- package/rstest.config.ts +83 -0
|
@@ -1,19 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
"./loadable-bundler-plugin.js" (module) {
|
|
4
|
-
module.exports = require("./loadable-bundler-plugin.js");
|
|
5
|
-
}
|
|
6
|
-
};
|
|
7
|
-
var __webpack_module_cache__ = {};
|
|
8
|
-
function __webpack_require__(moduleId) {
|
|
9
|
-
var cachedModule = __webpack_module_cache__[moduleId];
|
|
10
|
-
if (void 0 !== cachedModule) return cachedModule.exports;
|
|
11
|
-
var module = __webpack_module_cache__[moduleId] = {
|
|
12
|
-
exports: {}
|
|
13
|
-
};
|
|
14
|
-
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
15
|
-
return module.exports;
|
|
16
|
-
}
|
|
2
|
+
var __webpack_require__ = {};
|
|
17
3
|
(()=>{
|
|
18
4
|
__webpack_require__.n = (module)=>{
|
|
19
5
|
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
@@ -45,122 +31,121 @@ function __webpack_require__(moduleId) {
|
|
|
45
31
|
};
|
|
46
32
|
})();
|
|
47
33
|
var __webpack_exports__ = {};
|
|
48
|
-
(
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
return false;
|
|
34
|
+
__webpack_require__.r(__webpack_exports__);
|
|
35
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
36
|
+
default: ()=>cli_ssr,
|
|
37
|
+
ssrPlugin: ()=>ssrPlugin
|
|
38
|
+
});
|
|
39
|
+
const external_path_namespaceObject = require("path");
|
|
40
|
+
var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
|
|
41
|
+
const utils_namespaceObject = require("@modern-js/utils");
|
|
42
|
+
const external_loadable_bundler_plugin_js_namespaceObject = require("./loadable-bundler-plugin.js");
|
|
43
|
+
var external_loadable_bundler_plugin_js_default = /*#__PURE__*/ __webpack_require__.n(external_loadable_bundler_plugin_js_namespaceObject);
|
|
44
|
+
const external_mode_js_namespaceObject = require("./mode.js");
|
|
45
|
+
const checkUseStringSSR = (config, appDirectory, entrypoints)=>{
|
|
46
|
+
if (entrypoints && entrypoints.length > 0) {
|
|
47
|
+
for (const entrypoint of entrypoints){
|
|
48
|
+
const ssrMode = (0, external_mode_js_namespaceObject.resolveSSRMode)({
|
|
49
|
+
entry: entrypoint.entryName,
|
|
50
|
+
config,
|
|
51
|
+
appDirectory,
|
|
52
|
+
nestedRoutesEntry: entrypoint.nestedRoutesEntry
|
|
53
|
+
});
|
|
54
|
+
if ('string' === ssrMode) return true;
|
|
70
55
|
}
|
|
71
|
-
return
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
output: {
|
|
91
|
-
module: isServerEnvironment && outputModule
|
|
92
|
-
},
|
|
93
|
-
tools: {
|
|
94
|
-
bundlerChain: useLoadablePlugin ? (chain)=>{
|
|
95
|
-
const LoadableBundlerPlugin = __webpack_require__("./loadable-bundler-plugin.js");
|
|
96
|
-
chain.plugin('loadable').use(LoadableBundlerPlugin, [
|
|
97
|
-
{
|
|
98
|
-
filename: utils_namespaceObject.LOADABLE_STATS_FILE
|
|
99
|
-
}
|
|
100
|
-
]);
|
|
101
|
-
} : void 0
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
return true;
|
|
59
|
+
};
|
|
60
|
+
const ssrBuilderPlugin = (modernAPI, outputModule)=>({
|
|
61
|
+
name: '@modern-js/builder-plugin-ssr',
|
|
62
|
+
setup (api) {
|
|
63
|
+
api.modifyEnvironmentConfig((config, { name, mergeEnvironmentConfig })=>{
|
|
64
|
+
const isServerEnvironment = 'node' === config.output.target || 'workerSSR' === name;
|
|
65
|
+
const userConfig = modernAPI.getNormalizedConfig();
|
|
66
|
+
const ssrEnv = userConfig.deploy?.worker?.ssr || userConfig.server?.rsc ? 'edge' : 'node';
|
|
67
|
+
const appContext = modernAPI.getAppContext();
|
|
68
|
+
const { appDirectory, entrypoints } = appContext;
|
|
69
|
+
const useLoadablePlugin = (0, utils_namespaceObject.isUseSSRBundle)(userConfig) && !isServerEnvironment && checkUseStringSSR(userConfig, appDirectory, entrypoints);
|
|
70
|
+
return mergeEnvironmentConfig(config, {
|
|
71
|
+
source: {
|
|
72
|
+
define: {
|
|
73
|
+
'process.env.MODERN_TARGET': isServerEnvironment ? JSON.stringify('node') : JSON.stringify('browser'),
|
|
74
|
+
'process.env.MODERN_SSR_ENV': JSON.stringify(ssrEnv)
|
|
102
75
|
}
|
|
103
|
-
}
|
|
76
|
+
},
|
|
77
|
+
output: {
|
|
78
|
+
module: isServerEnvironment && outputModule
|
|
79
|
+
},
|
|
80
|
+
tools: {
|
|
81
|
+
bundlerChain: useLoadablePlugin ? (chain)=>{
|
|
82
|
+
chain.plugin('loadable').use(external_loadable_bundler_plugin_js_default(), [
|
|
83
|
+
{
|
|
84
|
+
filename: utils_namespaceObject.LOADABLE_STATS_FILE
|
|
85
|
+
}
|
|
86
|
+
]);
|
|
87
|
+
} : void 0
|
|
88
|
+
}
|
|
104
89
|
});
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
const ssrPlugin = ()=>({
|
|
94
|
+
name: '@modern-js/plugin-ssr',
|
|
95
|
+
required: [
|
|
96
|
+
'@modern-js/runtime'
|
|
97
|
+
],
|
|
98
|
+
setup: (api)=>{
|
|
99
|
+
const appContext = api.getAppContext();
|
|
100
|
+
const exportLoadablePath = `@${appContext.metaName}/runtime/loadable`;
|
|
101
|
+
const runtimeUtilsPath = require.resolve('@modern-js/runtime-utils/node');
|
|
102
|
+
const aliasPath = runtimeUtilsPath.replace(`${external_path_default().sep}cjs${external_path_default().sep}`, `${external_path_default().sep}esm${external_path_default().sep}`).replace(/\.js$/, '.mjs');
|
|
103
|
+
api.config(()=>({
|
|
104
|
+
builderPlugins: [
|
|
105
|
+
ssrBuilderPlugin(api, 'module' === appContext.moduleType)
|
|
106
|
+
],
|
|
107
|
+
resolve: {
|
|
108
|
+
alias: {
|
|
109
|
+
'@modern-js/runtime-utils/node$': aliasPath
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
tools: {
|
|
113
|
+
swc: {
|
|
114
|
+
jsc: {
|
|
115
|
+
experimental: {
|
|
116
|
+
plugins: [
|
|
117
|
+
[
|
|
118
|
+
require.resolve('@swc/plugin-loadable-components'),
|
|
119
|
+
{
|
|
120
|
+
signatures: [
|
|
121
|
+
{
|
|
122
|
+
name: 'default',
|
|
123
|
+
from: '@loadable/component'
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: 'lazy',
|
|
127
|
+
from: '@loadable/component'
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
name: 'default',
|
|
131
|
+
from: exportLoadablePath
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
name: 'lazy',
|
|
135
|
+
from: exportLoadablePath
|
|
136
|
+
}
|
|
137
|
+
]
|
|
138
|
+
}
|
|
154
139
|
]
|
|
155
|
-
|
|
140
|
+
]
|
|
156
141
|
}
|
|
157
142
|
}
|
|
158
143
|
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
|
|
144
|
+
}
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
const cli_ssr = ssrPlugin;
|
|
164
149
|
exports["default"] = __webpack_exports__["default"];
|
|
165
150
|
exports.ssrPlugin = __webpack_exports__.ssrPlugin;
|
|
166
151
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
3
|
(()=>{
|
|
4
|
-
__webpack_require__.n = (
|
|
5
|
-
var getter =
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
6
|
__webpack_require__.d(getter, {
|
|
7
7
|
a: getter
|
|
8
8
|
});
|
|
@@ -20,7 +20,21 @@ var __webpack_require__ = {};
|
|
|
20
20
|
(()=>{
|
|
21
21
|
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
22
22
|
})();
|
|
23
|
+
(()=>{
|
|
24
|
+
__webpack_require__.r = (exports1)=>{
|
|
25
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
26
|
+
value: 'Module'
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
29
|
+
value: true
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
})();
|
|
23
33
|
var __webpack_exports__ = {};
|
|
34
|
+
__webpack_require__.r(__webpack_exports__);
|
|
35
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
36
|
+
default: ()=>loadable_bundler_plugin
|
|
37
|
+
});
|
|
24
38
|
const external_path_namespaceObject = require("path");
|
|
25
39
|
var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
|
|
26
40
|
const utils_namespaceObject = require("@modern-js/utils");
|
|
@@ -96,8 +110,11 @@ class LoadablePlugin {
|
|
|
96
110
|
this.compiler = null;
|
|
97
111
|
}
|
|
98
112
|
}
|
|
99
|
-
|
|
100
|
-
|
|
113
|
+
const loadable_bundler_plugin = LoadablePlugin;
|
|
114
|
+
exports["default"] = __webpack_exports__["default"];
|
|
115
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
116
|
+
"default"
|
|
117
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
101
118
|
Object.defineProperty(exports, '__esModule', {
|
|
102
119
|
value: true
|
|
103
120
|
});
|
|
@@ -97,7 +97,8 @@ async function render(App, id) {
|
|
|
97
97
|
const ssrData = getSSRData();
|
|
98
98
|
Object.assign(context, {
|
|
99
99
|
_internalRouterBaseName: App.props.basename,
|
|
100
|
-
ssrContext: ssrData.context
|
|
100
|
+
ssrContext: ssrData.context,
|
|
101
|
+
initialData: ssrData.data?.initialData
|
|
101
102
|
});
|
|
102
103
|
await runBeforeRender(context);
|
|
103
104
|
const rootElement = id && 'string' != typeof id ? id : document.getElementById(id || 'root');
|
|
@@ -35,14 +35,18 @@ const external_react_namespaceObject = require("react");
|
|
|
35
35
|
const InternalRuntimeContext = (0, external_react_namespaceObject.createContext)({});
|
|
36
36
|
const RuntimeContext = (0, external_react_namespaceObject.createContext)({});
|
|
37
37
|
const ReactRuntimeContext = RuntimeContext;
|
|
38
|
-
const getInitialContext = (isBrowser = true, routeManifest)=>
|
|
38
|
+
const getInitialContext = (isBrowser = true, routeManifest)=>{
|
|
39
|
+
const requestContext = {
|
|
40
|
+
request: {},
|
|
41
|
+
response: {}
|
|
42
|
+
};
|
|
43
|
+
return {
|
|
39
44
|
isBrowser,
|
|
40
45
|
routeManifest: routeManifest || "u" > typeof window && window[constants_namespaceObject.ROUTE_MANIFEST],
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
});
|
|
46
|
+
requestContext,
|
|
47
|
+
context: requestContext
|
|
48
|
+
};
|
|
49
|
+
};
|
|
46
50
|
const useRuntimeContext = ()=>(0, external_react_namespaceObject.useContext)(RuntimeContext);
|
|
47
51
|
exports.InternalRuntimeContext = __webpack_exports__.InternalRuntimeContext;
|
|
48
52
|
exports.ReactRuntimeContext = __webpack_exports__.ReactRuntimeContext;
|
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.n = (module)=>{
|
|
5
|
-
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
-
__webpack_require__.d(getter, {
|
|
7
|
-
a: getter
|
|
8
|
-
});
|
|
9
|
-
return getter;
|
|
10
|
-
};
|
|
11
|
-
})();
|
|
12
3
|
(()=>{
|
|
13
4
|
__webpack_require__.d = (exports1, definition)=>{
|
|
14
5
|
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
@@ -37,8 +28,6 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
37
28
|
});
|
|
38
29
|
const external_stream_namespaceObject = require("stream");
|
|
39
30
|
const node_namespaceObject = require("@modern-js/runtime-utils/node");
|
|
40
|
-
const external_isbot_namespaceObject = require("isbot");
|
|
41
|
-
var external_isbot_default = /*#__PURE__*/ __webpack_require__.n(external_isbot_namespaceObject);
|
|
42
31
|
const external_common_js_namespaceObject = require("../../../common.js");
|
|
43
32
|
const external_constants_js_namespaceObject = require("../../constants.js");
|
|
44
33
|
const index_js_namespaceObject = require("../../context/index.js");
|
|
@@ -57,9 +46,7 @@ const createReadableStreamFromElement = async (request, rootElement, options)=>{
|
|
|
57
46
|
let shellChunkStatus = external_shared_js_namespaceObject.ShellChunkStatus.START;
|
|
58
47
|
let renderLevel = external_constants_js_namespaceObject.RenderLevel.SERVER_RENDER;
|
|
59
48
|
const forceStream2String = Boolean(process.env.MODERN_JS_STREAM_TO_STRING);
|
|
60
|
-
const
|
|
61
|
-
const isSsgRender = 'true' === request.headers.get('x-modern-ssg-render');
|
|
62
|
-
const onReady = isbot || isSsgRender || forceStream2String ? 'onAllReady' : 'onShellReady';
|
|
49
|
+
const { onReady } = (0, external_shared_js_namespaceObject.resolveStreamingMode)(request, forceStream2String);
|
|
63
50
|
const internalRuntimeContext = (0, index_js_namespaceObject.getGlobalInternalRuntimeContext)();
|
|
64
51
|
const hooks = internalRuntimeContext.hooks;
|
|
65
52
|
const extenders = hooks.extendStreamSSR.call() || [];
|
|
@@ -115,7 +102,7 @@ const createReadableStreamFromElement = async (request, rootElement, options)=>{
|
|
|
115
102
|
}
|
|
116
103
|
});
|
|
117
104
|
const passThrough = new external_stream_namespaceObject.PassThrough();
|
|
118
|
-
const stream =
|
|
105
|
+
const stream = external_stream_namespaceObject.Readable.toWeb(body);
|
|
119
106
|
resolve(stream);
|
|
120
107
|
let processedStream = passThrough;
|
|
121
108
|
extenders.forEach((extender)=>{
|
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
|
-
(()=>{
|
|
4
|
-
__webpack_require__.n = (module)=>{
|
|
5
|
-
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
-
__webpack_require__.d(getter, {
|
|
7
|
-
a: getter
|
|
8
|
-
});
|
|
9
|
-
return getter;
|
|
10
|
-
};
|
|
11
|
-
})();
|
|
12
3
|
(()=>{
|
|
13
4
|
__webpack_require__.d = (exports1, definition)=>{
|
|
14
5
|
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
@@ -37,8 +28,6 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
37
28
|
});
|
|
38
29
|
const ssr_namespaceObject = require("@modern-js/render/ssr");
|
|
39
30
|
const node_namespaceObject = require("@modern-js/runtime-utils/node");
|
|
40
|
-
const external_isbot_namespaceObject = require("isbot");
|
|
41
|
-
var external_isbot_default = /*#__PURE__*/ __webpack_require__.n(external_isbot_namespaceObject);
|
|
42
31
|
const external_common_js_namespaceObject = require("../../../common.js");
|
|
43
32
|
const external_constants_js_namespaceObject = require("../../constants.js");
|
|
44
33
|
const external_deferredScript_js_namespaceObject = require("./deferredScript.js");
|
|
@@ -71,9 +60,9 @@ const createReadableStreamFromElement = async (request, rootElement, options)=>{
|
|
|
71
60
|
readableOriginal.allReady.then(()=>{
|
|
72
61
|
options?.onAllReady?.();
|
|
73
62
|
});
|
|
74
|
-
const
|
|
75
|
-
const
|
|
76
|
-
if (
|
|
63
|
+
const forceStreamToString = Boolean("u" > typeof process && process.env?.MODERN_JS_STREAM_TO_STRING);
|
|
64
|
+
const { waitForAllReady } = (0, external_shared_js_namespaceObject.resolveStreamingMode)(request, forceStreamToString);
|
|
65
|
+
if (waitForAllReady) await readableOriginal.allReady;
|
|
77
66
|
const reader = readableOriginal.getReader();
|
|
78
67
|
const stream = new ReadableStream({
|
|
79
68
|
start (controller) {
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
+
__webpack_require__.d(getter, {
|
|
7
|
+
a: getter
|
|
8
|
+
});
|
|
9
|
+
return getter;
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
3
12
|
(()=>{
|
|
4
13
|
__webpack_require__.d = (exports1, definition)=>{
|
|
5
14
|
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
@@ -27,10 +36,13 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
27
36
|
ShellChunkStatus: ()=>shared_ShellChunkStatus,
|
|
28
37
|
createRenderStreaming: ()=>createRenderStreaming,
|
|
29
38
|
encodeForWebStream: ()=>encodeForWebStream,
|
|
39
|
+
resolveStreamingMode: ()=>resolveStreamingMode,
|
|
30
40
|
getReadableStreamFromString: ()=>getReadableStreamFromString
|
|
31
41
|
});
|
|
32
42
|
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
33
43
|
const time_namespaceObject = require("@modern-js/runtime-utils/time");
|
|
44
|
+
const external_isbot_namespaceObject = require("isbot");
|
|
45
|
+
var external_isbot_default = /*#__PURE__*/ __webpack_require__.n(external_isbot_namespaceObject);
|
|
34
46
|
const external_common_js_namespaceObject = require("../../../common.js");
|
|
35
47
|
const wrapper_js_namespaceObject = require("../../react/wrapper.js");
|
|
36
48
|
const external_tracer_js_namespaceObject = require("../tracer.js");
|
|
@@ -40,6 +52,38 @@ var shared_ShellChunkStatus = /*#__PURE__*/ function(ShellChunkStatus) {
|
|
|
40
52
|
ShellChunkStatus[ShellChunkStatus["FINISH"] = 1] = "FINISH";
|
|
41
53
|
return ShellChunkStatus;
|
|
42
54
|
}({});
|
|
55
|
+
const SHOULD_STREAM_ALL_HEADER = 'x-should-stream-all';
|
|
56
|
+
function parseShouldStreamAllFlag(value) {
|
|
57
|
+
if (!value) return;
|
|
58
|
+
const normalized = value.trim().toLowerCase();
|
|
59
|
+
if ('false' === normalized) return false;
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
function resolveStreamingMode(request, forceStreamToString) {
|
|
63
|
+
const shouldStreamAll = parseShouldStreamAllFlag(request.headers.get(SHOULD_STREAM_ALL_HEADER));
|
|
64
|
+
const isSsgRender = 'true' === request.headers.get('x-modern-ssg-render');
|
|
65
|
+
const isBot = external_isbot_default()(request.headers.get('user-agent'));
|
|
66
|
+
if (shouldStreamAll) return {
|
|
67
|
+
onReady: 'onAllReady',
|
|
68
|
+
waitForAllReady: true
|
|
69
|
+
};
|
|
70
|
+
if (forceStreamToString) return {
|
|
71
|
+
onReady: 'onAllReady',
|
|
72
|
+
waitForAllReady: true
|
|
73
|
+
};
|
|
74
|
+
if (isBot) return {
|
|
75
|
+
onReady: 'onAllReady',
|
|
76
|
+
waitForAllReady: true
|
|
77
|
+
};
|
|
78
|
+
if (isSsgRender) return {
|
|
79
|
+
onReady: 'onAllReady',
|
|
80
|
+
waitForAllReady: true
|
|
81
|
+
};
|
|
82
|
+
return {
|
|
83
|
+
onReady: 'onShellReady',
|
|
84
|
+
waitForAllReady: false
|
|
85
|
+
};
|
|
86
|
+
}
|
|
43
87
|
let encoder;
|
|
44
88
|
function encodeForWebStream(thing) {
|
|
45
89
|
if (!encoder) encoder = new TextEncoder();
|
|
@@ -107,11 +151,13 @@ exports.ShellChunkStatus = __webpack_exports__.ShellChunkStatus;
|
|
|
107
151
|
exports.createRenderStreaming = __webpack_exports__.createRenderStreaming;
|
|
108
152
|
exports.encodeForWebStream = __webpack_exports__.encodeForWebStream;
|
|
109
153
|
exports.getReadableStreamFromString = __webpack_exports__.getReadableStreamFromString;
|
|
154
|
+
exports.resolveStreamingMode = __webpack_exports__.resolveStreamingMode;
|
|
110
155
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
111
156
|
"ShellChunkStatus",
|
|
112
157
|
"createRenderStreaming",
|
|
113
158
|
"encodeForWebStream",
|
|
114
|
-
"getReadableStreamFromString"
|
|
159
|
+
"getReadableStreamFromString",
|
|
160
|
+
"resolveStreamingMode"
|
|
115
161
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
116
162
|
Object.defineProperty(exports, '__esModule', {
|
|
117
163
|
value: true
|