@modern-js/server 1.1.3-beta.1 → 1.1.5-beta.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 +42 -0
- package/dist/js/modern/dev-tools/babel/register.js +2 -2
- package/dist/js/modern/dev-tools/mock/getMockData.js +2 -2
- package/dist/js/modern/libs/context/context.js +15 -7
- package/dist/js/modern/libs/context/index.js +2 -2
- package/dist/js/modern/libs/{measure.js → metrics.js} +2 -2
- package/dist/js/modern/libs/proxy.js +2 -2
- package/dist/js/modern/libs/render/cache/__tests__/cache.test.js +2 -2
- package/dist/js/modern/libs/render/cache/index.js +2 -2
- package/dist/js/modern/libs/render/cache/type.js +0 -1
- package/dist/js/modern/libs/render/index.js +6 -2
- package/dist/js/modern/libs/render/ssr.js +3 -2
- package/dist/js/modern/libs/route/route.js +1 -1
- package/dist/js/modern/server/dev-server/dev-server-split.js +2 -6
- package/dist/js/modern/server/dev-server/dev-server.js +12 -3
- package/dist/js/modern/server/dev-server/index.js +1 -1
- package/dist/js/modern/server/index.js +19 -16
- package/dist/js/modern/server/modern-server-split.js +55 -6
- package/dist/js/modern/server/modern-server.js +92 -58
- package/dist/js/modern/type.js +0 -1
- package/dist/js/modern/utils.js +9 -1
- package/dist/js/node/dev-tools/babel/register.js +2 -2
- package/dist/js/node/dev-tools/mock/getMockData.js +2 -2
- package/dist/js/node/libs/context/context.js +15 -7
- package/dist/js/node/libs/context/index.js +2 -2
- package/dist/js/node/libs/{measure.js → metrics.js} +3 -3
- package/dist/js/node/libs/proxy.js +2 -2
- package/dist/js/node/libs/render/cache/__tests__/cache.test.js +2 -2
- package/dist/js/node/libs/render/cache/index.js +2 -2
- package/dist/js/node/libs/render/index.js +6 -2
- package/dist/js/node/libs/render/ssr.js +3 -2
- package/dist/js/node/libs/route/route.js +1 -1
- package/dist/js/node/server/dev-server/dev-server-split.js +5 -9
- package/dist/js/node/server/dev-server/dev-server.js +12 -3
- package/dist/js/node/server/dev-server/index.js +4 -4
- package/dist/js/node/server/index.js +18 -14
- package/dist/js/node/server/modern-server-split.js +61 -9
- package/dist/js/node/server/modern-server.js +93 -59
- package/dist/js/node/utils.js +12 -2
- package/dist/types/libs/context/context.d.ts +5 -5
- package/dist/types/libs/context/index.d.ts +3 -3
- package/dist/types/libs/metrics.d.ts +3 -0
- package/dist/types/libs/render/index.d.ts +10 -1
- package/dist/types/libs/render/ssr.d.ts +2 -1
- package/dist/types/libs/render/type.d.ts +2 -21
- package/dist/types/libs/route/route.d.ts +2 -10
- package/dist/types/server/dev-server/dev-server-split.d.ts +3 -4
- package/dist/types/server/dev-server/index.d.ts +1 -1
- package/dist/types/server/modern-server-split.d.ts +15 -5
- package/dist/types/server/modern-server.d.ts +14 -7
- package/dist/types/type.d.ts +11 -5
- package/dist/types/utils.d.ts +2 -1
- package/package.json +7 -7
- package/src/libs/context/context.ts +12 -8
- package/src/libs/context/index.ts +3 -3
- package/src/libs/{measure.ts → metrics.ts} +3 -3
- package/src/libs/render/index.ts +21 -11
- package/src/libs/render/ssr.ts +5 -1
- package/src/libs/render/type.ts +3 -16
- package/src/libs/route/route.ts +4 -20
- package/src/server/dev-server/dev-server-split.ts +3 -7
- package/src/server/dev-server/dev-server.ts +15 -13
- package/src/server/dev-server/index.ts +1 -1
- package/src/server/index.ts +24 -14
- package/src/server/modern-server-split.ts +59 -7
- package/src/server/modern-server.ts +105 -67
- package/src/type.ts +12 -5
- package/src/utils.ts +14 -0
- package/dist/types/libs/measure.d.ts +0 -3
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const _excluded = ["getMiddlewares"];
|
|
2
2
|
|
|
3
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
4
|
|
|
5
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
5
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
6
|
|
|
7
7
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
8
8
|
|
|
@@ -41,7 +41,8 @@ export class ModernServer {
|
|
|
41
41
|
routes,
|
|
42
42
|
staticGenerate,
|
|
43
43
|
logger,
|
|
44
|
-
|
|
44
|
+
metrics,
|
|
45
|
+
proxyTarget
|
|
45
46
|
}) {
|
|
46
47
|
this.pwd = void 0;
|
|
47
48
|
this.distDir = void 0;
|
|
@@ -52,7 +53,8 @@ export class ModernServer {
|
|
|
52
53
|
this.presetRoutes = void 0;
|
|
53
54
|
this.runner = void 0;
|
|
54
55
|
this.logger = void 0;
|
|
55
|
-
this.
|
|
56
|
+
this.metrics = void 0;
|
|
57
|
+
this.proxyTarget = void 0;
|
|
56
58
|
this.isDev = false;
|
|
57
59
|
this.staticFileHandler = void 0;
|
|
58
60
|
this.routeRenderHandler = void 0;
|
|
@@ -66,13 +68,14 @@ export class ModernServer {
|
|
|
66
68
|
|
|
67
69
|
this.isDev = Boolean(dev);
|
|
68
70
|
this.pwd = pwd;
|
|
69
|
-
this.distDir = path.join(pwd, config.output.path || '');
|
|
71
|
+
this.distDir = path.join(pwd, config.output.path || 'dist');
|
|
70
72
|
this.workDir = this.isDev ? pwd : this.distDir;
|
|
71
73
|
this.conf = config;
|
|
72
74
|
this.logger = logger;
|
|
73
|
-
this.
|
|
75
|
+
this.metrics = metrics;
|
|
74
76
|
this.router = new RouteMatchManager();
|
|
75
77
|
this.presetRoutes = routes;
|
|
78
|
+
this.proxyTarget = proxyTarget;
|
|
76
79
|
|
|
77
80
|
if (staticGenerate) {
|
|
78
81
|
this.staticGenerate = staticGenerate;
|
|
@@ -159,19 +162,6 @@ export class ModernServer {
|
|
|
159
162
|
|
|
160
163
|
async createHTTPServer(handler) {
|
|
161
164
|
return createServer(handler);
|
|
162
|
-
} // warmup ssr function
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
warmupSSRBundle() {
|
|
166
|
-
const {
|
|
167
|
-
distDir
|
|
168
|
-
} = this;
|
|
169
|
-
const bundles = this.router.getBundles();
|
|
170
|
-
bundles.forEach(bundle => {
|
|
171
|
-
const filepath = path.join(distDir, bundle); // if error, just throw and let process die
|
|
172
|
-
|
|
173
|
-
require(filepath);
|
|
174
|
-
});
|
|
175
165
|
} // read route spec from route.json
|
|
176
166
|
|
|
177
167
|
|
|
@@ -231,10 +221,13 @@ export class ModernServer {
|
|
|
231
221
|
const mode = fs.existsSync(path.join(apiDir, AGGRED_DIR.lambda)) ? ApiServerMode.frame : ApiServerMode.func; // if use lambda/, mean framework style of writing, then discard user extension
|
|
232
222
|
|
|
233
223
|
const apiExtension = mergeExtension(pluginAPIExt);
|
|
234
|
-
this.frameAPIHandler = await this.prepareAPIHandler(mode,
|
|
235
|
-
modernJsConfig: this.conf
|
|
236
|
-
}));
|
|
224
|
+
this.frameAPIHandler = await this.prepareAPIHandler(mode, apiExtension);
|
|
237
225
|
}
|
|
226
|
+
} // Todo
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
async proxy() {
|
|
230
|
+
return null;
|
|
238
231
|
}
|
|
239
232
|
/* —————————————————————— function will be overwrite —————————————————————— */
|
|
240
233
|
|
|
@@ -276,34 +269,58 @@ export class ModernServer {
|
|
|
276
269
|
return routes;
|
|
277
270
|
}
|
|
278
271
|
|
|
272
|
+
async emitRouteHook(eventName, input) {
|
|
273
|
+
return this.runner[eventName](input, {
|
|
274
|
+
onLast: noop
|
|
275
|
+
});
|
|
276
|
+
} // warmup ssr function
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
warmupSSRBundle() {
|
|
280
|
+
const {
|
|
281
|
+
distDir
|
|
282
|
+
} = this;
|
|
283
|
+
const bundles = this.router.getBundles();
|
|
284
|
+
bundles.forEach(bundle => {
|
|
285
|
+
const filepath = path.join(distDir, bundle); // if error, just throw and let process die
|
|
286
|
+
|
|
287
|
+
require(filepath);
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
|
|
279
291
|
async preServerInit() {
|
|
280
292
|
const {
|
|
281
|
-
conf
|
|
293
|
+
conf,
|
|
294
|
+
runner
|
|
282
295
|
} = this;
|
|
283
|
-
const preMiddleware = await
|
|
296
|
+
const preMiddleware = await runner.preServerInit(conf);
|
|
284
297
|
preMiddleware.flat().forEach(mid => {
|
|
285
298
|
this.addHandler(mid);
|
|
286
299
|
});
|
|
287
300
|
}
|
|
288
301
|
|
|
289
|
-
|
|
290
|
-
const
|
|
302
|
+
async handleAPI(context) {
|
|
303
|
+
const {
|
|
304
|
+
req,
|
|
305
|
+
res
|
|
306
|
+
} = context;
|
|
291
307
|
|
|
292
|
-
if (
|
|
293
|
-
|
|
308
|
+
if (!this.frameAPIHandler) {
|
|
309
|
+
throw new Error('can not found api hanlder');
|
|
294
310
|
}
|
|
295
311
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
const curFavicon = faviconByEntries[f];
|
|
312
|
+
await this.frameAPIHandler(req, res);
|
|
313
|
+
}
|
|
299
314
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
315
|
+
async handleWeb(context, route) {
|
|
316
|
+
return this.routeRenderHandler({
|
|
317
|
+
ctx: context,
|
|
318
|
+
route,
|
|
319
|
+
runner: this.runner
|
|
320
|
+
});
|
|
321
|
+
}
|
|
305
322
|
|
|
306
|
-
|
|
323
|
+
verifyMatch(_c, _m) {// empty
|
|
307
324
|
}
|
|
308
325
|
/* —————————————————————— private function —————————————————————— */
|
|
309
326
|
// handler route.json, include api / csr / ssr
|
|
@@ -315,10 +332,8 @@ export class ModernServer {
|
|
|
315
332
|
req,
|
|
316
333
|
res
|
|
317
334
|
} = context;
|
|
318
|
-
await this.
|
|
335
|
+
await this.emitRouteHook('beforeMatch', {
|
|
319
336
|
context
|
|
320
|
-
}, {
|
|
321
|
-
onLast: noop
|
|
322
337
|
}); // match routes in the route spec
|
|
323
338
|
|
|
324
339
|
const matched = this.router.match(context.url);
|
|
@@ -326,14 +341,18 @@ export class ModernServer {
|
|
|
326
341
|
if (!matched) {
|
|
327
342
|
this.render404(context);
|
|
328
343
|
return;
|
|
344
|
+
} else {
|
|
345
|
+
this.verifyMatch(context, matched);
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
if (res.headersSent) {
|
|
349
|
+
return;
|
|
329
350
|
}
|
|
330
351
|
|
|
331
352
|
const routeAPI = createRouteAPI(matched, this.router);
|
|
332
|
-
await this.
|
|
353
|
+
await this.emitRouteHook('afterMatch', {
|
|
333
354
|
context,
|
|
334
355
|
routeAPI
|
|
335
|
-
}, {
|
|
336
|
-
onLast: noop
|
|
337
356
|
});
|
|
338
357
|
|
|
339
358
|
if (res.headersSent) {
|
|
@@ -348,11 +367,7 @@ export class ModernServer {
|
|
|
348
367
|
context.setParams(params); // route is api service
|
|
349
368
|
|
|
350
369
|
if (route.isApi) {
|
|
351
|
-
|
|
352
|
-
throw new Error('can not found api hanlder');
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
await this.frameAPIHandler(req, res);
|
|
370
|
+
this.handleAPI(context);
|
|
356
371
|
return;
|
|
357
372
|
}
|
|
358
373
|
|
|
@@ -365,12 +380,13 @@ export class ModernServer {
|
|
|
365
380
|
return;
|
|
366
381
|
}
|
|
367
382
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
}
|
|
373
|
-
|
|
383
|
+
if (route.entryName) {
|
|
384
|
+
await this.emitRouteHook('beforeRender', {
|
|
385
|
+
context
|
|
386
|
+
});
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
const file = await this.handleWeb(context, route);
|
|
374
390
|
|
|
375
391
|
if (!file) {
|
|
376
392
|
this.render404(context);
|
|
@@ -388,11 +404,9 @@ export class ModernServer {
|
|
|
388
404
|
|
|
389
405
|
if (route.entryName) {
|
|
390
406
|
const templateAPI = createTemplateAPI(file.content.toString());
|
|
391
|
-
await this.
|
|
407
|
+
await this.emitRouteHook('afterRender', {
|
|
392
408
|
context,
|
|
393
409
|
templateAPI
|
|
394
|
-
}, {
|
|
395
|
-
onLast: noop
|
|
396
410
|
});
|
|
397
411
|
await this.injectMicroFE(context, templateAPI);
|
|
398
412
|
response = templateAPI.get();
|
|
@@ -512,7 +526,7 @@ export class ModernServer {
|
|
|
512
526
|
res.statusCode = 200;
|
|
513
527
|
const context = createContext(req, res, {
|
|
514
528
|
logger: this.logger,
|
|
515
|
-
|
|
529
|
+
metrics: this.metrics
|
|
516
530
|
});
|
|
517
531
|
|
|
518
532
|
try {
|
|
@@ -560,5 +574,25 @@ export class ModernServer {
|
|
|
560
574
|
res.end(createErrorDocument(status, text));
|
|
561
575
|
}
|
|
562
576
|
|
|
577
|
+
prepareFavicons(favicon, faviconByEntries) {
|
|
578
|
+
const faviconNames = [];
|
|
579
|
+
|
|
580
|
+
if (favicon) {
|
|
581
|
+
faviconNames.push(favicon.substring(favicon.lastIndexOf('/') + 1));
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
if (faviconByEntries) {
|
|
585
|
+
Object.keys(faviconByEntries).forEach(f => {
|
|
586
|
+
const curFavicon = faviconByEntries[f];
|
|
587
|
+
|
|
588
|
+
if (curFavicon) {
|
|
589
|
+
faviconNames.push(curFavicon.substring(curFavicon.lastIndexOf('/') + 1));
|
|
590
|
+
}
|
|
591
|
+
});
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
return faviconNames;
|
|
595
|
+
}
|
|
596
|
+
|
|
563
597
|
}
|
|
564
598
|
/* eslint-enable max-lines */
|
package/dist/js/modern/type.js
CHANGED
package/dist/js/modern/utils.js
CHANGED
|
@@ -47,4 +47,12 @@ export const createErrorDocument = (status, text) => {
|
|
|
47
47
|
</body>
|
|
48
48
|
</html>
|
|
49
49
|
`;
|
|
50
|
-
};
|
|
50
|
+
}; // This can live anywhere in your codebase:
|
|
51
|
+
|
|
52
|
+
export function applyMixins(derivedCtor, constructors) {
|
|
53
|
+
constructors.forEach(baseCtor => {
|
|
54
|
+
Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
|
|
55
|
+
Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name) || Object.create(null));
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
}
|
|
@@ -11,9 +11,9 @@ var _serverUtils = require("@modern-js/server-utils");
|
|
|
11
11
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
|
14
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
15
|
|
|
16
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
17
|
|
|
18
18
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
19
|
|
|
@@ -7,9 +7,9 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _utils = require("@modern-js/utils");
|
|
9
9
|
|
|
10
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
10
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
11
11
|
|
|
12
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
12
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
13
13
|
|
|
14
14
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
15
|
|
|
@@ -27,17 +27,29 @@ class ModernServerContext {
|
|
|
27
27
|
*/
|
|
28
28
|
constructor(req, res, {
|
|
29
29
|
logger,
|
|
30
|
-
|
|
30
|
+
metrics
|
|
31
31
|
}) {
|
|
32
32
|
this.req = void 0;
|
|
33
33
|
this.res = void 0;
|
|
34
34
|
this.params = {};
|
|
35
35
|
this.logger = void 0;
|
|
36
|
-
this.
|
|
36
|
+
this.metrics = void 0;
|
|
37
37
|
this.req = req;
|
|
38
38
|
this.res = res;
|
|
39
39
|
this.logger = logger;
|
|
40
|
-
this.
|
|
40
|
+
this.metrics = metrics;
|
|
41
|
+
this.bind();
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
bind() {
|
|
45
|
+
const {
|
|
46
|
+
req,
|
|
47
|
+
res
|
|
48
|
+
} = this;
|
|
49
|
+
|
|
50
|
+
req.get = key => this.getReqHeader(key);
|
|
51
|
+
|
|
52
|
+
res.set = (key, value) => this.res.setHeader(key, value);
|
|
41
53
|
}
|
|
42
54
|
|
|
43
55
|
setParams(params) {
|
|
@@ -66,10 +78,6 @@ class ModernServerContext {
|
|
|
66
78
|
return this.req.headers;
|
|
67
79
|
}
|
|
68
80
|
|
|
69
|
-
set headers(val) {
|
|
70
|
-
this.req.headers = val;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
81
|
get method() {
|
|
74
82
|
return this.req.method;
|
|
75
83
|
}
|
|
@@ -15,10 +15,10 @@ var _context = require("./context");
|
|
|
15
15
|
|
|
16
16
|
const createContext = (req, res, {
|
|
17
17
|
logger,
|
|
18
|
-
|
|
18
|
+
metrics
|
|
19
19
|
}) => new _context.ModernServerContext(req, res, {
|
|
20
20
|
logger,
|
|
21
|
-
|
|
21
|
+
metrics
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
exports.createContext = createContext;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
const
|
|
6
|
+
exports.metrics = void 0;
|
|
7
|
+
const metrics = {
|
|
8
8
|
gauges() {// no impl
|
|
9
9
|
},
|
|
10
10
|
|
|
@@ -15,4 +15,4 @@ const measure = {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
};
|
|
18
|
-
exports.
|
|
18
|
+
exports.metrics = metrics;
|
|
@@ -7,9 +7,9 @@ exports.createProxyHandler = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _httpProxyMiddleware = require("http-proxy-middleware");
|
|
9
9
|
|
|
10
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
10
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
11
11
|
|
|
12
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
12
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
13
13
|
|
|
14
14
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
15
|
|
|
@@ -8,9 +8,9 @@ var _cacheable = require("./cacheable");
|
|
|
8
8
|
|
|
9
9
|
var _matchedCache = require("./matched-cache");
|
|
10
10
|
|
|
11
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
11
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
12
|
|
|
13
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
13
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
14
|
|
|
15
15
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
16
16
|
|
|
@@ -11,9 +11,9 @@ var _util = require("./util");
|
|
|
11
11
|
|
|
12
12
|
var _constants = require("../../../constants");
|
|
13
13
|
|
|
14
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
15
|
|
|
16
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
17
|
|
|
18
18
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
19
|
|
|
@@ -30,7 +30,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
30
30
|
const createRenderHandler = ({
|
|
31
31
|
distDir,
|
|
32
32
|
staticGenerate
|
|
33
|
-
}) => async function render(
|
|
33
|
+
}) => async function render({
|
|
34
|
+
ctx,
|
|
35
|
+
route,
|
|
36
|
+
runner
|
|
37
|
+
}) {
|
|
34
38
|
if (ctx.resHasHandled()) {
|
|
35
39
|
return null;
|
|
36
40
|
}
|
|
@@ -63,7 +67,7 @@ const createRenderHandler = ({
|
|
|
63
67
|
bundle: route.bundle,
|
|
64
68
|
template: templateHTML,
|
|
65
69
|
staticGenerate
|
|
66
|
-
});
|
|
70
|
+
}, runner);
|
|
67
71
|
return result;
|
|
68
72
|
} catch (err) {
|
|
69
73
|
ctx.error(_constants.ERROR_DIGEST.ERENDER, err.stack);
|
|
@@ -15,7 +15,7 @@ var _cache = _interopRequireDefault(require("./cache"));
|
|
|
15
15
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
17
|
|
|
18
|
-
const render = async (ctx, renderOptions) => {
|
|
18
|
+
const render = async (ctx, renderOptions, runner) => {
|
|
19
19
|
const {
|
|
20
20
|
bundle,
|
|
21
21
|
distDir,
|
|
@@ -40,8 +40,9 @@ const render = async (ctx, renderOptions) => {
|
|
|
40
40
|
distDir,
|
|
41
41
|
staticGenerate,
|
|
42
42
|
logger: ctx.logger,
|
|
43
|
-
|
|
43
|
+
metrics: ctx.metrics
|
|
44
44
|
};
|
|
45
|
+
runner.extendSSRContext(context);
|
|
45
46
|
|
|
46
47
|
const serverRender = require(bundleJS)[_utils.SERVER_RENDER_FUNCTION_NAME];
|
|
47
48
|
|
|
@@ -17,7 +17,7 @@ class ModernRoute {
|
|
|
17
17
|
this.isSSR = void 0;
|
|
18
18
|
this.isSPA = void 0;
|
|
19
19
|
this.enableModernMode = void 0;
|
|
20
|
-
this.entryName = routeSpec.entryName;
|
|
20
|
+
this.entryName = routeSpec.entryName || '';
|
|
21
21
|
this.urlPath = routeSpec.urlPath;
|
|
22
22
|
this.entryPath = routeSpec.entryPath || '';
|
|
23
23
|
this.isSSR = routeSpec.isSSR || false;
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.ModernSSRDevServer = exports.ModernAPIDevServer = void 0;
|
|
7
7
|
|
|
8
8
|
var _devServer = require("./dev-server");
|
|
9
9
|
|
|
10
|
-
class
|
|
10
|
+
class ModernSSRDevServer extends _devServer.ModernDevServer {
|
|
11
11
|
prepareAPIHandler(_m, _) {
|
|
12
12
|
return null;
|
|
13
13
|
}
|
|
@@ -22,13 +22,9 @@ class WebModernDevServer extends _devServer.ModernDevServer {
|
|
|
22
22
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
exports.
|
|
26
|
-
|
|
27
|
-
class APIModernDevServer extends _devServer.ModernDevServer {
|
|
28
|
-
prepareWebHandler(_) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
25
|
+
exports.ModernSSRDevServer = ModernSSRDevServer;
|
|
31
26
|
|
|
27
|
+
class ModernAPIDevServer extends _devServer.ModernDevServer {
|
|
32
28
|
async prepareAPIHandler(mode, extension) {
|
|
33
29
|
return super.prepareAPIHandler(mode, extension);
|
|
34
30
|
}
|
|
@@ -42,4 +38,4 @@ class APIModernDevServer extends _devServer.ModernDevServer {
|
|
|
42
38
|
|
|
43
39
|
}
|
|
44
40
|
|
|
45
|
-
exports.
|
|
41
|
+
exports.ModernAPIDevServer = ModernAPIDevServer;
|
|
@@ -41,6 +41,12 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
41
41
|
|
|
42
42
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
43
43
|
|
|
44
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
45
|
+
|
|
46
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
47
|
+
|
|
48
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
49
|
+
|
|
44
50
|
const DEFAULT_DEV_OPTIONS = {
|
|
45
51
|
client: {
|
|
46
52
|
port: '8080',
|
|
@@ -53,6 +59,7 @@ const DEFAULT_DEV_OPTIONS = {
|
|
|
53
59
|
dev: {
|
|
54
60
|
writeToDisk: true
|
|
55
61
|
},
|
|
62
|
+
watch: true,
|
|
56
63
|
hot: true,
|
|
57
64
|
liveReload: true
|
|
58
65
|
};
|
|
@@ -70,7 +77,7 @@ class ModernDevServer extends _modernServer.ModernServer {
|
|
|
70
77
|
this.devMiddleware = void 0;
|
|
71
78
|
this.compiler = options.compiler; // set dev server options, like webpack-dev-server
|
|
72
79
|
|
|
73
|
-
this.dev = typeof options.dev === 'boolean' ? DEFAULT_DEV_OPTIONS : options.dev;
|
|
80
|
+
this.dev = typeof options.dev === 'boolean' ? DEFAULT_DEV_OPTIONS : _objectSpread(_objectSpread({}, DEFAULT_DEV_OPTIONS), options.dev);
|
|
74
81
|
(0, _register.enableRegister)(this.pwd, this.conf);
|
|
75
82
|
} // Complete the preparation of services
|
|
76
83
|
|
|
@@ -119,7 +126,9 @@ class ModernDevServer extends _modernServer.ModernServer {
|
|
|
119
126
|
|
|
120
127
|
await super.init(runner); // watch mock/ server/ api/ dir file change
|
|
121
128
|
|
|
122
|
-
this.
|
|
129
|
+
if (this.dev.watch) {
|
|
130
|
+
this.startWatcher();
|
|
131
|
+
}
|
|
123
132
|
}
|
|
124
133
|
|
|
125
134
|
ready(options = {}) {
|
|
@@ -259,7 +268,7 @@ class ModernDevServer extends _modernServer.ModernServer {
|
|
|
259
268
|
const {
|
|
260
269
|
mock
|
|
261
270
|
} = _constants.AGGRED_DIR;
|
|
262
|
-
const defaultWatched = [`${pwd}/${mock}/**/*`, `${pwd}/${_utils.SERVER_DIR}/**/*`, `${pwd}/${_utils.API_DIR}
|
|
271
|
+
const defaultWatched = [`${pwd}/${mock}/**/*`, `${pwd}/${_utils.SERVER_DIR}/**/*`, `${pwd}/${_utils.API_DIR}/!(typings)/**`, `${pwd}/${_utils.SHARED_DIR}/**/*`];
|
|
263
272
|
const watcher = new _watcher.default();
|
|
264
273
|
watcher.createDepTree(); // 监听文件变动,如果有变动则给 client,也就是 start 启动的插件发消息
|
|
265
274
|
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
Object.defineProperty(exports, "
|
|
6
|
+
Object.defineProperty(exports, "ModernAPIDevServer", {
|
|
7
7
|
enumerable: true,
|
|
8
8
|
get: function () {
|
|
9
|
-
return _devServerSplit.
|
|
9
|
+
return _devServerSplit.ModernAPIDevServer;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "ModernDevServer", {
|
|
@@ -15,10 +15,10 @@ Object.defineProperty(exports, "ModernDevServer", {
|
|
|
15
15
|
return _devServer.ModernDevServer;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
-
Object.defineProperty(exports, "
|
|
18
|
+
Object.defineProperty(exports, "ModernSSRDevServer", {
|
|
19
19
|
enumerable: true,
|
|
20
20
|
get: function () {
|
|
21
|
-
return _devServerSplit.
|
|
21
|
+
return _devServerSplit.ModernSSRDevServer;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
24
|
|