@modern-js/runtime 2.65.0 → 2.65.2
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/cache/index.js +22 -0
- package/dist/cjs/cli/ssr/index.js +1 -1
- package/dist/cjs/core/context/monitors/default.js +43 -0
- package/dist/cjs/core/context/monitors/index.js +31 -0
- package/dist/cjs/core/context/monitors/index.server.js +33 -0
- package/dist/cjs/core/context/request/index.js +30 -0
- package/dist/cjs/core/context/request/index.server.js +32 -0
- package/dist/cjs/core/server/requestHandler.js +84 -76
- package/dist/cjs/core/server/stream/shared.js +40 -45
- package/dist/cjs/core/server/string/index.js +50 -55
- package/dist/cjs/core/server/string/prefetch.js +47 -52
- package/dist/cjs/index.js +6 -0
- package/dist/cjs/react-server.js +28 -0
- package/dist/cjs/router/runtime/plugin.node.js +1 -2
- package/dist/cjs/router/runtime/utils.js +4 -6
- package/dist/esm/cache/index.js +1 -0
- package/dist/esm/cli/ssr/index.js +1 -1
- package/dist/esm/core/context/monitors/default.js +40 -0
- package/dist/esm/core/context/monitors/index.js +7 -0
- package/dist/esm/core/context/monitors/index.server.js +9 -0
- package/dist/esm/core/context/request/index.js +6 -0
- package/dist/esm/core/context/request/index.server.js +8 -0
- package/dist/esm/core/server/requestHandler.js +131 -117
- package/dist/esm/core/server/stream/shared.js +49 -63
- package/dist/esm/core/server/string/index.js +82 -93
- package/dist/esm/core/server/string/prefetch.js +83 -94
- package/dist/esm/index.js +4 -0
- package/dist/esm/react-server.js +4 -0
- package/dist/esm/router/runtime/plugin.node.js +1 -2
- package/dist/esm/router/runtime/utils.js +4 -6
- package/dist/esm-node/cache/index.js +1 -0
- package/dist/esm-node/cli/ssr/index.js +1 -1
- package/dist/esm-node/core/context/monitors/default.js +19 -0
- package/dist/esm-node/core/context/monitors/index.js +7 -0
- package/dist/esm-node/core/context/monitors/index.server.js +9 -0
- package/dist/esm-node/core/context/request/index.js +6 -0
- package/dist/esm-node/core/context/request/index.server.js +8 -0
- package/dist/esm-node/core/server/requestHandler.js +84 -76
- package/dist/esm-node/core/server/stream/shared.js +40 -45
- package/dist/esm-node/core/server/string/index.js +50 -55
- package/dist/esm-node/core/server/string/prefetch.js +47 -52
- package/dist/esm-node/index.js +4 -0
- package/dist/esm-node/react-server.js +4 -0
- package/dist/esm-node/router/runtime/plugin.node.js +1 -2
- package/dist/esm-node/router/runtime/utils.js +4 -6
- package/dist/types/cache/index.d.ts +1 -0
- package/dist/types/core/compatible.d.ts +2 -2
- package/dist/types/core/context/monitors/default.d.ts +2 -0
- package/dist/types/core/context/monitors/index.d.ts +1 -0
- package/dist/types/core/context/monitors/index.server.d.ts +2 -0
- package/dist/types/core/context/request/index.d.ts +1 -0
- package/dist/types/core/context/request/index.server.d.ts +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/react-server.d.ts +1 -0
- package/dist/types/router/runtime/utils.d.ts +3 -5
- package/package.json +21 -11
|
@@ -22,75 +22,70 @@ __export(prefetch_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(prefetch_exports);
|
|
24
24
|
var import_server = require("@loadable/server");
|
|
25
|
-
var import_node = require("@modern-js/runtime-utils/node");
|
|
26
25
|
var import_time = require("@modern-js/runtime-utils/time");
|
|
27
|
-
var import_request = require("@modern-js/runtime-utils/universal/request");
|
|
28
26
|
var import_server2 = require("react-dom/server");
|
|
29
27
|
var import_wrapper = require("../../react/wrapper");
|
|
30
28
|
var import_tracer = require("../tracer");
|
|
31
29
|
const prefetch = async (App, request, options, ssrConfig, { onError, onTiming }) => {
|
|
32
|
-
|
|
30
|
+
var _context_store;
|
|
33
31
|
const { runtimeContext: context, resource } = options;
|
|
34
32
|
const { entryName, loadableStats } = resource;
|
|
35
|
-
|
|
36
|
-
var _context_store;
|
|
37
|
-
if (typeof ssrConfig === "boolean" || !ssrConfig.disablePrerender) {
|
|
38
|
-
try {
|
|
39
|
-
const end = (0, import_time.time)();
|
|
40
|
-
if (loadableStats) {
|
|
41
|
-
const extractor = new import_server.ChunkExtractor({
|
|
42
|
-
stats: loadableStats,
|
|
43
|
-
entrypoints: [
|
|
44
|
-
entryName
|
|
45
|
-
].filter(Boolean)
|
|
46
|
-
});
|
|
47
|
-
(0, import_server2.renderToStaticMarkup)(extractor.collectChunks((0, import_wrapper.wrapRuntimeContextProvider)(App, Object.assign(context, {
|
|
48
|
-
ssr: false
|
|
49
|
-
}))));
|
|
50
|
-
} else {
|
|
51
|
-
(0, import_server2.renderToStaticMarkup)((0, import_wrapper.wrapRuntimeContextProvider)(App, Object.assign(context, {
|
|
52
|
-
ssr: false
|
|
53
|
-
})));
|
|
54
|
-
}
|
|
55
|
-
const cost = end();
|
|
56
|
-
onTiming(import_tracer.SSRTimings.PRERENDER, cost);
|
|
57
|
-
} catch (e) {
|
|
58
|
-
const error = e;
|
|
59
|
-
onError(error, import_tracer.SSRErrors.PRERENDER);
|
|
60
|
-
throw e;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
if (!context.loaderManager.hasPendingLoaders()) {
|
|
64
|
-
return {
|
|
65
|
-
initialData: context.initialData,
|
|
66
|
-
i18nData: context.__i18nData__
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
let loadersData = {};
|
|
33
|
+
if (typeof ssrConfig === "boolean" || !ssrConfig.disablePrerender) {
|
|
70
34
|
try {
|
|
71
35
|
const end = (0, import_time.time)();
|
|
72
|
-
|
|
36
|
+
if (loadableStats) {
|
|
37
|
+
const extractor = new import_server.ChunkExtractor({
|
|
38
|
+
stats: loadableStats,
|
|
39
|
+
entrypoints: [
|
|
40
|
+
entryName
|
|
41
|
+
].filter(Boolean)
|
|
42
|
+
});
|
|
43
|
+
(0, import_server2.renderToStaticMarkup)(extractor.collectChunks((0, import_wrapper.wrapRuntimeContextProvider)(App, Object.assign(context, {
|
|
44
|
+
ssr: false
|
|
45
|
+
}))));
|
|
46
|
+
} else {
|
|
47
|
+
(0, import_server2.renderToStaticMarkup)((0, import_wrapper.wrapRuntimeContextProvider)(App, Object.assign(context, {
|
|
48
|
+
ssr: false
|
|
49
|
+
})));
|
|
50
|
+
}
|
|
73
51
|
const cost = end();
|
|
74
|
-
onTiming(import_tracer.SSRTimings.
|
|
52
|
+
onTiming(import_tracer.SSRTimings.PRERENDER, cost);
|
|
75
53
|
} catch (e) {
|
|
76
|
-
|
|
54
|
+
const error = e;
|
|
55
|
+
onError(error, import_tracer.SSRErrors.PRERENDER);
|
|
77
56
|
throw e;
|
|
78
57
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
if (data._error) {
|
|
82
|
-
onError(data._error, import_tracer.SSRErrors.USE_LOADER);
|
|
83
|
-
delete data._error;
|
|
84
|
-
}
|
|
85
|
-
});
|
|
58
|
+
}
|
|
59
|
+
if (!context.loaderManager.hasPendingLoaders()) {
|
|
86
60
|
return {
|
|
87
|
-
loadersData,
|
|
88
61
|
initialData: context.initialData,
|
|
89
|
-
i18nData: context.__i18nData__
|
|
90
|
-
// todo: move to plugin state
|
|
91
|
-
storeState: context === null || context === void 0 ? void 0 : (_context_store = context.store) === null || _context_store === void 0 ? void 0 : _context_store.getState()
|
|
62
|
+
i18nData: context.__i18nData__
|
|
92
63
|
};
|
|
64
|
+
}
|
|
65
|
+
let loadersData = {};
|
|
66
|
+
try {
|
|
67
|
+
const end = (0, import_time.time)();
|
|
68
|
+
loadersData = await context.loaderManager.awaitPendingLoaders();
|
|
69
|
+
const cost = end();
|
|
70
|
+
onTiming(import_tracer.SSRTimings.USE_LOADER, cost);
|
|
71
|
+
} catch (e) {
|
|
72
|
+
onError(e, import_tracer.SSRErrors.USE_LOADER);
|
|
73
|
+
throw e;
|
|
74
|
+
}
|
|
75
|
+
Object.keys(loadersData).forEach((id) => {
|
|
76
|
+
const data = loadersData[id];
|
|
77
|
+
if (data._error) {
|
|
78
|
+
onError(data._error, import_tracer.SSRErrors.USE_LOADER);
|
|
79
|
+
delete data._error;
|
|
80
|
+
}
|
|
93
81
|
});
|
|
82
|
+
return {
|
|
83
|
+
loadersData,
|
|
84
|
+
initialData: context.initialData,
|
|
85
|
+
i18nData: context.__i18nData__,
|
|
86
|
+
// todo: move to plugin state
|
|
87
|
+
storeState: context === null || context === void 0 ? void 0 : (_context_store = context.store) === null || _context_store === void 0 ? void 0 : _context_store.getState()
|
|
88
|
+
};
|
|
94
89
|
};
|
|
95
90
|
// Annotate the CommonJS export names for ESM import in node:
|
|
96
91
|
0 && (module.exports = {
|
package/dist/cjs/index.js
CHANGED
|
@@ -23,12 +23,16 @@ __export(src_exports, {
|
|
|
23
23
|
createApp: () => import_core.createApp,
|
|
24
24
|
defineConfig: () => import_core.defineConfig,
|
|
25
25
|
defineRuntimeConfig: () => import_core.defineRuntimeConfig,
|
|
26
|
+
getMonitors: () => import_monitors.getMonitors,
|
|
27
|
+
getRequest: () => import_request.getRequest,
|
|
26
28
|
isBrowser: () => import_common.isBrowser,
|
|
27
29
|
useLoader: () => import_core.useLoader,
|
|
28
30
|
useRuntimeContext: () => import_core.useRuntimeContext
|
|
29
31
|
});
|
|
30
32
|
module.exports = __toCommonJS(src_exports);
|
|
31
33
|
var import_common = require("./common");
|
|
34
|
+
var import_monitors = require("./core/context/monitors");
|
|
35
|
+
var import_request = require("./core/context/request");
|
|
32
36
|
var import_core = require("./core");
|
|
33
37
|
// Annotate the CommonJS export names for ESM import in node:
|
|
34
38
|
0 && (module.exports = {
|
|
@@ -37,6 +41,8 @@ var import_core = require("./core");
|
|
|
37
41
|
createApp,
|
|
38
42
|
defineConfig,
|
|
39
43
|
defineRuntimeConfig,
|
|
44
|
+
getMonitors,
|
|
45
|
+
getRequest,
|
|
40
46
|
isBrowser,
|
|
41
47
|
useLoader,
|
|
42
48
|
useRuntimeContext
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var react_server_exports = {};
|
|
20
|
+
__export(react_server_exports, {
|
|
21
|
+
getRequest: () => import_request.getRequest
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(react_server_exports);
|
|
24
|
+
var import_request = require("./core/context/request");
|
|
25
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
26
|
+
0 && (module.exports = {
|
|
27
|
+
getRequest
|
|
28
|
+
});
|
|
@@ -43,7 +43,7 @@ var import_remix_router = require("@modern-js/runtime-utils/remix-router");
|
|
|
43
43
|
var import_router = require("@modern-js/runtime-utils/router");
|
|
44
44
|
var import_DefaultNotFound = require("./DefaultNotFound");
|
|
45
45
|
var import_DeferredDataScripts = __toESM(require("./DeferredDataScripts"));
|
|
46
|
-
function getRouteComponents(routes, { globalApp, ssrMode, props
|
|
46
|
+
function getRouteComponents(routes, { globalApp, ssrMode, props }) {
|
|
47
47
|
const Layout = ({ Component, ...props2 }) => {
|
|
48
48
|
const GlobalLayout = globalApp;
|
|
49
49
|
if (!GlobalLayout) {
|
|
@@ -61,8 +61,7 @@ function getRouteComponents(routes, { globalApp, ssrMode, props, reporter }) {
|
|
|
61
61
|
if (route.type === "nested") {
|
|
62
62
|
const routeElement = (0, import_browser.renderNestedRoute)(route, {
|
|
63
63
|
DeferredDataComponent: ssrMode === "stream" ? import_DeferredDataScripts.default : void 0,
|
|
64
|
-
props
|
|
65
|
-
reporter
|
|
64
|
+
props
|
|
66
65
|
});
|
|
67
66
|
routeElements.push(routeElement);
|
|
68
67
|
} else {
|
|
@@ -81,7 +80,7 @@ function getRouteComponents(routes, { globalApp, ssrMode, props, reporter }) {
|
|
|
81
80
|
}, "*"));
|
|
82
81
|
return routeElements;
|
|
83
82
|
}
|
|
84
|
-
function renderRoutes({ routesConfig, props, ssrMode
|
|
83
|
+
function renderRoutes({ routesConfig, props, ssrMode }) {
|
|
85
84
|
if (!routesConfig) {
|
|
86
85
|
return null;
|
|
87
86
|
}
|
|
@@ -92,8 +91,7 @@ function renderRoutes({ routesConfig, props, ssrMode, reporter }) {
|
|
|
92
91
|
const routeElements = getRouteComponents(routes, {
|
|
93
92
|
globalApp,
|
|
94
93
|
ssrMode,
|
|
95
|
-
props
|
|
96
|
-
reporter
|
|
94
|
+
props
|
|
97
95
|
});
|
|
98
96
|
return routeElements;
|
|
99
97
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@modern-js/runtime-utils/cache";
|
|
@@ -113,7 +113,7 @@ var ssrPlugin = function() {
|
|
|
113
113
|
source: {
|
|
114
114
|
alias: {
|
|
115
115
|
// ensure that all packages use the same storage in @modern-js/runtime-utils/node
|
|
116
|
-
"@modern-js/runtime-utils/node$": require.resolve("@modern-js/runtime-utils/node")
|
|
116
|
+
"@modern-js/runtime-utils/node$": require.resolve("@modern-js/runtime-utils/node").replace("".concat(path.sep, "cjs").concat(path.sep), "".concat(path.sep, "esm").concat(path.sep))
|
|
117
117
|
}
|
|
118
118
|
},
|
|
119
119
|
tools: {
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var defaultMonitors = {
|
|
2
|
+
counter: function counter(name) {
|
|
3
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
4
|
+
args[_key - 1] = arguments[_key];
|
|
5
|
+
}
|
|
6
|
+
},
|
|
7
|
+
info: function info(message) {
|
|
8
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
9
|
+
args[_key - 1] = arguments[_key];
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
debug: function debug(message) {
|
|
13
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
14
|
+
args[_key - 1] = arguments[_key];
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
trace: function trace(message) {
|
|
18
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
19
|
+
args[_key - 1] = arguments[_key];
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
warn: function warn(message) {
|
|
23
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
24
|
+
args[_key - 1] = arguments[_key];
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
error: function error(message) {
|
|
28
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
29
|
+
args[_key - 1] = arguments[_key];
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
timing: function timing(name, dur) {
|
|
33
|
+
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
34
|
+
args[_key - 2] = arguments[_key];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
export {
|
|
39
|
+
defaultMonitors
|
|
40
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { storage } from "@modern-js/runtime-utils/node";
|
|
2
|
+
import { defaultMonitors } from "./default";
|
|
3
|
+
var getMonitors = function() {
|
|
4
|
+
var storageContext = storage.useContext();
|
|
5
|
+
return storageContext.monitors || defaultMonitors;
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
getMonitors
|
|
9
|
+
};
|
|
@@ -5,6 +5,7 @@ import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
|
5
5
|
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
6
6
|
import { _ as _type_of } from "@swc/helpers/_/_type_of";
|
|
7
7
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
8
|
+
import { storage } from "@modern-js/runtime-utils/node";
|
|
8
9
|
import { getPathname, parseCookie, parseHeaders, parseQuery } from "@modern-js/runtime-utils/universal/request";
|
|
9
10
|
import { getGlobalAppInit, getGlobalInternalRuntimeContext, getGlobalRSCRoot } from "../context";
|
|
10
11
|
import { getInitialContext } from "../context/runtime";
|
|
@@ -75,129 +76,142 @@ var createRequestHandler = function() {
|
|
|
75
76
|
return _ts_generator(this, function(_state) {
|
|
76
77
|
requestHandler = function() {
|
|
77
78
|
var _ref2 = _async_to_generator(function(request, options) {
|
|
78
|
-
var
|
|
79
|
+
var headersData;
|
|
79
80
|
return _ts_generator(this, function(_state2) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
81
|
+
headersData = parseHeaders(request);
|
|
82
|
+
return [
|
|
83
|
+
2,
|
|
84
|
+
storage.run({
|
|
85
|
+
headers: headersData,
|
|
86
|
+
request,
|
|
87
|
+
monitors: options.monitors
|
|
88
|
+
}, /* @__PURE__ */ _async_to_generator(function() {
|
|
89
|
+
var _context_routerContext, _context_routerContext1, _context_routerContext2, Root, internalRuntimeContext, hooks, routeManifest, context, runBeforeRender, responseProxy, ssrContext, getRedirectResponse, initialData, _context_routerContext3, _context_ssrContext, errors, redirectResponse, htmlTemplate, response;
|
|
90
|
+
return _ts_generator(this, function(_state3) {
|
|
91
|
+
switch (_state3.label) {
|
|
92
|
+
case 0:
|
|
93
|
+
Root = createRoot();
|
|
94
|
+
internalRuntimeContext = getGlobalInternalRuntimeContext();
|
|
95
|
+
hooks = internalRuntimeContext.hooks;
|
|
96
|
+
routeManifest = options.resource.routeManifest;
|
|
97
|
+
context = getInitialContext(false, routeManifest);
|
|
98
|
+
runBeforeRender = function() {
|
|
99
|
+
var _ref3 = _async_to_generator(function(context2) {
|
|
100
|
+
var result, init;
|
|
101
|
+
return _ts_generator(this, function(_state4) {
|
|
102
|
+
switch (_state4.label) {
|
|
103
|
+
case 0:
|
|
104
|
+
return [
|
|
105
|
+
4,
|
|
106
|
+
hooks.onBeforeRender.call(context2)
|
|
107
|
+
];
|
|
108
|
+
case 1:
|
|
109
|
+
result = _state4.sent();
|
|
110
|
+
if (typeof Response !== "undefined" && _instanceof(result, Response)) {
|
|
111
|
+
return [
|
|
112
|
+
2,
|
|
113
|
+
result
|
|
114
|
+
];
|
|
115
|
+
}
|
|
116
|
+
init = getGlobalAppInit();
|
|
117
|
+
return [
|
|
118
|
+
2,
|
|
119
|
+
init === null || init === void 0 ? void 0 : init(context2)
|
|
120
|
+
];
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
return function runBeforeRender2(context2) {
|
|
125
|
+
return _ref3.apply(this, arguments);
|
|
126
|
+
};
|
|
127
|
+
}();
|
|
128
|
+
responseProxy = {
|
|
129
|
+
headers: {},
|
|
130
|
+
code: -1
|
|
131
|
+
};
|
|
132
|
+
ssrContext = createSSRContext(request, _object_spread_props(_object_spread({}, options), {
|
|
133
|
+
responseProxy
|
|
134
|
+
}));
|
|
135
|
+
Object.assign(context, {
|
|
136
|
+
ssrContext,
|
|
137
|
+
isBrowser: false,
|
|
138
|
+
loaderManager: createLoaderManager({}, {
|
|
139
|
+
skipNonStatic: options.staticGenerate,
|
|
140
|
+
// if not static generate, only non-static loader can exec on prod env
|
|
141
|
+
skipStatic: process.env.NODE_ENV === "production" && !options.staticGenerate
|
|
142
|
+
})
|
|
143
|
+
});
|
|
144
|
+
getRedirectResponse = function(result) {
|
|
145
|
+
if (typeof Response !== "undefined" && // fix: ssg workflow doesn't inject Web Response
|
|
146
|
+
_instanceof(result, Response) && result.status >= 300 && result.status <= 399) {
|
|
147
|
+
var status = result.status;
|
|
148
|
+
var redirectUrl = result.headers.get("Location") || "/";
|
|
149
|
+
var ssrContext2 = context.ssrContext;
|
|
150
|
+
if (ssrContext2) {
|
|
151
|
+
return new Response(null, {
|
|
152
|
+
status,
|
|
153
|
+
headers: {
|
|
154
|
+
Location: redirectUrl
|
|
155
|
+
}
|
|
156
|
+
});
|
|
104
157
|
}
|
|
105
|
-
init = getGlobalAppInit();
|
|
106
|
-
return [
|
|
107
|
-
2,
|
|
108
|
-
init === null || init === void 0 ? void 0 : init(context2)
|
|
109
|
-
];
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
return function runBeforeRender2(context2) {
|
|
114
|
-
return _ref3.apply(this, arguments);
|
|
115
|
-
};
|
|
116
|
-
}();
|
|
117
|
-
responseProxy = {
|
|
118
|
-
headers: {},
|
|
119
|
-
code: -1
|
|
120
|
-
};
|
|
121
|
-
ssrContext = createSSRContext(request, _object_spread_props(_object_spread({}, options), {
|
|
122
|
-
responseProxy
|
|
123
|
-
}));
|
|
124
|
-
Object.assign(context, {
|
|
125
|
-
ssrContext,
|
|
126
|
-
isBrowser: false,
|
|
127
|
-
loaderManager: createLoaderManager({}, {
|
|
128
|
-
skipNonStatic: options.staticGenerate,
|
|
129
|
-
// if not static generate, only non-static loader can exec on prod env
|
|
130
|
-
skipStatic: process.env.NODE_ENV === "production" && !options.staticGenerate
|
|
131
|
-
})
|
|
132
|
-
});
|
|
133
|
-
getRedirectResponse = function(result) {
|
|
134
|
-
if (typeof Response !== "undefined" && // fix: ssg workflow doesn't inject Web Response
|
|
135
|
-
_instanceof(result, Response) && result.status >= 300 && result.status <= 399) {
|
|
136
|
-
var status = result.status;
|
|
137
|
-
var redirectUrl = result.headers.get("Location") || "/";
|
|
138
|
-
var ssrContext2 = context.ssrContext;
|
|
139
|
-
if (ssrContext2) {
|
|
140
|
-
return new Response(null, {
|
|
141
|
-
status,
|
|
142
|
-
headers: {
|
|
143
|
-
Location: redirectUrl
|
|
144
158
|
}
|
|
159
|
+
return void 0;
|
|
160
|
+
};
|
|
161
|
+
return [
|
|
162
|
+
4,
|
|
163
|
+
runBeforeRender(context)
|
|
164
|
+
];
|
|
165
|
+
case 1:
|
|
166
|
+
initialData = _state3.sent();
|
|
167
|
+
if (((_context_routerContext = context.routerContext) === null || _context_routerContext === void 0 ? void 0 : _context_routerContext.statusCode) && ((_context_routerContext1 = context.routerContext) === null || _context_routerContext1 === void 0 ? void 0 : _context_routerContext1.statusCode) !== 200) {
|
|
168
|
+
;
|
|
169
|
+
(_context_ssrContext = context.ssrContext) === null || _context_ssrContext === void 0 ? void 0 : _context_ssrContext.response.status((_context_routerContext3 = context.routerContext) === null || _context_routerContext3 === void 0 ? void 0 : _context_routerContext3.statusCode);
|
|
170
|
+
}
|
|
171
|
+
errors = Object.values(((_context_routerContext2 = context.routerContext) === null || _context_routerContext2 === void 0 ? void 0 : _context_routerContext2.errors) || {});
|
|
172
|
+
if (errors.length > 0) {
|
|
173
|
+
options.onError(errors[0], SSRErrors.LOADER_ERROR);
|
|
174
|
+
}
|
|
175
|
+
context.initialData = initialData;
|
|
176
|
+
redirectResponse = getRedirectResponse(initialData);
|
|
177
|
+
if (redirectResponse) {
|
|
178
|
+
return [
|
|
179
|
+
2,
|
|
180
|
+
redirectResponse
|
|
181
|
+
];
|
|
182
|
+
}
|
|
183
|
+
htmlTemplate = options.resource.htmlTemplate;
|
|
184
|
+
options.resource.htmlTemplate = htmlTemplate.replace("</head>", "".concat(CHUNK_CSS_PLACEHOLDER, "</head>"));
|
|
185
|
+
return [
|
|
186
|
+
4,
|
|
187
|
+
handleRequest(request, Root, _object_spread_props(_object_spread({}, options), {
|
|
188
|
+
runtimeContext: context,
|
|
189
|
+
RSCRoot: (createRequestOptions === null || createRequestOptions === void 0 ? void 0 : createRequestOptions.enableRsc) && getGlobalRSCRoot()
|
|
190
|
+
}))
|
|
191
|
+
];
|
|
192
|
+
case 2:
|
|
193
|
+
response = _state3.sent();
|
|
194
|
+
Object.entries(responseProxy.headers).forEach(function(param) {
|
|
195
|
+
var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
|
|
196
|
+
response.headers.set(key, value);
|
|
145
197
|
});
|
|
146
|
-
|
|
198
|
+
if (responseProxy.code !== -1) {
|
|
199
|
+
return [
|
|
200
|
+
2,
|
|
201
|
+
new Response(response.body, {
|
|
202
|
+
status: responseProxy.code,
|
|
203
|
+
headers: response.headers
|
|
204
|
+
})
|
|
205
|
+
];
|
|
206
|
+
}
|
|
207
|
+
return [
|
|
208
|
+
2,
|
|
209
|
+
response
|
|
210
|
+
];
|
|
147
211
|
}
|
|
148
|
-
return void 0;
|
|
149
|
-
};
|
|
150
|
-
return [
|
|
151
|
-
4,
|
|
152
|
-
runBeforeRender(context)
|
|
153
|
-
];
|
|
154
|
-
case 1:
|
|
155
|
-
initialData = _state2.sent();
|
|
156
|
-
if (((_context_routerContext = context.routerContext) === null || _context_routerContext === void 0 ? void 0 : _context_routerContext.statusCode) && ((_context_routerContext1 = context.routerContext) === null || _context_routerContext1 === void 0 ? void 0 : _context_routerContext1.statusCode) !== 200) {
|
|
157
|
-
;
|
|
158
|
-
(_context_ssrContext = context.ssrContext) === null || _context_ssrContext === void 0 ? void 0 : _context_ssrContext.response.status((_context_routerContext3 = context.routerContext) === null || _context_routerContext3 === void 0 ? void 0 : _context_routerContext3.statusCode);
|
|
159
|
-
}
|
|
160
|
-
errors = Object.values(((_context_routerContext2 = context.routerContext) === null || _context_routerContext2 === void 0 ? void 0 : _context_routerContext2.errors) || {});
|
|
161
|
-
if (errors.length > 0) {
|
|
162
|
-
options.onError(errors[0], SSRErrors.LOADER_ERROR);
|
|
163
|
-
}
|
|
164
|
-
context.initialData = initialData;
|
|
165
|
-
redirectResponse = getRedirectResponse(initialData);
|
|
166
|
-
if (redirectResponse) {
|
|
167
|
-
return [
|
|
168
|
-
2,
|
|
169
|
-
redirectResponse
|
|
170
|
-
];
|
|
171
|
-
}
|
|
172
|
-
htmlTemplate = options.resource.htmlTemplate;
|
|
173
|
-
options.resource.htmlTemplate = htmlTemplate.replace("</head>", "".concat(CHUNK_CSS_PLACEHOLDER, "</head>"));
|
|
174
|
-
return [
|
|
175
|
-
4,
|
|
176
|
-
handleRequest(request, Root, _object_spread_props(_object_spread({}, options), {
|
|
177
|
-
runtimeContext: context,
|
|
178
|
-
RSCRoot: (createRequestOptions === null || createRequestOptions === void 0 ? void 0 : createRequestOptions.enableRsc) && getGlobalRSCRoot()
|
|
179
|
-
}))
|
|
180
|
-
];
|
|
181
|
-
case 2:
|
|
182
|
-
response = _state2.sent();
|
|
183
|
-
Object.entries(responseProxy.headers).forEach(function(param) {
|
|
184
|
-
var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
|
|
185
|
-
response.headers.set(key, value);
|
|
186
212
|
});
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
2,
|
|
190
|
-
new Response(response.body, {
|
|
191
|
-
status: responseProxy.code,
|
|
192
|
-
headers: response.headers
|
|
193
|
-
})
|
|
194
|
-
];
|
|
195
|
-
}
|
|
196
|
-
return [
|
|
197
|
-
2,
|
|
198
|
-
response
|
|
199
|
-
];
|
|
200
|
-
}
|
|
213
|
+
}))
|
|
214
|
+
];
|
|
201
215
|
});
|
|
202
216
|
});
|
|
203
217
|
return function requestHandler2(request, options) {
|