@modern-js/server 1.1.3 → 1.1.5-beta.1
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/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/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 +11 -2
- package/dist/js/modern/server/dev-server/index.js +1 -1
- package/dist/js/modern/server/index.js +17 -15
- package/dist/js/modern/server/modern-server-split.js +55 -6
- package/dist/js/modern/server/modern-server.js +96 -56
- 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 +11 -2
- package/dist/js/node/server/dev-server/index.js +4 -4
- package/dist/js/node/server/index.js +16 -14
- package/dist/js/node/server/modern-server-split.js +61 -9
- package/dist/js/node/server/modern-server.js +97 -57
- 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 +5 -5
- 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 +14 -12
- package/src/server/dev-server/index.ts +1 -1
- package/src/server/index.ts +21 -14
- package/src/server/modern-server-split.ts +59 -7
- package/src/server/modern-server.ts +109 -64
- 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
|
|
|
@@ -233,6 +223,11 @@ export class ModernServer {
|
|
|
233
223
|
const apiExtension = mergeExtension(pluginAPIExt);
|
|
234
224
|
this.frameAPIHandler = await this.prepareAPIHandler(mode, apiExtension);
|
|
235
225
|
}
|
|
226
|
+
} // Todo
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
async proxy() {
|
|
230
|
+
return null;
|
|
236
231
|
}
|
|
237
232
|
/* —————————————————————— function will be overwrite —————————————————————— */
|
|
238
233
|
|
|
@@ -274,34 +269,58 @@ export class ModernServer {
|
|
|
274
269
|
return routes;
|
|
275
270
|
}
|
|
276
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
|
+
|
|
277
291
|
async preServerInit() {
|
|
278
292
|
const {
|
|
279
|
-
conf
|
|
293
|
+
conf,
|
|
294
|
+
runner
|
|
280
295
|
} = this;
|
|
281
|
-
const preMiddleware = await
|
|
296
|
+
const preMiddleware = await runner.preServerInit(conf);
|
|
282
297
|
preMiddleware.flat().forEach(mid => {
|
|
283
298
|
this.addHandler(mid);
|
|
284
299
|
});
|
|
285
300
|
}
|
|
286
301
|
|
|
287
|
-
|
|
288
|
-
const
|
|
302
|
+
async handleAPI(context) {
|
|
303
|
+
const {
|
|
304
|
+
req,
|
|
305
|
+
res
|
|
306
|
+
} = context;
|
|
289
307
|
|
|
290
|
-
if (
|
|
291
|
-
|
|
308
|
+
if (!this.frameAPIHandler) {
|
|
309
|
+
throw new Error('can not found api hanlder');
|
|
292
310
|
}
|
|
293
311
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
const curFavicon = faviconByEntries[f];
|
|
312
|
+
await this.frameAPIHandler(req, res);
|
|
313
|
+
}
|
|
297
314
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
315
|
+
async handleWeb(context, route) {
|
|
316
|
+
return this.routeRenderHandler({
|
|
317
|
+
ctx: context,
|
|
318
|
+
route,
|
|
319
|
+
runner: this.runner
|
|
320
|
+
});
|
|
321
|
+
}
|
|
303
322
|
|
|
304
|
-
|
|
323
|
+
verifyMatch(_c, _m) {// empty
|
|
305
324
|
}
|
|
306
325
|
/* —————————————————————— private function —————————————————————— */
|
|
307
326
|
// handler route.json, include api / csr / ssr
|
|
@@ -313,10 +332,8 @@ export class ModernServer {
|
|
|
313
332
|
req,
|
|
314
333
|
res
|
|
315
334
|
} = context;
|
|
316
|
-
await this.
|
|
335
|
+
await this.emitRouteHook('beforeMatch', {
|
|
317
336
|
context
|
|
318
|
-
}, {
|
|
319
|
-
onLast: noop
|
|
320
337
|
}); // match routes in the route spec
|
|
321
338
|
|
|
322
339
|
const matched = this.router.match(context.url);
|
|
@@ -324,14 +341,18 @@ export class ModernServer {
|
|
|
324
341
|
if (!matched) {
|
|
325
342
|
this.render404(context);
|
|
326
343
|
return;
|
|
344
|
+
} else {
|
|
345
|
+
this.verifyMatch(context, matched);
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
if (res.headersSent) {
|
|
349
|
+
return;
|
|
327
350
|
}
|
|
328
351
|
|
|
329
352
|
const routeAPI = createRouteAPI(matched, this.router);
|
|
330
|
-
await this.
|
|
353
|
+
await this.emitRouteHook('afterMatch', {
|
|
331
354
|
context,
|
|
332
355
|
routeAPI
|
|
333
|
-
}, {
|
|
334
|
-
onLast: noop
|
|
335
356
|
});
|
|
336
357
|
|
|
337
358
|
if (res.headersSent) {
|
|
@@ -346,11 +367,7 @@ export class ModernServer {
|
|
|
346
367
|
context.setParams(params); // route is api service
|
|
347
368
|
|
|
348
369
|
if (route.isApi) {
|
|
349
|
-
|
|
350
|
-
throw new Error('can not found api hanlder');
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
await this.frameAPIHandler(req, res);
|
|
370
|
+
this.handleAPI(context);
|
|
354
371
|
return;
|
|
355
372
|
}
|
|
356
373
|
|
|
@@ -363,12 +380,13 @@ export class ModernServer {
|
|
|
363
380
|
return;
|
|
364
381
|
}
|
|
365
382
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
}
|
|
371
|
-
|
|
383
|
+
if (route.entryName) {
|
|
384
|
+
await this.emitRouteHook('beforeRender', {
|
|
385
|
+
context
|
|
386
|
+
});
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
const file = await this.handleWeb(context, route);
|
|
372
390
|
|
|
373
391
|
if (!file) {
|
|
374
392
|
this.render404(context);
|
|
@@ -386,11 +404,9 @@ export class ModernServer {
|
|
|
386
404
|
|
|
387
405
|
if (route.entryName) {
|
|
388
406
|
const templateAPI = createTemplateAPI(file.content.toString());
|
|
389
|
-
await this.
|
|
407
|
+
await this.emitRouteHook('afterRender', {
|
|
390
408
|
context,
|
|
391
409
|
templateAPI
|
|
392
|
-
}, {
|
|
393
|
-
onLast: noop
|
|
394
410
|
});
|
|
395
411
|
await this.injectMicroFE(context, templateAPI);
|
|
396
412
|
response = templateAPI.get();
|
|
@@ -510,7 +526,7 @@ export class ModernServer {
|
|
|
510
526
|
res.statusCode = 200;
|
|
511
527
|
const context = createContext(req, res, {
|
|
512
528
|
logger: this.logger,
|
|
513
|
-
|
|
529
|
+
metrics: this.metrics
|
|
514
530
|
});
|
|
515
531
|
|
|
516
532
|
try {
|
|
@@ -543,7 +559,11 @@ export class ModernServer {
|
|
|
543
559
|
|
|
544
560
|
if (entryName === status.toString() || entryName === '_error') {
|
|
545
561
|
try {
|
|
546
|
-
const file = await this.routeRenderHandler(
|
|
562
|
+
const file = await this.routeRenderHandler({
|
|
563
|
+
route,
|
|
564
|
+
ctx: context,
|
|
565
|
+
runner: this.runner
|
|
566
|
+
});
|
|
547
567
|
|
|
548
568
|
if (file) {
|
|
549
569
|
context.res.end(file.content);
|
|
@@ -558,5 +578,25 @@ export class ModernServer {
|
|
|
558
578
|
res.end(createErrorDocument(status, text));
|
|
559
579
|
}
|
|
560
580
|
|
|
581
|
+
prepareFavicons(favicon, faviconByEntries) {
|
|
582
|
+
const faviconNames = [];
|
|
583
|
+
|
|
584
|
+
if (favicon) {
|
|
585
|
+
faviconNames.push(favicon.substring(favicon.lastIndexOf('/') + 1));
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
if (faviconByEntries) {
|
|
589
|
+
Object.keys(faviconByEntries).forEach(f => {
|
|
590
|
+
const curFavicon = faviconByEntries[f];
|
|
591
|
+
|
|
592
|
+
if (curFavicon) {
|
|
593
|
+
faviconNames.push(curFavicon.substring(curFavicon.lastIndexOf('/') + 1));
|
|
594
|
+
}
|
|
595
|
+
});
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
return faviconNames;
|
|
599
|
+
}
|
|
600
|
+
|
|
561
601
|
}
|
|
562
602
|
/* eslint-enable max-lines */
|
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 = {}) {
|
|
@@ -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
|
|