@modern-js/runtime 2.35.0 → 2.35.1
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/core/compatible.js +9 -10
- package/dist/cjs/core/loader/useLoader.js +8 -8
- package/dist/cjs/core/plugin.js +2 -3
- package/dist/cjs/document/Html.js +3 -4
- package/dist/cjs/document/cli/index.js +4 -6
- package/dist/cjs/router/cli/index.js +1 -2
- package/dist/cjs/router/runtime/DeferredDataScripts.node.js +9 -11
- package/dist/cjs/router/runtime/PrefetchLink.js +5 -9
- package/dist/cjs/router/runtime/index.js +1 -1
- package/dist/cjs/router/runtime/plugin.js +5 -7
- package/dist/cjs/router/runtime/plugin.node.js +8 -9
- package/dist/cjs/router/runtime/server.js +1 -1
- package/dist/cjs/router/runtime/utils.js +7 -7
- package/dist/cjs/router/runtime/withRouter.js +1 -1
- package/dist/cjs/ssr/cli/index.js +9 -11
- package/dist/cjs/ssr/index.js +3 -3
- package/dist/cjs/ssr/index.node.js +1 -2
- package/dist/cjs/ssr/prefetch.js +4 -4
- package/dist/cjs/ssr/react/prerender/util.js +2 -4
- package/dist/cjs/ssr/serverRender/renderToStream/buildTemplate.after.js +2 -2
- package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +3 -7
- package/dist/cjs/ssr/serverRender/renderToStream/index.js +3 -3
- package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.js +5 -6
- package/dist/cjs/ssr/serverRender/renderToStream/renderToPipe.worker.js +4 -6
- package/dist/cjs/ssr/serverRender/renderToString/entry.js +4 -4
- package/dist/cjs/ssr/serverRender/renderToString/index.js +3 -3
- package/dist/cjs/ssr/serverRender/renderToString/loadable.js +29 -18
- package/dist/esm/core/compatible.js +9 -10
- package/dist/esm/core/loader/useLoader.js +8 -8
- package/dist/esm/core/plugin.js +2 -3
- package/dist/esm/document/Html.js +3 -4
- package/dist/esm/document/cli/index.js +4 -5
- package/dist/esm/router/cli/index.js +1 -2
- package/dist/esm/router/runtime/DeferredDataScripts.node.js +4 -6
- package/dist/esm/router/runtime/PrefetchLink.js +5 -9
- package/dist/esm/router/runtime/index.js +2 -2
- package/dist/esm/router/runtime/plugin.js +4 -6
- package/dist/esm/router/runtime/plugin.node.js +6 -7
- package/dist/esm/router/runtime/server.js +1 -1
- package/dist/esm/router/runtime/utils.js +6 -6
- package/dist/esm/router/runtime/withRouter.js +1 -1
- package/dist/esm/ssr/cli/index.js +9 -11
- package/dist/esm/ssr/index.js +1 -1
- package/dist/esm/ssr/index.node.js +1 -2
- package/dist/esm/ssr/prefetch.js +3 -3
- package/dist/esm/ssr/react/prerender/util.js +2 -4
- package/dist/esm/ssr/serverRender/renderToStream/buildTemplate.after.js +1 -1
- package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +3 -5
- package/dist/esm/ssr/serverRender/renderToStream/index.js +2 -2
- package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.js +5 -6
- package/dist/esm/ssr/serverRender/renderToStream/renderToPipe.worker.js +5 -5
- package/dist/esm/ssr/serverRender/renderToString/entry.js +2 -2
- package/dist/esm/ssr/serverRender/renderToString/index.js +2 -2
- package/dist/esm/ssr/serverRender/renderToString/loadable.js +32 -18
- package/dist/esm-node/core/compatible.js +9 -10
- package/dist/esm-node/core/loader/useLoader.js +8 -8
- package/dist/esm-node/core/plugin.js +2 -3
- package/dist/esm-node/document/Html.js +3 -4
- package/dist/esm-node/document/cli/index.js +4 -6
- package/dist/esm-node/router/cli/index.js +1 -2
- package/dist/esm-node/router/runtime/DeferredDataScripts.node.js +4 -6
- package/dist/esm-node/router/runtime/PrefetchLink.js +5 -9
- package/dist/esm-node/router/runtime/index.js +2 -2
- package/dist/esm-node/router/runtime/plugin.js +4 -6
- package/dist/esm-node/router/runtime/plugin.node.js +6 -7
- package/dist/esm-node/router/runtime/server.js +1 -1
- package/dist/esm-node/router/runtime/utils.js +6 -6
- package/dist/esm-node/router/runtime/withRouter.js +1 -1
- package/dist/esm-node/ssr/cli/index.js +9 -11
- package/dist/esm-node/ssr/index.js +1 -1
- package/dist/esm-node/ssr/index.node.js +1 -2
- package/dist/esm-node/ssr/prefetch.js +3 -3
- package/dist/esm-node/ssr/react/prerender/util.js +2 -4
- package/dist/esm-node/ssr/serverRender/renderToStream/buildTemplate.after.js +1 -1
- package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +3 -7
- package/dist/esm-node/ssr/serverRender/renderToStream/index.js +2 -2
- package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.js +5 -6
- package/dist/esm-node/ssr/serverRender/renderToStream/renderToPipe.worker.js +4 -6
- package/dist/esm-node/ssr/serverRender/renderToString/entry.js +2 -2
- package/dist/esm-node/ssr/serverRender/renderToString/index.js +2 -2
- package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +29 -18
- package/dist/types/router/runtime/PrefetchLink.d.ts +1 -1
- package/dist/types/router/runtime/hooks.d.ts +1 -1
- package/dist/types/router/runtime/index.d.ts +3 -3
- package/dist/types/router/runtime/server.d.ts +1 -1
- package/dist/types/router/runtime/types.d.ts +2 -2
- package/dist/types/router/runtime/utils.d.ts +1 -1
- package/dist/types/router/runtime/withRouter.d.ts +1 -1
- package/dist/types/runtimeContext.d.ts +1 -1
- package/dist/types/ssr/serverRender/renderToString/loadable.d.ts +1 -0
- package/package.json +10 -9
|
@@ -6,12 +6,12 @@ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
|
6
6
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
8
|
import { useContext } from "react";
|
|
9
|
-
import { createStaticHandler } from "@modern-js/utils/
|
|
10
|
-
import { createStaticRouter, StaticRouterProvider } from "@modern-js/utils/
|
|
9
|
+
import { createStaticHandler } from "@modern-js/runtime-utils/remix-router";
|
|
10
|
+
import { createStaticRouter, StaticRouterProvider } from "@modern-js/runtime-utils/node/router";
|
|
11
11
|
import hoistNonReactStatics from "hoist-non-react-statics";
|
|
12
|
-
import { createRoutesFromElements } from "@modern-js/utils/
|
|
13
|
-
import { createRequestContext, reporterCtx } from "@modern-js/utils/
|
|
14
|
-
import { time } from "@modern-js/utils/
|
|
12
|
+
import { createRoutesFromElements } from "@modern-js/runtime-utils/router";
|
|
13
|
+
import { createRequestContext, reporterCtx } from "@modern-js/runtime-utils/node";
|
|
14
|
+
import { time } from "@modern-js/runtime-utils/time";
|
|
15
15
|
import { LOADER_REPORTER_NAME } from "@modern-js/utils/universal/constants";
|
|
16
16
|
import { RuntimeReactContext } from "../../core";
|
|
17
17
|
import { renderRoutes, urlJoin } from "./utils";
|
|
@@ -157,7 +157,6 @@ export var routerPlugin = function(param) {
|
|
|
157
157
|
},
|
|
158
158
|
hoc: function(param2, next) {
|
|
159
159
|
var App = param2.App;
|
|
160
|
-
var _routesConfig;
|
|
161
160
|
if (!routesConfig) {
|
|
162
161
|
return next({
|
|
163
162
|
App: App
|
|
@@ -176,7 +175,7 @@ export var routerPlugin = function(param) {
|
|
|
176
175
|
};
|
|
177
176
|
};
|
|
178
177
|
var RouteApp = getRouteApp();
|
|
179
|
-
if (
|
|
178
|
+
if (routesConfig === null || routesConfig === void 0 ? void 0 : routesConfig.globalApp) {
|
|
180
179
|
return next({
|
|
181
180
|
App: hoistNonReactStatics(RouteApp, routesConfig.globalApp)
|
|
182
181
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "@modern-js/utils/
|
|
1
|
+
export * from "@modern-js/runtime-utils/node/router";
|
|
@@ -4,9 +4,9 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
|
4
4
|
import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties";
|
|
5
5
|
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
-
import { Route, isRouteErrorResponse } from "@modern-js/utils/
|
|
8
|
-
import { ErrorResponse } from "@modern-js/utils/
|
|
9
|
-
import { renderNestedRoute } from "@modern-js/utils/
|
|
7
|
+
import { Route, isRouteErrorResponse } from "@modern-js/runtime-utils/router";
|
|
8
|
+
import { ErrorResponse } from "@modern-js/runtime-utils/remix-router";
|
|
9
|
+
import { renderNestedRoute } from "@modern-js/runtime-utils/browser";
|
|
10
10
|
import { DefaultNotFound } from "./DefaultNotFound";
|
|
11
11
|
import DeferredDataScripts from "./DeferredDataScripts";
|
|
12
12
|
export function getRouteComponents(routes, param) {
|
|
@@ -83,9 +83,9 @@ export function renderRoutes(param) {
|
|
|
83
83
|
return routeElements;
|
|
84
84
|
}
|
|
85
85
|
export function getLocation(serverContext) {
|
|
86
|
-
var
|
|
87
|
-
var _ref = (
|
|
88
|
-
var cleanUrl =
|
|
86
|
+
var _url_replace;
|
|
87
|
+
var _ref = (serverContext === null || serverContext === void 0 ? void 0 : serverContext.request) || {}, pathname = _ref.pathname, url = _ref.url;
|
|
88
|
+
var cleanUrl = url === null || url === void 0 ? void 0 : (_url_replace = url.replace("http://", "")) === null || _url_replace === void 0 ? void 0 : _url_replace.replace("https://", "");
|
|
89
89
|
var index = (cleanUrl || "").indexOf(pathname);
|
|
90
90
|
if (index === -1) {
|
|
91
91
|
return pathname;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
2
2
|
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
-
import { useLocation, useNavigate, useParams } from "@modern-js/utils/
|
|
4
|
+
import { useLocation, useNavigate, useParams } from "@modern-js/runtime-utils/router";
|
|
5
5
|
export var withRouter = function(Component) {
|
|
6
6
|
return function(props) {
|
|
7
7
|
var location = useLocation();
|
|
@@ -4,15 +4,14 @@ import path from "path";
|
|
|
4
4
|
import { getEntryOptions, SERVER_RENDER_FUNCTION_NAME, LOADABLE_STATS_FILE, isUseSSRBundle, createRuntimeExportsUtils, isSSGEntry } from "@modern-js/utils";
|
|
5
5
|
var PLUGIN_IDENTIFIER = "ssr";
|
|
6
6
|
var hasStringSSREntry = function(userConfig) {
|
|
7
|
-
var _server, _server1;
|
|
8
7
|
var isStreaming = function(ssr) {
|
|
9
8
|
return ssr && typeof ssr === "object" && ssr.mode === "stream";
|
|
10
9
|
};
|
|
11
10
|
var server = userConfig.server, output = userConfig.output;
|
|
12
|
-
if (((
|
|
11
|
+
if (((server === null || server === void 0 ? void 0 : server.ssr) || output.ssg) && !isStreaming(server.ssr)) {
|
|
13
12
|
return true;
|
|
14
13
|
}
|
|
15
|
-
if ((
|
|
14
|
+
if ((server === null || server === void 0 ? void 0 : server.ssrByEntries) && typeof server.ssrByEntries === "object") {
|
|
16
15
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
17
16
|
try {
|
|
18
17
|
for (var _iterator = Object.keys(server.ssrByEntries)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
@@ -39,9 +38,8 @@ var hasStringSSREntry = function(userConfig) {
|
|
|
39
38
|
return false;
|
|
40
39
|
};
|
|
41
40
|
var checkUseStringSSR = function(config) {
|
|
42
|
-
var _output;
|
|
43
41
|
var output = config.output;
|
|
44
|
-
return Boolean(
|
|
42
|
+
return Boolean(output === null || output === void 0 ? void 0 : output.ssg) || hasStringSSREntry(config);
|
|
45
43
|
};
|
|
46
44
|
export var ssrPlugin = function() {
|
|
47
45
|
return {
|
|
@@ -85,8 +83,8 @@ export var ssrPlugin = function() {
|
|
|
85
83
|
return {
|
|
86
84
|
source: {
|
|
87
85
|
alias: {
|
|
88
|
-
// ensure that all packages use the same storage in @modern-js/utils/
|
|
89
|
-
"@modern-js/utils/
|
|
86
|
+
// ensure that all packages use the same storage in @modern-js/runtime-utils/node
|
|
87
|
+
"@modern-js/runtime-utils/node$": require.resolve("@modern-js/runtime-utils/node"),
|
|
90
88
|
"@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
|
|
91
89
|
},
|
|
92
90
|
globalVars: function(values, param) {
|
|
@@ -119,9 +117,9 @@ export var ssrPlugin = function() {
|
|
|
119
117
|
pluginsExportsUtils.addExport("export { default as ssr } from '@modern-js/runtime/ssr'");
|
|
120
118
|
var ssrConfig = getEntryOptions(entryName, isMainEntry, userConfig.server.ssr, userConfig.server.ssrByEntries, packageName);
|
|
121
119
|
if (typeof ssrConfig === "object" && ssrConfig.mode === "stream") {
|
|
122
|
-
var _this
|
|
120
|
+
var _this;
|
|
123
121
|
var runtimeConfig = getEntryOptions(entryName, isMainEntry, userConfig.runtime, userConfig.runtimeByEntries, packageName);
|
|
124
|
-
if (((_this =
|
|
122
|
+
if (((_this = runtimeConfig === null || runtimeConfig === void 0 ? void 0 : runtimeConfig.router) === null || _this === void 0 ? void 0 : _this.mode) === "react-router-5") {
|
|
125
123
|
throw new Error("router v5 plugin doesn't support streaming SSR, check your config 'runtime.router'");
|
|
126
124
|
}
|
|
127
125
|
if (fileSystemRoutes && !entrypoint.nestedRoutesEntry) {
|
|
@@ -148,8 +146,8 @@ export var ssrPlugin = function() {
|
|
|
148
146
|
modifyEntryRuntimePlugins: function modifyEntryRuntimePlugins(param) {
|
|
149
147
|
var entrypoint = param.entrypoint, plugins = param.plugins, bundlerConfigs = param.bundlerConfigs;
|
|
150
148
|
if (ssrConfigMap.get(entrypoint.entryName)) {
|
|
151
|
-
var _bundlerConfigs_find_output, _bundlerConfigs_find,
|
|
152
|
-
var chunkLoadingGlobal =
|
|
149
|
+
var _bundlerConfigs_find_output, _bundlerConfigs_find, _config_server;
|
|
150
|
+
var chunkLoadingGlobal = bundlerConfigs === null || bundlerConfigs === void 0 ? void 0 : (_bundlerConfigs_find = bundlerConfigs.find(function(config2) {
|
|
153
151
|
return config2.name === "client";
|
|
154
152
|
})) === null || _bundlerConfigs_find === void 0 ? void 0 : (_bundlerConfigs_find_output = _bundlerConfigs_find.output) === null || _bundlerConfigs_find_output === void 0 ? void 0 : _bundlerConfigs_find_output.chunkLoadingGlobal;
|
|
155
153
|
var config = api.useResolvedConfigContext();
|
package/dist/esm/ssr/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
import { loadableReady } from "@loadable/component";
|
|
7
7
|
import hoistNonReactStatics from "hoist-non-react-statics";
|
|
8
|
-
import { parsedJSONFromElement } from "@modern-js/utils/
|
|
8
|
+
import { parsedJSONFromElement } from "@modern-js/runtime-utils/browser";
|
|
9
9
|
import { RenderLevel } from "./serverRender/types";
|
|
10
10
|
import { WithCallback } from "./react/withCallback";
|
|
11
11
|
import { formatClient, mockResponse, isReact18 } from "./utils";
|
|
@@ -54,8 +54,7 @@ export var ssr = function() {
|
|
|
54
54
|
},
|
|
55
55
|
pickContext: function(param, next) {
|
|
56
56
|
var context = param.context, pickedContext = param.pickedContext;
|
|
57
|
-
var
|
|
58
|
-
var _ref = (_context = context) === null || _context === void 0 ? void 0 : _context.ssrContext, request = _ref.request, response = _ref.response;
|
|
57
|
+
var _ref = context === null || context === void 0 ? void 0 : context.ssrContext, request = _ref.request, response = _ref.response;
|
|
59
58
|
var initialData = context.initialData;
|
|
60
59
|
return next({
|
|
61
60
|
context: context,
|
package/dist/esm/ssr/prefetch.js
CHANGED
|
@@ -2,7 +2,7 @@ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
|
2
2
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
4
|
import { renderToStaticMarkup } from "react-dom/server";
|
|
5
|
-
import { run } from "@modern-js/utils/
|
|
5
|
+
import { run } from "@modern-js/runtime-utils/node";
|
|
6
6
|
import { ChunkExtractor } from "@loadable/server";
|
|
7
7
|
var prefetch = function() {
|
|
8
8
|
var _ref = _async_to_generator(function(App, context, config) {
|
|
@@ -10,7 +10,7 @@ var prefetch = function() {
|
|
|
10
10
|
return [
|
|
11
11
|
2,
|
|
12
12
|
run(context.ssrContext.request.headers, /* @__PURE__ */ _async_to_generator(function() {
|
|
13
|
-
var _context_store,
|
|
13
|
+
var _context_store, ssrContext, loadableStats, extractor, loadersData;
|
|
14
14
|
return _ts_generator(this, function(_state2) {
|
|
15
15
|
switch (_state2.label) {
|
|
16
16
|
case 0:
|
|
@@ -63,7 +63,7 @@ var prefetch = function() {
|
|
|
63
63
|
initialData: context.initialData,
|
|
64
64
|
i18nData: context.__i18nData__,
|
|
65
65
|
// todo: move to plugin state
|
|
66
|
-
storeState:
|
|
66
|
+
storeState: context === null || context === void 0 ? void 0 : (_context_store = context.store) === null || _context_store === void 0 ? void 0 : _context_store.getState()
|
|
67
67
|
}
|
|
68
68
|
];
|
|
69
69
|
}
|
|
@@ -46,9 +46,8 @@ export var aggKeysFromPropsList = function aggKeysFromPropsList2(propsList, prop
|
|
|
46
46
|
return usefulObject(props[propName]);
|
|
47
47
|
}).reduce(function(result, next) {
|
|
48
48
|
REQUEST_META.forEach(function(key) {
|
|
49
|
-
var _prop;
|
|
50
49
|
var prop = next[propName];
|
|
51
|
-
if ((
|
|
50
|
+
if ((prop === null || prop === void 0 ? void 0 : prop.hasOwnProperty(key)) && usefulArray(prop[key])) {
|
|
52
51
|
result[key] = unique(result[key].concat(prop[key]));
|
|
53
52
|
}
|
|
54
53
|
});
|
|
@@ -73,9 +72,8 @@ export var aggMatchesFromPropsList = function aggMatchesFromPropsList2(propsList
|
|
|
73
72
|
return usefulObject(props[propName]);
|
|
74
73
|
}).reduce(function(result, next) {
|
|
75
74
|
REQUEST_META.forEach(function(key) {
|
|
76
|
-
var _prop;
|
|
77
75
|
var prop = next[propName];
|
|
78
|
-
if ((
|
|
76
|
+
if ((prop === null || prop === void 0 ? void 0 : prop.hasOwnProperty(key)) && usefulObject(prop[key])) {
|
|
79
77
|
result[key] = Object.assign(result[key], prop[key]);
|
|
80
78
|
}
|
|
81
79
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
2
|
-
import { serializeJson } from "@modern-js/utils/
|
|
2
|
+
import { serializeJson } from "@modern-js/runtime-utils/node";
|
|
3
3
|
import { attributesToString } from "../utils";
|
|
4
4
|
import { buildTemplate } from "./buildTemplate.share";
|
|
5
5
|
export function buildShellAfterTemplate(afterAppTemplate, options) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
2
2
|
import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
|
|
3
3
|
import ReactHelmet from "react-helmet";
|
|
4
|
-
import { matchRoutes } from "@modern-js/utils/
|
|
4
|
+
import { matchRoutes } from "@modern-js/runtime-utils/router";
|
|
5
5
|
import helmetReplace from "../helmet";
|
|
6
6
|
import { CSS_CHUNKS_PLACEHOLDER } from "../utils";
|
|
7
7
|
import { HEAD_REG_EXP, buildTemplate } from "./buildTemplate.share";
|
|
@@ -9,7 +9,6 @@ function getHeadTemplate(beforeEntryTemplate, context) {
|
|
|
9
9
|
var injectCss = function injectCss2(headTemplate2) {
|
|
10
10
|
return headTemplate2.replace(CSS_CHUNKS_PLACEHOLDER, getCssChunks());
|
|
11
11
|
function getCssChunks() {
|
|
12
|
-
var _matches;
|
|
13
12
|
var routeManifest = context.routeManifest, routerContext = context.routerContext, routes = context.routes;
|
|
14
13
|
if (!routeManifest || !routerContext || !routes) {
|
|
15
14
|
return "";
|
|
@@ -17,7 +16,7 @@ function getHeadTemplate(beforeEntryTemplate, context) {
|
|
|
17
16
|
var routeAssets = routeManifest.routeAssets;
|
|
18
17
|
var cssChunks = [];
|
|
19
18
|
var matches = matchRoutes(routes, routerContext.location, routerContext.basename);
|
|
20
|
-
|
|
19
|
+
matches === null || matches === void 0 ? void 0 : matches.forEach(function(match, index) {
|
|
21
20
|
if (!index) {
|
|
22
21
|
return;
|
|
23
22
|
}
|
|
@@ -28,8 +27,7 @@ function getHeadTemplate(beforeEntryTemplate, context) {
|
|
|
28
27
|
var _cssChunks;
|
|
29
28
|
var _routeManifest_referenceCssAssets = routeManifest2.referenceCssAssets, referenceCssAssets = _routeManifest_referenceCssAssets === void 0 ? [] : _routeManifest_referenceCssAssets;
|
|
30
29
|
var _cssChunks1 = referenceCssAssets.filter(function(asset) {
|
|
31
|
-
|
|
32
|
-
return ((_asset = asset) === null || _asset === void 0 ? void 0 : _asset.endsWith(".css")) && !headTemplate2.includes(asset);
|
|
30
|
+
return (asset === null || asset === void 0 ? void 0 : asset.endsWith(".css")) && !headTemplate2.includes(asset);
|
|
33
31
|
});
|
|
34
32
|
(_cssChunks = cssChunks).push.apply(_cssChunks, _to_consumable_array(_cssChunks1));
|
|
35
33
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
2
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
3
|
import { createElement } from "react";
|
|
4
|
-
import { run } from "@modern-js/utils/
|
|
5
|
-
import { time } from "@modern-js/utils/
|
|
4
|
+
import { run } from "@modern-js/runtime-utils/node";
|
|
5
|
+
import { time } from "@modern-js/runtime-utils/time";
|
|
6
6
|
import { PreRender } from "../../react/prerender";
|
|
7
7
|
import { SSRErrors, SSRTimings } from "../tracker";
|
|
8
8
|
import renderToPipe from "./renderToPipe";
|
|
@@ -16,18 +16,17 @@ function renderToPipe(rootElement, context, options) {
|
|
|
16
16
|
var chunkVec = [];
|
|
17
17
|
var forUserPipe = function(stream) {
|
|
18
18
|
return new Promise(function(resolve) {
|
|
19
|
-
var _ssrContext;
|
|
20
19
|
var renderToPipeableStream;
|
|
21
20
|
try {
|
|
22
21
|
renderToPipeableStream = require("react-dom/server").renderToPipeableStream;
|
|
23
22
|
} catch (e) {
|
|
24
23
|
}
|
|
25
24
|
var pipe = renderToPipeableStream(rootElement, _object_spread_props(_object_spread({}, options), {
|
|
26
|
-
nonce:
|
|
25
|
+
nonce: ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.nonce,
|
|
27
26
|
onShellReady: function onShellReady() {
|
|
28
|
-
var _options_onShellReady
|
|
27
|
+
var _options_onShellReady;
|
|
29
28
|
var _getTemplates = getTemplates(context, RenderLevel.SERVER_RENDER), shellAfter = _getTemplates.shellAfter, shellBefore = _getTemplates.shellBefore;
|
|
30
|
-
|
|
29
|
+
options === null || options === void 0 ? void 0 : (_options_onShellReady = options.onShellReady) === null || _options_onShellReady === void 0 ? void 0 : _options_onShellReady.call(options);
|
|
31
30
|
var injectableTransform = new Transform({
|
|
32
31
|
transform: function transform(chunk, _encoding, callback) {
|
|
33
32
|
try {
|
|
@@ -55,11 +54,11 @@ function renderToPipe(rootElement, context, options) {
|
|
|
55
54
|
resolve(pipe(injectableTransform).pipe(stream));
|
|
56
55
|
},
|
|
57
56
|
onShellError: function onShellError(error) {
|
|
58
|
-
var _options_onShellError
|
|
57
|
+
var _options_onShellError;
|
|
59
58
|
var _getTemplates = getTemplates(context, RenderLevel.CLIENT_RENDER), shellAfter = _getTemplates.shellAfter, shellBefore = _getTemplates.shellBefore;
|
|
60
59
|
var fallbackHtml = "".concat(shellBefore).concat(shellAfter);
|
|
61
60
|
resolve(fallbackHtml);
|
|
62
|
-
|
|
61
|
+
options === null || options === void 0 ? void 0 : (_options_onShellError = options.onShellError) === null || _options_onShellError === void 0 ? void 0 : _options_onShellError.call(options, error);
|
|
63
62
|
}
|
|
64
63
|
})).pipe;
|
|
65
64
|
});
|
|
@@ -17,7 +17,7 @@ function renderToPipe(rootElement, context, options) {
|
|
|
17
17
|
var ssrContext = context.ssrContext;
|
|
18
18
|
var forUserPipe = function() {
|
|
19
19
|
var _ref = _async_to_generator(function() {
|
|
20
|
-
var renderToReadableStream, _getTemplates, shellAfter, shellBefore,
|
|
20
|
+
var renderToReadableStream, _getTemplates, shellAfter, shellBefore, readableOriginal, reader, injectableStream, err, _getTemplates1, shellAfter1, shellBefore1, fallbackHtml;
|
|
21
21
|
return _ts_generator(this, function(_state) {
|
|
22
22
|
switch (_state.label) {
|
|
23
23
|
case 0:
|
|
@@ -37,10 +37,10 @@ function renderToPipe(rootElement, context, options) {
|
|
|
37
37
|
return [
|
|
38
38
|
4,
|
|
39
39
|
renderToReadableStream(rootElement, _object_spread_props(_object_spread({}, options), {
|
|
40
|
-
nonce:
|
|
40
|
+
nonce: ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.nonce,
|
|
41
41
|
onError: function onError(error) {
|
|
42
|
-
var _options_onError
|
|
43
|
-
|
|
42
|
+
var _options_onError;
|
|
43
|
+
options === null || options === void 0 ? void 0 : (_options_onError = options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(options, error);
|
|
44
44
|
}
|
|
45
45
|
}))
|
|
46
46
|
];
|
|
@@ -100,7 +100,7 @@ function renderToPipe(rootElement, context, options) {
|
|
|
100
100
|
];
|
|
101
101
|
case 3:
|
|
102
102
|
err = _state.sent();
|
|
103
|
-
|
|
103
|
+
ssrContext === null || ssrContext === void 0 ? void 0 : ssrContext.tracker.trackError(SSRErrors.RENDER_SHELL, err);
|
|
104
104
|
_getTemplates1 = getTemplates(context, RenderLevel.CLIENT_RENDER), shellAfter1 = _getTemplates1.shellAfter, shellBefore1 = _getTemplates1.shellBefore;
|
|
105
105
|
fallbackHtml = "".concat(shellBefore1).concat(shellAfter1);
|
|
106
106
|
return [
|
|
@@ -6,9 +6,9 @@ import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
|
6
6
|
import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
|
|
7
7
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
8
8
|
import React from "react";
|
|
9
|
-
import { serializeJson } from "@modern-js/utils/
|
|
9
|
+
import { serializeJson } from "@modern-js/runtime-utils/node";
|
|
10
10
|
import ReactHelmet from "react-helmet";
|
|
11
|
-
import { time } from "@modern-js/utils/
|
|
11
|
+
import { time } from "@modern-js/runtime-utils/time";
|
|
12
12
|
import { serializeErrors } from "../../../router/runtime/utils";
|
|
13
13
|
import helmetReplace from "../helmet";
|
|
14
14
|
import { RenderLevel } from "../types";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
2
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
|
-
import { run } from "@modern-js/utils/
|
|
4
|
-
import { time } from "@modern-js/utils/
|
|
3
|
+
import { run } from "@modern-js/runtime-utils/node";
|
|
4
|
+
import { time } from "@modern-js/runtime-utils/time";
|
|
5
5
|
import { PreRender } from "../../react/prerender";
|
|
6
6
|
import { SSRTimings } from "../tracker";
|
|
7
7
|
import SSREntry from "./entry";
|
|
@@ -4,11 +4,10 @@ import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
|
4
4
|
import { ChunkExtractor } from "@loadable/server";
|
|
5
5
|
import { attributesToString, getLoadableScripts } from "../utils";
|
|
6
6
|
var extname = function(uri) {
|
|
7
|
-
var _uri;
|
|
8
7
|
if (typeof uri !== "string" || !uri.includes(".")) {
|
|
9
8
|
return "";
|
|
10
9
|
}
|
|
11
|
-
return ".".concat(
|
|
10
|
+
return ".".concat(uri === null || uri === void 0 ? void 0 : uri.split(".").pop()) || "";
|
|
12
11
|
};
|
|
13
12
|
var LoadableCollector = /* @__PURE__ */ function() {
|
|
14
13
|
"use strict";
|
|
@@ -45,35 +44,38 @@ var LoadableCollector = /* @__PURE__ */ function() {
|
|
|
45
44
|
var extractor = this.extractor;
|
|
46
45
|
var chunks = extractor.getChunkAssets(extractor.chunks);
|
|
47
46
|
chunksMap.js = (chunksMap.js || "") + getLoadableScripts(extractor);
|
|
47
|
+
var attributes = this.generateAttributes();
|
|
48
48
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
49
49
|
try {
|
|
50
50
|
for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
51
51
|
var v = _step.value;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
var crossorigin = config.crossorigin, _config_scriptLoading = config.scriptLoading, scriptLoading = _config_scriptLoading === void 0 ? "defer" : _config_scriptLoading;
|
|
55
|
-
if (crossorigin) {
|
|
56
|
-
attributes.crossorigin = crossorigin === true ? "anonymous" : crossorigin;
|
|
57
|
-
}
|
|
58
|
-
switch (scriptLoading) {
|
|
59
|
-
case "defer":
|
|
60
|
-
attributes.defer = true;
|
|
61
|
-
break;
|
|
62
|
-
case "module":
|
|
63
|
-
attributes.type = "module";
|
|
64
|
-
break;
|
|
65
|
-
default:
|
|
52
|
+
if (!v.url) {
|
|
53
|
+
continue;
|
|
66
54
|
}
|
|
55
|
+
var fileType = extname(v.url).slice(1);
|
|
67
56
|
if (fileType === "js") {
|
|
68
57
|
var jsChunkReg = new RegExp('<script .*src="'.concat(v.url, '".*>'));
|
|
69
58
|
if (!jsChunkReg.test(template)) {
|
|
59
|
+
var _config_scriptLoading = config.scriptLoading, scriptLoading = _config_scriptLoading === void 0 ? "defer" : _config_scriptLoading;
|
|
60
|
+
switch (scriptLoading) {
|
|
61
|
+
case "defer":
|
|
62
|
+
attributes.defer = true;
|
|
63
|
+
break;
|
|
64
|
+
case "module":
|
|
65
|
+
attributes.type = "module";
|
|
66
|
+
break;
|
|
67
|
+
default:
|
|
68
|
+
}
|
|
70
69
|
attributes.nonce = nonce;
|
|
71
70
|
var attrsStr = attributesToString(attributes);
|
|
72
71
|
chunksMap[fileType] += "<script".concat(attrsStr, ' src="').concat(v.url, '"></script>');
|
|
73
72
|
}
|
|
74
73
|
} else if (fileType === "css") {
|
|
75
|
-
var
|
|
76
|
-
|
|
74
|
+
var cssChunkReg = new RegExp('<link .*href="'.concat(v.url, '".*>'));
|
|
75
|
+
if (!cssChunkReg.test(template)) {
|
|
76
|
+
var attrsStr1 = attributesToString(attributes);
|
|
77
|
+
chunksMap[fileType] += "<link".concat(attrsStr1, ' href="').concat(v.url, '" rel="stylesheet" />');
|
|
78
|
+
}
|
|
77
79
|
}
|
|
78
80
|
}
|
|
79
81
|
} catch (err) {
|
|
@@ -91,6 +93,18 @@ var LoadableCollector = /* @__PURE__ */ function() {
|
|
|
91
93
|
}
|
|
92
94
|
}
|
|
93
95
|
}
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
key: "generateAttributes",
|
|
99
|
+
value: function generateAttributes() {
|
|
100
|
+
var config = this.options.config;
|
|
101
|
+
var crossorigin = config.crossorigin;
|
|
102
|
+
var attributes = {};
|
|
103
|
+
if (crossorigin) {
|
|
104
|
+
attributes.crossorigin = crossorigin === true ? "anonymous" : crossorigin;
|
|
105
|
+
}
|
|
106
|
+
return attributes;
|
|
107
|
+
}
|
|
94
108
|
}
|
|
95
109
|
]);
|
|
96
110
|
return LoadableCollector2;
|
|
@@ -48,16 +48,15 @@ export const createApp = ({ plugins, props: globalProps }) => {
|
|
|
48
48
|
}, {
|
|
49
49
|
onLast: ({ App: App2 }) => {
|
|
50
50
|
const WrapComponent = ({ context, ...props }) => {
|
|
51
|
-
var _contextValue;
|
|
52
51
|
let contextValue = context;
|
|
53
|
-
if (!(
|
|
52
|
+
if (!(contextValue === null || contextValue === void 0 ? void 0 : contextValue.runner)) {
|
|
54
53
|
contextValue = getInitialContext(runner);
|
|
55
54
|
runner.init({
|
|
56
55
|
context: contextValue
|
|
57
56
|
}, {
|
|
58
57
|
onLast: ({ context: context1 }) => {
|
|
59
|
-
var _App_init
|
|
60
|
-
return
|
|
58
|
+
var _App_init;
|
|
59
|
+
return App2 === null || App2 === void 0 ? void 0 : (_App_init = App2.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App2, context1);
|
|
61
60
|
}
|
|
62
61
|
});
|
|
63
62
|
}
|
|
@@ -93,8 +92,8 @@ export const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
93
92
|
context: _context
|
|
94
93
|
}, {
|
|
95
94
|
onLast: ({ context: context1 }) => {
|
|
96
|
-
var _App_init
|
|
97
|
-
return
|
|
95
|
+
var _App_init;
|
|
96
|
+
return App === null || App === void 0 ? void 0 : (_App_init = App.init) === null || _App_init === void 0 ? void 0 : _App_init.call(App, context1);
|
|
98
97
|
}
|
|
99
98
|
});
|
|
100
99
|
if (!id) {
|
|
@@ -105,9 +104,9 @@ export const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
105
104
|
const isBrowser = typeof window !== "undefined" && window.name !== "nodejs";
|
|
106
105
|
if (isBrowser) {
|
|
107
106
|
if (isClientArgs(id)) {
|
|
108
|
-
var _ssrData_data,
|
|
107
|
+
var _ssrData_data, _ssrData_data1;
|
|
109
108
|
const ssrData = window._SSR_DATA;
|
|
110
|
-
const loadersData = (
|
|
109
|
+
const loadersData = (ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data = ssrData.data) === null || _ssrData_data === void 0 ? void 0 : _ssrData_data.loadersData) || {};
|
|
111
110
|
const initialLoadersState = Object.keys(loadersData).reduce((res, key) => {
|
|
112
111
|
const loaderData = loadersData[key];
|
|
113
112
|
if (loaderData.loading !== false) {
|
|
@@ -121,10 +120,10 @@ export const bootstrap = async (BootApp, id, root, ReactDOM) => {
|
|
|
121
120
|
skipStatic: true
|
|
122
121
|
}),
|
|
123
122
|
...ssrData ? {
|
|
124
|
-
ssrContext:
|
|
123
|
+
ssrContext: ssrData === null || ssrData === void 0 ? void 0 : ssrData.context
|
|
125
124
|
} : {}
|
|
126
125
|
});
|
|
127
|
-
context.initialData =
|
|
126
|
+
context.initialData = ssrData === null || ssrData === void 0 ? void 0 : (_ssrData_data1 = ssrData.data) === null || _ssrData_data1 === void 0 ? void 0 : _ssrData_data1.initialData;
|
|
128
127
|
const initialData = await runInit(context);
|
|
129
128
|
if (initialData) {
|
|
130
129
|
context.initialData = initialData;
|
|
@@ -14,7 +14,7 @@ const useLoader = (loaderFn, options = {
|
|
|
14
14
|
delete options._cache;
|
|
15
15
|
}
|
|
16
16
|
const load = useCallback((params) => {
|
|
17
|
-
var _unlistenLoaderChangeRef_current,
|
|
17
|
+
var _unlistenLoaderChangeRef_current, _window__SSR_DATA_data_loadersData_id, _window__SSR_DATA_data, _window__SSR_DATA, _window, _loaderRef_current;
|
|
18
18
|
if (typeof params === "undefined") {
|
|
19
19
|
var _loaderRef_current1;
|
|
20
20
|
return (_loaderRef_current1 = loaderRef.current) === null || _loaderRef_current1 === void 0 ? void 0 : _loaderRef_current1.load();
|
|
@@ -34,7 +34,7 @@ const useLoader = (loaderFn, options = {
|
|
|
34
34
|
params
|
|
35
35
|
});
|
|
36
36
|
loaderRef.current = loaderManager.get(id);
|
|
37
|
-
(_unlistenLoaderChangeRef_current =
|
|
37
|
+
(_unlistenLoaderChangeRef_current = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(unlistenLoaderChangeRef);
|
|
38
38
|
if (isSSRRender) {
|
|
39
39
|
return void 0;
|
|
40
40
|
}
|
|
@@ -48,12 +48,12 @@ const useLoader = (loaderFn, options = {
|
|
|
48
48
|
unlistenLoaderChangeRef.current = (_loaderRef_current = loaderRef.current) === null || _loaderRef_current === void 0 ? void 0 : _loaderRef_current.onChange((_status, _result) => {
|
|
49
49
|
setResult(_result);
|
|
50
50
|
if (_status === LoaderStatus.fulfilled) {
|
|
51
|
-
var _options_onSuccess
|
|
52
|
-
|
|
51
|
+
var _options_onSuccess;
|
|
52
|
+
options === null || options === void 0 ? void 0 : (_options_onSuccess = options.onSuccess) === null || _options_onSuccess === void 0 ? void 0 : _options_onSuccess.call(options, _result.data);
|
|
53
53
|
}
|
|
54
54
|
if (_status === LoaderStatus.rejected) {
|
|
55
|
-
var _options_onError
|
|
56
|
-
|
|
55
|
+
var _options_onError;
|
|
56
|
+
options === null || options === void 0 ? void 0 : (_options_onError = options.onError) === null || _options_onError === void 0 ? void 0 : _options_onError.call(options, _result.error);
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
59
|
return res;
|
|
@@ -61,8 +61,8 @@ const useLoader = (loaderFn, options = {
|
|
|
61
61
|
options.skip
|
|
62
62
|
]);
|
|
63
63
|
useEffect(() => () => {
|
|
64
|
-
var _unlistenLoaderChangeRef_current
|
|
65
|
-
(_unlistenLoaderChangeRef_current =
|
|
64
|
+
var _unlistenLoaderChangeRef_current;
|
|
65
|
+
(_unlistenLoaderChangeRef_current = unlistenLoaderChangeRef.current) === null || _unlistenLoaderChangeRef_current === void 0 ? void 0 : _unlistenLoaderChangeRef_current.call(unlistenLoaderChangeRef);
|
|
66
66
|
}, []);
|
|
67
67
|
useMemo(() => {
|
|
68
68
|
var _options_params;
|
|
@@ -18,13 +18,12 @@ export const createRuntime = () => createManager(runtimeHooks);
|
|
|
18
18
|
const registerInit = (App, _init) => {
|
|
19
19
|
const originalInit = App.init;
|
|
20
20
|
App.init = async (context) => {
|
|
21
|
-
var _originalInit, _init1;
|
|
22
21
|
if (!context.loaderManager) {
|
|
23
22
|
context.loaderManager = createLoaderManager({});
|
|
24
23
|
}
|
|
25
24
|
await Promise.all([
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
originalInit === null || originalInit === void 0 ? void 0 : originalInit(context),
|
|
26
|
+
_init === null || _init === void 0 ? void 0 : _init(context)
|
|
28
27
|
]);
|
|
29
28
|
};
|
|
30
29
|
};
|
|
@@ -6,8 +6,7 @@ function findTargetChild(tag, children) {
|
|
|
6
6
|
return children.find((item) => getEleType(item) === tag);
|
|
7
7
|
}
|
|
8
8
|
function getEleType(ele) {
|
|
9
|
-
|
|
10
|
-
return typeof ((_ele = ele) === null || _ele === void 0 ? void 0 : _ele.type) === "function" ? ele.type.name : (_ele1 = ele) === null || _ele1 === void 0 ? void 0 : _ele1.type;
|
|
9
|
+
return typeof (ele === null || ele === void 0 ? void 0 : ele.type) === "function" ? ele.type.name : ele === null || ele === void 0 ? void 0 : ele.type;
|
|
11
10
|
}
|
|
12
11
|
function findTargetElement(tag, children) {
|
|
13
12
|
if (children.length === 0) {
|
|
@@ -15,11 +14,11 @@ function findTargetElement(tag, children) {
|
|
|
15
14
|
}
|
|
16
15
|
let nextChildren = [];
|
|
17
16
|
for (const item of children) {
|
|
18
|
-
var _item_props
|
|
17
|
+
var _item_props;
|
|
19
18
|
if (tag === getEleType(item)) {
|
|
20
19
|
return item;
|
|
21
20
|
}
|
|
22
|
-
if (
|
|
21
|
+
if (item === null || item === void 0 ? void 0 : (_item_props = item.props) === null || _item_props === void 0 ? void 0 : _item_props.children) {
|
|
23
22
|
nextChildren = nextChildren.concat(item.props.children);
|
|
24
23
|
}
|
|
25
24
|
}
|