@modern-js/server 2.15.1-alpha.0 → 2.17.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.
Files changed (98) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/cjs/constants.js +12 -28
  3. package/dist/cjs/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +14 -32
  4. package/dist/cjs/dev-tools/dev-middleware/hmr-client/index.js +24 -42
  5. package/dist/cjs/dev-tools/dev-middleware/index.js +45 -50
  6. package/dist/cjs/dev-tools/dev-middleware/socketServer.js +48 -46
  7. package/dist/cjs/dev-tools/https/index.js +21 -38
  8. package/dist/cjs/dev-tools/mock/getMockData.js +33 -33
  9. package/dist/cjs/dev-tools/mock/index.js +67 -47
  10. package/dist/cjs/dev-tools/register/index.js +59 -70
  11. package/dist/cjs/dev-tools/watcher/dependencyTree.js +52 -55
  12. package/dist/cjs/dev-tools/watcher/index.js +52 -53
  13. package/dist/cjs/dev-tools/watcher/statsCache.js +37 -47
  14. package/dist/cjs/index.js +16 -28
  15. package/dist/cjs/server/devServer.js +163 -109
  16. package/dist/cjs/server/index.js +11 -29
  17. package/dist/cjs/types.js +4 -15
  18. package/dist/esm/constants.js +19 -20
  19. package/dist/esm/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +43 -44
  20. package/dist/esm/dev-tools/dev-middleware/hmr-client/index.js +148 -157
  21. package/dist/esm/dev-tools/dev-middleware/index.js +307 -291
  22. package/dist/esm/dev-tools/dev-middleware/socketServer.js +216 -202
  23. package/dist/esm/dev-tools/https/index.js +189 -182
  24. package/dist/esm/dev-tools/mock/getMockData.js +297 -278
  25. package/dist/esm/dev-tools/mock/index.js +198 -192
  26. package/dist/esm/dev-tools/register/index.js +141 -141
  27. package/dist/esm/dev-tools/watcher/dependencyTree.js +153 -138
  28. package/dist/esm/dev-tools/watcher/index.js +187 -175
  29. package/dist/esm/dev-tools/watcher/statsCache.js +118 -116
  30. package/dist/esm/index.js +9 -8
  31. package/dist/esm/server/devServer.js +803 -766
  32. package/dist/esm/server/index.js +80 -76
  33. package/dist/esm/types.js +1 -1
  34. package/dist/esm-node/constants.js +4 -5
  35. package/dist/esm-node/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +2 -11
  36. package/dist/esm-node/dev-tools/dev-middleware/hmr-client/index.js +125 -139
  37. package/dist/esm-node/dev-tools/dev-middleware/index.js +31 -17
  38. package/dist/esm-node/dev-tools/dev-middleware/socketServer.js +33 -12
  39. package/dist/esm-node/dev-tools/https/index.js +13 -15
  40. package/dist/esm-node/dev-tools/mock/getMockData.js +20 -12
  41. package/dist/esm-node/dev-tools/mock/index.js +7 -7
  42. package/dist/esm-node/dev-tools/register/index.js +38 -29
  43. package/dist/esm-node/dev-tools/watcher/dependencyTree.js +32 -21
  44. package/dist/esm-node/dev-tools/watcher/index.js +31 -18
  45. package/dist/esm-node/dev-tools/watcher/statsCache.js +18 -8
  46. package/dist/esm-node/index.js +2 -5
  47. package/dist/esm-node/server/devServer.js +87 -62
  48. package/dist/esm-node/server/index.js +1 -4
  49. package/dist/esm-node/types.js +1 -0
  50. package/package.json +13 -9
  51. package/dist/js/modern/constants.js +0 -19
  52. package/dist/js/modern/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -41
  53. package/dist/js/modern/dev-tools/dev-middleware/hmr-client/index.js +0 -143
  54. package/dist/js/modern/dev-tools/dev-middleware/index.js +0 -94
  55. package/dist/js/modern/dev-tools/dev-middleware/socket-server.js +0 -132
  56. package/dist/js/modern/dev-tools/https/index.js +0 -49
  57. package/dist/js/modern/dev-tools/mock/getMockData.js +0 -114
  58. package/dist/js/modern/dev-tools/mock/index.js +0 -54
  59. package/dist/js/modern/dev-tools/register/index.js +0 -111
  60. package/dist/js/modern/dev-tools/watcher/dependency-tree.js +0 -59
  61. package/dist/js/modern/dev-tools/watcher/index.js +0 -106
  62. package/dist/js/modern/dev-tools/watcher/stats-cache.js +0 -58
  63. package/dist/js/modern/index.js +0 -12
  64. package/dist/js/modern/server/dev-server.js +0 -293
  65. package/dist/js/modern/server/index.js +0 -16
  66. package/dist/js/modern/types.js +0 -0
  67. package/dist/js/node/constants.js +0 -42
  68. package/dist/js/node/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -65
  69. package/dist/js/node/dev-tools/dev-middleware/hmr-client/index.js +0 -152
  70. package/dist/js/node/dev-tools/dev-middleware/index.js +0 -119
  71. package/dist/js/node/dev-tools/dev-middleware/socket-server.js +0 -159
  72. package/dist/js/node/dev-tools/https/index.js +0 -72
  73. package/dist/js/node/dev-tools/mock/getMockData.js +0 -135
  74. package/dist/js/node/dev-tools/mock/index.js +0 -83
  75. package/dist/js/node/dev-tools/register/index.js +0 -138
  76. package/dist/js/node/dev-tools/watcher/dependency-tree.js +0 -89
  77. package/dist/js/node/dev-tools/watcher/index.js +0 -135
  78. package/dist/js/node/dev-tools/watcher/stats-cache.js +0 -87
  79. package/dist/js/node/index.js +0 -35
  80. package/dist/js/node/server/dev-server.js +0 -310
  81. package/dist/js/node/server/index.js +0 -39
  82. package/dist/js/node/types.js +0 -15
  83. package/dist/js/treeshaking/constants.js +0 -21
  84. package/dist/js/treeshaking/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +0 -51
  85. package/dist/js/treeshaking/dev-tools/dev-middleware/hmr-client/index.js +0 -157
  86. package/dist/js/treeshaking/dev-tools/dev-middleware/index.js +0 -322
  87. package/dist/js/treeshaking/dev-tools/dev-middleware/socket-server.js +0 -209
  88. package/dist/js/treeshaking/dev-tools/https/index.js +0 -193
  89. package/dist/js/treeshaking/dev-tools/mock/getMockData.js +0 -327
  90. package/dist/js/treeshaking/dev-tools/mock/index.js +0 -191
  91. package/dist/js/treeshaking/dev-tools/register/index.js +0 -153
  92. package/dist/js/treeshaking/dev-tools/watcher/dependency-tree.js +0 -150
  93. package/dist/js/treeshaking/dev-tools/watcher/index.js +0 -200
  94. package/dist/js/treeshaking/dev-tools/watcher/stats-cache.js +0 -128
  95. package/dist/js/treeshaking/index.js +0 -9
  96. package/dist/js/treeshaking/server/dev-server.js +0 -799
  97. package/dist/js/treeshaking/server/index.js +0 -92
  98. package/dist/js/treeshaking/types.js +0 -1
@@ -1,193 +0,0 @@
1
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
- try {
3
- var info = gen[key](arg);
4
- var value = info.value;
5
- } catch (error) {
6
- reject(error);
7
- return;
8
- }
9
- if (info.done) {
10
- resolve(value);
11
- } else {
12
- Promise.resolve(value).then(_next, _throw);
13
- }
14
- }
15
- function _asyncToGenerator(fn) {
16
- return function() {
17
- var self = this, args = arguments;
18
- return new Promise(function(resolve, reject) {
19
- var gen = fn.apply(self, args);
20
- function _next(value) {
21
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
- }
23
- function _throw(err) {
24
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
- }
26
- _next(undefined);
27
- });
28
- };
29
- }
30
- var __generator = this && this.__generator || function(thisArg, body) {
31
- var f, y, t, g, _ = {
32
- label: 0,
33
- sent: function() {
34
- if (t[0] & 1) throw t[1];
35
- return t[1];
36
- },
37
- trys: [],
38
- ops: []
39
- };
40
- return(g = {
41
- next: verb(0),
42
- "throw": verb(1),
43
- "return": verb(2)
44
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
45
- return this;
46
- }), g);
47
- function verb(n) {
48
- return function(v) {
49
- return step([
50
- n,
51
- v
52
- ]);
53
- };
54
- }
55
- function step(op) {
56
- if (f) throw new TypeError("Generator is already executing.");
57
- while(_)try {
58
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
59
- if (y = 0, t) op = [
60
- op[0] & 2,
61
- t.value
62
- ];
63
- switch(op[0]){
64
- case 0:
65
- case 1:
66
- t = op;
67
- break;
68
- case 4:
69
- _.label++;
70
- return {
71
- value: op[1],
72
- done: false
73
- };
74
- case 5:
75
- _.label++;
76
- y = op[1];
77
- op = [
78
- 0
79
- ];
80
- continue;
81
- case 7:
82
- op = _.ops.pop();
83
- _.trys.pop();
84
- continue;
85
- default:
86
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
87
- _ = 0;
88
- continue;
89
- }
90
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
91
- _.label = op[1];
92
- break;
93
- }
94
- if (op[0] === 6 && _.label < t[1]) {
95
- _.label = t[1];
96
- t = op;
97
- break;
98
- }
99
- if (t && _.label < t[2]) {
100
- _.label = t[2];
101
- _.ops.push(op);
102
- break;
103
- }
104
- if (t[2]) _.ops.pop();
105
- _.trys.pop();
106
- continue;
107
- }
108
- op = body.call(thisArg, _);
109
- } catch (e) {
110
- op = [
111
- 6,
112
- e
113
- ];
114
- y = 0;
115
- } finally{
116
- f = t = 0;
117
- }
118
- if (op[0] & 5) throw op[1];
119
- return {
120
- value: op[0] ? op[1] : void 0,
121
- done: true
122
- };
123
- }
124
- };
125
- import { chalk, getPackageManager, logger } from "@modern-js/utils";
126
- var genHttpsOptions = function() {
127
- var _ref = _asyncToGenerator(function(userOptions, pwd) {
128
- var httpsOptions, devcertPath, err, packageManager, command, devcert, selfsign;
129
- return __generator(this, function(_state) {
130
- switch(_state.label){
131
- case 0:
132
- httpsOptions = typeof userOptions === "boolean" ? {} : userOptions;
133
- if (!(!httpsOptions.key || !httpsOptions.cert)) return [
134
- 3,
135
- 6
136
- ];
137
- _state.label = 1;
138
- case 1:
139
- _state.trys.push([
140
- 1,
141
- 2,
142
- ,
143
- 4
144
- ]);
145
- devcertPath = require.resolve("devcert", {
146
- paths: [
147
- pwd,
148
- __dirname
149
- ]
150
- });
151
- return [
152
- 3,
153
- 4
154
- ];
155
- case 2:
156
- err = _state.sent();
157
- return [
158
- 4,
159
- getPackageManager(pwd)
160
- ];
161
- case 3:
162
- packageManager = _state.sent();
163
- command = chalk.yellow.bold("".concat(packageManager, " install devcert@1.2.2 -D"));
164
- logger.error('You have enabled "dev.https" option, but the "devcert" package is not installed.');
165
- logger.error("Please run ".concat(command, " to install manually, otherwise the https can not work."));
166
- throw new Error('[https] "devcert" is not found.');
167
- case 4:
168
- devcert = require(devcertPath);
169
- return [
170
- 4,
171
- devcert.certificateFor([
172
- "localhost"
173
- ])
174
- ];
175
- case 5:
176
- selfsign = _state.sent();
177
- return [
178
- 2,
179
- selfsign
180
- ];
181
- case 6:
182
- return [
183
- 2,
184
- httpsOptions
185
- ];
186
- }
187
- });
188
- });
189
- return function genHttpsOptions(userOptions, pwd) {
190
- return _ref.apply(this, arguments);
191
- };
192
- }();
193
- export { genHttpsOptions };
@@ -1,327 +0,0 @@
1
- function _arrayLikeToArray(arr, len) {
2
- if (len == null || len > arr.length) len = arr.length;
3
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
- return arr2;
5
- }
6
- function _arrayWithHoles(arr) {
7
- if (Array.isArray(arr)) return arr;
8
- }
9
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
10
- try {
11
- var info = gen[key](arg);
12
- var value = info.value;
13
- } catch (error) {
14
- reject(error);
15
- return;
16
- }
17
- if (info.done) {
18
- resolve(value);
19
- } else {
20
- Promise.resolve(value).then(_next, _throw);
21
- }
22
- }
23
- function _asyncToGenerator(fn) {
24
- return function() {
25
- var self = this, args = arguments;
26
- return new Promise(function(resolve, reject) {
27
- var gen = fn.apply(self, args);
28
- function _next(value) {
29
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
30
- }
31
- function _throw(err) {
32
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
33
- }
34
- _next(undefined);
35
- });
36
- };
37
- }
38
- function _defineProperty(obj, key, value) {
39
- if (key in obj) {
40
- Object.defineProperty(obj, key, {
41
- value: value,
42
- enumerable: true,
43
- configurable: true,
44
- writable: true
45
- });
46
- } else {
47
- obj[key] = value;
48
- }
49
- return obj;
50
- }
51
- function _iterableToArrayLimit(arr, i) {
52
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
53
- if (_i == null) return;
54
- var _arr = [];
55
- var _n = true;
56
- var _d = false;
57
- var _s, _e;
58
- try {
59
- for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
60
- _arr.push(_s.value);
61
- if (i && _arr.length === i) break;
62
- }
63
- } catch (err) {
64
- _d = true;
65
- _e = err;
66
- } finally{
67
- try {
68
- if (!_n && _i["return"] != null) _i["return"]();
69
- } finally{
70
- if (_d) throw _e;
71
- }
72
- }
73
- return _arr;
74
- }
75
- function _nonIterableRest() {
76
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
77
- }
78
- function _objectSpread(target) {
79
- for(var i = 1; i < arguments.length; i++){
80
- var source = arguments[i] != null ? arguments[i] : {};
81
- var ownKeys = Object.keys(source);
82
- if (typeof Object.getOwnPropertySymbols === "function") {
83
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
84
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
85
- }));
86
- }
87
- ownKeys.forEach(function(key) {
88
- _defineProperty(target, key, source[key]);
89
- });
90
- }
91
- return target;
92
- }
93
- function ownKeys(object, enumerableOnly) {
94
- var keys = Object.keys(object);
95
- if (Object.getOwnPropertySymbols) {
96
- var symbols = Object.getOwnPropertySymbols(object);
97
- if (enumerableOnly) {
98
- symbols = symbols.filter(function(sym) {
99
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
100
- });
101
- }
102
- keys.push.apply(keys, symbols);
103
- }
104
- return keys;
105
- }
106
- function _objectSpreadProps(target, source) {
107
- source = source != null ? source : {};
108
- if (Object.getOwnPropertyDescriptors) {
109
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
110
- } else {
111
- ownKeys(Object(source)).forEach(function(key) {
112
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
113
- });
114
- }
115
- return target;
116
- }
117
- function _slicedToArray(arr, i) {
118
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
119
- }
120
- var _typeof = function(obj) {
121
- "@swc/helpers - typeof";
122
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
123
- };
124
- function _unsupportedIterableToArray(o, minLen) {
125
- if (!o) return;
126
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
127
- var n = Object.prototype.toString.call(o).slice(8, -1);
128
- if (n === "Object" && o.constructor) n = o.constructor.name;
129
- if (n === "Map" || n === "Set") return Array.from(n);
130
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
131
- }
132
- var __generator = this && this.__generator || function(thisArg, body) {
133
- var f, y, t, g, _ = {
134
- label: 0,
135
- sent: function() {
136
- if (t[0] & 1) throw t[1];
137
- return t[1];
138
- },
139
- trys: [],
140
- ops: []
141
- };
142
- return(g = {
143
- next: verb(0),
144
- "throw": verb(1),
145
- "return": verb(2)
146
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
147
- return this;
148
- }), g);
149
- function verb(n) {
150
- return function(v) {
151
- return step([
152
- n,
153
- v
154
- ]);
155
- };
156
- }
157
- function step(op) {
158
- if (f) throw new TypeError("Generator is already executing.");
159
- while(_)try {
160
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
161
- if (y = 0, t) op = [
162
- op[0] & 2,
163
- t.value
164
- ];
165
- switch(op[0]){
166
- case 0:
167
- case 1:
168
- t = op;
169
- break;
170
- case 4:
171
- _.label++;
172
- return {
173
- value: op[1],
174
- done: false
175
- };
176
- case 5:
177
- _.label++;
178
- y = op[1];
179
- op = [
180
- 0
181
- ];
182
- continue;
183
- case 7:
184
- op = _.ops.pop();
185
- _.trys.pop();
186
- continue;
187
- default:
188
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
189
- _ = 0;
190
- continue;
191
- }
192
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
193
- _.label = op[1];
194
- break;
195
- }
196
- if (op[0] === 6 && _.label < t[1]) {
197
- _.label = t[1];
198
- t = op;
199
- break;
200
- }
201
- if (t && _.label < t[2]) {
202
- _.label = t[2];
203
- _.ops.push(op);
204
- break;
205
- }
206
- if (t[2]) _.ops.pop();
207
- _.trys.pop();
208
- continue;
209
- }
210
- op = body.call(thisArg, _);
211
- } catch (e) {
212
- op = [
213
- 6,
214
- e
215
- ];
216
- y = 0;
217
- } finally{
218
- f = t = 0;
219
- }
220
- if (op[0] & 5) throw op[1];
221
- return {
222
- value: op[0] ? op[1] : void 0,
223
- done: true
224
- };
225
- }
226
- };
227
- import { compatRequire } from "@modern-js/utils";
228
- import { match } from "path-to-regexp";
229
- var VALID_METHODS = [
230
- "get",
231
- "post",
232
- "put",
233
- "delete",
234
- "patch"
235
- ];
236
- var BODY_PARSED_METHODS = [
237
- "post",
238
- "put",
239
- "delete",
240
- "patch"
241
- ];
242
- var createFunctionDataHandler = function(method, handler) {
243
- return function() {
244
- var _ref = _asyncToGenerator(function(context, next) {
245
- var req, res;
246
- return __generator(this, function(_state) {
247
- req = context.req, res = context.res;
248
- return [
249
- 2,
250
- handler(req, res, next)
251
- ];
252
- });
253
- });
254
- return function(context, next) {
255
- return _ref.apply(this, arguments);
256
- };
257
- }();
258
- };
259
- var createStaticDataHandler = function(method, handler) {
260
- return function(context) {
261
- var res = context.res;
262
- res.setHeader("Content-Type", "application/json");
263
- res.end(JSON.stringify(handler));
264
- };
265
- };
266
- var allowTypes = [
267
- "object",
268
- "function"
269
- ];
270
- var normalizeConfig = function(mockConfig) {
271
- return Object.keys(mockConfig).reduce(function(acc, key) {
272
- var handler = mockConfig[key];
273
- var type = typeof handler === "undefined" ? "undefined" : _typeof(handler);
274
- if (!allowTypes.includes(type)) {
275
- throw new Error("mock value of ".concat(key, " should be object or function, but got ").concat(type));
276
- }
277
- var meta = parseKey(key);
278
- if (type === "object") {
279
- acc.push(_objectSpreadProps(_objectSpread({}, meta), {
280
- handler: createStaticDataHandler(meta.method, handler)
281
- }));
282
- } else {
283
- acc.push(_objectSpreadProps(_objectSpread({}, meta), {
284
- handler: createFunctionDataHandler(meta.method, handler)
285
- }));
286
- }
287
- return acc;
288
- }, []);
289
- };
290
- var _blank = " ";
291
- var parseKey = function(key) {
292
- var splitted = key.split(_blank).filter(Boolean);
293
- if (splitted.length > 1) {
294
- var _splitted = _slicedToArray(splitted, 2), method = _splitted[0], pathname = _splitted[1];
295
- return {
296
- method: method.toLowerCase(),
297
- path: pathname
298
- };
299
- }
300
- return {
301
- method: "get",
302
- path: key
303
- };
304
- };
305
- var getMockData_default = function(filepath) {
306
- var mockModule = compatRequire(filepath);
307
- if (!mockModule) {
308
- throw new Error("Mock file ".concat(filepath, " parsed failed!"));
309
- }
310
- var data = normalizeConfig(mockModule);
311
- return data;
312
- };
313
- var getMatched = function(context, mockApiList) {
314
- var targetPathname = context.path, targetMethod = context.method;
315
- var matched = mockApiList.find(function(mockApi) {
316
- var method = mockApi.method, pathname = mockApi.path;
317
- if (method.toLowerCase() === targetMethod.toLowerCase()) {
318
- return match(pathname, {
319
- encode: encodeURI,
320
- decode: decodeURIComponent
321
- })(targetPathname);
322
- }
323
- return false;
324
- });
325
- return matched;
326
- };
327
- export { getMockData_default as default, getMatched };
@@ -1,191 +0,0 @@
1
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
- try {
3
- var info = gen[key](arg);
4
- var value = info.value;
5
- } catch (error) {
6
- reject(error);
7
- return;
8
- }
9
- if (info.done) {
10
- resolve(value);
11
- } else {
12
- Promise.resolve(value).then(_next, _throw);
13
- }
14
- }
15
- function _asyncToGenerator(fn) {
16
- return function() {
17
- var self = this, args = arguments;
18
- return new Promise(function(resolve, reject) {
19
- var gen = fn.apply(self, args);
20
- function _next(value) {
21
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
- }
23
- function _throw(err) {
24
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
- }
26
- _next(undefined);
27
- });
28
- };
29
- }
30
- var __generator = this && this.__generator || function(thisArg, body) {
31
- var f, y, t, g, _ = {
32
- label: 0,
33
- sent: function() {
34
- if (t[0] & 1) throw t[1];
35
- return t[1];
36
- },
37
- trys: [],
38
- ops: []
39
- };
40
- return(g = {
41
- next: verb(0),
42
- "throw": verb(1),
43
- "return": verb(2)
44
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
45
- return this;
46
- }), g);
47
- function verb(n) {
48
- return function(v) {
49
- return step([
50
- n,
51
- v
52
- ]);
53
- };
54
- }
55
- function step(op) {
56
- if (f) throw new TypeError("Generator is already executing.");
57
- while(_)try {
58
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
59
- if (y = 0, t) op = [
60
- op[0] & 2,
61
- t.value
62
- ];
63
- switch(op[0]){
64
- case 0:
65
- case 1:
66
- t = op;
67
- break;
68
- case 4:
69
- _.label++;
70
- return {
71
- value: op[1],
72
- done: false
73
- };
74
- case 5:
75
- _.label++;
76
- y = op[1];
77
- op = [
78
- 0
79
- ];
80
- continue;
81
- case 7:
82
- op = _.ops.pop();
83
- _.trys.pop();
84
- continue;
85
- default:
86
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
87
- _ = 0;
88
- continue;
89
- }
90
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
91
- _.label = op[1];
92
- break;
93
- }
94
- if (op[0] === 6 && _.label < t[1]) {
95
- _.label = t[1];
96
- t = op;
97
- break;
98
- }
99
- if (t && _.label < t[2]) {
100
- _.label = t[2];
101
- _.ops.push(op);
102
- break;
103
- }
104
- if (t[2]) _.ops.pop();
105
- _.trys.pop();
106
- continue;
107
- }
108
- op = body.call(thisArg, _);
109
- } catch (e) {
110
- op = [
111
- 6,
112
- e
113
- ];
114
- y = 0;
115
- } finally{
116
- f = t = 0;
117
- }
118
- if (op[0] & 5) throw op[1];
119
- return {
120
- value: op[0] ? op[1] : void 0,
121
- done: true
122
- };
123
- }
124
- };
125
- import path from "path";
126
- import { fs } from "@modern-js/utils";
127
- import { AGGRED_DIR } from "@modern-js/prod-server";
128
- import getMockData, { getMatched } from "./getMockData";
129
- var createMockHandler = function(param) {
130
- var pwd = param.pwd;
131
- var exts = [
132
- ".ts",
133
- ".js"
134
- ];
135
- var filepath = "";
136
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
137
- try {
138
- for(var _iterator = exts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
139
- var ext = _step.value;
140
- var maybeMatch = path.join(pwd, "".concat(AGGRED_DIR.mock, "/index").concat(ext));
141
- if (fs.existsSync(maybeMatch)) {
142
- filepath = maybeMatch;
143
- break;
144
- }
145
- }
146
- } catch (err) {
147
- _didIteratorError = true;
148
- _iteratorError = err;
149
- } finally{
150
- try {
151
- if (!_iteratorNormalCompletion && _iterator.return != null) {
152
- _iterator.return();
153
- }
154
- } finally{
155
- if (_didIteratorError) {
156
- throw _iteratorError;
157
- }
158
- }
159
- }
160
- if (!filepath) {
161
- return null;
162
- }
163
- var apiList = getMockData(filepath);
164
- if (!apiList || apiList.length === 0) {
165
- return null;
166
- }
167
- return function() {
168
- var _ref = _asyncToGenerator(function(context, next) {
169
- var res, matched;
170
- return __generator(this, function(_state) {
171
- res = context.res;
172
- matched = getMatched(context, apiList);
173
- if (!matched) {
174
- return [
175
- 2,
176
- next()
177
- ];
178
- }
179
- res.setHeader("Access-Control-Allow-Origin", "*");
180
- return [
181
- 2,
182
- matched.handler(context, next)
183
- ];
184
- });
185
- });
186
- return function(context, next) {
187
- return _ref.apply(this, arguments);
188
- };
189
- }();
190
- };
191
- export { createMockHandler };