@modern-js/server 1.4.3 → 1.4.4
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 +12 -0
- package/dist/js/modern/dev-tools/mock/index.js +1 -1
- package/dist/js/modern/dev-tools/socket-server.js +2 -2
- package/dist/js/modern/index.js +1 -1
- package/dist/js/modern/server/{dev-server/dev-server-split.js → dev-server-split.js} +0 -0
- package/dist/js/modern/server/{dev-server/dev-server.js → dev-server.js} +15 -14
- package/dist/js/modern/server/index.js +15 -138
- package/dist/js/modern/{libs/render/cache/type.js → types.js} +0 -0
- package/dist/js/node/dev-tools/mock/index.js +2 -2
- package/dist/js/node/dev-tools/socket-server.js +2 -3
- package/dist/js/node/index.js +2 -2
- package/dist/js/node/server/{dev-server/dev-server-split.js → dev-server-split.js} +0 -0
- package/dist/js/node/server/{dev-server/dev-server.js → dev-server.js} +18 -24
- package/dist/js/node/server/index.js +17 -152
- package/dist/js/node/{libs/render/cache/type.js → types.js} +0 -0
- package/dist/types/dev-tools/babel/register.d.ts +1 -1
- package/dist/types/dev-tools/dev-server-plugin.d.ts +1 -1
- package/dist/types/dev-tools/launch-editor/index.d.ts +1 -2
- package/dist/types/dev-tools/mock/getMockData.d.ts +1 -2
- package/dist/types/dev-tools/mock/index.d.ts +1 -2
- package/dist/types/dev-tools/socket-server.d.ts +1 -1
- package/dist/types/index.d.ts +4 -5
- package/dist/types/server/{dev-server/dev-server-split.d.ts → dev-server-split.d.ts} +5 -4
- package/dist/types/server/{dev-server/dev-server.d.ts → dev-server.d.ts} +4 -3
- package/dist/types/server/index.d.ts +4 -19
- package/dist/types/types.d.ts +28 -0
- package/modern.config.js +5 -1
- package/package.json +8 -40
- package/tests/server.test.ts +10 -3
- package/dist/js/modern/constants.js +0 -26
- package/dist/js/modern/libs/context/context.js +0 -180
- package/dist/js/modern/libs/context/index.js +0 -3
- package/dist/js/modern/libs/hook-api/route.js +0 -39
- package/dist/js/modern/libs/hook-api/template.js +0 -61
- package/dist/js/modern/libs/metrics.js +0 -12
- package/dist/js/modern/libs/proxy.js +0 -33
- package/dist/js/modern/libs/render/cache/__tests__/cache.fun.test.js +0 -70
- package/dist/js/modern/libs/render/cache/__tests__/cache.test.js +0 -233
- package/dist/js/modern/libs/render/cache/__tests__/cacheable.js +0 -53
- package/dist/js/modern/libs/render/cache/__tests__/error-configuration.js +0 -35
- package/dist/js/modern/libs/render/cache/__tests__/matched-cache.js +0 -121
- package/dist/js/modern/libs/render/cache/index.js +0 -74
- package/dist/js/modern/libs/render/cache/page-caches/index.js +0 -9
- package/dist/js/modern/libs/render/cache/page-caches/lru.js +0 -35
- package/dist/js/modern/libs/render/cache/spr.js +0 -280
- package/dist/js/modern/libs/render/cache/util.js +0 -79
- package/dist/js/modern/libs/render/index.js +0 -65
- package/dist/js/modern/libs/render/modern/browser-list.js +0 -7
- package/dist/js/modern/libs/render/modern/index.js +0 -42
- package/dist/js/modern/libs/render/reader.js +0 -112
- package/dist/js/modern/libs/render/ssr.js +0 -58
- package/dist/js/modern/libs/render/static.js +0 -46
- package/dist/js/modern/libs/render/type.js +0 -7
- package/dist/js/modern/libs/route/index.js +0 -68
- package/dist/js/modern/libs/route/matcher.js +0 -94
- package/dist/js/modern/libs/route/route.js +0 -24
- package/dist/js/modern/libs/serve-file.js +0 -28
- package/dist/js/modern/server/dev-server/index.js +0 -2
- package/dist/js/modern/server/modern-server-split.js +0 -81
- package/dist/js/modern/server/modern-server.js +0 -584
- package/dist/js/modern/type.js +0 -1
- package/dist/js/modern/utils.js +0 -112
- package/dist/js/node/constants.js +0 -36
- package/dist/js/node/libs/context/context.js +0 -194
- package/dist/js/node/libs/context/index.js +0 -18
- package/dist/js/node/libs/hook-api/route.js +0 -48
- package/dist/js/node/libs/hook-api/template.js +0 -69
- package/dist/js/node/libs/metrics.js +0 -18
- package/dist/js/node/libs/proxy.js +0 -44
- package/dist/js/node/libs/render/cache/__tests__/cache.fun.test.js +0 -77
- package/dist/js/node/libs/render/cache/__tests__/cache.test.js +0 -238
- package/dist/js/node/libs/render/cache/__tests__/cacheable.js +0 -60
- package/dist/js/node/libs/render/cache/__tests__/error-configuration.js +0 -42
- package/dist/js/node/libs/render/cache/__tests__/matched-cache.js +0 -128
- package/dist/js/node/libs/render/cache/index.js +0 -86
- package/dist/js/node/libs/render/cache/page-caches/index.js +0 -17
- package/dist/js/node/libs/render/cache/page-caches/lru.js +0 -47
- package/dist/js/node/libs/render/cache/spr.js +0 -298
- package/dist/js/node/libs/render/cache/util.js +0 -105
- package/dist/js/node/libs/render/index.js +0 -91
- package/dist/js/node/libs/render/modern/browser-list.js +0 -14
- package/dist/js/node/libs/render/modern/index.js +0 -58
- package/dist/js/node/libs/render/reader.js +0 -139
- package/dist/js/node/libs/render/ssr.js +0 -76
- package/dist/js/node/libs/render/static.js +0 -62
- package/dist/js/node/libs/render/type.js +0 -14
- package/dist/js/node/libs/route/index.js +0 -83
- package/dist/js/node/libs/route/matcher.js +0 -108
- package/dist/js/node/libs/route/route.js +0 -33
- package/dist/js/node/libs/serve-file.js +0 -41
- package/dist/js/node/server/dev-server/index.js +0 -27
- package/dist/js/node/server/modern-server-split.js +0 -97
- package/dist/js/node/server/modern-server.js +0 -622
- package/dist/js/node/type.js +0 -5
- package/dist/js/node/utils.js +0 -143
- package/dist/types/constants.d.ts +0 -20
- package/dist/types/libs/context/context.d.ts +0 -61
- package/dist/types/libs/context/index.d.ts +0 -4
- package/dist/types/libs/hook-api/route.d.ts +0 -14
- package/dist/types/libs/hook-api/template.d.ts +0 -14
- package/dist/types/libs/metrics.d.ts +0 -3
- package/dist/types/libs/proxy.d.ts +0 -4
- package/dist/types/libs/render/cache/__tests__/cache.fun.test.d.ts +0 -1
- package/dist/types/libs/render/cache/__tests__/cache.test.d.ts +0 -1
- package/dist/types/libs/render/cache/__tests__/cacheable.d.ts +0 -62
- package/dist/types/libs/render/cache/__tests__/error-configuration.d.ts +0 -28
- package/dist/types/libs/render/cache/__tests__/matched-cache.d.ts +0 -124
- package/dist/types/libs/render/cache/index.d.ts +0 -6
- package/dist/types/libs/render/cache/page-caches/index.d.ts +0 -2
- package/dist/types/libs/render/cache/page-caches/lru.d.ts +0 -15
- package/dist/types/libs/render/cache/spr.d.ts +0 -24
- package/dist/types/libs/render/cache/type.d.ts +0 -48
- package/dist/types/libs/render/cache/util.d.ts +0 -17
- package/dist/types/libs/render/index.d.ts +0 -18
- package/dist/types/libs/render/modern/browser-list.d.ts +0 -1
- package/dist/types/libs/render/modern/index.d.ts +0 -3
- package/dist/types/libs/render/reader.d.ts +0 -18
- package/dist/types/libs/render/ssr.d.ts +0 -10
- package/dist/types/libs/render/static.d.ts +0 -3
- package/dist/types/libs/render/type.d.ts +0 -34
- package/dist/types/libs/route/index.d.ts +0 -15
- package/dist/types/libs/route/matcher.d.ts +0 -15
- package/dist/types/libs/route/route.d.ts +0 -14
- package/dist/types/libs/serve-file.d.ts +0 -8
- package/dist/types/server/dev-server/index.d.ts +0 -2
- package/dist/types/server/modern-server-split.d.ts +0 -26
- package/dist/types/server/modern-server.d.ts +0 -72
- package/dist/types/type.d.ts +0 -80
- package/dist/types/utils.d.ts +0 -19
- package/tests/context.test.ts +0 -52
- package/tests/fixtures/hosting-files/static/index.js +0 -1
- package/tests/fixtures/reader/index.ts +0 -3
- package/tests/fixtures/route-spec/dynamic.json +0 -13
- package/tests/fixtures/route-spec/index.json +0 -29
- package/tests/fixtures/ssr/bundle.js +0 -5
- package/tests/fixtures/static-dir/bar.html +0 -11
- package/tests/fixtures/static-dir/baz/index.html +0 -11
- package/tests/fixtures/static-dir/foo/index.html +0 -11
- package/tests/helper.ts +0 -8
- package/tests/hook.test.ts +0 -44
- package/tests/middleware.test.ts +0 -179
- package/tests/render.test.ts +0 -102
- package/tests/route.test.ts +0 -77
- package/tests/utils.test.ts +0 -106
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @modern-js/server
|
|
2
2
|
|
|
3
|
+
## 1.4.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 55e18278: chore: remove unused dependencies and devDependencies
|
|
8
|
+
- 02fb4146: support product server
|
|
9
|
+
- Updated dependencies [4c792f68]
|
|
10
|
+
- Updated dependencies [02fb4146]
|
|
11
|
+
- Updated dependencies [a7f42f48]
|
|
12
|
+
- @modern-js/utils@1.3.3
|
|
13
|
+
- @modern-js/prod-server@1.0.1
|
|
14
|
+
|
|
3
15
|
## 1.4.3
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import { fs } from '@modern-js/utils';
|
|
3
|
-
import { AGGRED_DIR } from
|
|
3
|
+
import { AGGRED_DIR } from '@modern-js/prod-server';
|
|
4
4
|
import getMockData, { getMatched } from "./getMockData";
|
|
5
5
|
export const createMockHandler = ({
|
|
6
6
|
pwd
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import ws from 'ws';
|
|
2
2
|
import { logger } from '@modern-js/utils';
|
|
3
|
-
import { noop } from "../utils";
|
|
4
3
|
export default class SocketServer {
|
|
5
4
|
constructor(options) {
|
|
6
5
|
this.wsServer = void 0;
|
|
@@ -41,7 +40,8 @@ export default class SocketServer {
|
|
|
41
40
|
extWs.terminate();
|
|
42
41
|
} else {
|
|
43
42
|
extWs.isAlive = false;
|
|
44
|
-
extWs.ping(
|
|
43
|
+
extWs.ping(() => {// empty
|
|
44
|
+
});
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
47
|
}, 30000);
|
package/dist/js/modern/index.js
CHANGED
|
File without changes
|
|
@@ -9,16 +9,13 @@ import path from 'path';
|
|
|
9
9
|
import { createServer as createHttpsServer } from 'https';
|
|
10
10
|
import { API_DIR, HMR_SOCK_PATH, SERVER_DIR, SHARED_DIR } from '@modern-js/utils';
|
|
11
11
|
import webpackDevMiddleware from 'webpack-dev-middleware';
|
|
12
|
-
import { ModernServer } from
|
|
13
|
-
import { createMockHandler } from "
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import {
|
|
18
|
-
import
|
|
19
|
-
import * as reader from "../../libs/render/reader";
|
|
20
|
-
import Watcher from "../../dev-tools/watcher";
|
|
21
|
-
import { AGGRED_DIR } from "../../constants";
|
|
12
|
+
import { createProxyHandler, ModernServer, AGGRED_DIR } from '@modern-js/prod-server';
|
|
13
|
+
import { createMockHandler } from "../dev-tools/mock";
|
|
14
|
+
import SocketServer from "../dev-tools/socket-server";
|
|
15
|
+
import DevServerPlugin from "../dev-tools/dev-server-plugin";
|
|
16
|
+
import { createLaunchEditorHandler } from "../dev-tools/launch-editor";
|
|
17
|
+
import { enableRegister } from "../dev-tools/babel/register";
|
|
18
|
+
import Watcher from "../dev-tools/watcher";
|
|
22
19
|
const DEFAULT_DEV_OPTIONS = {
|
|
23
20
|
client: {
|
|
24
21
|
port: '8080',
|
|
@@ -37,8 +34,7 @@ const DEFAULT_DEV_OPTIONS = {
|
|
|
37
34
|
};
|
|
38
35
|
export class ModernDevServer extends ModernServer {
|
|
39
36
|
constructor(options) {
|
|
40
|
-
super(options);
|
|
41
|
-
|
|
37
|
+
super(options);
|
|
42
38
|
this.devProxyHandler = null;
|
|
43
39
|
this.mockHandler = null;
|
|
44
40
|
this.dev = void 0;
|
|
@@ -46,6 +42,8 @@ export class ModernDevServer extends ModernServer {
|
|
|
46
42
|
this.socketServer = void 0;
|
|
47
43
|
this.watcher = void 0;
|
|
48
44
|
this.devMiddleware = void 0;
|
|
45
|
+
this.workDir = this.pwd; // set webpack compiler
|
|
46
|
+
|
|
49
47
|
this.compiler = options.compiler; // set dev server options, like webpack-dev-server
|
|
50
48
|
|
|
51
49
|
this.dev = typeof options.dev === 'boolean' ? DEFAULT_DEV_OPTIONS : _objectSpread(_objectSpread({}, DEFAULT_DEV_OPTIONS), options.dev);
|
|
@@ -107,7 +105,7 @@ export class ModernDevServer extends ModernServer {
|
|
|
107
105
|
this.router.reset(this.filterRoutes(options.routes || this.presetRoutes || []));
|
|
108
106
|
this.cleanSSRCache(); // reset static file
|
|
109
107
|
|
|
110
|
-
reader.updateFile();
|
|
108
|
+
this.reader.updateFile();
|
|
111
109
|
this.runner.reset();
|
|
112
110
|
}
|
|
113
111
|
|
|
@@ -143,13 +141,16 @@ export class ModernDevServer extends ModernServer {
|
|
|
143
141
|
if (devHttpsOption) {
|
|
144
142
|
const {
|
|
145
143
|
genHttpsOptions
|
|
146
|
-
} = require("
|
|
144
|
+
} = require("../dev-tools/https");
|
|
147
145
|
|
|
148
146
|
const httpsOptions = await genHttpsOptions(devHttpsOption);
|
|
149
147
|
return createHttpsServer(httpsOptions, handler);
|
|
150
148
|
} else {
|
|
151
149
|
return createServer(handler);
|
|
152
150
|
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
warmupSSRBundle() {// empty
|
|
153
154
|
} // set up plugin to each compiler
|
|
154
155
|
// register hooks for each compilation, update socket stats if recompiled
|
|
155
156
|
// start dev middleware
|
|
@@ -1,147 +1,24 @@
|
|
|
1
|
-
|
|
1
|
+
import { Server } from '@modern-js/prod-server';
|
|
2
|
+
import { ModernDevServer } from "./dev-server";
|
|
3
|
+
import { ModernAPIDevServer, ModernSSRDevServer } from "./dev-server-split";
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
import { initAppContext, initAppDir, loadUserConfig } from '@modern-js/core';
|
|
11
|
-
import { metrics as defaultMetrics } from "../libs/metrics";
|
|
12
|
-
import { ModernServer } from "./modern-server";
|
|
13
|
-
import { ModernAPIServer, ModernSSRServer, ModernWebServer } from "./modern-server-split";
|
|
14
|
-
export class Server {
|
|
15
|
-
constructor(options) {
|
|
16
|
-
this.options = void 0;
|
|
17
|
-
this.server = void 0;
|
|
18
|
-
this.app = void 0;
|
|
19
|
-
this.runner = void 0;
|
|
20
|
-
this.options = options;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
getRequestHandler() {
|
|
24
|
-
return (req, res, next) => {
|
|
25
|
-
const requestHandler = this.server.getRequestHandler();
|
|
26
|
-
return requestHandler(req, res, next);
|
|
27
|
-
};
|
|
5
|
+
const createDevServer = options => {
|
|
6
|
+
if (options.apiOnly) {
|
|
7
|
+
return new ModernAPIDevServer(options);
|
|
8
|
+
} else if (options.ssrOnly) {
|
|
9
|
+
return new ModernSSRDevServer(options);
|
|
10
|
+
} else {
|
|
11
|
+
return new ModernDevServer(options);
|
|
28
12
|
}
|
|
13
|
+
};
|
|
29
14
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
async init() {
|
|
35
|
-
const {
|
|
36
|
-
options
|
|
37
|
-
} = this;
|
|
38
|
-
options.logger = options.logger || defaultLogger;
|
|
39
|
-
options.metrics = options.metrics || defaultMetrics; // initialize server
|
|
15
|
+
export class DevServer extends Server {
|
|
16
|
+
constructor(options) {
|
|
17
|
+
super(options);
|
|
40
18
|
|
|
41
19
|
if (options.dev) {
|
|
42
|
-
this.
|
|
43
|
-
} else {
|
|
44
|
-
this.server = this.createProdServer();
|
|
45
|
-
} // check if https is configured when start dev server
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
this.app = await this.server.createHTTPServer(this.getRequestHandler());
|
|
49
|
-
this.runner = await this.createHookRunner(); // runner can only be used after server init
|
|
50
|
-
|
|
51
|
-
await this.server.init(this.runner);
|
|
52
|
-
return this;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
listen(port = 8080, listener) {
|
|
56
|
-
this.app.listen(process.env.PORT || port, () => {
|
|
57
|
-
if (listener) {
|
|
58
|
-
listener();
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
this.listener(this.app);
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
listener(app) {
|
|
66
|
-
this.server.onListening(app);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
async close() {
|
|
70
|
-
await this.server.close();
|
|
71
|
-
await new Promise(resolve => this.app.close(() => {
|
|
72
|
-
resolve();
|
|
73
|
-
}));
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
createProdServer() {
|
|
77
|
-
const {
|
|
78
|
-
options
|
|
79
|
-
} = this;
|
|
80
|
-
|
|
81
|
-
if (options.apiOnly) {
|
|
82
|
-
return new ModernAPIServer(options);
|
|
83
|
-
} else if (options.ssrOnly) {
|
|
84
|
-
return new ModernSSRServer(options);
|
|
85
|
-
} else if (options.webOnly) {
|
|
86
|
-
return new ModernWebServer(options);
|
|
87
|
-
} else {
|
|
88
|
-
return new ModernServer(options);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
createDevServer() {
|
|
93
|
-
const {
|
|
94
|
-
options
|
|
95
|
-
} = this;
|
|
96
|
-
|
|
97
|
-
const {
|
|
98
|
-
ModernAPIDevServer,
|
|
99
|
-
ModernSSRDevServer,
|
|
100
|
-
ModernDevServer
|
|
101
|
-
} = require("./dev-server");
|
|
102
|
-
|
|
103
|
-
if (options.apiOnly) {
|
|
104
|
-
return new ModernAPIDevServer(options);
|
|
105
|
-
} else if (options.ssrOnly) {
|
|
106
|
-
return new ModernSSRDevServer(options);
|
|
107
|
-
} else {
|
|
108
|
-
return new ModernDevServer(options);
|
|
20
|
+
this.serverImpl = createDevServer;
|
|
109
21
|
}
|
|
110
22
|
}
|
|
111
23
|
|
|
112
|
-
async createHookRunner() {
|
|
113
|
-
var _options$plugins;
|
|
114
|
-
|
|
115
|
-
const {
|
|
116
|
-
options
|
|
117
|
-
} = this;
|
|
118
|
-
serverManager.clear();
|
|
119
|
-
(_options$plugins = options.plugins) === null || _options$plugins === void 0 ? void 0 : _options$plugins.forEach(p => {
|
|
120
|
-
serverManager.usePlugin(compatRequire(p.pluginPath));
|
|
121
|
-
});
|
|
122
|
-
const appContext = await this.initAppContext();
|
|
123
|
-
serverManager.run(() => {
|
|
124
|
-
var _options$config$outpu;
|
|
125
|
-
|
|
126
|
-
ConfigContext.set(this.options.config);
|
|
127
|
-
AppContext.set(_objectSpread(_objectSpread({}, appContext), {}, {
|
|
128
|
-
distDirectory: path.join(options.pwd, ((_options$config$outpu = options.config.output) === null || _options$config$outpu === void 0 ? void 0 : _options$config$outpu.path) || 'dist')
|
|
129
|
-
}));
|
|
130
|
-
});
|
|
131
|
-
return serverManager.init({});
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
async initAppContext() {
|
|
135
|
-
var _this$options$plugins;
|
|
136
|
-
|
|
137
|
-
const appDirectory = await initAppDir();
|
|
138
|
-
const loaded = await loadUserConfig(appDirectory);
|
|
139
|
-
const plugins = (_this$options$plugins = this.options.plugins) === null || _this$options$plugins === void 0 ? void 0 : _this$options$plugins.map(p => ({
|
|
140
|
-
server: p,
|
|
141
|
-
cli: undefined
|
|
142
|
-
}));
|
|
143
|
-
const appContext = initAppContext(appDirectory, plugins || [], loaded.filePath);
|
|
144
|
-
return appContext;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
24
|
}
|
|
File without changes
|
|
@@ -9,7 +9,7 @@ var _path = _interopRequireDefault(require("path"));
|
|
|
9
9
|
|
|
10
10
|
var _utils = require("@modern-js/utils");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _prodServer = require("@modern-js/prod-server");
|
|
13
13
|
|
|
14
14
|
var _getMockData = _interopRequireWildcard(require("./getMockData"));
|
|
15
15
|
|
|
@@ -26,7 +26,7 @@ const createMockHandler = ({
|
|
|
26
26
|
let filepath = '';
|
|
27
27
|
|
|
28
28
|
for (const ext of exts) {
|
|
29
|
-
const maybeMatch = _path.default.join(pwd, `${
|
|
29
|
+
const maybeMatch = _path.default.join(pwd, `${_prodServer.AGGRED_DIR.mock}/index${ext}`);
|
|
30
30
|
|
|
31
31
|
if (_utils.fs.existsSync(maybeMatch)) {
|
|
32
32
|
filepath = maybeMatch;
|
|
@@ -9,8 +9,6 @@ var _ws = _interopRequireDefault(require("ws"));
|
|
|
9
9
|
|
|
10
10
|
var _utils = require("@modern-js/utils");
|
|
11
11
|
|
|
12
|
-
var _utils2 = require("../utils");
|
|
13
|
-
|
|
14
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
13
|
|
|
16
14
|
class SocketServer {
|
|
@@ -53,7 +51,8 @@ class SocketServer {
|
|
|
53
51
|
extWs.terminate();
|
|
54
52
|
} else {
|
|
55
53
|
extWs.isAlive = false;
|
|
56
|
-
extWs.ping(
|
|
54
|
+
extWs.ping(() => {// empty
|
|
55
|
+
});
|
|
57
56
|
}
|
|
58
57
|
});
|
|
59
58
|
}, 30000);
|
package/dist/js/node/index.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
Object.defineProperty(exports, "Server", {
|
|
7
7
|
enumerable: true,
|
|
8
8
|
get: function () {
|
|
9
|
-
return _server.
|
|
9
|
+
return _server.DevServer;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
12
|
exports.default = void 0;
|
|
@@ -18,7 +18,7 @@ var _default = options => {
|
|
|
18
18
|
throw new Error('can not start mserver without options');
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
const server = new _server.
|
|
21
|
+
const server = new _server.DevServer(options);
|
|
22
22
|
return server.init();
|
|
23
23
|
};
|
|
24
24
|
|
|
File without changes
|
|
@@ -15,29 +15,19 @@ var _utils = require("@modern-js/utils");
|
|
|
15
15
|
|
|
16
16
|
var _webpackDevMiddleware = _interopRequireDefault(require("webpack-dev-middleware"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _prodServer = require("@modern-js/prod-server");
|
|
19
19
|
|
|
20
|
-
var _mock = require("
|
|
20
|
+
var _mock = require("../dev-tools/mock");
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _socketServer = _interopRequireDefault(require("../dev-tools/socket-server"));
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _devServerPlugin = _interopRequireDefault(require("../dev-tools/dev-server-plugin"));
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _launchEditor = require("../dev-tools/launch-editor");
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _register = require("../dev-tools/babel/register");
|
|
29
29
|
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
var reader = _interopRequireWildcard(require("../../libs/render/reader"));
|
|
33
|
-
|
|
34
|
-
var _watcher = _interopRequireDefault(require("../../dev-tools/watcher"));
|
|
35
|
-
|
|
36
|
-
var _constants = require("../../constants");
|
|
37
|
-
|
|
38
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
39
|
-
|
|
40
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
30
|
+
var _watcher = _interopRequireDefault(require("../dev-tools/watcher"));
|
|
41
31
|
|
|
42
32
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
43
33
|
|
|
@@ -64,10 +54,9 @@ const DEFAULT_DEV_OPTIONS = {
|
|
|
64
54
|
liveReload: true
|
|
65
55
|
};
|
|
66
56
|
|
|
67
|
-
class ModernDevServer extends
|
|
57
|
+
class ModernDevServer extends _prodServer.ModernServer {
|
|
68
58
|
constructor(options) {
|
|
69
|
-
super(options);
|
|
70
|
-
|
|
59
|
+
super(options);
|
|
71
60
|
this.devProxyHandler = null;
|
|
72
61
|
this.mockHandler = null;
|
|
73
62
|
this.dev = void 0;
|
|
@@ -75,6 +64,8 @@ class ModernDevServer extends _modernServer.ModernServer {
|
|
|
75
64
|
this.socketServer = void 0;
|
|
76
65
|
this.watcher = void 0;
|
|
77
66
|
this.devMiddleware = void 0;
|
|
67
|
+
this.workDir = this.pwd; // set webpack compiler
|
|
68
|
+
|
|
78
69
|
this.compiler = options.compiler; // set dev server options, like webpack-dev-server
|
|
79
70
|
|
|
80
71
|
this.dev = typeof options.dev === 'boolean' ? DEFAULT_DEV_OPTIONS : _objectSpread(_objectSpread({}, DEFAULT_DEV_OPTIONS), options.dev);
|
|
@@ -105,7 +96,7 @@ class ModernDevServer extends _modernServer.ModernServer {
|
|
|
105
96
|
}
|
|
106
97
|
}); // dev proxy handler, each proxy has own handler
|
|
107
98
|
|
|
108
|
-
this.devProxyHandler = (0,
|
|
99
|
+
this.devProxyHandler = (0, _prodServer.createProxyHandler)((_conf$tools = conf.tools) === null || _conf$tools === void 0 ? void 0 : (_conf$tools$devServer = _conf$tools.devServer) === null || _conf$tools$devServer === void 0 ? void 0 : _conf$tools$devServer.proxy);
|
|
109
100
|
|
|
110
101
|
if (this.devProxyHandler) {
|
|
111
102
|
this.devProxyHandler.forEach(handler => {
|
|
@@ -136,7 +127,7 @@ class ModernDevServer extends _modernServer.ModernServer {
|
|
|
136
127
|
this.router.reset(this.filterRoutes(options.routes || this.presetRoutes || []));
|
|
137
128
|
this.cleanSSRCache(); // reset static file
|
|
138
129
|
|
|
139
|
-
reader.updateFile();
|
|
130
|
+
this.reader.updateFile();
|
|
140
131
|
this.runner.reset();
|
|
141
132
|
}
|
|
142
133
|
|
|
@@ -172,13 +163,16 @@ class ModernDevServer extends _modernServer.ModernServer {
|
|
|
172
163
|
if (devHttpsOption) {
|
|
173
164
|
const {
|
|
174
165
|
genHttpsOptions
|
|
175
|
-
} = require("
|
|
166
|
+
} = require("../dev-tools/https");
|
|
176
167
|
|
|
177
168
|
const httpsOptions = await genHttpsOptions(devHttpsOption);
|
|
178
169
|
return (0, _https.createServer)(httpsOptions, handler);
|
|
179
170
|
} else {
|
|
180
171
|
return (0, _http.createServer)(handler);
|
|
181
172
|
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
warmupSSRBundle() {// empty
|
|
182
176
|
} // set up plugin to each compiler
|
|
183
177
|
// register hooks for each compilation, update socket stats if recompiled
|
|
184
178
|
// start dev middleware
|
|
@@ -278,7 +272,7 @@ class ModernDevServer extends _modernServer.ModernServer {
|
|
|
278
272
|
} = this;
|
|
279
273
|
const {
|
|
280
274
|
mock
|
|
281
|
-
} =
|
|
275
|
+
} = _prodServer.AGGRED_DIR;
|
|
282
276
|
const defaultWatched = [`${mock}/**/*`, `${_utils.SERVER_DIR}/**/*`, `${_utils.API_DIR}/**`, `${_utils.SHARED_DIR}/**/*`];
|
|
283
277
|
const defaultWatchedPaths = defaultWatched.map(p => _path.default.normalize(_path.default.join(pwd, p)));
|
|
284
278
|
|
|
@@ -3,168 +3,33 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.DevServer = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _prodServer = require("@modern-js/prod-server");
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _devServer = require("./dev-server");
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _devServerSplit = require("./dev-server-split");
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
24
|
-
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; }
|
|
25
|
-
|
|
26
|
-
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; }
|
|
27
|
-
|
|
28
|
-
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; }
|
|
29
|
-
|
|
30
|
-
class Server {
|
|
31
|
-
constructor(options) {
|
|
32
|
-
this.options = void 0;
|
|
33
|
-
this.server = void 0;
|
|
34
|
-
this.app = void 0;
|
|
35
|
-
this.runner = void 0;
|
|
36
|
-
this.options = options;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
getRequestHandler() {
|
|
40
|
-
return (req, res, next) => {
|
|
41
|
-
const requestHandler = this.server.getRequestHandler();
|
|
42
|
-
return requestHandler(req, res, next);
|
|
43
|
-
};
|
|
14
|
+
const createDevServer = options => {
|
|
15
|
+
if (options.apiOnly) {
|
|
16
|
+
return new _devServerSplit.ModernAPIDevServer(options);
|
|
17
|
+
} else if (options.ssrOnly) {
|
|
18
|
+
return new _devServerSplit.ModernSSRDevServer(options);
|
|
19
|
+
} else {
|
|
20
|
+
return new _devServer.ModernDevServer(options);
|
|
44
21
|
}
|
|
22
|
+
};
|
|
45
23
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
async init() {
|
|
51
|
-
const {
|
|
52
|
-
options
|
|
53
|
-
} = this;
|
|
54
|
-
options.logger = options.logger || _utils.logger;
|
|
55
|
-
options.metrics = options.metrics || _metrics.metrics; // initialize server
|
|
24
|
+
class DevServer extends _prodServer.Server {
|
|
25
|
+
constructor(options) {
|
|
26
|
+
super(options);
|
|
56
27
|
|
|
57
28
|
if (options.dev) {
|
|
58
|
-
this.
|
|
59
|
-
} else {
|
|
60
|
-
this.server = this.createProdServer();
|
|
61
|
-
} // check if https is configured when start dev server
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
this.app = await this.server.createHTTPServer(this.getRequestHandler());
|
|
65
|
-
this.runner = await this.createHookRunner(); // runner can only be used after server init
|
|
66
|
-
|
|
67
|
-
await this.server.init(this.runner);
|
|
68
|
-
return this;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
listen(port = 8080, listener) {
|
|
72
|
-
this.app.listen(process.env.PORT || port, () => {
|
|
73
|
-
if (listener) {
|
|
74
|
-
listener();
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
this.listener(this.app);
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
listener(app) {
|
|
82
|
-
this.server.onListening(app);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
async close() {
|
|
86
|
-
await this.server.close();
|
|
87
|
-
await new Promise(resolve => this.app.close(() => {
|
|
88
|
-
resolve();
|
|
89
|
-
}));
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
createProdServer() {
|
|
93
|
-
const {
|
|
94
|
-
options
|
|
95
|
-
} = this;
|
|
96
|
-
|
|
97
|
-
if (options.apiOnly) {
|
|
98
|
-
return new _modernServerSplit.ModernAPIServer(options);
|
|
99
|
-
} else if (options.ssrOnly) {
|
|
100
|
-
return new _modernServerSplit.ModernSSRServer(options);
|
|
101
|
-
} else if (options.webOnly) {
|
|
102
|
-
return new _modernServerSplit.ModernWebServer(options);
|
|
103
|
-
} else {
|
|
104
|
-
return new _modernServer.ModernServer(options);
|
|
29
|
+
this.serverImpl = createDevServer;
|
|
105
30
|
}
|
|
106
31
|
}
|
|
107
32
|
|
|
108
|
-
createDevServer() {
|
|
109
|
-
const {
|
|
110
|
-
options
|
|
111
|
-
} = this;
|
|
112
|
-
|
|
113
|
-
const {
|
|
114
|
-
ModernAPIDevServer,
|
|
115
|
-
ModernSSRDevServer,
|
|
116
|
-
ModernDevServer
|
|
117
|
-
} = require("./dev-server");
|
|
118
|
-
|
|
119
|
-
if (options.apiOnly) {
|
|
120
|
-
return new ModernAPIDevServer(options);
|
|
121
|
-
} else if (options.ssrOnly) {
|
|
122
|
-
return new ModernSSRDevServer(options);
|
|
123
|
-
} else {
|
|
124
|
-
return new ModernDevServer(options);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
async createHookRunner() {
|
|
129
|
-
var _options$plugins;
|
|
130
|
-
|
|
131
|
-
const {
|
|
132
|
-
options
|
|
133
|
-
} = this;
|
|
134
|
-
|
|
135
|
-
_serverCore.serverManager.clear();
|
|
136
|
-
|
|
137
|
-
(_options$plugins = options.plugins) === null || _options$plugins === void 0 ? void 0 : _options$plugins.forEach(p => {
|
|
138
|
-
_serverCore.serverManager.usePlugin((0, _utils.compatRequire)(p.pluginPath));
|
|
139
|
-
});
|
|
140
|
-
const appContext = await this.initAppContext();
|
|
141
|
-
|
|
142
|
-
_serverCore.serverManager.run(() => {
|
|
143
|
-
var _options$config$outpu;
|
|
144
|
-
|
|
145
|
-
_serverCore.ConfigContext.set(this.options.config);
|
|
146
|
-
|
|
147
|
-
_serverCore.AppContext.set(_objectSpread(_objectSpread({}, appContext), {}, {
|
|
148
|
-
distDirectory: _path.default.join(options.pwd, ((_options$config$outpu = options.config.output) === null || _options$config$outpu === void 0 ? void 0 : _options$config$outpu.path) || 'dist')
|
|
149
|
-
}));
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
return _serverCore.serverManager.init({});
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
async initAppContext() {
|
|
156
|
-
var _this$options$plugins;
|
|
157
|
-
|
|
158
|
-
const appDirectory = await (0, _core.initAppDir)();
|
|
159
|
-
const loaded = await (0, _core.loadUserConfig)(appDirectory);
|
|
160
|
-
const plugins = (_this$options$plugins = this.options.plugins) === null || _this$options$plugins === void 0 ? void 0 : _this$options$plugins.map(p => ({
|
|
161
|
-
server: p,
|
|
162
|
-
cli: undefined
|
|
163
|
-
}));
|
|
164
|
-
const appContext = (0, _core.initAppContext)(appDirectory, plugins || [], loaded.filePath);
|
|
165
|
-
return appContext;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
33
|
}
|
|
169
34
|
|
|
170
|
-
exports.
|
|
35
|
+
exports.DevServer = DevServer;
|
|
File without changes
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ModernServerOptions } from '
|
|
1
|
+
import { ModernServerOptions } from '@modern-js/prod-server';
|
|
2
2
|
export declare const enableRegister: (projectRoot: string, config: ModernServerOptions['config']) => any;
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { ModernServerContext } from '
|
|
2
|
-
import { NextFunction } from '../../type';
|
|
1
|
+
import { ModernServerContext, NextFunction } from '@modern-js/types';
|
|
3
2
|
export declare const createLaunchEditorHandler: () => (ctx: ModernServerContext, next: NextFunction) => void;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { IncomingMessage, ServerResponse } from 'http';
|
|
3
|
-
import { NextFunction } from '
|
|
4
|
-
import { ModernServerContext } from '../../libs/context';
|
|
3
|
+
import { ModernServerContext, NextFunction } from '@modern-js/types';
|
|
5
4
|
export declare type MockConfig = Record<string, {
|
|
6
5
|
data: any;
|
|
7
6
|
} | ((req: IncomingMessage, res: ServerResponse, next: NextFunction) => Promise<void>)>;
|