@modern-js/prod-server 2.21.1 → 2.22.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 +19 -0
- package/dist/cjs/constants.js +15 -5
- package/dist/cjs/index.js +12 -4
- package/dist/cjs/libs/context/context.js +3 -1
- package/dist/cjs/libs/context/index.js +6 -2
- package/dist/cjs/libs/hook-api/base.js +88 -0
- package/dist/cjs/libs/hook-api/index.js +17 -79
- package/dist/cjs/libs/hook-api/index.worker.js +109 -0
- package/dist/cjs/libs/hook-api/route.js +3 -1
- package/dist/cjs/libs/hook-api/template.js +6 -26
- package/dist/cjs/libs/hook-api/templateForStream.js +35 -0
- package/dist/cjs/libs/loadConfig.js +9 -3
- package/dist/cjs/libs/logger.js +6 -2
- package/dist/cjs/libs/metrics.js +3 -1
- package/dist/cjs/libs/proxy.js +6 -2
- package/dist/cjs/libs/render/cache/__tests__/cacheable.js +3 -1
- package/dist/cjs/libs/render/cache/__tests__/error-configuration.js +3 -1
- package/dist/cjs/libs/render/cache/__tests__/matched-cache.js +3 -1
- package/dist/cjs/libs/render/cache/index.js +3 -1
- package/dist/cjs/libs/render/cache/page-caches/index.js +3 -1
- package/dist/cjs/libs/render/cache/page-caches/lru.js +3 -1
- package/dist/cjs/libs/render/cache/spr.js +6 -2
- package/dist/cjs/libs/render/cache/util.js +24 -8
- package/dist/cjs/libs/render/index.js +3 -4
- package/dist/cjs/libs/render/measure.js +6 -2
- package/dist/cjs/libs/render/reader.js +32 -19
- package/dist/cjs/libs/render/ssr.js +3 -1
- package/dist/cjs/libs/render/static.js +3 -1
- package/dist/cjs/libs/render/type.js +3 -1
- package/dist/cjs/libs/render/utils.js +8 -3
- package/dist/cjs/libs/route/index.js +6 -2
- package/dist/cjs/libs/route/matcher.js +3 -1
- package/dist/cjs/libs/route/route.js +3 -1
- package/dist/cjs/libs/serveFile.js +6 -2
- package/dist/cjs/renderHtml.js +75 -0
- package/dist/cjs/server/index.js +9 -3
- package/dist/cjs/server/modernServer.js +21 -16
- package/dist/cjs/server/modernServerSplit.js +3 -1
- package/dist/cjs/utils.js +27 -9
- package/dist/cjs/workerServer.js +90 -9
- package/dist/esm/libs/hook-api/base.js +104 -0
- package/dist/esm/libs/hook-api/index.js +5 -109
- package/dist/esm/libs/hook-api/index.worker.js +105 -0
- package/dist/esm/libs/hook-api/template.js +1 -28
- package/dist/esm/libs/hook-api/templateForStream.js +28 -0
- package/dist/esm/libs/render/index.js +1 -4
- package/dist/esm/libs/render/reader.js +26 -26
- package/dist/esm/libs/render/utils.js +2 -1
- package/dist/esm/renderHtml.js +141 -0
- package/dist/esm/server/index.js +11 -1
- package/dist/esm/server/modernServer.js +45 -37
- package/dist/esm/workerServer.js +98 -8
- package/dist/esm-node/libs/hook-api/base.js +68 -0
- package/dist/esm-node/libs/hook-api/index.js +5 -74
- package/dist/esm-node/libs/hook-api/index.worker.js +84 -0
- package/dist/esm-node/libs/hook-api/template.js +1 -25
- package/dist/esm-node/libs/hook-api/templateForStream.js +25 -0
- package/dist/esm-node/libs/render/index.js +1 -4
- package/dist/esm-node/libs/render/reader.js +14 -11
- package/dist/esm-node/libs/render/utils.js +2 -1
- package/dist/esm-node/renderHtml.js +71 -0
- package/dist/esm-node/server/index.js +6 -2
- package/dist/esm-node/server/modernServer.js +18 -15
- package/dist/esm-node/workerServer.js +84 -7
- package/dist/types/libs/context/context.d.ts +1 -1
- package/dist/types/libs/hook-api/base.d.ts +53 -0
- package/dist/types/libs/hook-api/index.worker.d.ts +18 -0
- package/dist/types/libs/hook-api/template.d.ts +11 -14
- package/dist/types/libs/hook-api/templateForStream.d.ts +13 -0
- package/dist/types/libs/render/reader.d.ts +4 -2
- package/dist/types/renderHtml.d.ts +21 -0
- package/dist/types/server/index.d.ts +5 -1
- package/dist/types/server/modernServer.d.ts +4 -3
- package/dist/types/utils.d.ts +1 -1
- package/dist/types/workerServer.d.ts +19 -8
- package/package.json +21 -7
|
@@ -10,14 +10,30 @@ function _export(target, all) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
namespaceHash: ()
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
namespaceHash: function() {
|
|
14
|
+
return namespaceHash;
|
|
15
|
+
},
|
|
16
|
+
fname: function() {
|
|
17
|
+
return fname;
|
|
18
|
+
},
|
|
19
|
+
connectFactor: function() {
|
|
20
|
+
return connectFactor;
|
|
21
|
+
},
|
|
22
|
+
valueFactory: function() {
|
|
23
|
+
return valueFactory;
|
|
24
|
+
},
|
|
25
|
+
getTime: function() {
|
|
26
|
+
return getTime;
|
|
27
|
+
},
|
|
28
|
+
cacheAddition: function() {
|
|
29
|
+
return cacheAddition;
|
|
30
|
+
},
|
|
31
|
+
withCoalescedInvoke: function() {
|
|
32
|
+
return withCoalescedInvoke;
|
|
33
|
+
},
|
|
34
|
+
maybeSync: function() {
|
|
35
|
+
return maybeSync;
|
|
36
|
+
}
|
|
21
37
|
});
|
|
22
38
|
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
23
39
|
const _url = /* @__PURE__ */ _interop_require_default._(require("url"));
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "createRenderHandler", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return createRenderHandler;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
10
12
|
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
|
@@ -26,9 +28,6 @@ const createRenderHandler = ({ distDir, staticGenerate, forceCSR, nonce }) => as
|
|
|
26
28
|
return result;
|
|
27
29
|
}
|
|
28
30
|
const templatePath = entry;
|
|
29
|
-
if (!_utils.fs.existsSync(templatePath)) {
|
|
30
|
-
throw new Error(`Could not find template file: ${templatePath}`);
|
|
31
|
-
}
|
|
32
31
|
const content = await (0, _reader.readFile)(templatePath);
|
|
33
32
|
if (!content) {
|
|
34
33
|
return null;
|
|
@@ -10,8 +10,12 @@ function _export(target, all) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
createMetrics: ()
|
|
14
|
-
|
|
13
|
+
createMetrics: function() {
|
|
14
|
+
return createMetrics;
|
|
15
|
+
},
|
|
16
|
+
createLogger: function() {
|
|
17
|
+
return createLogger;
|
|
18
|
+
}
|
|
15
19
|
});
|
|
16
20
|
const _utils = require("../../utils");
|
|
17
21
|
const createMetrics = (context, metrics) => {
|
|
@@ -10,11 +10,21 @@ function _export(target, all) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
LruReader: ()
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
LruReader: function() {
|
|
14
|
+
return LruReader;
|
|
15
|
+
},
|
|
16
|
+
readFile: function() {
|
|
17
|
+
return readFile;
|
|
18
|
+
},
|
|
19
|
+
updateFile: function() {
|
|
20
|
+
return updateFile;
|
|
21
|
+
},
|
|
22
|
+
init: function() {
|
|
23
|
+
return init;
|
|
24
|
+
},
|
|
25
|
+
close: function() {
|
|
26
|
+
return close;
|
|
27
|
+
}
|
|
18
28
|
});
|
|
19
29
|
const _define_property = require("@swc/helpers/_/_define_property");
|
|
20
30
|
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
@@ -24,49 +34,51 @@ const Byte = 1;
|
|
|
24
34
|
const KB = 1024 * Byte;
|
|
25
35
|
const MB = 1024 * KB;
|
|
26
36
|
const getContentLength = (cache) => cache.content.length;
|
|
27
|
-
const createCacheItem = async (
|
|
28
|
-
const content = await _utils.fs.readFile(filepath);
|
|
37
|
+
const createCacheItem = async (content, mtime) => {
|
|
29
38
|
return {
|
|
30
39
|
content,
|
|
31
40
|
mtime
|
|
32
41
|
};
|
|
33
42
|
};
|
|
34
43
|
class LruReader {
|
|
35
|
-
init() {
|
|
44
|
+
init(fs) {
|
|
45
|
+
this.fs = fs || _utils.fs;
|
|
36
46
|
}
|
|
37
47
|
close() {
|
|
38
48
|
}
|
|
39
49
|
async read(filepath) {
|
|
50
|
+
const { fs } = this;
|
|
40
51
|
if (this.cache.has(filepath)) {
|
|
41
|
-
const { content } = this.cache.get(filepath);
|
|
52
|
+
const { content: content2 } = this.cache.get(filepath);
|
|
42
53
|
return {
|
|
43
|
-
content
|
|
54
|
+
content: content2
|
|
44
55
|
};
|
|
45
56
|
}
|
|
46
|
-
if (!
|
|
57
|
+
if (!fs.existsSync(filepath)) {
|
|
47
58
|
return null;
|
|
48
59
|
}
|
|
49
|
-
const stat =
|
|
60
|
+
const stat = fs.statSync(filepath);
|
|
50
61
|
if (stat.isDirectory()) {
|
|
51
62
|
return null;
|
|
52
63
|
}
|
|
53
64
|
if (stat.size > 20 * MB) {
|
|
54
65
|
return null;
|
|
55
66
|
}
|
|
56
|
-
const
|
|
67
|
+
const content = await fs.promises.readFile(filepath);
|
|
68
|
+
const item = await createCacheItem(content, stat.mtime);
|
|
57
69
|
this.cache.set(filepath, item);
|
|
58
70
|
return item;
|
|
59
71
|
}
|
|
60
72
|
update() {
|
|
61
|
-
const { cache } = this;
|
|
73
|
+
const { cache, fs } = this;
|
|
62
74
|
const files = cache.keys();
|
|
63
75
|
for (const filepath of files) {
|
|
64
|
-
if (!
|
|
76
|
+
if (!fs.existsSync(filepath)) {
|
|
65
77
|
cache.del(filepath);
|
|
66
78
|
}
|
|
67
79
|
try {
|
|
68
80
|
const item = cache.get(filepath);
|
|
69
|
-
const stat =
|
|
81
|
+
const stat = fs.statSync(filepath);
|
|
70
82
|
const { mtime } = stat;
|
|
71
83
|
if (item.mtime < mtime) {
|
|
72
84
|
cache.del(filepath);
|
|
@@ -76,14 +88,15 @@ class LruReader {
|
|
|
76
88
|
}
|
|
77
89
|
}
|
|
78
90
|
}
|
|
79
|
-
// private timer?: NodeJS.Timeout;
|
|
80
91
|
constructor() {
|
|
81
92
|
_define_property._(this, "cache", void 0);
|
|
93
|
+
_define_property._(this, "fs", void 0);
|
|
82
94
|
this.cache = new _lrucache.default({
|
|
83
95
|
max: 256 * MB,
|
|
84
96
|
length: getContentLength,
|
|
85
97
|
maxAge: 5 * 60 * 5e3
|
|
86
98
|
});
|
|
99
|
+
this.fs = _utils.fs;
|
|
87
100
|
}
|
|
88
101
|
}
|
|
89
102
|
const reader = new LruReader();
|
|
@@ -94,8 +107,8 @@ const readFile = async (filepath) => {
|
|
|
94
107
|
const updateFile = () => {
|
|
95
108
|
reader.update();
|
|
96
109
|
};
|
|
97
|
-
const init = () => {
|
|
98
|
-
reader.init();
|
|
110
|
+
const init = (fs) => {
|
|
111
|
+
reader.init(fs);
|
|
99
112
|
};
|
|
100
113
|
const close = () => {
|
|
101
114
|
reader.close();
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "render", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return render;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
10
12
|
const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "handleDirectory", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return handleDirectory;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
10
12
|
const _path = /* @__PURE__ */ _interop_require_default._(require("path"));
|
|
@@ -10,17 +10,22 @@ function _export(target, all) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
injectServerData: ()
|
|
14
|
-
|
|
13
|
+
injectServerData: function() {
|
|
14
|
+
return injectServerData;
|
|
15
|
+
},
|
|
16
|
+
injectServerDataStream: function() {
|
|
17
|
+
return injectServerDataStream;
|
|
18
|
+
}
|
|
15
19
|
});
|
|
16
20
|
const _template = require("../hook-api/template");
|
|
21
|
+
const _templateForStream = require("../hook-api/templateForStream");
|
|
17
22
|
const injectServerData = (content, context) => {
|
|
18
23
|
const template = new _template.TemplateAPI(content);
|
|
19
24
|
template.prependHead(`<script type="application/json" id="__MODERN_SERVER_DATA__">${JSON.stringify(context.serverData)}</script>`);
|
|
20
25
|
return template.get();
|
|
21
26
|
};
|
|
22
27
|
const injectServerDataStream = (content, context) => {
|
|
23
|
-
return content.pipe((0,
|
|
28
|
+
return content.pipe((0, _templateForStream.templateInjectableStream)({
|
|
24
29
|
prependHead: `<script type="application/json" id="__MODERN_SERVER_DATA__">${JSON.stringify(context.serverData)}</script>`
|
|
25
30
|
}));
|
|
26
31
|
};
|
|
@@ -10,8 +10,12 @@ function _export(target, all) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
RouteMatchManager: ()
|
|
14
|
-
|
|
13
|
+
RouteMatchManager: function() {
|
|
14
|
+
return RouteMatchManager;
|
|
15
|
+
},
|
|
16
|
+
RouteMatcher: function() {
|
|
17
|
+
return _matcher.RouteMatcher;
|
|
18
|
+
}
|
|
15
19
|
});
|
|
16
20
|
const _define_property = require("@swc/helpers/_/_define_property");
|
|
17
21
|
const _matcher = require("./matcher");
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "RouteMatcher", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return RouteMatcher;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const _define_property = require("@swc/helpers/_/_define_property");
|
|
10
12
|
const _pathtoregexp = require("path-to-regexp");
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "ModernRoute", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return ModernRoute;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const _define_property = require("@swc/helpers/_/_define_property");
|
|
10
12
|
class ModernRoute {
|
|
@@ -10,8 +10,12 @@ function _export(target, all) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
faviconFallbackHandler: ()
|
|
14
|
-
|
|
13
|
+
faviconFallbackHandler: function() {
|
|
14
|
+
return faviconFallbackHandler;
|
|
15
|
+
},
|
|
16
|
+
createStaticFileHandler: function() {
|
|
17
|
+
return createStaticFileHandler;
|
|
18
|
+
}
|
|
15
19
|
});
|
|
16
20
|
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
17
21
|
const _servestatic = /* @__PURE__ */ _interop_require_default._(require("serve-static"));
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
const _define_property = require("@swc/helpers/_/_define_property");
|
|
6
|
+
const _http = require("http");
|
|
7
|
+
const _stream = require("stream");
|
|
8
|
+
const _net = require("net");
|
|
9
|
+
const _server = require("./server");
|
|
10
|
+
const _utils = require("./utils");
|
|
11
|
+
class IncomingMessageLike extends _stream.Readable {
|
|
12
|
+
constructor({ method, url, headers }) {
|
|
13
|
+
super();
|
|
14
|
+
_define_property._(this, "headers", void 0);
|
|
15
|
+
_define_property._(this, "method", void 0);
|
|
16
|
+
_define_property._(this, "url", void 0);
|
|
17
|
+
_define_property._(this, "socket", void 0);
|
|
18
|
+
this.socket = new _net.Socket();
|
|
19
|
+
this.headers = headers || {};
|
|
20
|
+
this.headers.host = "localhost:8080";
|
|
21
|
+
this.method = method || "get";
|
|
22
|
+
this.url = url;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
class ServerResponseLike extends _http.OutgoingMessage {
|
|
26
|
+
end(chunk, _encoding, cb) {
|
|
27
|
+
this.data.push(chunk.toString());
|
|
28
|
+
cb && cb();
|
|
29
|
+
this.emit("finish");
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
constructor() {
|
|
33
|
+
super();
|
|
34
|
+
_define_property._(this, "statusCode", void 0);
|
|
35
|
+
_define_property._(this, "data", void 0);
|
|
36
|
+
this.statusCode = 200;
|
|
37
|
+
this.data = [];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
class CustomServer extends _server.Server {
|
|
41
|
+
async render(req, res, _url) {
|
|
42
|
+
const handler = this.getRequestHandler();
|
|
43
|
+
handler(req, res);
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async function renderHtml({ url, method, headers, body, serverOptions }) {
|
|
48
|
+
const req = new IncomingMessageLike({
|
|
49
|
+
method,
|
|
50
|
+
url,
|
|
51
|
+
headers
|
|
52
|
+
});
|
|
53
|
+
if (body) {
|
|
54
|
+
req.push(body);
|
|
55
|
+
req.push(null);
|
|
56
|
+
}
|
|
57
|
+
const res = new ServerResponseLike();
|
|
58
|
+
const customServer = new CustomServer(serverOptions);
|
|
59
|
+
await customServer.init({
|
|
60
|
+
disableHttpServer: true
|
|
61
|
+
});
|
|
62
|
+
customServer.render(req, res);
|
|
63
|
+
return new Promise((resolve) => {
|
|
64
|
+
res.addListener("finish", () => {
|
|
65
|
+
resolve({
|
|
66
|
+
headers: res.getHeaders(),
|
|
67
|
+
redirected: (0, _utils.isRedirect)(res.statusCode),
|
|
68
|
+
status: res.statusCode,
|
|
69
|
+
url,
|
|
70
|
+
body: res.data.join()
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
module.exports = renderHtml;
|
package/dist/cjs/server/index.js
CHANGED
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "Server", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return Server;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const _define_property = require("@swc/helpers/_/_define_property");
|
|
10
12
|
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
@@ -30,7 +32,9 @@ class Server {
|
|
|
30
32
|
* - 执行 prepare hook
|
|
31
33
|
* - 执行 server init
|
|
32
34
|
*/
|
|
33
|
-
async init(
|
|
35
|
+
async init({ disableHttpServer = false } = {
|
|
36
|
+
disableHttpServer: false
|
|
37
|
+
}) {
|
|
34
38
|
const { options } = this;
|
|
35
39
|
await this.loadServerEnv(options);
|
|
36
40
|
this.initServerConfig(options);
|
|
@@ -40,7 +44,9 @@ class Server {
|
|
|
40
44
|
await this.injectContext(this.runner, options);
|
|
41
45
|
this.server = this.serverImpl(options);
|
|
42
46
|
await this.runPrepareHook(this.runner);
|
|
43
|
-
|
|
47
|
+
if (!disableHttpServer) {
|
|
48
|
+
this.app = await this.server.createHTTPServer(this.getRequestHandler());
|
|
49
|
+
}
|
|
44
50
|
await this.server.onInit(this.runner, this.app);
|
|
45
51
|
return this;
|
|
46
52
|
}
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "ModernServer", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return ModernServer;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const _define_property = require("@swc/helpers/_/_define_property");
|
|
10
12
|
const _interop_require_default = require("@swc/helpers/_/_interop_require_default");
|
|
@@ -28,6 +30,7 @@ class ModernServer {
|
|
|
28
30
|
var _conf_bff, _this_conf_server, _conf_security, _this_conf_output;
|
|
29
31
|
this.runner = runner;
|
|
30
32
|
const { distDir, staticGenerate, conf } = this;
|
|
33
|
+
this.initReader();
|
|
31
34
|
(0, _utils1.debug)("final server conf", this.conf);
|
|
32
35
|
this.proxyHandler = (0, _proxy.createProxyHandler)((_conf_bff = conf.bff) === null || _conf_bff === void 0 ? void 0 : _conf_bff.proxy);
|
|
33
36
|
if (this.proxyHandler) {
|
|
@@ -35,8 +38,7 @@ class ModernServer {
|
|
|
35
38
|
this.addHandler(handler);
|
|
36
39
|
});
|
|
37
40
|
}
|
|
38
|
-
|
|
39
|
-
app.on("close", () => {
|
|
41
|
+
app === null || app === void 0 ? void 0 : app.on("close", () => {
|
|
40
42
|
this.reader.close();
|
|
41
43
|
});
|
|
42
44
|
const usageRoutes = this.filterRoutes(this.getRoutes());
|
|
@@ -61,18 +63,6 @@ class ModernServer {
|
|
|
61
63
|
// server ready
|
|
62
64
|
onRepack(_) {
|
|
63
65
|
}
|
|
64
|
-
async onServerChange({ filepath }) {
|
|
65
|
-
const { pwd } = this;
|
|
66
|
-
const { api, server } = _constants.AGGRED_DIR;
|
|
67
|
-
const apiPath = _path.default.normalize(_path.default.join(pwd, api));
|
|
68
|
-
const serverPath = _path.default.normalize(_path.default.join(pwd, server));
|
|
69
|
-
const onlyApi = filepath.startsWith(apiPath);
|
|
70
|
-
const onlyWeb = filepath.startsWith(serverPath);
|
|
71
|
-
await this.prepareFrameHandler({
|
|
72
|
-
onlyWeb,
|
|
73
|
-
onlyApi
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
66
|
// exposed requestHandler
|
|
77
67
|
getRequestHandler() {
|
|
78
68
|
return this.requestHandler.bind(this);
|
|
@@ -99,6 +89,21 @@ class ModernServer {
|
|
|
99
89
|
return (0, _http.createServer)(handler);
|
|
100
90
|
}
|
|
101
91
|
/* —————————————————————— function will be overwrite —————————————————————— */
|
|
92
|
+
initReader() {
|
|
93
|
+
this.reader.init();
|
|
94
|
+
}
|
|
95
|
+
async onServerChange({ filepath }) {
|
|
96
|
+
const { pwd } = this;
|
|
97
|
+
const { api, server } = _constants.AGGRED_DIR;
|
|
98
|
+
const apiPath = _path.default.normalize(_path.default.join(pwd, api));
|
|
99
|
+
const serverPath = _path.default.normalize(_path.default.join(pwd, server));
|
|
100
|
+
const onlyApi = filepath.startsWith(apiPath);
|
|
101
|
+
const onlyWeb = filepath.startsWith(serverPath);
|
|
102
|
+
await this.prepareFrameHandler({
|
|
103
|
+
onlyWeb,
|
|
104
|
+
onlyApi
|
|
105
|
+
});
|
|
106
|
+
}
|
|
102
107
|
// get routes info
|
|
103
108
|
getRoutes() {
|
|
104
109
|
if (this.presetRoutes) {
|
|
@@ -462,7 +467,7 @@ class ModernServer {
|
|
|
462
467
|
_define_property._(this, "staticGenerate", void 0);
|
|
463
468
|
require("ignore-styles");
|
|
464
469
|
this.pwd = pwd;
|
|
465
|
-
this.distDir = _path.default.
|
|
470
|
+
this.distDir = _path.default.resolve(pwd, config.output.path || "dist");
|
|
466
471
|
this.workDir = this.distDir;
|
|
467
472
|
this.conf = config;
|
|
468
473
|
(0, _utils1.debug)("server conf", this.conf);
|
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
Object.defineProperty(exports, "createProdServer", {
|
|
6
6
|
enumerable: true,
|
|
7
|
-
get: ()
|
|
7
|
+
get: function() {
|
|
8
|
+
return createProdServer;
|
|
9
|
+
}
|
|
8
10
|
});
|
|
9
11
|
const _modernServer = require("./modernServer");
|
|
10
12
|
class ModernSSRServer extends _modernServer.ModernServer {
|
package/dist/cjs/utils.js
CHANGED
|
@@ -10,15 +10,33 @@ function _export(target, all) {
|
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
12
|
_export(exports, {
|
|
13
|
-
debug: ()
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
debug: function() {
|
|
14
|
+
return debug;
|
|
15
|
+
},
|
|
16
|
+
mergeExtension: function() {
|
|
17
|
+
return mergeExtension;
|
|
18
|
+
},
|
|
19
|
+
noop: function() {
|
|
20
|
+
return noop;
|
|
21
|
+
},
|
|
22
|
+
createErrorDocument: function() {
|
|
23
|
+
return createErrorDocument;
|
|
24
|
+
},
|
|
25
|
+
createMiddlewareCollecter: function() {
|
|
26
|
+
return createMiddlewareCollecter;
|
|
27
|
+
},
|
|
28
|
+
getStaticReg: function() {
|
|
29
|
+
return getStaticReg;
|
|
30
|
+
},
|
|
31
|
+
prepareFavicons: function() {
|
|
32
|
+
return prepareFavicons;
|
|
33
|
+
},
|
|
34
|
+
headersWithoutCookie: function() {
|
|
35
|
+
return headersWithoutCookie;
|
|
36
|
+
},
|
|
37
|
+
isRedirect: function() {
|
|
38
|
+
return isRedirect;
|
|
39
|
+
}
|
|
22
40
|
});
|
|
23
41
|
const _utils = require("@modern-js/utils");
|
|
24
42
|
const debug = (0, _utils.createDebugger)("prod-server");
|