@modern-js/prod-server 2.35.1 → 2.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/constants.js +33 -27
- package/dist/cjs/index.js +41 -33
- package/dist/cjs/libs/context/context.js +71 -45
- package/dist/cjs/libs/context/index.js +27 -17
- package/dist/cjs/libs/hook-api/base.js +49 -30
- package/dist/cjs/libs/hook-api/index.js +36 -28
- package/dist/cjs/libs/hook-api/index.worker.js +39 -31
- package/dist/cjs/libs/hook-api/route.js +28 -11
- package/dist/cjs/libs/hook-api/template.js +27 -17
- package/dist/cjs/libs/hook-api/templateForStream.js +31 -14
- package/dist/cjs/libs/loadConfig.js +46 -29
- package/dist/cjs/libs/metrics.js +24 -7
- package/dist/cjs/libs/preload/flushServerHeader.js +28 -11
- package/dist/cjs/libs/preload/index.js +22 -5
- package/dist/cjs/libs/preload/parseLinks.js +49 -24
- package/dist/cjs/libs/preload/shouldFlushServerHeader.js +25 -15
- package/dist/cjs/libs/preload/transformLinks2String.js +26 -9
- package/dist/cjs/libs/proxy.js +29 -19
- package/dist/cjs/libs/render/cache/__tests__/cache.fun.test.js +40 -22
- package/dist/cjs/libs/render/cache/__tests__/cache.test.js +26 -29
- package/dist/cjs/libs/render/cache/__tests__/cacheable.js +24 -7
- package/dist/cjs/libs/render/cache/__tests__/error-configuration.js +24 -7
- package/dist/cjs/libs/render/cache/__tests__/matched-cache.js +24 -7
- package/dist/cjs/libs/render/cache/index.js +29 -16
- package/dist/cjs/libs/render/cache/page-caches/index.js +26 -9
- package/dist/cjs/libs/render/cache/page-caches/lru.js +39 -13
- package/dist/cjs/libs/render/cache/spr.js +61 -42
- package/dist/cjs/libs/render/cache/type.js +15 -3
- package/dist/cjs/libs/render/cache/util.js +49 -36
- package/dist/cjs/libs/render/index.js +54 -29
- package/dist/cjs/libs/render/measure.js +27 -17
- package/dist/cjs/libs/render/reader.js +49 -33
- package/dist/cjs/libs/render/ssr.js +52 -26
- package/dist/cjs/libs/render/static.js +44 -18
- package/dist/cjs/libs/render/type.js +24 -7
- package/dist/cjs/libs/render/utils.js +29 -19
- package/dist/cjs/libs/reporter.js +24 -7
- package/dist/cjs/libs/route/index.js +30 -20
- package/dist/cjs/libs/route/matcher.js +35 -18
- package/dist/cjs/libs/route/route.js +34 -17
- package/dist/cjs/libs/serveFile.js +40 -21
- package/dist/cjs/libs/serverTiming.js +27 -10
- package/dist/cjs/renderHtml.js +17 -20
- package/dist/cjs/server/index.js +71 -45
- package/dist/cjs/server/modernServer.js +120 -95
- package/dist/cjs/server/modernServerSplit.js +29 -12
- package/dist/cjs/type.js +15 -3
- package/dist/cjs/utils.js +41 -38
- package/dist/cjs/workerServer.js +44 -34
- package/dist/esm/constants.js +14 -6
- package/dist/esm/index.js +11 -5
- package/dist/esm/libs/context/context.js +4 -1
- package/dist/esm/libs/context/index.js +5 -2
- package/dist/esm/libs/hook-api/base.js +6 -2
- package/dist/esm/libs/hook-api/index.js +11 -5
- package/dist/esm/libs/hook-api/index.worker.js +16 -10
- package/dist/esm/libs/hook-api/route.js +4 -1
- package/dist/esm/libs/hook-api/template.js +6 -2
- package/dist/esm/libs/hook-api/templateForStream.js +4 -1
- package/dist/esm/libs/loadConfig.js +8 -3
- package/dist/esm/libs/metrics.js +3 -1
- package/dist/esm/libs/preload/flushServerHeader.js +6 -3
- package/dist/esm/libs/preload/parseLinks.js +6 -3
- package/dist/esm/libs/preload/shouldFlushServerHeader.js +6 -2
- package/dist/esm/libs/preload/transformLinks2String.js +4 -1
- package/dist/esm/libs/proxy.js +9 -5
- package/dist/esm/libs/render/cache/__tests__/cacheable.js +4 -1
- package/dist/esm/libs/render/cache/__tests__/error-configuration.js +4 -1
- package/dist/esm/libs/render/cache/__tests__/matched-cache.js +4 -1
- package/dist/esm/libs/render/cache/index.js +4 -1
- package/dist/esm/libs/render/cache/page-caches/index.js +5 -2
- package/dist/esm/libs/render/cache/page-caches/lru.js +4 -1
- package/dist/esm/libs/render/cache/spr.js +11 -7
- package/dist/esm/libs/render/cache/type.js +0 -1
- package/dist/esm/libs/render/cache/util.js +18 -8
- package/dist/esm/libs/render/index.js +12 -9
- package/dist/esm/libs/render/measure.js +15 -11
- package/dist/esm/libs/render/reader.js +15 -8
- package/dist/esm/libs/render/ssr.js +11 -8
- package/dist/esm/libs/render/static.js +5 -2
- package/dist/esm/libs/render/type.js +4 -1
- package/dist/esm/libs/render/utils.js +6 -2
- package/dist/esm/libs/reporter.js +4 -1
- package/dist/esm/libs/route/index.js +5 -2
- package/dist/esm/libs/route/matcher.js +4 -1
- package/dist/esm/libs/route/route.js +4 -1
- package/dist/esm/libs/serveFile.js +6 -2
- package/dist/esm/libs/serverTiming.js +4 -1
- package/dist/esm/renderHtml.js +133 -124
- package/dist/esm/server/index.js +9 -6
- package/dist/esm/server/modernServer.js +13 -10
- package/dist/esm/server/modernServerSplit.js +4 -1
- package/dist/esm/type.js +0 -1
- package/dist/esm/utils.js +23 -12
- package/dist/esm/workerServer.js +21 -17
- package/dist/esm-node/constants.js +14 -6
- package/dist/esm-node/index.js +11 -5
- package/dist/esm-node/libs/context/context.js +4 -1
- package/dist/esm-node/libs/context/index.js +5 -2
- package/dist/esm-node/libs/hook-api/base.js +6 -2
- package/dist/esm-node/libs/hook-api/index.js +10 -4
- package/dist/esm-node/libs/hook-api/index.worker.js +10 -4
- package/dist/esm-node/libs/hook-api/route.js +4 -1
- package/dist/esm-node/libs/hook-api/template.js +6 -2
- package/dist/esm-node/libs/hook-api/templateForStream.js +4 -1
- package/dist/esm-node/libs/loadConfig.js +8 -3
- package/dist/esm-node/libs/metrics.js +3 -1
- package/dist/esm-node/libs/preload/flushServerHeader.js +4 -1
- package/dist/esm-node/libs/preload/parseLinks.js +4 -1
- package/dist/esm-node/libs/preload/shouldFlushServerHeader.js +6 -2
- package/dist/esm-node/libs/preload/transformLinks2String.js +4 -1
- package/dist/esm-node/libs/proxy.js +6 -2
- package/dist/esm-node/libs/render/cache/__tests__/cacheable.js +4 -1
- package/dist/esm-node/libs/render/cache/__tests__/error-configuration.js +4 -1
- package/dist/esm-node/libs/render/cache/__tests__/matched-cache.js +4 -1
- package/dist/esm-node/libs/render/cache/index.js +4 -1
- package/dist/esm-node/libs/render/cache/page-caches/index.js +4 -1
- package/dist/esm-node/libs/render/cache/page-caches/lru.js +4 -1
- package/dist/esm-node/libs/render/cache/spr.js +6 -2
- package/dist/esm-node/libs/render/cache/type.js +0 -1
- package/dist/esm-node/libs/render/cache/util.js +18 -8
- package/dist/esm-node/libs/render/index.js +4 -1
- package/dist/esm-node/libs/render/measure.js +6 -2
- package/dist/esm-node/libs/render/reader.js +12 -5
- package/dist/esm-node/libs/render/ssr.js +4 -1
- package/dist/esm-node/libs/render/static.js +4 -1
- package/dist/esm-node/libs/render/type.js +4 -1
- package/dist/esm-node/libs/render/utils.js +6 -2
- package/dist/esm-node/libs/reporter.js +4 -1
- package/dist/esm-node/libs/route/index.js +5 -2
- package/dist/esm-node/libs/route/matcher.js +4 -1
- package/dist/esm-node/libs/route/route.js +4 -1
- package/dist/esm-node/libs/serveFile.js +6 -2
- package/dist/esm-node/libs/serverTiming.js +4 -1
- package/dist/esm-node/renderHtml.js +72 -63
- package/dist/esm-node/server/index.js +6 -3
- package/dist/esm-node/server/modernServer.js +4 -1
- package/dist/esm-node/server/modernServerSplit.js +4 -1
- package/dist/esm-node/type.js +0 -1
- package/dist/esm-node/utils.js +20 -9
- package/dist/esm-node/workerServer.js +8 -4
- package/dist/types/libs/context/context.d.ts +1 -1
- package/dist/types/utils.d.ts +1 -1
- package/package.json +9 -9
|
@@ -1,25 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 });
|
|
9
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var route_exports = {};
|
|
20
|
+
__export(route_exports, {
|
|
21
|
+
ModernRoute: () => ModernRoute
|
|
10
22
|
});
|
|
11
|
-
|
|
23
|
+
module.exports = __toCommonJS(route_exports);
|
|
24
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
12
25
|
class ModernRoute {
|
|
13
26
|
constructor(routeSpec) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
(0, import_define_property._)(this, "entryName", void 0);
|
|
28
|
+
(0, import_define_property._)(this, "urlPath", void 0);
|
|
29
|
+
(0, import_define_property._)(this, "entryPath", void 0);
|
|
30
|
+
(0, import_define_property._)(this, "bundle", void 0);
|
|
31
|
+
(0, import_define_property._)(this, "isApi", void 0);
|
|
32
|
+
(0, import_define_property._)(this, "isSSR", void 0);
|
|
33
|
+
(0, import_define_property._)(this, "isSPA", void 0);
|
|
34
|
+
(0, import_define_property._)(this, "params", {});
|
|
35
|
+
(0, import_define_property._)(this, "responseHeaders", void 0);
|
|
23
36
|
this.entryName = routeSpec.entryName || "";
|
|
24
37
|
this.urlPath = routeSpec.urlPath;
|
|
25
38
|
this.entryPath = routeSpec.entryPath || "";
|
|
@@ -30,3 +43,7 @@ class ModernRoute {
|
|
|
30
43
|
this.responseHeaders = routeSpec.responseHeaders;
|
|
31
44
|
}
|
|
32
45
|
}
|
|
46
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
47
|
+
0 && (module.exports = {
|
|
48
|
+
ModernRoute
|
|
49
|
+
});
|
|
@@ -1,25 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
6
9
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return faviconFallbackHandler;
|
|
15
|
-
},
|
|
16
|
-
createStaticFileHandler: function() {
|
|
17
|
-
return createStaticFileHandler;
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
17
|
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var serveFile_exports = {};
|
|
30
|
+
__export(serveFile_exports, {
|
|
31
|
+
createStaticFileHandler: () => createStaticFileHandler,
|
|
32
|
+
faviconFallbackHandler: () => faviconFallbackHandler
|
|
19
33
|
});
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
34
|
+
module.exports = __toCommonJS(serveFile_exports);
|
|
35
|
+
var import_serve_static = __toESM(require("serve-static"));
|
|
36
|
+
var import_utils = require("@modern-js/utils");
|
|
23
37
|
const removedPrefix = (req, prefix) => {
|
|
24
38
|
const useLocalPrefix = !prefix.includes(".");
|
|
25
39
|
if (useLocalPrefix) {
|
|
@@ -45,16 +59,16 @@ const createStaticFileHandler = (rules, assetPrefix = "/") => (
|
|
|
45
59
|
async (context, next) => {
|
|
46
60
|
const { url: requestUrl, req, res } = context;
|
|
47
61
|
const hitRule = rules.find((item) => {
|
|
48
|
-
if ((0,
|
|
62
|
+
if ((0, import_utils.isString)(item.path) && requestUrl.startsWith(item.path)) {
|
|
49
63
|
return true;
|
|
50
|
-
} else if ((0,
|
|
64
|
+
} else if ((0, import_utils.isRegExp)(item.path) && item.path.test(requestUrl)) {
|
|
51
65
|
return true;
|
|
52
66
|
}
|
|
53
67
|
return false;
|
|
54
68
|
});
|
|
55
69
|
if (hitRule) {
|
|
56
70
|
const resume = removedPrefix(req, assetPrefix);
|
|
57
|
-
(0,
|
|
71
|
+
(0, import_serve_static.default)(hitRule.target)(req, res, () => {
|
|
58
72
|
resume();
|
|
59
73
|
next();
|
|
60
74
|
});
|
|
@@ -63,3 +77,8 @@ const createStaticFileHandler = (rules, assetPrefix = "/") => (
|
|
|
63
77
|
}
|
|
64
78
|
}
|
|
65
79
|
);
|
|
80
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
81
|
+
0 && (module.exports = {
|
|
82
|
+
createStaticFileHandler,
|
|
83
|
+
faviconFallbackHandler
|
|
84
|
+
});
|
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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 });
|
|
9
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var serverTiming_exports = {};
|
|
20
|
+
__export(serverTiming_exports, {
|
|
21
|
+
ServerTiming: () => ServerTiming
|
|
10
22
|
});
|
|
11
|
-
|
|
23
|
+
module.exports = __toCommonJS(serverTiming_exports);
|
|
24
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
12
25
|
const SERVER_TIMING = "Server-Timing";
|
|
13
26
|
class ServerTiming {
|
|
14
27
|
addServeTiming(name, dur, desc) {
|
|
@@ -19,9 +32,13 @@ class ServerTiming {
|
|
|
19
32
|
return this;
|
|
20
33
|
}
|
|
21
34
|
constructor(res, meta) {
|
|
22
|
-
|
|
23
|
-
|
|
35
|
+
(0, import_define_property._)(this, "meta", void 0);
|
|
36
|
+
(0, import_define_property._)(this, "res", void 0);
|
|
24
37
|
this.meta = meta;
|
|
25
38
|
this.res = res;
|
|
26
39
|
}
|
|
27
40
|
}
|
|
41
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
42
|
+
0 && (module.exports = {
|
|
43
|
+
ServerTiming
|
|
44
|
+
});
|
package/dist/cjs/renderHtml.js
CHANGED
|
@@ -1,28 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const _server = require("./server");
|
|
10
|
-
const _utils = require("./utils");
|
|
11
|
-
class IncomingMessageLike extends _stream.Readable {
|
|
2
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
3
|
+
var import_http = require("http");
|
|
4
|
+
var import_stream = require("stream");
|
|
5
|
+
var import_net = require("net");
|
|
6
|
+
var import_server = require("./server");
|
|
7
|
+
var import_utils = require("./utils");
|
|
8
|
+
class IncomingMessageLike extends import_stream.Readable {
|
|
12
9
|
constructor({ method, url, headers }) {
|
|
13
10
|
super();
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this.socket = new
|
|
11
|
+
(0, import_define_property._)(this, "headers", void 0);
|
|
12
|
+
(0, import_define_property._)(this, "method", void 0);
|
|
13
|
+
(0, import_define_property._)(this, "url", void 0);
|
|
14
|
+
(0, import_define_property._)(this, "socket", void 0);
|
|
15
|
+
this.socket = new import_net.Socket();
|
|
19
16
|
this.headers = headers || {};
|
|
20
17
|
this.headers.host = "localhost:8080";
|
|
21
18
|
this.method = method || "get";
|
|
22
19
|
this.url = url;
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
|
-
class ServerResponseLike extends
|
|
22
|
+
class ServerResponseLike extends import_http.OutgoingMessage {
|
|
26
23
|
end(chunk, _encoding, cb) {
|
|
27
24
|
this.data.push(chunk.toString());
|
|
28
25
|
cb && cb();
|
|
@@ -31,13 +28,13 @@ class ServerResponseLike extends _http.OutgoingMessage {
|
|
|
31
28
|
}
|
|
32
29
|
constructor() {
|
|
33
30
|
super();
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
(0, import_define_property._)(this, "statusCode", void 0);
|
|
32
|
+
(0, import_define_property._)(this, "data", void 0);
|
|
36
33
|
this.statusCode = 200;
|
|
37
34
|
this.data = [];
|
|
38
35
|
}
|
|
39
36
|
}
|
|
40
|
-
class CustomServer extends
|
|
37
|
+
class CustomServer extends import_server.Server {
|
|
41
38
|
async render(req, res, _url) {
|
|
42
39
|
const handler = this.getRequestHandler();
|
|
43
40
|
handler(req, res);
|
|
@@ -64,7 +61,7 @@ async function renderHtml({ url, method, headers, body, serverOptions }) {
|
|
|
64
61
|
res.addListener("finish", () => {
|
|
65
62
|
resolve({
|
|
66
63
|
headers: res.getHeaders(),
|
|
67
|
-
redirected: (0,
|
|
64
|
+
redirected: (0, import_utils.isRedirect)(res.statusCode),
|
|
68
65
|
status: res.statusCode,
|
|
69
66
|
url,
|
|
70
67
|
body: res.data.join()
|
package/dist/cjs/server/index.js
CHANGED
|
@@ -1,22 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
17
|
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var server_exports = {};
|
|
30
|
+
__export(server_exports, {
|
|
31
|
+
Server: () => Server
|
|
10
32
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
33
|
+
module.exports = __toCommonJS(server_exports);
|
|
34
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
35
|
+
var import_path = __toESM(require("path"));
|
|
36
|
+
var import_utils = require("@modern-js/utils");
|
|
37
|
+
var import_server_core = require("@modern-js/server-core");
|
|
38
|
+
var import_metrics = require("../libs/metrics");
|
|
39
|
+
var import_loadConfig = require("../libs/loadConfig");
|
|
40
|
+
var import_utils2 = require("../utils");
|
|
41
|
+
var import_modernServerSplit = require("./modernServerSplit");
|
|
20
42
|
class Server {
|
|
21
43
|
/**
|
|
22
44
|
* 初始化顺序
|
|
@@ -78,9 +100,9 @@ class Server {
|
|
|
78
100
|
}
|
|
79
101
|
initServerConfig(options) {
|
|
80
102
|
const { pwd, serverConfigFile } = options;
|
|
81
|
-
const distDirectory =
|
|
82
|
-
const serverConfigPath = (0,
|
|
83
|
-
const serverConfig = (0,
|
|
103
|
+
const distDirectory = import_path.default.join(pwd, options.config.output.path || "dist");
|
|
104
|
+
const serverConfigPath = (0, import_loadConfig.getServerConfigPath)(distDirectory, serverConfigFile);
|
|
105
|
+
const serverConfig = (0, import_loadConfig.requireConfig)(serverConfigPath);
|
|
84
106
|
this.serverConfig = serverConfig;
|
|
85
107
|
}
|
|
86
108
|
/**
|
|
@@ -91,8 +113,8 @@ class Server {
|
|
|
91
113
|
const { pwd, config } = options;
|
|
92
114
|
const { serverConfig } = this;
|
|
93
115
|
const finalServerConfig = this.runConfigHook(runner, serverConfig);
|
|
94
|
-
const resolvedConfigPath = (0,
|
|
95
|
-
options.config = (0,
|
|
116
|
+
const resolvedConfigPath = (0, import_utils.ensureAbsolutePath)(pwd, import_path.default.join(config.output.path || "dist", import_utils.OUTPUT_CONFIG_FILE));
|
|
117
|
+
options.config = (0, import_loadConfig.loadConfig)({
|
|
96
118
|
cliConfig: config,
|
|
97
119
|
serverConfig: finalServerConfig,
|
|
98
120
|
resolvedConfigPath
|
|
@@ -126,30 +148,30 @@ class Server {
|
|
|
126
148
|
return this.server.render(req, res, url);
|
|
127
149
|
}
|
|
128
150
|
async createHookRunner() {
|
|
129
|
-
|
|
151
|
+
import_server_core.serverManager.clear();
|
|
130
152
|
const { options } = this;
|
|
131
|
-
const { internalPlugins =
|
|
153
|
+
const { internalPlugins = import_utils.INTERNAL_SERVER_PLUGINS, pwd, plugins = [] } = options;
|
|
132
154
|
const serverPlugins = this.serverConfig.plugins || [];
|
|
133
|
-
const loadedPlugins = (0,
|
|
155
|
+
const loadedPlugins = (0, import_server_core.loadPlugins)(pwd, [
|
|
134
156
|
...serverPlugins,
|
|
135
157
|
...plugins
|
|
136
158
|
], {
|
|
137
159
|
internalPlugins
|
|
138
160
|
});
|
|
139
|
-
(0,
|
|
161
|
+
(0, import_utils2.debug)("plugins", loadedPlugins);
|
|
140
162
|
loadedPlugins.forEach((p) => {
|
|
141
|
-
|
|
163
|
+
import_server_core.serverManager.usePlugin(p);
|
|
142
164
|
});
|
|
143
|
-
const hooksRunner = await
|
|
165
|
+
const hooksRunner = await import_server_core.serverManager.init();
|
|
144
166
|
return hooksRunner;
|
|
145
167
|
}
|
|
146
168
|
async injectContext(runner, options) {
|
|
147
169
|
const appContext = this.initAppContext();
|
|
148
170
|
const { config, pwd } = options;
|
|
149
|
-
|
|
150
|
-
|
|
171
|
+
import_server_core.ConfigContext.set(config);
|
|
172
|
+
import_server_core.AppContext.set({
|
|
151
173
|
...appContext,
|
|
152
|
-
distDirectory:
|
|
174
|
+
distDirectory: import_path.default.join(pwd, config.output.path || "dist")
|
|
153
175
|
});
|
|
154
176
|
}
|
|
155
177
|
initAppContext() {
|
|
@@ -162,40 +184,44 @@ class Server {
|
|
|
162
184
|
appDirectory,
|
|
163
185
|
apiDirectory: appContext === null || appContext === void 0 ? void 0 : appContext.apiDirectory,
|
|
164
186
|
lambdaDirectory: appContext === null || appContext === void 0 ? void 0 : appContext.lambdaDirectory,
|
|
165
|
-
sharedDirectory: (appContext === null || appContext === void 0 ? void 0 : appContext.sharedDirectory) ||
|
|
166
|
-
distDirectory:
|
|
187
|
+
sharedDirectory: (appContext === null || appContext === void 0 ? void 0 : appContext.sharedDirectory) || import_path.default.resolve(appDirectory, import_utils.SHARED_DIR),
|
|
188
|
+
distDirectory: import_path.default.join(appDirectory, config.output.path || "dist"),
|
|
167
189
|
plugins: serverPlugins
|
|
168
190
|
};
|
|
169
191
|
}
|
|
170
192
|
async loadServerEnv(options) {
|
|
171
193
|
const { pwd: appDirectory } = options;
|
|
172
194
|
const serverEnv = process.env.MODERN_ENV;
|
|
173
|
-
const defaultEnvPath =
|
|
174
|
-
const serverEnvPath =
|
|
195
|
+
const defaultEnvPath = import_path.default.resolve(appDirectory, `.env`);
|
|
196
|
+
const serverEnvPath = import_path.default.resolve(appDirectory, `.env.${serverEnv}`);
|
|
175
197
|
for (const envPath of [
|
|
176
198
|
serverEnvPath,
|
|
177
199
|
defaultEnvPath
|
|
178
200
|
]) {
|
|
179
|
-
if (await
|
|
180
|
-
const envConfig =
|
|
201
|
+
if (await import_utils.fs.pathExists(envPath) && !(await import_utils.fs.stat(envPath)).isDirectory()) {
|
|
202
|
+
const envConfig = import_utils.dotenv.config({
|
|
181
203
|
path: envPath
|
|
182
204
|
});
|
|
183
|
-
(0,
|
|
205
|
+
(0, import_utils.dotenvExpand)(envConfig);
|
|
184
206
|
}
|
|
185
207
|
}
|
|
186
208
|
}
|
|
187
209
|
constructor(options) {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
options.logger = options.logger ||
|
|
210
|
+
(0, import_define_property._)(this, "options", void 0);
|
|
211
|
+
(0, import_define_property._)(this, "serverImpl", import_modernServerSplit.createProdServer);
|
|
212
|
+
(0, import_define_property._)(this, "server", void 0);
|
|
213
|
+
(0, import_define_property._)(this, "app", void 0);
|
|
214
|
+
(0, import_define_property._)(this, "runner", void 0);
|
|
215
|
+
(0, import_define_property._)(this, "serverConfig", void 0);
|
|
216
|
+
options.logger = options.logger || (0, import_utils.createLogger)({
|
|
195
217
|
level: "warn"
|
|
196
218
|
});
|
|
197
|
-
options.metrics = options.metrics ||
|
|
219
|
+
options.metrics = options.metrics || import_metrics.metrics;
|
|
198
220
|
this.options = options;
|
|
199
221
|
this.serverConfig = {};
|
|
200
222
|
}
|
|
201
223
|
}
|
|
224
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
225
|
+
0 && (module.exports = {
|
|
226
|
+
Server
|
|
227
|
+
});
|