@modern-js/server 1.1.2 → 1.1.4-rc.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 +46 -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/hook-api/route.js +37 -0
- package/dist/js/modern/libs/{hook-api.js → hook-api/template.js} +0 -0
- 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/route/index.js +4 -0
- package/dist/js/modern/libs/route/matcher.js +4 -0
- package/dist/js/modern/server/dev-server/dev-server-split.js +28 -0
- package/dist/js/modern/server/{dev-server.js → dev-server/dev-server.js} +41 -22
- package/dist/js/modern/server/dev-server/index.js +2 -0
- package/dist/js/modern/server/index.js +64 -62
- package/dist/js/modern/server/modern-server-split.js +81 -0
- package/dist/js/modern/server/modern-server.js +117 -59
- package/dist/js/modern/type.js +0 -1
- package/dist/js/modern/utils.js +11 -3
- 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/hook-api/route.js +46 -0
- package/dist/js/node/libs/{hook-api.js → hook-api/template.js} +0 -0
- 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/route/index.js +4 -0
- package/dist/js/node/libs/route/matcher.js +4 -0
- package/dist/js/node/server/dev-server/dev-server-split.js +41 -0
- package/dist/js/node/server/{dev-server.js → dev-server/dev-server.js} +42 -21
- package/dist/js/node/server/dev-server/index.js +27 -0
- package/dist/js/node/server/index.js +71 -63
- package/dist/js/node/server/modern-server-split.js +97 -0
- package/dist/js/node/server/modern-server.js +120 -60
- package/dist/js/node/utils.js +14 -4
- package/dist/types/libs/hook-api/route.d.ts +13 -0
- package/dist/types/libs/{hook-api.d.ts → hook-api/template.d.ts} +0 -0
- package/dist/types/libs/route/index.d.ts +1 -0
- package/dist/types/libs/route/matcher.d.ts +1 -0
- package/dist/types/server/dev-server/dev-server-split.d.ts +15 -0
- package/dist/types/server/{dev-server.d.ts → dev-server/dev-server.d.ts} +6 -5
- package/dist/types/server/dev-server/index.d.ts +2 -0
- package/dist/types/server/index.d.ts +3 -1
- package/dist/types/server/modern-server-split.d.ts +26 -0
- package/dist/types/server/modern-server.d.ts +19 -11
- package/dist/types/type.d.ts +5 -0
- package/dist/types/utils.d.ts +3 -2
- package/package.json +12 -11
- package/src/libs/hook-api/route.ts +38 -0
- package/src/libs/{hook-api.ts → hook-api/template.ts} +0 -0
- package/src/libs/route/index.ts +4 -0
- package/src/libs/route/matcher.ts +4 -0
- package/src/server/{web-server.ts → dev-server/dev-server-split.ts} +12 -14
- package/src/server/{dev-server.ts → dev-server/dev-server.ts} +62 -33
- package/src/server/dev-server/index.ts +2 -0
- package/src/server/index.ts +80 -47
- package/src/server/modern-server-split.ts +97 -0
- package/src/server/modern-server.ts +135 -81
- package/src/type.ts +5 -0
- package/src/utils.ts +16 -2
- package/dist/js/modern/server/api-server.js +0 -36
- package/dist/js/modern/server/web-server.js +0 -30
- package/dist/js/node/server/api-server.js +0 -50
- package/dist/js/node/server/web-server.js +0 -44
- package/dist/types/server/api-server.d.ts +0 -17
- package/dist/types/server/web-server.d.ts +0 -15
- package/src/server/api-server.ts +0 -47
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/* eslint-disable max-lines */
|
|
2
|
-
import { IncomingMessage, ServerResponse, Server } from 'http';
|
|
2
|
+
import { IncomingMessage, ServerResponse, Server, createServer } from 'http';
|
|
3
3
|
import util from 'util';
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import { fs, ROUTE_SPEC_FILE } from '@modern-js/utils';
|
|
6
|
-
import { Adapter } from '@modern-js/server-plugin';
|
|
7
|
-
import {
|
|
6
|
+
import { Adapter, APIServerStartInput } from '@modern-js/server-plugin';
|
|
7
|
+
import { createMiddlewareCollecter } from '@modern-js/server-utils';
|
|
8
8
|
import type { NormalizedConfig } from '@modern-js/core';
|
|
9
9
|
import mime from 'mime-types';
|
|
10
10
|
import axios from 'axios';
|
|
@@ -16,13 +16,18 @@ import {
|
|
|
16
16
|
Logger,
|
|
17
17
|
ReadyOptions,
|
|
18
18
|
ConfWithBFF,
|
|
19
|
-
} from '
|
|
20
|
-
import {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
} from '@/type';
|
|
20
|
+
import {
|
|
21
|
+
RouteMatchManager,
|
|
22
|
+
ModernRouteInterface,
|
|
23
|
+
ModernRoute,
|
|
24
|
+
RouteMatcher,
|
|
25
|
+
} from '@/libs/route';
|
|
26
|
+
import { createRenderHandler } from '@/libs/render';
|
|
27
|
+
import { createStaticFileHandler } from '@/libs/serve-file';
|
|
28
|
+
import { createErrorDocument, mergeExtension, noop } from '@/utils';
|
|
29
|
+
import * as reader from '@/libs/render/reader';
|
|
30
|
+
import { createProxyHandler, ProxyOptions } from '@/libs/proxy';
|
|
26
31
|
import { createContext, ModernServerContext } from '@/libs/context';
|
|
27
32
|
import {
|
|
28
33
|
AGGRED_DIR,
|
|
@@ -30,7 +35,8 @@ import {
|
|
|
30
35
|
ERROR_DIGEST,
|
|
31
36
|
ERROR_PAGE_TEXT,
|
|
32
37
|
} from '@/constants';
|
|
33
|
-
import { createTemplateAPI } from '@/libs/hook-api';
|
|
38
|
+
import { createTemplateAPI } from '@/libs/hook-api/template';
|
|
39
|
+
import { createRouteAPI } from '@/libs/hook-api/route';
|
|
34
40
|
|
|
35
41
|
type ModernServerHandler = (
|
|
36
42
|
context: ModernServerContext,
|
|
@@ -63,11 +69,13 @@ export class ModernServer {
|
|
|
63
69
|
|
|
64
70
|
protected presetRoutes?: ModernRouteInterface[];
|
|
65
71
|
|
|
72
|
+
protected runner!: ServerHookRunner;
|
|
73
|
+
|
|
66
74
|
protected readonly logger: Logger;
|
|
67
75
|
|
|
68
76
|
protected readonly measure: Measure;
|
|
69
77
|
|
|
70
|
-
|
|
78
|
+
protected readonly proxyTarget: ModernServerOptions['proxyTarget'];
|
|
71
79
|
|
|
72
80
|
private readonly isDev: boolean = false;
|
|
73
81
|
|
|
@@ -85,30 +93,28 @@ export class ModernServer {
|
|
|
85
93
|
|
|
86
94
|
private proxyHandler: ReturnType<typeof createProxyHandler> = null;
|
|
87
95
|
|
|
88
|
-
constructor(
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
runner: ServerHookRunner,
|
|
99
|
-
) {
|
|
96
|
+
constructor({
|
|
97
|
+
pwd,
|
|
98
|
+
config,
|
|
99
|
+
dev,
|
|
100
|
+
routes,
|
|
101
|
+
staticGenerate,
|
|
102
|
+
logger,
|
|
103
|
+
measure,
|
|
104
|
+
proxyTarget,
|
|
105
|
+
}: ModernServerOptions) {
|
|
100
106
|
require('ignore-styles');
|
|
101
107
|
this.isDev = Boolean(dev);
|
|
102
108
|
|
|
103
109
|
this.pwd = pwd;
|
|
104
|
-
this.distDir = path.join(pwd, config.output.path || '');
|
|
110
|
+
this.distDir = path.join(pwd, config.output.path || 'dist');
|
|
105
111
|
this.workDir = this.isDev ? pwd : this.distDir;
|
|
106
112
|
this.conf = config;
|
|
107
|
-
this.runner = runner;
|
|
108
113
|
this.logger = logger!;
|
|
109
114
|
this.measure = measure!;
|
|
110
115
|
this.router = new RouteMatchManager();
|
|
111
116
|
this.presetRoutes = routes;
|
|
117
|
+
this.proxyTarget = proxyTarget;
|
|
112
118
|
|
|
113
119
|
if (staticGenerate) {
|
|
114
120
|
this.staticGenerate = staticGenerate;
|
|
@@ -122,7 +128,9 @@ export class ModernServer {
|
|
|
122
128
|
}
|
|
123
129
|
|
|
124
130
|
// server prepare
|
|
125
|
-
public async init() {
|
|
131
|
+
public async init(runner: ServerHookRunner) {
|
|
132
|
+
this.runner = runner;
|
|
133
|
+
|
|
126
134
|
const { distDir, isDev, staticGenerate, conf } = this;
|
|
127
135
|
|
|
128
136
|
this.addHandler((ctx: ModernServerContext, next: NextFunction) => {
|
|
@@ -198,16 +206,14 @@ export class ModernServer {
|
|
|
198
206
|
reader.close();
|
|
199
207
|
}
|
|
200
208
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
require(filepath);
|
|
210
|
-
});
|
|
209
|
+
public async createHTTPServer(
|
|
210
|
+
handler: (
|
|
211
|
+
req: IncomingMessage,
|
|
212
|
+
res: ServerResponse,
|
|
213
|
+
next?: () => void,
|
|
214
|
+
) => void,
|
|
215
|
+
) {
|
|
216
|
+
return createServer(handler);
|
|
211
217
|
}
|
|
212
218
|
|
|
213
219
|
// read route spec from route.json
|
|
@@ -241,9 +247,6 @@ export class ModernServer {
|
|
|
241
247
|
protected async prepareFrameHandler() {
|
|
242
248
|
const { workDir, runner } = this;
|
|
243
249
|
|
|
244
|
-
// inner tool, gather user inject
|
|
245
|
-
const { api: userAPIExt, web: userWebExt } = gather(workDir);
|
|
246
|
-
|
|
247
250
|
// server hook, gather plugin inject
|
|
248
251
|
const { getMiddlewares, ...collector } = createMiddlewareCollecter();
|
|
249
252
|
|
|
@@ -255,7 +258,7 @@ export class ModernServer {
|
|
|
255
258
|
|
|
256
259
|
// get api or web server handler from server-framework plugin
|
|
257
260
|
if (await fs.pathExists(path.join(serverDir))) {
|
|
258
|
-
const webExtension = mergeExtension(pluginWebExt
|
|
261
|
+
const webExtension = mergeExtension(pluginWebExt);
|
|
259
262
|
this.frameWebHandler = await this.prepareWebHandler(webExtension);
|
|
260
263
|
}
|
|
261
264
|
|
|
@@ -265,14 +268,16 @@ export class ModernServer {
|
|
|
265
268
|
: ApiServerMode.func;
|
|
266
269
|
|
|
267
270
|
// if use lambda/, mean framework style of writing, then discard user extension
|
|
268
|
-
const apiExtension = mergeExtension(
|
|
269
|
-
pluginAPIExt,
|
|
270
|
-
mode === ApiServerMode.frame ? [] : userAPIExt,
|
|
271
|
-
);
|
|
271
|
+
const apiExtension = mergeExtension(pluginAPIExt);
|
|
272
272
|
this.frameAPIHandler = await this.prepareAPIHandler(mode, apiExtension);
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
+
// Todo
|
|
277
|
+
protected async proxy() {
|
|
278
|
+
return null as any;
|
|
279
|
+
}
|
|
280
|
+
|
|
276
281
|
/* —————————————————————— function will be overwrite —————————————————————— */
|
|
277
282
|
protected async prepareWebHandler(
|
|
278
283
|
extension: ReturnType<typeof mergeExtension>,
|
|
@@ -290,7 +295,7 @@ export class ModernServer {
|
|
|
290
295
|
|
|
291
296
|
protected async prepareAPIHandler(
|
|
292
297
|
mode: ApiServerMode,
|
|
293
|
-
extension:
|
|
298
|
+
extension: APIServerStartInput['config'],
|
|
294
299
|
) {
|
|
295
300
|
const { workDir, runner, conf } = this;
|
|
296
301
|
const { bff } = conf as ConfWithBFF;
|
|
@@ -301,7 +306,7 @@ export class ModernServer {
|
|
|
301
306
|
pwd: workDir,
|
|
302
307
|
mode,
|
|
303
308
|
config: extension,
|
|
304
|
-
prefix,
|
|
309
|
+
prefix: Array.isArray(prefix) ? prefix[0] : prefix,
|
|
305
310
|
},
|
|
306
311
|
{ onLast: () => null as any },
|
|
307
312
|
);
|
|
@@ -311,62 +316,89 @@ export class ModernServer {
|
|
|
311
316
|
return routes;
|
|
312
317
|
}
|
|
313
318
|
|
|
319
|
+
protected async emitRouteHook(
|
|
320
|
+
eventName: 'beforeMatch' | 'afterMatch' | 'beforeRender' | 'afterRender',
|
|
321
|
+
input: any,
|
|
322
|
+
) {
|
|
323
|
+
return this.runner[eventName](input, { onLast: noop as any });
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
// warmup ssr function
|
|
327
|
+
protected warmupSSRBundle() {
|
|
328
|
+
const { distDir } = this;
|
|
329
|
+
const bundles = this.router.getBundles();
|
|
330
|
+
|
|
331
|
+
bundles.forEach(bundle => {
|
|
332
|
+
const filepath = path.join(distDir, bundle as string);
|
|
333
|
+
// if error, just throw and let process die
|
|
334
|
+
require(filepath);
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
|
|
314
338
|
protected async preServerInit() {
|
|
315
|
-
const { conf } = this;
|
|
339
|
+
const { conf, runner } = this;
|
|
316
340
|
const preMiddleware: ModernServerAsyncHandler[] =
|
|
317
|
-
await
|
|
341
|
+
await runner.preServerInit(conf);
|
|
318
342
|
|
|
319
|
-
preMiddleware.forEach(mid => {
|
|
343
|
+
preMiddleware.flat().forEach(mid => {
|
|
320
344
|
this.addHandler(mid);
|
|
321
345
|
});
|
|
322
346
|
}
|
|
323
347
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
if (favicon) {
|
|
330
|
-
faviconNames.push(favicon.substring(favicon.lastIndexOf('/') + 1));
|
|
331
|
-
}
|
|
332
|
-
if (faviconByEntries) {
|
|
333
|
-
Object.keys(faviconByEntries).forEach(f => {
|
|
334
|
-
const curFavicon = faviconByEntries[f];
|
|
335
|
-
if (curFavicon) {
|
|
336
|
-
faviconNames.push(
|
|
337
|
-
curFavicon.substring(curFavicon.lastIndexOf('/') + 1),
|
|
338
|
-
);
|
|
339
|
-
}
|
|
340
|
-
});
|
|
348
|
+
protected async handleAPI(context: ModernServerContext) {
|
|
349
|
+
const { req, res } = context;
|
|
350
|
+
|
|
351
|
+
if (!this.frameAPIHandler) {
|
|
352
|
+
throw new Error('can not found api hanlder');
|
|
341
353
|
}
|
|
342
|
-
|
|
354
|
+
|
|
355
|
+
await this.frameAPIHandler(req, res);
|
|
343
356
|
}
|
|
344
357
|
|
|
345
|
-
|
|
358
|
+
protected async handleWeb(context: ModernServerContext, route: ModernRoute) {
|
|
359
|
+
return this.routeRenderHandler(context, route);
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
protected verifyMatch(_c: ModernServerContext, _m: RouteMatcher) {
|
|
363
|
+
// empty
|
|
364
|
+
}
|
|
346
365
|
|
|
366
|
+
/* —————————————————————— private function —————————————————————— */
|
|
347
367
|
// handler route.json, include api / csr / ssr
|
|
348
368
|
// eslint-disable-next-line max-statements
|
|
349
369
|
private async routeHandler(context: ModernServerContext) {
|
|
350
370
|
const { req, res } = context;
|
|
351
371
|
|
|
372
|
+
await this.emitRouteHook('beforeMatch', { context });
|
|
373
|
+
|
|
352
374
|
// match routes in the route spec
|
|
353
375
|
const matched = this.router.match(context.url);
|
|
354
376
|
if (!matched) {
|
|
355
377
|
this.render404(context);
|
|
356
378
|
return;
|
|
379
|
+
} else {
|
|
380
|
+
this.verifyMatch(context, matched);
|
|
357
381
|
}
|
|
358
382
|
|
|
359
|
-
|
|
360
|
-
|
|
383
|
+
if (res.headersSent) {
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
const routeAPI = createRouteAPI(matched, this.router);
|
|
388
|
+
await this.emitRouteHook('afterMatch', { context, routeAPI });
|
|
389
|
+
|
|
390
|
+
if (res.headersSent) {
|
|
391
|
+
return;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
const { current } = routeAPI as any;
|
|
395
|
+
const route: ModernRoute = current.generate();
|
|
396
|
+
const params = current.parseURLParams(context.url);
|
|
361
397
|
context.setParams(params);
|
|
362
398
|
|
|
363
399
|
// route is api service
|
|
364
400
|
if (route.isApi) {
|
|
365
|
-
|
|
366
|
-
throw new Error('can not found api hanlder');
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
await this.frameAPIHandler(req, res);
|
|
401
|
+
this.handleAPI(context);
|
|
370
402
|
return;
|
|
371
403
|
}
|
|
372
404
|
|
|
@@ -379,7 +411,11 @@ export class ModernServer {
|
|
|
379
411
|
return;
|
|
380
412
|
}
|
|
381
413
|
|
|
382
|
-
|
|
414
|
+
if (route.entryName) {
|
|
415
|
+
await this.emitRouteHook('beforeRender', { context });
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
const file = await this.handleWeb(context, route);
|
|
383
419
|
if (!file) {
|
|
384
420
|
this.render404(context);
|
|
385
421
|
return;
|
|
@@ -395,10 +431,7 @@ export class ModernServer {
|
|
|
395
431
|
let response = file.content;
|
|
396
432
|
if (route.entryName) {
|
|
397
433
|
const templateAPI = createTemplateAPI(file.content.toString());
|
|
398
|
-
await this.
|
|
399
|
-
{ context, templateAPI },
|
|
400
|
-
{ onLast: noop as any },
|
|
401
|
-
);
|
|
434
|
+
await this.emitRouteHook('afterRender', { context, templateAPI });
|
|
402
435
|
await this.injectMicroFE(context, templateAPI);
|
|
403
436
|
response = templateAPI.get();
|
|
404
437
|
}
|
|
@@ -561,5 +594,26 @@ export class ModernServer {
|
|
|
561
594
|
const text = ERROR_PAGE_TEXT[status] || ERROR_PAGE_TEXT[500];
|
|
562
595
|
res.end(createErrorDocument(status, text));
|
|
563
596
|
}
|
|
597
|
+
|
|
598
|
+
private prepareFavicons(
|
|
599
|
+
favicon: string | undefined,
|
|
600
|
+
faviconByEntries?: Record<string, string | undefined>,
|
|
601
|
+
) {
|
|
602
|
+
const faviconNames = [];
|
|
603
|
+
if (favicon) {
|
|
604
|
+
faviconNames.push(favicon.substring(favicon.lastIndexOf('/') + 1));
|
|
605
|
+
}
|
|
606
|
+
if (faviconByEntries) {
|
|
607
|
+
Object.keys(faviconByEntries).forEach(f => {
|
|
608
|
+
const curFavicon = faviconByEntries[f];
|
|
609
|
+
if (curFavicon) {
|
|
610
|
+
faviconNames.push(
|
|
611
|
+
curFavicon.substring(curFavicon.lastIndexOf('/') + 1),
|
|
612
|
+
);
|
|
613
|
+
}
|
|
614
|
+
});
|
|
615
|
+
}
|
|
616
|
+
return faviconNames;
|
|
617
|
+
}
|
|
564
618
|
}
|
|
565
619
|
/* eslint-enable max-lines */
|
package/src/type.ts
CHANGED
package/src/utils.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export const mergeExtension = (users: any[]
|
|
1
|
+
export const mergeExtension = (users: any[]) => {
|
|
2
2
|
const output: any[] = [];
|
|
3
|
-
return { middleware: output.concat(users)
|
|
3
|
+
return { middleware: output.concat(users) };
|
|
4
4
|
};
|
|
5
5
|
|
|
6
6
|
export const toMessage = (dig: string, e: Error | string): string => {
|
|
@@ -49,3 +49,17 @@ export const createErrorDocument = (status: number, text: string) => {
|
|
|
49
49
|
</html>
|
|
50
50
|
`;
|
|
51
51
|
};
|
|
52
|
+
|
|
53
|
+
// This can live anywhere in your codebase:
|
|
54
|
+
export function applyMixins(derivedCtor: any, constructors: any[]) {
|
|
55
|
+
constructors.forEach(baseCtor => {
|
|
56
|
+
Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
|
|
57
|
+
Object.defineProperty(
|
|
58
|
+
derivedCtor.prototype,
|
|
59
|
+
name,
|
|
60
|
+
Object.getOwnPropertyDescriptor(baseCtor.prototype, name) ||
|
|
61
|
+
Object.create(null),
|
|
62
|
+
);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ModernDevServer } from "./dev-server";
|
|
2
|
-
import { ModernServer } from "./modern-server";
|
|
3
|
-
export class APIModernServer extends ModernServer {
|
|
4
|
-
prepareWebHandler(_) {
|
|
5
|
-
return null;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
async prepareAPIHandler(mode, extension) {
|
|
9
|
-
return super.prepareAPIHandler(mode, extension);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
filterRoutes(routes) {
|
|
13
|
-
return routes.filter(route => route.isApi);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
async preServerInit() {// noop
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
export class APIModernDevServer extends ModernDevServer {
|
|
21
|
-
prepareWebHandler(_) {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
async prepareAPIHandler(mode, extension) {
|
|
26
|
-
return super.prepareAPIHandler(mode, extension);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
filterRoutes(routes) {
|
|
30
|
-
return routes.filter(route => route.isApi);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
async preServerInit() {// noop
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { ModernDevServer } from "./dev-server";
|
|
2
|
-
import { ModernServer } from "./modern-server";
|
|
3
|
-
export class WebModernServer extends ModernServer {
|
|
4
|
-
prepareAPIHandler(_m, _) {
|
|
5
|
-
return null;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
async prepareWebHandler(extension) {
|
|
9
|
-
return super.prepareWebHandler(extension);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
filterRoutes(routes) {
|
|
13
|
-
return routes.filter(route => route.entryName);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
export class WebModernDevServer extends ModernDevServer {
|
|
18
|
-
prepareAPIHandler(_m, _) {
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
async prepareWebHandler(extension) {
|
|
23
|
-
return super.prepareWebHandler(extension);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
filterRoutes(routes) {
|
|
27
|
-
return routes.filter(route => route.entryName);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.APIModernServer = exports.APIModernDevServer = void 0;
|
|
7
|
-
|
|
8
|
-
var _devServer = require("./dev-server");
|
|
9
|
-
|
|
10
|
-
var _modernServer = require("./modern-server");
|
|
11
|
-
|
|
12
|
-
class APIModernServer extends _modernServer.ModernServer {
|
|
13
|
-
prepareWebHandler(_) {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
async prepareAPIHandler(mode, extension) {
|
|
18
|
-
return super.prepareAPIHandler(mode, extension);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
filterRoutes(routes) {
|
|
22
|
-
return routes.filter(route => route.isApi);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
async preServerInit() {// noop
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
exports.APIModernServer = APIModernServer;
|
|
31
|
-
|
|
32
|
-
class APIModernDevServer extends _devServer.ModernDevServer {
|
|
33
|
-
prepareWebHandler(_) {
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
async prepareAPIHandler(mode, extension) {
|
|
38
|
-
return super.prepareAPIHandler(mode, extension);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
filterRoutes(routes) {
|
|
42
|
-
return routes.filter(route => route.isApi);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
async preServerInit() {// noop
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
exports.APIModernDevServer = APIModernDevServer;
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.WebModernServer = exports.WebModernDevServer = void 0;
|
|
7
|
-
|
|
8
|
-
var _devServer = require("./dev-server");
|
|
9
|
-
|
|
10
|
-
var _modernServer = require("./modern-server");
|
|
11
|
-
|
|
12
|
-
class WebModernServer extends _modernServer.ModernServer {
|
|
13
|
-
prepareAPIHandler(_m, _) {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
async prepareWebHandler(extension) {
|
|
18
|
-
return super.prepareWebHandler(extension);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
filterRoutes(routes) {
|
|
22
|
-
return routes.filter(route => route.entryName);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
exports.WebModernServer = WebModernServer;
|
|
28
|
-
|
|
29
|
-
class WebModernDevServer extends _devServer.ModernDevServer {
|
|
30
|
-
prepareAPIHandler(_m, _) {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
async prepareWebHandler(extension) {
|
|
35
|
-
return super.prepareWebHandler(extension);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
filterRoutes(routes) {
|
|
39
|
-
return routes.filter(route => route.entryName);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
exports.WebModernDevServer = WebModernDevServer;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ModernDevServer } from './dev-server';
|
|
2
|
-
import { ModernServer } from './modern-server';
|
|
3
|
-
import { mergeExtension } from "../utils.d";
|
|
4
|
-
import { ModernRouteInterface } from "../libs/route";
|
|
5
|
-
import { ApiServerMode } from "../constants.d";
|
|
6
|
-
export declare class APIModernServer extends ModernServer {
|
|
7
|
-
protected prepareWebHandler(_: ReturnType<typeof mergeExtension>): any;
|
|
8
|
-
protected prepareAPIHandler(mode: ApiServerMode, extension: ReturnType<typeof mergeExtension>): Promise<import("@modern-js/server-plugin").Adapter>;
|
|
9
|
-
protected filterRoutes(routes: ModernRouteInterface[]): ModernRouteInterface[];
|
|
10
|
-
protected preServerInit(): Promise<void>;
|
|
11
|
-
}
|
|
12
|
-
export declare class APIModernDevServer extends ModernDevServer {
|
|
13
|
-
protected prepareWebHandler(_: ReturnType<typeof mergeExtension>): any;
|
|
14
|
-
protected prepareAPIHandler(mode: ApiServerMode, extension: ReturnType<typeof mergeExtension>): Promise<import("@modern-js/server-plugin").Adapter>;
|
|
15
|
-
protected filterRoutes(routes: ModernRouteInterface[]): ModernRouteInterface[];
|
|
16
|
-
protected preServerInit(): Promise<void>;
|
|
17
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ModernDevServer } from './dev-server';
|
|
2
|
-
import { ModernServer } from './modern-server';
|
|
3
|
-
import { mergeExtension } from "../utils.d";
|
|
4
|
-
import { ModernRouteInterface } from "../libs/route";
|
|
5
|
-
import { ApiServerMode } from "../constants.d";
|
|
6
|
-
export declare class WebModernServer extends ModernServer {
|
|
7
|
-
protected prepareAPIHandler(_m: ApiServerMode, _: ReturnType<typeof mergeExtension>): any;
|
|
8
|
-
protected prepareWebHandler(extension: ReturnType<typeof mergeExtension>): Promise<import("@modern-js/server-plugin").Adapter>;
|
|
9
|
-
protected filterRoutes(routes: ModernRouteInterface[]): ModernRouteInterface[];
|
|
10
|
-
}
|
|
11
|
-
export declare class WebModernDevServer extends ModernDevServer {
|
|
12
|
-
protected prepareAPIHandler(_m: ApiServerMode, _: ReturnType<typeof mergeExtension>): any;
|
|
13
|
-
protected prepareWebHandler(extension: ReturnType<typeof mergeExtension>): Promise<import("@modern-js/server-plugin").Adapter>;
|
|
14
|
-
protected filterRoutes(routes: ModernRouteInterface[]): ModernRouteInterface[];
|
|
15
|
-
}
|
package/src/server/api-server.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { ModernDevServer } from './dev-server';
|
|
2
|
-
import { ModernServer } from './modern-server';
|
|
3
|
-
import { mergeExtension } from '@/utils';
|
|
4
|
-
import { ModernRouteInterface } from '@/libs/route';
|
|
5
|
-
import { ApiServerMode } from '@/constants';
|
|
6
|
-
|
|
7
|
-
export class APIModernServer extends ModernServer {
|
|
8
|
-
protected prepareWebHandler(_: ReturnType<typeof mergeExtension>) {
|
|
9
|
-
return null as any;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
protected async prepareAPIHandler(
|
|
13
|
-
mode: ApiServerMode,
|
|
14
|
-
extension: ReturnType<typeof mergeExtension>,
|
|
15
|
-
) {
|
|
16
|
-
return super.prepareAPIHandler(mode, extension);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
protected filterRoutes(routes: ModernRouteInterface[]) {
|
|
20
|
-
return routes.filter(route => route.isApi);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
protected async preServerInit() {
|
|
24
|
-
// noop
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export class APIModernDevServer extends ModernDevServer {
|
|
29
|
-
protected prepareWebHandler(_: ReturnType<typeof mergeExtension>) {
|
|
30
|
-
return null as any;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
protected async prepareAPIHandler(
|
|
34
|
-
mode: ApiServerMode,
|
|
35
|
-
extension: ReturnType<typeof mergeExtension>,
|
|
36
|
-
) {
|
|
37
|
-
return super.prepareAPIHandler(mode, extension);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
protected filterRoutes(routes: ModernRouteInterface[]) {
|
|
41
|
-
return routes.filter(route => route.isApi);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
protected async preServerInit() {
|
|
45
|
-
// noop
|
|
46
|
-
}
|
|
47
|
-
}
|