@modern-js/prod-server 1.22.1 → 2.0.0-alpha.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/CHANGELOG.md +271 -17
- package/dist/js/modern/constants.js +32 -27
- package/dist/js/modern/index.js +11 -7
- package/dist/js/modern/libs/context/context.js +54 -132
- package/dist/js/modern/libs/context/index.js +5 -2
- package/dist/js/modern/libs/hook-api/index.js +134 -0
- package/dist/js/modern/libs/hook-api/route.js +13 -37
- package/dist/js/modern/libs/hook-api/template.js +41 -32
- package/dist/js/modern/libs/loadConfig.js +46 -32
- package/dist/js/modern/libs/metrics.js +6 -7
- package/dist/js/modern/libs/proxy.js +70 -44
- package/dist/js/modern/libs/render/cache/__tests__/cache.fun.test.js +112 -68
- package/dist/js/modern/libs/render/cache/__tests__/cache.test.js +246 -225
- package/dist/js/modern/libs/render/cache/__tests__/cacheable.js +43 -49
- package/dist/js/modern/libs/render/cache/__tests__/error-configuration.js +36 -34
- package/dist/js/modern/libs/render/cache/__tests__/matched-cache.js +83 -113
- package/dist/js/modern/libs/render/cache/index.js +93 -50
- package/dist/js/modern/libs/render/cache/page-caches/index.js +31 -8
- package/dist/js/modern/libs/render/cache/page-caches/lru.js +6 -16
- package/dist/js/modern/libs/render/cache/spr.js +133 -167
- package/dist/js/modern/libs/render/cache/type.js +0 -1
- package/dist/js/modern/libs/render/cache/util.js +71 -45
- package/dist/js/modern/libs/render/index.js +76 -61
- package/dist/js/modern/libs/render/measure.js +42 -34
- package/dist/js/modern/libs/render/reader.js +68 -76
- package/dist/js/modern/libs/render/ssr.js +63 -33
- package/dist/js/modern/libs/render/static.js +51 -37
- package/dist/js/modern/libs/render/type.js +9 -7
- package/dist/js/modern/libs/route/index.js +12 -30
- package/dist/js/modern/libs/route/matcher.js +28 -50
- package/dist/js/modern/libs/route/route.js +9 -31
- package/dist/js/modern/libs/serve-file.js +40 -20
- package/dist/js/modern/server/index.js +152 -168
- package/dist/js/modern/server/modern-server-split.js +44 -60
- package/dist/js/modern/server/modern-server.js +416 -526
- package/dist/js/modern/type.js +0 -1
- package/dist/js/modern/utils.js +62 -58
- package/dist/js/modern/worker-server.js +54 -0
- package/dist/js/node/constants.js +53 -32
- package/dist/js/node/index.js +37 -67
- package/dist/js/node/libs/context/context.js +84 -150
- package/dist/js/node/libs/context/index.js +28 -16
- package/dist/js/node/libs/hook-api/index.js +164 -0
- package/dist/js/node/libs/hook-api/route.js +35 -45
- package/dist/js/node/libs/hook-api/template.js +64 -40
- package/dist/js/node/libs/loadConfig.js +74 -55
- package/dist/js/node/libs/metrics.js +28 -12
- package/dist/js/node/libs/proxy.js +90 -55
- package/dist/js/node/libs/render/cache/__tests__/cache.fun.test.js +99 -61
- package/dist/js/node/libs/render/cache/__tests__/cache.test.js +147 -140
- package/dist/js/node/libs/render/cache/__tests__/cacheable.js +65 -55
- package/dist/js/node/libs/render/cache/__tests__/error-configuration.js +58 -40
- package/dist/js/node/libs/render/cache/__tests__/matched-cache.js +105 -119
- package/dist/js/node/libs/render/cache/index.js +115 -65
- package/dist/js/node/libs/render/cache/page-caches/index.js +54 -16
- package/dist/js/node/libs/render/cache/page-caches/lru.js +33 -26
- package/dist/js/node/libs/render/cache/spr.js +161 -188
- package/dist/js/node/libs/render/cache/type.js +15 -5
- package/dist/js/node/libs/render/cache/util.js +99 -63
- package/dist/js/node/libs/render/index.js +106 -87
- package/dist/js/node/libs/render/measure.js +61 -44
- package/dist/js/node/libs/render/reader.js +98 -100
- package/dist/js/node/libs/render/ssr.js +92 -58
- package/dist/js/node/libs/render/static.js +80 -53
- package/dist/js/node/libs/render/type.js +31 -13
- package/dist/js/node/libs/route/index.js +35 -44
- package/dist/js/node/libs/route/matcher.js +48 -65
- package/dist/js/node/libs/route/route.js +29 -37
- package/dist/js/node/libs/serve-file.js +74 -37
- package/dist/js/node/server/index.js +170 -203
- package/dist/js/node/server/modern-server-split.js +70 -73
- package/dist/js/node/server/modern-server.js +432 -577
- package/dist/js/node/type.js +15 -3
- package/dist/js/node/utils.js +87 -93
- package/dist/js/node/worker-server.js +77 -0
- package/dist/js/treeshaking/constants.js +29 -0
- package/dist/js/treeshaking/index.js +13 -0
- package/dist/js/treeshaking/libs/context/context.js +274 -0
- package/dist/js/treeshaking/libs/context/index.js +5 -0
- package/dist/js/treeshaking/libs/hook-api/index.js +281 -0
- package/dist/js/treeshaking/libs/hook-api/route.js +68 -0
- package/dist/js/treeshaking/libs/hook-api/template.js +127 -0
- package/dist/js/treeshaking/libs/loadConfig.js +82 -0
- package/dist/js/treeshaking/libs/metrics.js +6 -0
- package/dist/js/treeshaking/libs/proxy.js +244 -0
- package/dist/js/treeshaking/libs/render/cache/__tests__/cache.fun.test.js +291 -0
- package/dist/js/treeshaking/libs/render/cache/__tests__/cache.test.js +781 -0
- package/dist/js/treeshaking/libs/render/cache/__tests__/cacheable.js +67 -0
- package/dist/js/treeshaking/libs/render/cache/__tests__/error-configuration.js +45 -0
- package/dist/js/treeshaking/libs/render/cache/__tests__/matched-cache.js +147 -0
- package/dist/js/treeshaking/libs/render/cache/index.js +346 -0
- package/dist/js/treeshaking/libs/render/cache/page-caches/index.js +154 -0
- package/dist/js/treeshaking/libs/render/cache/page-caches/lru.js +84 -0
- package/dist/js/treeshaking/libs/render/cache/spr.js +492 -0
- package/dist/js/treeshaking/libs/render/cache/type.js +1 -0
- package/dist/js/treeshaking/libs/render/cache/util.js +280 -0
- package/dist/js/treeshaking/libs/render/index.js +233 -0
- package/dist/js/treeshaking/libs/render/measure.js +146 -0
- package/dist/js/treeshaking/libs/render/reader.js +339 -0
- package/dist/js/treeshaking/libs/render/ssr.js +223 -0
- package/dist/js/treeshaking/libs/render/static.js +216 -0
- package/dist/js/treeshaking/libs/render/type.js +7 -0
- package/dist/js/treeshaking/libs/route/index.js +130 -0
- package/dist/js/treeshaking/libs/route/matcher.js +138 -0
- package/dist/js/treeshaking/libs/route/route.js +40 -0
- package/dist/js/treeshaking/libs/serve-file.js +184 -0
- package/dist/js/treeshaking/server/index.js +505 -0
- package/dist/js/treeshaking/server/modern-server-split.js +360 -0
- package/dist/js/treeshaking/server/modern-server.js +1083 -0
- package/dist/js/treeshaking/type.js +1 -0
- package/dist/js/treeshaking/utils.js +147 -0
- package/dist/js/treeshaking/worker-server.js +177 -0
- package/dist/types/libs/context/context.d.ts +1 -1
- package/dist/types/libs/hook-api/index.d.ts +5 -0
- package/dist/types/libs/hook-api/route.d.ts +9 -14
- package/dist/types/libs/hook-api/template.d.ts +19 -9
- package/dist/types/libs/render/cache/index.d.ts +4 -2
- package/dist/types/libs/render/type.d.ts +3 -1
- package/dist/types/libs/route/route.d.ts +0 -1
- package/dist/types/libs/serve-file.d.ts +2 -1
- package/dist/types/server/index.d.ts +2 -0
- package/dist/types/server/modern-server.d.ts +11 -11
- package/dist/types/type.d.ts +8 -10
- package/dist/types/utils.d.ts +3 -4
- package/dist/types/worker-server.d.ts +15 -0
- package/package.json +31 -45
- package/dist/js/modern/libs/render/modern/browser-list.js +0 -7
- package/dist/js/modern/libs/render/modern/index.js +0 -48
- package/dist/js/node/libs/render/modern/browser-list.js +0 -14
- package/dist/js/node/libs/render/modern/index.js +0 -64
- package/dist/types/libs/render/modern/browser-list.d.ts +0 -1
- package/dist/types/libs/render/modern/index.d.ts +0 -3
|
@@ -1,97 +1,122 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
+
mod
|
|
22
|
+
));
|
|
23
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
|
+
var __async = (__this, __arguments, generator) => {
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
var fulfilled = (value) => {
|
|
27
|
+
try {
|
|
28
|
+
step(generator.next(value));
|
|
29
|
+
} catch (e) {
|
|
30
|
+
reject(e);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
var rejected = (value) => {
|
|
34
|
+
try {
|
|
35
|
+
step(generator.throw(value));
|
|
36
|
+
} catch (e) {
|
|
37
|
+
reject(e);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
41
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var util_exports = {};
|
|
45
|
+
__export(util_exports, {
|
|
46
|
+
cacheAddition: () => cacheAddition,
|
|
47
|
+
connectFactor: () => connectFactor,
|
|
48
|
+
fname: () => fname,
|
|
49
|
+
getTime: () => getTime,
|
|
50
|
+
maybeSync: () => maybeSync,
|
|
51
|
+
namespaceHash: () => namespaceHash,
|
|
52
|
+
valueFactory: () => valueFactory,
|
|
53
|
+
withCoalescedInvoke: () => withCoalescedInvoke
|
|
5
54
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
exports.fname = fname;
|
|
9
|
-
exports.getTime = getTime;
|
|
10
|
-
exports.maybeSync = maybeSync;
|
|
11
|
-
exports.namespaceHash = namespaceHash;
|
|
12
|
-
exports.valueFactory = valueFactory;
|
|
13
|
-
exports.withCoalescedInvoke = withCoalescedInvoke;
|
|
14
|
-
|
|
15
|
-
var _url = _interopRequireDefault(require("url"));
|
|
16
|
-
|
|
17
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
-
|
|
55
|
+
module.exports = __toCommonJS(util_exports);
|
|
56
|
+
var import_url = __toESM(require("url"));
|
|
19
57
|
function namespaceHash(namespace, hash) {
|
|
20
58
|
return `${namespace}/${hash}`;
|
|
21
59
|
}
|
|
22
|
-
|
|
23
60
|
function fname(lv) {
|
|
24
61
|
return `f${lv}`;
|
|
25
62
|
}
|
|
26
|
-
|
|
27
63
|
function connectFactor(...args) {
|
|
28
|
-
return args.join(
|
|
64
|
+
return args.join("-");
|
|
29
65
|
}
|
|
30
|
-
|
|
31
66
|
function valueFactory(obj) {
|
|
32
|
-
if (obj instanceof
|
|
33
|
-
return function
|
|
67
|
+
if (obj instanceof import_url.default.URLSearchParams) {
|
|
68
|
+
return function(key) {
|
|
34
69
|
return obj.get(key);
|
|
35
70
|
};
|
|
36
71
|
} else {
|
|
37
|
-
return function
|
|
72
|
+
return function(key) {
|
|
38
73
|
const value = obj[key];
|
|
39
|
-
|
|
40
74
|
if (Array.isArray(value)) {
|
|
41
|
-
return value.join(
|
|
75
|
+
return value.join(",");
|
|
42
76
|
}
|
|
43
|
-
|
|
44
77
|
return value;
|
|
45
78
|
};
|
|
46
79
|
}
|
|
47
80
|
}
|
|
48
|
-
|
|
49
81
|
function getTime([s, ns]) {
|
|
50
82
|
return Math.floor(s * 1e3 + ns / 1e6);
|
|
51
83
|
}
|
|
52
|
-
|
|
53
84
|
const RE_START_IN_HEAD = /<head>/;
|
|
54
|
-
|
|
55
85
|
function cacheAddition(html, hash) {
|
|
56
|
-
const additionHtml = html.replace(
|
|
86
|
+
const additionHtml = html.replace(
|
|
87
|
+
RE_START_IN_HEAD,
|
|
88
|
+
`<head><meta name="x-moden-spr" content="${hash}">`
|
|
89
|
+
);
|
|
57
90
|
return additionHtml;
|
|
58
91
|
}
|
|
59
|
-
|
|
60
|
-
const globalInvokeCache = new Map();
|
|
61
|
-
|
|
92
|
+
const globalInvokeCache = /* @__PURE__ */ new Map();
|
|
62
93
|
function withCoalescedInvoke(func) {
|
|
63
|
-
return
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
globalInvokeCache.delete(key);
|
|
85
|
-
throw err;
|
|
94
|
+
return function(key, args) {
|
|
95
|
+
return __async(this, null, function* () {
|
|
96
|
+
const entry = globalInvokeCache.get(key);
|
|
97
|
+
if (entry) {
|
|
98
|
+
return entry.then((res) => ({
|
|
99
|
+
isOrigin: false,
|
|
100
|
+
value: res.value
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
function __wrapper() {
|
|
104
|
+
return func(...args);
|
|
105
|
+
}
|
|
106
|
+
const future = __wrapper().then((res) => {
|
|
107
|
+
globalInvokeCache.delete(key);
|
|
108
|
+
return { isOrigin: true, value: res };
|
|
109
|
+
}).catch((err) => {
|
|
110
|
+
globalInvokeCache.delete(key);
|
|
111
|
+
throw err;
|
|
112
|
+
});
|
|
113
|
+
globalInvokeCache.set(key, future);
|
|
114
|
+
return future;
|
|
86
115
|
});
|
|
87
|
-
|
|
88
|
-
globalInvokeCache.set(key, future);
|
|
89
|
-
return future;
|
|
90
116
|
};
|
|
91
117
|
}
|
|
92
|
-
|
|
93
118
|
function maybeSync(fn) {
|
|
94
|
-
return sync => {
|
|
119
|
+
return (sync) => {
|
|
95
120
|
if (sync) {
|
|
96
121
|
return fn();
|
|
97
122
|
} else {
|
|
@@ -99,4 +124,15 @@ function maybeSync(fn) {
|
|
|
99
124
|
return Promise.resolve();
|
|
100
125
|
}
|
|
101
126
|
};
|
|
102
|
-
}
|
|
127
|
+
}
|
|
128
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
129
|
+
0 && (module.exports = {
|
|
130
|
+
cacheAddition,
|
|
131
|
+
connectFactor,
|
|
132
|
+
fname,
|
|
133
|
+
getTime,
|
|
134
|
+
maybeSync,
|
|
135
|
+
namespaceHash,
|
|
136
|
+
valueFactory,
|
|
137
|
+
withCoalescedInvoke
|
|
138
|
+
});
|
|
@@ -1,94 +1,113 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
+
mod
|
|
22
|
+
));
|
|
23
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
|
+
var __async = (__this, __arguments, generator) => {
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
var fulfilled = (value) => {
|
|
27
|
+
try {
|
|
28
|
+
step(generator.next(value));
|
|
29
|
+
} catch (e) {
|
|
30
|
+
reject(e);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
var rejected = (value) => {
|
|
34
|
+
try {
|
|
35
|
+
step(generator.throw(value));
|
|
36
|
+
} catch (e) {
|
|
37
|
+
reject(e);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
41
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var render_exports = {};
|
|
45
|
+
__export(render_exports, {
|
|
46
|
+
createRenderHandler: () => createRenderHandler
|
|
5
47
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
var _static = require("./static");
|
|
15
|
-
|
|
16
|
-
var _reader = require("./reader");
|
|
17
|
-
|
|
18
|
-
var ssr = _interopRequireWildcard(require("./ssr"));
|
|
19
|
-
|
|
20
|
-
var _modern = require("./modern");
|
|
21
|
-
|
|
22
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
-
|
|
24
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
|
-
|
|
26
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
-
|
|
48
|
+
module.exports = __toCommonJS(render_exports);
|
|
49
|
+
var import_path = __toESM(require("path"));
|
|
50
|
+
var import_utils = require("@modern-js/utils");
|
|
51
|
+
var import_constants = require("../../constants");
|
|
52
|
+
var import_static = require("./static");
|
|
53
|
+
var import_reader = require("./reader");
|
|
54
|
+
var ssr = __toESM(require("./ssr"));
|
|
28
55
|
const createRenderHandler = ({
|
|
29
56
|
distDir,
|
|
30
57
|
staticGenerate
|
|
31
|
-
}) =>
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
entryPath
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const entry = _path.default.join(distDir, entryPath);
|
|
46
|
-
|
|
47
|
-
if (!route.isSPA) {
|
|
48
|
-
const result = await (0, _static.handleDirectory)(ctx, entry, urlPath);
|
|
49
|
-
return result;
|
|
50
|
-
} // only spa can use es6-html
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const modernEntry = (0, _modern.getModernEntry)(entry);
|
|
54
|
-
|
|
55
|
-
const useModern = // route.enableModernMode &&
|
|
56
|
-
(0, _modern.supportModern)(ctx) && _utils.fs.existsSync(modernEntry);
|
|
57
|
-
|
|
58
|
-
const templatePath = useModern ? modernEntry : entry;
|
|
59
|
-
|
|
60
|
-
if (!_utils.fs.existsSync(templatePath)) {
|
|
61
|
-
throw new Error(`Could not find template file: ${templatePath}`);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const content = await (0, _reader.readFile)(templatePath);
|
|
65
|
-
|
|
66
|
-
if (!content) {
|
|
67
|
-
return null;
|
|
68
|
-
} // handles ssr first
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
if (route.isSSR) {
|
|
72
|
-
try {
|
|
73
|
-
const result = await ssr.render(ctx, {
|
|
74
|
-
distDir,
|
|
75
|
-
entryName: route.entryName,
|
|
76
|
-
urlPath: route.urlPath,
|
|
77
|
-
bundle: route.bundle,
|
|
78
|
-
template: content.toString(),
|
|
79
|
-
staticGenerate
|
|
80
|
-
}, runner);
|
|
58
|
+
}) => function render(_0) {
|
|
59
|
+
return __async(this, arguments, function* ({
|
|
60
|
+
ctx,
|
|
61
|
+
route,
|
|
62
|
+
runner
|
|
63
|
+
}) {
|
|
64
|
+
if (ctx.resHasHandled()) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
const { entryPath, urlPath } = route;
|
|
68
|
+
const entry = import_path.default.join(distDir, entryPath);
|
|
69
|
+
if (!route.isSPA) {
|
|
70
|
+
const result = yield (0, import_static.handleDirectory)(ctx, entry, urlPath);
|
|
81
71
|
return result;
|
|
82
|
-
} catch (err) {
|
|
83
|
-
ctx.error(_constants.ERROR_DIGEST.ERENDER, err.stack || err.message);
|
|
84
|
-
ctx.res.setHeader('x-modern-ssr-fallback', '1');
|
|
85
72
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
73
|
+
const templatePath = entry;
|
|
74
|
+
if (!import_utils.fs.existsSync(templatePath)) {
|
|
75
|
+
throw new Error(`Could not find template file: ${templatePath}`);
|
|
76
|
+
}
|
|
77
|
+
const content = yield (0, import_reader.readFile)(templatePath);
|
|
78
|
+
if (!content) {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
if (route.isSSR) {
|
|
82
|
+
try {
|
|
83
|
+
const result = yield ssr.render(
|
|
84
|
+
ctx,
|
|
85
|
+
{
|
|
86
|
+
distDir,
|
|
87
|
+
entryName: route.entryName,
|
|
88
|
+
urlPath: route.urlPath,
|
|
89
|
+
bundle: route.bundle,
|
|
90
|
+
template: content.toString(),
|
|
91
|
+
staticGenerate
|
|
92
|
+
},
|
|
93
|
+
runner
|
|
94
|
+
);
|
|
95
|
+
return result;
|
|
96
|
+
} catch (err) {
|
|
97
|
+
ctx.error(
|
|
98
|
+
import_constants.ERROR_DIGEST.ERENDER,
|
|
99
|
+
err.stack || err.message
|
|
100
|
+
);
|
|
101
|
+
ctx.res.setHeader("x-modern-ssr-fallback", "1");
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
content,
|
|
106
|
+
contentType: import_utils.mime.contentType(import_path.default.extname(templatePath))
|
|
107
|
+
};
|
|
108
|
+
});
|
|
92
109
|
};
|
|
93
|
-
|
|
94
|
-
exports
|
|
110
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
111
|
+
0 && (module.exports = {
|
|
112
|
+
createRenderHandler
|
|
113
|
+
});
|
|
@@ -1,73 +1,90 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __spreadValues = (a, b) => {
|
|
11
|
+
for (var prop in b || (b = {}))
|
|
12
|
+
if (__hasOwnProp.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
if (__getOwnPropSymbols)
|
|
15
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
+
if (__propIsEnum.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
}
|
|
19
|
+
return a;
|
|
20
|
+
};
|
|
21
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
|
+
var __export = (target, all) => {
|
|
23
|
+
for (var name in all)
|
|
24
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
25
|
+
};
|
|
26
|
+
var __copyProps = (to, from, except, desc) => {
|
|
27
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
28
|
+
for (let key of __getOwnPropNames(from))
|
|
29
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
30
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
31
|
+
}
|
|
32
|
+
return to;
|
|
33
|
+
};
|
|
34
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
35
|
+
var measure_exports = {};
|
|
36
|
+
__export(measure_exports, {
|
|
37
|
+
createLogger: () => createLogger,
|
|
38
|
+
createMetrics: () => createMetrics
|
|
5
39
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _utils = require("../../utils");
|
|
9
|
-
|
|
10
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
11
|
-
|
|
12
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
13
|
-
|
|
14
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
-
|
|
40
|
+
module.exports = __toCommonJS(measure_exports);
|
|
41
|
+
var import_utils = require("../../utils");
|
|
16
42
|
const createMetrics = (context, metrics) => {
|
|
17
|
-
const {
|
|
18
|
-
|
|
19
|
-
request
|
|
20
|
-
} = context;
|
|
21
|
-
const {
|
|
22
|
-
pathname = ''
|
|
23
|
-
} = request || {};
|
|
24
|
-
|
|
43
|
+
const { entryName: entry, request } = context;
|
|
44
|
+
const { pathname = "" } = request || {};
|
|
25
45
|
const emitTimer = (name, cost, tags = {}) => {
|
|
26
|
-
metrics.emitTimer(name, cost,
|
|
46
|
+
metrics.emitTimer(name, cost, __spreadProps(__spreadValues({}, tags), {
|
|
27
47
|
pathname,
|
|
28
48
|
entry
|
|
29
49
|
}));
|
|
30
50
|
};
|
|
31
|
-
|
|
32
51
|
const emitCounter = (name, counter, tags = {}) => {
|
|
33
|
-
metrics.emitCounter(name, counter,
|
|
52
|
+
metrics.emitCounter(name, counter, __spreadProps(__spreadValues({}, tags), {
|
|
34
53
|
pathname,
|
|
35
54
|
entry
|
|
36
55
|
}));
|
|
37
56
|
};
|
|
38
|
-
|
|
39
|
-
return {
|
|
40
|
-
emitTimer,
|
|
41
|
-
emitCounter
|
|
42
|
-
};
|
|
57
|
+
return { emitTimer, emitCounter };
|
|
43
58
|
};
|
|
44
|
-
|
|
45
|
-
exports.createMetrics = createMetrics;
|
|
46
|
-
|
|
47
59
|
const createLogger = (serverContext, logger) => {
|
|
48
60
|
const request = serverContext.request || {};
|
|
49
|
-
const {
|
|
50
|
-
headers = {},
|
|
51
|
-
pathname = ''
|
|
52
|
-
} = request;
|
|
53
|
-
|
|
61
|
+
const { headers = {}, pathname = "" } = request;
|
|
54
62
|
const debug = (message, ...args) => {
|
|
55
63
|
logger.debug(`SSR Debug - ${message}, req.url = %s`, ...args, pathname);
|
|
56
64
|
};
|
|
57
|
-
|
|
58
65
|
const info = (message, ...args) => {
|
|
59
66
|
logger.info(`SSR Info - ${message}, req.url = %s`, ...args, pathname);
|
|
60
67
|
};
|
|
61
|
-
|
|
62
68
|
const error = (message, e) => {
|
|
63
|
-
|
|
69
|
+
if (!e) {
|
|
70
|
+
e = message;
|
|
71
|
+
message = "";
|
|
72
|
+
}
|
|
73
|
+
logger.error(
|
|
74
|
+
`SSR Error - ${message}, error = %s, req.url = %s, req.headers = %o`,
|
|
75
|
+
e instanceof Error ? e.stack || e.message : e,
|
|
76
|
+
pathname,
|
|
77
|
+
(0, import_utils.headersWithoutCookie)(headers)
|
|
78
|
+
);
|
|
64
79
|
};
|
|
65
|
-
|
|
66
80
|
return {
|
|
67
81
|
error,
|
|
68
82
|
info,
|
|
69
83
|
debug
|
|
70
84
|
};
|
|
71
85
|
};
|
|
72
|
-
|
|
73
|
-
exports
|
|
86
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
87
|
+
0 && (module.exports = {
|
|
88
|
+
createLogger,
|
|
89
|
+
createMetrics
|
|
90
|
+
});
|