@modern-js/server 2.48.6 → 2.49.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/createDevServer.js +95 -0
- package/dist/cjs/{server/index.js → helpers/devOptions.js} +11 -28
- package/dist/cjs/helpers/fileReader.js +51 -0
- package/dist/cjs/helpers/index.js +107 -0
- package/dist/cjs/{server/workerSSRRender.js → helpers/repack.js} +27 -21
- package/dist/cjs/helpers/utils.js +29 -0
- package/dist/cjs/index.js +3 -13
- package/dist/esm/createDevServer.js +99 -0
- package/dist/esm/helpers/devOptions.js +10 -0
- package/dist/esm/helpers/fileReader.js +45 -0
- package/dist/esm/helpers/index.js +119 -0
- package/dist/esm/helpers/repack.js +31 -0
- package/dist/esm/helpers/utils.js +5 -0
- package/dist/esm/index.js +2 -12
- package/dist/esm-node/createDevServer.js +61 -0
- package/dist/esm-node/helpers/devOptions.js +10 -0
- package/dist/esm-node/helpers/fileReader.js +27 -0
- package/dist/esm-node/helpers/index.js +69 -0
- package/dist/esm-node/helpers/repack.js +27 -0
- package/dist/esm-node/helpers/utils.js +5 -0
- package/dist/esm-node/index.js +2 -11
- package/dist/types/createDevServer.d.ts +6 -0
- package/dist/types/{constants.d.ts → helpers/constants.d.ts} +1 -1
- package/dist/types/helpers/devOptions.d.ts +4 -0
- package/dist/types/helpers/fileReader.d.ts +2 -0
- package/dist/types/helpers/index.d.ts +14 -0
- package/dist/types/helpers/repack.d.ts +3 -0
- package/dist/types/helpers/utils.d.ts +1 -0
- package/dist/types/index.d.ts +2 -6
- package/dist/types/types.d.ts +4 -11
- package/package.json +10 -11
- package/dist/cjs/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -61
- package/dist/cjs/dev-tools/dev-middleware/hmr-client/index.js +0 -159
- package/dist/cjs/dev-tools/dev-middleware/index.js +0 -90
- package/dist/cjs/dev-tools/dev-middleware/socketServer.js +0 -173
- package/dist/cjs/dev-tools/https/index.js +0 -54
- package/dist/cjs/dev-tools/mock/getMockData.js +0 -104
- package/dist/cjs/dev-tools/mock/index.js +0 -85
- package/dist/cjs/dev-tools/register/index.js +0 -144
- package/dist/cjs/server/devServer.js +0 -267
- package/dist/cjs/server/devServerOld.js +0 -346
- package/dist/esm/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -54
- package/dist/esm/dev-tools/dev-middleware/hmr-client/index.js +0 -162
- package/dist/esm/dev-tools/dev-middleware/index.js +0 -82
- package/dist/esm/dev-tools/dev-middleware/socketServer.js +0 -149
- package/dist/esm/dev-tools/https/index.js +0 -74
- package/dist/esm/dev-tools/mock/getMockData.js +0 -102
- package/dist/esm/dev-tools/mock/index.js +0 -88
- package/dist/esm/dev-tools/register/index.js +0 -109
- package/dist/esm/server/devServer.js +0 -449
- package/dist/esm/server/devServerOld.js +0 -519
- package/dist/esm/server/index.js +0 -45
- package/dist/esm/server/workerSSRRender.js +0 -43
- package/dist/esm-node/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -36
- package/dist/esm-node/dev-tools/dev-middleware/hmr-client/index.js +0 -145
- package/dist/esm-node/dev-tools/dev-middleware/index.js +0 -60
- package/dist/esm-node/dev-tools/dev-middleware/socketServer.js +0 -143
- package/dist/esm-node/dev-tools/https/index.js +0 -30
- package/dist/esm-node/dev-tools/mock/getMockData.js +0 -80
- package/dist/esm-node/dev-tools/mock/index.js +0 -51
- package/dist/esm-node/dev-tools/register/index.js +0 -110
- package/dist/esm-node/server/devServer.js +0 -233
- package/dist/esm-node/server/devServerOld.js +0 -312
- package/dist/esm-node/server/index.js +0 -26
- package/dist/esm-node/server/workerSSRRender.js +0 -21
- package/dist/types/dev-tools/dev-middleware/hmr-client/createSocketUrl.d.ts +0 -7
- package/dist/types/dev-tools/dev-middleware/hmr-client/index.d.ts +0 -1
- package/dist/types/dev-tools/dev-middleware/index.d.ts +0 -21
- package/dist/types/dev-tools/dev-middleware/socketServer.d.ts +0 -25
- package/dist/types/dev-tools/https/index.d.ts +0 -7
- package/dist/types/dev-tools/mock/getMockData.d.ts +0 -18
- package/dist/types/dev-tools/mock/index.d.ts +0 -4
- package/dist/types/dev-tools/register/index.d.ts +0 -2
- package/dist/types/server/devServer.d.ts +0 -38
- package/dist/types/server/devServerOld.d.ts +0 -37
- package/dist/types/server/index.d.ts +0 -8
- package/dist/types/server/workerSSRRender.d.ts +0 -10
- /package/dist/cjs/{constants.js → helpers/constants.js} +0 -0
- /package/dist/esm/{constants.js → helpers/constants.js} +0 -0
- /package/dist/esm-node/{constants.js → helpers/constants.js} +0 -0
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
2
|
-
import ws from "ws";
|
|
3
|
-
import { logger } from "@modern-js/utils";
|
|
4
|
-
var SocketServer = /* @__PURE__ */ function() {
|
|
5
|
-
"use strict";
|
|
6
|
-
function SocketServer2(options) {
|
|
7
|
-
_class_call_check(this, SocketServer2);
|
|
8
|
-
this.sockets = [];
|
|
9
|
-
this.timer = null;
|
|
10
|
-
this.options = options;
|
|
11
|
-
}
|
|
12
|
-
var _proto = SocketServer2.prototype;
|
|
13
|
-
_proto.prepare = function prepare(app) {
|
|
14
|
-
var _this = this;
|
|
15
|
-
var _this_options_client;
|
|
16
|
-
this.app = app;
|
|
17
|
-
this.wsServer = new ws.Server({
|
|
18
|
-
noServer: true,
|
|
19
|
-
path: (_this_options_client = this.options.client) === null || _this_options_client === void 0 ? void 0 : _this_options_client.path
|
|
20
|
-
});
|
|
21
|
-
this.app.on("upgrade", function(req, sock, head) {
|
|
22
|
-
if (!_this.wsServer.shouldHandle(req)) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
_this.wsServer.handleUpgrade(req, sock, head, function(connection) {
|
|
26
|
-
_this.wsServer.emit("connection", connection, req);
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
this.wsServer.on("error", function(err) {
|
|
30
|
-
logger.error(err);
|
|
31
|
-
});
|
|
32
|
-
this.timer = setInterval(function() {
|
|
33
|
-
_this.wsServer.clients.forEach(function(socket) {
|
|
34
|
-
var extWs = socket;
|
|
35
|
-
if (!extWs.isAlive) {
|
|
36
|
-
extWs.terminate();
|
|
37
|
-
} else {
|
|
38
|
-
extWs.isAlive = false;
|
|
39
|
-
extWs.ping(function() {
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}, 3e4);
|
|
44
|
-
this.wsServer.on("connection", function(socket) {
|
|
45
|
-
_this.onConnect(socket);
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
_proto.updateStats = function updateStats(stats) {
|
|
49
|
-
this.stats = stats;
|
|
50
|
-
this.sendStats();
|
|
51
|
-
};
|
|
52
|
-
_proto.sockWrite = function sockWrite(type, data) {
|
|
53
|
-
var _this = this;
|
|
54
|
-
this.sockets.forEach(function(socket) {
|
|
55
|
-
_this.send(socket, JSON.stringify({
|
|
56
|
-
type,
|
|
57
|
-
data
|
|
58
|
-
}));
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
_proto.singleWrite = function singleWrite(socket, type, data) {
|
|
62
|
-
this.send(socket, JSON.stringify({
|
|
63
|
-
type,
|
|
64
|
-
data
|
|
65
|
-
}));
|
|
66
|
-
};
|
|
67
|
-
_proto.close = function close() {
|
|
68
|
-
this.sockets.forEach(function(socket) {
|
|
69
|
-
socket.close();
|
|
70
|
-
});
|
|
71
|
-
if (this.timer) {
|
|
72
|
-
clearInterval(this.timer);
|
|
73
|
-
this.timer = null;
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
_proto.onConnect = function onConnect(socket) {
|
|
77
|
-
var _this = this;
|
|
78
|
-
var connection = socket;
|
|
79
|
-
connection.isAlive = true;
|
|
80
|
-
connection.on("pong", function() {
|
|
81
|
-
connection.isAlive = true;
|
|
82
|
-
});
|
|
83
|
-
if (!connection) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
this.sockets.push(connection);
|
|
87
|
-
connection.on("close", function() {
|
|
88
|
-
var idx = _this.sockets.indexOf(connection);
|
|
89
|
-
if (idx >= 0) {
|
|
90
|
-
_this.sockets.splice(idx, 1);
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
if (this.options.hot) {
|
|
94
|
-
this.singleWrite(connection, "hot");
|
|
95
|
-
}
|
|
96
|
-
if (this.options.liveReload) {
|
|
97
|
-
this.singleWrite(connection, "liveReload");
|
|
98
|
-
}
|
|
99
|
-
if (this.stats) {
|
|
100
|
-
this.sendStats(true);
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
_proto.getStats = function getStats() {
|
|
104
|
-
var curStats = this.stats;
|
|
105
|
-
if (!curStats) {
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
var defaultStats = {
|
|
109
|
-
all: false,
|
|
110
|
-
hash: true,
|
|
111
|
-
assets: true,
|
|
112
|
-
warnings: true,
|
|
113
|
-
errors: true,
|
|
114
|
-
errorDetails: false
|
|
115
|
-
};
|
|
116
|
-
return curStats.toJson(defaultStats);
|
|
117
|
-
};
|
|
118
|
-
_proto.sendStats = function sendStats() {
|
|
119
|
-
var force = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;
|
|
120
|
-
var stats = this.getStats();
|
|
121
|
-
if (!stats) {
|
|
122
|
-
return null;
|
|
123
|
-
}
|
|
124
|
-
var shouldEmit = !force && stats && (!stats.errors || stats.errors.length === 0) && stats.assets && stats.assets.every(function(asset) {
|
|
125
|
-
return !asset.emitted;
|
|
126
|
-
});
|
|
127
|
-
if (shouldEmit) {
|
|
128
|
-
return this.sockWrite("still-ok");
|
|
129
|
-
}
|
|
130
|
-
this.sockWrite("hash", stats.hash);
|
|
131
|
-
if (stats.errors && stats.errors.length > 0) {
|
|
132
|
-
return this.sockWrite("errors", stats.errors);
|
|
133
|
-
} else if (stats.warnings && stats.warnings.length > 0) {
|
|
134
|
-
return this.sockWrite("warnings", stats.warnings);
|
|
135
|
-
} else {
|
|
136
|
-
return this.sockWrite("ok");
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
_proto.send = function send(connection, message) {
|
|
140
|
-
if (connection.readyState !== 1) {
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
connection.send(message);
|
|
144
|
-
};
|
|
145
|
-
return SocketServer2;
|
|
146
|
-
}();
|
|
147
|
-
export {
|
|
148
|
-
SocketServer as default
|
|
149
|
-
};
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
-
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
|
-
import { chalk, getPackageManager, logger } from "@modern-js/utils";
|
|
4
|
-
var genHttpsOptions = function() {
|
|
5
|
-
var _ref = _async_to_generator(function(userOptions, pwd) {
|
|
6
|
-
var httpsOptions, devcertPath, err, packageManager, command, devcert, selfsign;
|
|
7
|
-
return _ts_generator(this, function(_state) {
|
|
8
|
-
switch (_state.label) {
|
|
9
|
-
case 0:
|
|
10
|
-
httpsOptions = typeof userOptions === "boolean" ? {} : userOptions;
|
|
11
|
-
if (!(!httpsOptions.key || !httpsOptions.cert))
|
|
12
|
-
return [
|
|
13
|
-
3,
|
|
14
|
-
6
|
|
15
|
-
];
|
|
16
|
-
_state.label = 1;
|
|
17
|
-
case 1:
|
|
18
|
-
_state.trys.push([
|
|
19
|
-
1,
|
|
20
|
-
2,
|
|
21
|
-
,
|
|
22
|
-
4
|
|
23
|
-
]);
|
|
24
|
-
devcertPath = require.resolve("devcert", {
|
|
25
|
-
paths: [
|
|
26
|
-
pwd,
|
|
27
|
-
__dirname
|
|
28
|
-
]
|
|
29
|
-
});
|
|
30
|
-
return [
|
|
31
|
-
3,
|
|
32
|
-
4
|
|
33
|
-
];
|
|
34
|
-
case 2:
|
|
35
|
-
err = _state.sent();
|
|
36
|
-
return [
|
|
37
|
-
4,
|
|
38
|
-
getPackageManager(pwd)
|
|
39
|
-
];
|
|
40
|
-
case 3:
|
|
41
|
-
packageManager = _state.sent();
|
|
42
|
-
command = chalk.yellow.bold("".concat(packageManager, " add devcert@1.2.2 -D"));
|
|
43
|
-
logger.error('You have enabled "dev.https" option, but the "devcert" package is not installed.');
|
|
44
|
-
logger.error("Please run ".concat(command, " to install manually, otherwise the https can not work."));
|
|
45
|
-
throw new Error('[https] "devcert" is not found.');
|
|
46
|
-
case 4:
|
|
47
|
-
devcert = require(devcertPath);
|
|
48
|
-
return [
|
|
49
|
-
4,
|
|
50
|
-
devcert.certificateFor([
|
|
51
|
-
"localhost"
|
|
52
|
-
])
|
|
53
|
-
];
|
|
54
|
-
case 5:
|
|
55
|
-
selfsign = _state.sent();
|
|
56
|
-
return [
|
|
57
|
-
2,
|
|
58
|
-
selfsign
|
|
59
|
-
];
|
|
60
|
-
case 6:
|
|
61
|
-
return [
|
|
62
|
-
2,
|
|
63
|
-
httpsOptions
|
|
64
|
-
];
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
return function genHttpsOptions2(userOptions, pwd) {
|
|
69
|
-
return _ref.apply(this, arguments);
|
|
70
|
-
};
|
|
71
|
-
}();
|
|
72
|
-
export {
|
|
73
|
-
genHttpsOptions
|
|
74
|
-
};
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
-
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
3
|
-
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
4
|
-
import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
|
|
5
|
-
import { _ as _type_of } from "@swc/helpers/_/_type_of";
|
|
6
|
-
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
7
|
-
import { match } from "path-to-regexp";
|
|
8
|
-
var VALID_METHODS = [
|
|
9
|
-
"get",
|
|
10
|
-
"post",
|
|
11
|
-
"put",
|
|
12
|
-
"delete",
|
|
13
|
-
"patch"
|
|
14
|
-
];
|
|
15
|
-
var BODY_PARSED_METHODS = [
|
|
16
|
-
"post",
|
|
17
|
-
"put",
|
|
18
|
-
"delete",
|
|
19
|
-
"patch"
|
|
20
|
-
];
|
|
21
|
-
var createFunctionDataHandler = function(method, handler) {
|
|
22
|
-
return function() {
|
|
23
|
-
var _ref = _async_to_generator(function(context, next) {
|
|
24
|
-
var req, res;
|
|
25
|
-
return _ts_generator(this, function(_state) {
|
|
26
|
-
req = context.req, res = context.res;
|
|
27
|
-
return [
|
|
28
|
-
2,
|
|
29
|
-
handler(req, res, next)
|
|
30
|
-
];
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
return function(context, next) {
|
|
34
|
-
return _ref.apply(this, arguments);
|
|
35
|
-
};
|
|
36
|
-
}();
|
|
37
|
-
};
|
|
38
|
-
var createStaticDataHandler = function(method, handler) {
|
|
39
|
-
return function(context) {
|
|
40
|
-
var res = context.res;
|
|
41
|
-
res.setHeader("Content-Type", "application/json");
|
|
42
|
-
res.end(JSON.stringify(handler));
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
var allowTypes = [
|
|
46
|
-
"object",
|
|
47
|
-
"function"
|
|
48
|
-
];
|
|
49
|
-
function getMockData_default(mockConfig) {
|
|
50
|
-
return Object.keys(mockConfig).reduce(function(acc, key) {
|
|
51
|
-
var handler = mockConfig[key];
|
|
52
|
-
var type = typeof handler === "undefined" ? "undefined" : _type_of(handler);
|
|
53
|
-
if (!allowTypes.includes(type)) {
|
|
54
|
-
throw new Error("mock value of ".concat(key, " should be object or function, but got ").concat(type));
|
|
55
|
-
}
|
|
56
|
-
var meta = parseKey(key);
|
|
57
|
-
if (type === "object") {
|
|
58
|
-
acc.push(_object_spread_props(_object_spread({}, meta), {
|
|
59
|
-
handler: createStaticDataHandler(meta.method, handler)
|
|
60
|
-
}));
|
|
61
|
-
} else {
|
|
62
|
-
acc.push(_object_spread_props(_object_spread({}, meta), {
|
|
63
|
-
handler: createFunctionDataHandler(meta.method, handler)
|
|
64
|
-
}));
|
|
65
|
-
}
|
|
66
|
-
return acc;
|
|
67
|
-
}, []);
|
|
68
|
-
}
|
|
69
|
-
;
|
|
70
|
-
var _blank = " ";
|
|
71
|
-
var parseKey = function(key) {
|
|
72
|
-
var splitted = key.split(_blank).filter(Boolean);
|
|
73
|
-
if (splitted.length > 1) {
|
|
74
|
-
var _splitted = _sliced_to_array(splitted, 2), method = _splitted[0], pathname = _splitted[1];
|
|
75
|
-
return {
|
|
76
|
-
method: method.toLowerCase(),
|
|
77
|
-
path: pathname
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
return {
|
|
81
|
-
method: "get",
|
|
82
|
-
path: key
|
|
83
|
-
};
|
|
84
|
-
};
|
|
85
|
-
var getMatched = function(context, mockApiList) {
|
|
86
|
-
var targetPathname = context.path, targetMethod = context.method;
|
|
87
|
-
var matched = mockApiList.find(function(mockApi) {
|
|
88
|
-
var method = mockApi.method, pathname = mockApi.path;
|
|
89
|
-
if (method.toLowerCase() === targetMethod.toLowerCase()) {
|
|
90
|
-
return match(pathname, {
|
|
91
|
-
encode: encodeURI,
|
|
92
|
-
decode: decodeURIComponent
|
|
93
|
-
})(targetPathname);
|
|
94
|
-
}
|
|
95
|
-
return false;
|
|
96
|
-
});
|
|
97
|
-
return matched;
|
|
98
|
-
};
|
|
99
|
-
export {
|
|
100
|
-
getMockData_default as default,
|
|
101
|
-
getMatched
|
|
102
|
-
};
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
-
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
|
-
import path from "path";
|
|
4
|
-
import { compatRequire, fs } from "@modern-js/utils";
|
|
5
|
-
import { AGGRED_DIR } from "@modern-js/prod-server";
|
|
6
|
-
import getMockData, { getMatched } from "./getMockData";
|
|
7
|
-
var createMockHandler = function(param) {
|
|
8
|
-
var pwd = param.pwd;
|
|
9
|
-
var exts = [
|
|
10
|
-
".ts",
|
|
11
|
-
".js"
|
|
12
|
-
];
|
|
13
|
-
var filepath = "";
|
|
14
|
-
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
15
|
-
try {
|
|
16
|
-
for (var _iterator = exts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
17
|
-
var ext = _step.value;
|
|
18
|
-
var maybeMatch = path.join(pwd, "".concat(AGGRED_DIR.mock, "/index").concat(ext));
|
|
19
|
-
if (fs.existsSync(maybeMatch)) {
|
|
20
|
-
filepath = maybeMatch;
|
|
21
|
-
break;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
} catch (err) {
|
|
25
|
-
_didIteratorError = true;
|
|
26
|
-
_iteratorError = err;
|
|
27
|
-
} finally {
|
|
28
|
-
try {
|
|
29
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
30
|
-
_iterator.return();
|
|
31
|
-
}
|
|
32
|
-
} finally {
|
|
33
|
-
if (_didIteratorError) {
|
|
34
|
-
throw _iteratorError;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (!filepath) {
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
var mod = compatRequire(filepath, false);
|
|
42
|
-
var tmp = mod.default, mockModule = tmp === void 0 ? mod : tmp, config = mod.config;
|
|
43
|
-
if ((config === null || config === void 0 ? void 0 : config.enable) === false) {
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
if (!mockModule) {
|
|
47
|
-
throw new Error("Mock file ".concat(filepath, " parsed failed!"));
|
|
48
|
-
}
|
|
49
|
-
var apiList = getMockData(mockModule);
|
|
50
|
-
if (!apiList || apiList.length === 0) {
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
return function() {
|
|
54
|
-
var _ref = _async_to_generator(function(context, next) {
|
|
55
|
-
var enableMock, res, matched;
|
|
56
|
-
return _ts_generator(this, function(_state) {
|
|
57
|
-
if (typeof (config === null || config === void 0 ? void 0 : config.enable) === "function") {
|
|
58
|
-
enableMock = config.enable(context.req, context.res);
|
|
59
|
-
if (!enableMock) {
|
|
60
|
-
return [
|
|
61
|
-
2,
|
|
62
|
-
next()
|
|
63
|
-
];
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
res = context.res;
|
|
67
|
-
matched = getMatched(context, apiList);
|
|
68
|
-
if (!matched) {
|
|
69
|
-
return [
|
|
70
|
-
2,
|
|
71
|
-
next()
|
|
72
|
-
];
|
|
73
|
-
}
|
|
74
|
-
res.setHeader("Access-Control-Allow-Origin", "*");
|
|
75
|
-
return [
|
|
76
|
-
2,
|
|
77
|
-
matched.handler(context, next)
|
|
78
|
-
];
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
return function(context, next) {
|
|
82
|
-
return _ref.apply(this, arguments);
|
|
83
|
-
};
|
|
84
|
-
}();
|
|
85
|
-
};
|
|
86
|
-
export {
|
|
87
|
-
createMockHandler
|
|
88
|
-
};
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
2
|
-
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
3
|
-
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
4
|
-
import path from "path";
|
|
5
|
-
import { resolveBabelConfig } from "@modern-js/server-utils";
|
|
6
|
-
import { fs, getAliasConfig, createDebugger, readTsConfigByFile } from "@modern-js/utils";
|
|
7
|
-
var debug = createDebugger("server");
|
|
8
|
-
var checkDep = function(depName, paths) {
|
|
9
|
-
var packagePath = "";
|
|
10
|
-
try {
|
|
11
|
-
packagePath = require.resolve(depName, {
|
|
12
|
-
paths
|
|
13
|
-
});
|
|
14
|
-
} catch (error) {
|
|
15
|
-
}
|
|
16
|
-
return Boolean(packagePath);
|
|
17
|
-
};
|
|
18
|
-
var enableRegister = function(projectRoot, config) {
|
|
19
|
-
var registerDirs = [
|
|
20
|
-
"./api",
|
|
21
|
-
"./server",
|
|
22
|
-
"./config/mock",
|
|
23
|
-
"./shared"
|
|
24
|
-
];
|
|
25
|
-
var TS_CONFIG_FILENAME = "tsconfig.json";
|
|
26
|
-
var tsconfigPath = path.resolve(projectRoot, TS_CONFIG_FILENAME);
|
|
27
|
-
var isTsProject = fs.existsSync(tsconfigPath);
|
|
28
|
-
var existTsNode = checkDep("ts-node", [
|
|
29
|
-
projectRoot
|
|
30
|
-
]);
|
|
31
|
-
var existTsConfigPaths = checkDep("tsconfig-paths", [
|
|
32
|
-
projectRoot
|
|
33
|
-
]);
|
|
34
|
-
if (isTsProject && existTsNode && existTsConfigPaths) {
|
|
35
|
-
var _config_output_distPath;
|
|
36
|
-
debug("use ts-node");
|
|
37
|
-
var distPath = ((_config_output_distPath = config.output.distPath) === null || _config_output_distPath === void 0 ? void 0 : _config_output_distPath.root) || "dist";
|
|
38
|
-
var tsNode = require("ts-node");
|
|
39
|
-
var tsConfigPaths = require("tsconfig-paths");
|
|
40
|
-
var alias = config.source.alias;
|
|
41
|
-
var aliasConfig = getAliasConfig(alias, {
|
|
42
|
-
appDirectory: projectRoot,
|
|
43
|
-
tsconfigPath
|
|
44
|
-
});
|
|
45
|
-
var _aliasConfig_paths = aliasConfig.paths, paths = _aliasConfig_paths === void 0 ? {} : _aliasConfig_paths, _aliasConfig_absoluteBaseUrl = aliasConfig.absoluteBaseUrl, absoluteBaseUrl = _aliasConfig_absoluteBaseUrl === void 0 ? "./" : _aliasConfig_absoluteBaseUrl;
|
|
46
|
-
var tsPaths = Object.keys(paths).reduce(function(o, key) {
|
|
47
|
-
var tsPath = paths[key];
|
|
48
|
-
if (typeof tsPath === "string" && path.isAbsolute(tsPath)) {
|
|
49
|
-
tsPath = path.relative(absoluteBaseUrl, tsPath);
|
|
50
|
-
}
|
|
51
|
-
if (typeof tsPath === "string") {
|
|
52
|
-
tsPath = [
|
|
53
|
-
tsPath
|
|
54
|
-
];
|
|
55
|
-
}
|
|
56
|
-
return _object_spread_props(_object_spread({}, o), _define_property({}, "".concat(key), tsPath));
|
|
57
|
-
}, {});
|
|
58
|
-
tsConfigPaths.register({
|
|
59
|
-
baseUrl: absoluteBaseUrl || "./",
|
|
60
|
-
paths: tsPaths
|
|
61
|
-
});
|
|
62
|
-
var tsConfig = readTsConfigByFile(tsconfigPath);
|
|
63
|
-
var tsNodeOptions = tsConfig["ts-node"];
|
|
64
|
-
tsNode.register(_object_spread({
|
|
65
|
-
project: tsconfigPath,
|
|
66
|
-
scope: true,
|
|
67
|
-
// for env.d.ts, https://www.npmjs.com/package/ts-node#missing-types
|
|
68
|
-
files: true,
|
|
69
|
-
transpileOnly: true,
|
|
70
|
-
ignore: [
|
|
71
|
-
"(?:^|/)node_modules/",
|
|
72
|
-
"(?:^|/)".concat(distPath, "/")
|
|
73
|
-
]
|
|
74
|
-
}, tsNodeOptions));
|
|
75
|
-
} else {
|
|
76
|
-
var _config_tools, _config_server;
|
|
77
|
-
debug("use @babel/register");
|
|
78
|
-
var babelConfig = resolveBabelConfig(projectRoot, _object_spread_props(_object_spread({}, config.source), {
|
|
79
|
-
babelConfig: (_config_tools = config.tools) === null || _config_tools === void 0 ? void 0 : _config_tools.babel,
|
|
80
|
-
server: {
|
|
81
|
-
compiler: (_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.compiler
|
|
82
|
-
}
|
|
83
|
-
}), {
|
|
84
|
-
tsconfigPath
|
|
85
|
-
});
|
|
86
|
-
return require("@babel/register")(_object_spread_props(_object_spread({}, babelConfig), {
|
|
87
|
-
only: [
|
|
88
|
-
function(filePath) {
|
|
89
|
-
if (filePath.includes("node_modules".concat(path.sep, ".modern-js"))) {
|
|
90
|
-
return true;
|
|
91
|
-
}
|
|
92
|
-
return registerDirs.some(function(registerDir) {
|
|
93
|
-
return filePath.startsWith(path.join(projectRoot, registerDir));
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
],
|
|
97
|
-
extensions: [
|
|
98
|
-
".js",
|
|
99
|
-
".ts"
|
|
100
|
-
],
|
|
101
|
-
babelrc: false,
|
|
102
|
-
configFile: false,
|
|
103
|
-
root: projectRoot
|
|
104
|
-
}));
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
export {
|
|
108
|
-
enableRegister
|
|
109
|
-
};
|