@modern-js/server 2.0.0-beta.4 → 2.0.0-beta.7
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 +99 -0
- package/dist/js/modern/dev-tools/dev-middleware/hmr-client/index.js +2 -2
- package/dist/js/modern/dev-tools/dev-middleware/index.js +22 -52
- package/dist/js/modern/dev-tools/https/index.js +19 -2
- package/dist/js/modern/index.js +1 -1
- package/dist/js/modern/server/dev-server.js +1 -2
- package/dist/js/node/constants.js +7 -3
- package/dist/js/node/dev-tools/dev-middleware/hmr-client/createSocketUrl.js +8 -3
- package/dist/js/node/dev-tools/dev-middleware/hmr-client/index.js +2 -2
- package/dist/js/node/dev-tools/dev-middleware/index.js +45 -75
- package/dist/js/node/dev-tools/dev-middleware/socket-server.js +5 -3
- package/dist/js/node/dev-tools/https/index.js +28 -13
- package/dist/js/node/dev-tools/mock/getMockData.js +29 -27
- package/dist/js/node/dev-tools/mock/index.js +13 -9
- package/dist/js/node/dev-tools/register/index.js +24 -22
- package/dist/js/node/dev-tools/watcher/dependency-tree.js +8 -3
- package/dist/js/node/dev-tools/watcher/index.js +23 -19
- package/dist/js/node/dev-tools/watcher/stats-cache.js +7 -3
- package/dist/js/node/index.js +8 -4
- package/dist/js/node/server/dev-server.js +39 -54
- package/dist/js/node/server/index.js +7 -3
- package/dist/js/node/types.js +15 -0
- package/dist/js/treeshaking/dev-tools/dev-middleware/hmr-client/index.js +156 -156
- package/dist/js/treeshaking/dev-tools/dev-middleware/index.js +23 -65
- package/dist/js/treeshaking/dev-tools/https/index.js +39 -7
- package/dist/js/treeshaking/index.js +1 -1
- package/dist/js/treeshaking/server/dev-server.js +1 -2
- package/dist/types/dev-tools/dev-middleware/index.d.ts +1 -8
- package/dist/types/dev-tools/https/index.d.ts +1 -1
- package/dist/types/types.d.ts +22 -5
- package/package.json +13 -10
- package/dist/js/modern/dev-tools/dev-middleware/dev-server-plugin.js +0 -32
- package/dist/js/node/dev-tools/dev-middleware/dev-server-plugin.js +0 -57
- package/dist/js/treeshaking/dev-tools/dev-middleware/dev-server-plugin.js +0 -74
- package/dist/types/dev-tools/dev-middleware/dev-server-plugin.d.ts +0 -8
- package/temp-fix-hmr.js +0 -483
|
@@ -1,157 +1,157 @@
|
|
|
1
1
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
2
|
+
var __commonJS = function(cb, mod) {
|
|
3
|
+
return function __require() {
|
|
4
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = {
|
|
5
|
+
exports: {}
|
|
6
|
+
}).exports, mod), mod.exports;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
import stripAnsi from "@modern-js/utils/strip-ansi";
|
|
10
|
+
import { formatWebpackMessages } from "@modern-js/utils/format";
|
|
11
|
+
import { createSocketUrl } from "./createSocketUrl";
|
|
12
|
+
var require_hmr_client = __commonJS({
|
|
13
|
+
"src/dev-tools/dev-middleware/hmr-client/index.ts": function(exports, module) {
|
|
14
|
+
var clearOutdatedErrors = function clearOutdatedErrors() {
|
|
15
|
+
if (typeof console !== "undefined" && typeof console.clear === "function") {
|
|
16
|
+
if (hasCompileErrors) {
|
|
17
|
+
console.clear();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
var handleSuccess = function handleSuccess() {
|
|
22
|
+
clearOutdatedErrors();
|
|
23
|
+
var isHotUpdate = !isFirstCompilation;
|
|
24
|
+
isFirstCompilation = false;
|
|
25
|
+
hasCompileErrors = false;
|
|
26
|
+
if (isHotUpdate) {
|
|
27
|
+
tryApplyUpdates();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
var handleWarnings = function handleWarnings(warnings) {
|
|
31
|
+
clearOutdatedErrors();
|
|
32
|
+
var isHotUpdate = !isFirstCompilation;
|
|
33
|
+
isFirstCompilation = false;
|
|
34
|
+
hasCompileErrors = false;
|
|
35
|
+
function printWarnings() {
|
|
36
|
+
var formatted = formatWebpackMessages({
|
|
37
|
+
warnings: warnings,
|
|
38
|
+
errors: []
|
|
39
|
+
});
|
|
40
|
+
if (typeof console !== "undefined" && typeof console.warn === "function") {
|
|
41
|
+
for(var i = 0; i < formatted.warnings.length; i++){
|
|
42
|
+
if (i === 5) {
|
|
43
|
+
console.warn("There were more warnings in other files.\nYou can find a complete log in the terminal.");
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
console.warn(stripAnsi(formatted.warnings[i]));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
printWarnings();
|
|
51
|
+
if (isHotUpdate) {
|
|
52
|
+
tryApplyUpdates();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
var handleErrors = function handleErrors(errors) {
|
|
56
|
+
clearOutdatedErrors();
|
|
57
|
+
isFirstCompilation = false;
|
|
58
|
+
hasCompileErrors = true;
|
|
59
|
+
var formatted = formatWebpackMessages({
|
|
60
|
+
errors: errors,
|
|
61
|
+
warnings: []
|
|
62
|
+
});
|
|
63
|
+
if (typeof console !== "undefined" && typeof console.error === "function") {
|
|
64
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
65
|
+
try {
|
|
66
|
+
for(var _iterator = formatted.errors[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
67
|
+
var error = _step.value;
|
|
68
|
+
console.error(stripAnsi(error));
|
|
69
|
+
}
|
|
70
|
+
} catch (err) {
|
|
71
|
+
_didIteratorError = true;
|
|
72
|
+
_iteratorError = err;
|
|
73
|
+
} finally{
|
|
74
|
+
try {
|
|
75
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
76
|
+
_iterator.return();
|
|
77
|
+
}
|
|
78
|
+
} finally{
|
|
79
|
+
if (_didIteratorError) {
|
|
80
|
+
throw _iteratorError;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
var handleAvailableHash = function handleAvailableHash(hash) {
|
|
87
|
+
mostRecentCompilationHash = hash;
|
|
88
|
+
};
|
|
89
|
+
var isUpdateAvailable = function isUpdateAvailable() {
|
|
90
|
+
return mostRecentCompilationHash !== __webpack_hash__;
|
|
91
|
+
};
|
|
92
|
+
var canApplyUpdates = function canApplyUpdates() {
|
|
93
|
+
return module.hot.status() === "idle";
|
|
94
|
+
};
|
|
95
|
+
var hadRuntimeError = false;
|
|
96
|
+
var socketUrl = createSocketUrl(__resourceQuery);
|
|
97
|
+
var connection = new WebSocket(socketUrl);
|
|
98
|
+
connection.onclose = function() {
|
|
99
|
+
if (typeof console !== "undefined" && typeof console.info === "function") {
|
|
100
|
+
console.info("The development server has disconnected.\nRefresh the page if necessary.");
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
var isFirstCompilation = true;
|
|
104
|
+
var mostRecentCompilationHash = null;
|
|
105
|
+
var hasCompileErrors = false;
|
|
106
|
+
connection.onmessage = function(e) {
|
|
107
|
+
var message = JSON.parse(e.data);
|
|
108
|
+
switch(message.type){
|
|
109
|
+
case "hash":
|
|
110
|
+
handleAvailableHash(message.data);
|
|
111
|
+
break;
|
|
112
|
+
case "still-ok":
|
|
113
|
+
case "ok":
|
|
114
|
+
handleSuccess();
|
|
115
|
+
break;
|
|
116
|
+
case "content-changed":
|
|
117
|
+
window.location.reload();
|
|
118
|
+
break;
|
|
119
|
+
case "warnings":
|
|
120
|
+
handleWarnings(message.data);
|
|
121
|
+
break;
|
|
122
|
+
case "errors":
|
|
123
|
+
handleErrors(message.data);
|
|
124
|
+
break;
|
|
125
|
+
default:
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
function tryApplyUpdates() {
|
|
129
|
+
if (!module.hot) {
|
|
130
|
+
window.location.reload();
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
if (!isUpdateAvailable() || !canApplyUpdates()) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
function handleApplyUpdates(err, updatedModules) {
|
|
137
|
+
var wantsForcedReload = err || !updatedModules || hadRuntimeError;
|
|
138
|
+
if (wantsForcedReload) {
|
|
139
|
+
window.location.reload();
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if (isUpdateAvailable()) {
|
|
143
|
+
tryApplyUpdates();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
var result = module.hot.check(true, handleApplyUpdates);
|
|
147
|
+
if (result === null || result === void 0 ? void 0 : result.then) {
|
|
148
|
+
result.then(function(updatedModules) {
|
|
149
|
+
handleApplyUpdates(null, updatedModules);
|
|
150
|
+
}, function(err) {
|
|
151
|
+
handleApplyUpdates(err, null);
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
export default require_hmr_client();
|
|
@@ -236,29 +236,30 @@ var __generator = this && this.__generator || function(thisArg, body) {
|
|
|
236
236
|
}
|
|
237
237
|
};
|
|
238
238
|
import { EventEmitter } from "events";
|
|
239
|
-
import webpackDevMiddleware from "@modern-js/utils/webpack-dev-middleware";
|
|
240
|
-
import DevServerPlugin from "./dev-server-plugin";
|
|
241
239
|
import SocketServer from "./socket-server";
|
|
242
240
|
var noop = function() {};
|
|
241
|
+
function getHMRClientPath(client) {
|
|
242
|
+
var host = (client === null || client === void 0 ? void 0 : client.host) ? "&host=".concat(client.host) : "";
|
|
243
|
+
var path = (client === null || client === void 0 ? void 0 : client.path) ? "&path=".concat(client.path) : "";
|
|
244
|
+
var port = (client === null || client === void 0 ? void 0 : client.port) ? "&port=".concat(client.port) : "";
|
|
245
|
+
var clientEntry = "".concat(require.resolve("./hmr-client"), "?").concat(host).concat(path).concat(port);
|
|
246
|
+
return clientEntry;
|
|
247
|
+
}
|
|
243
248
|
var DevMiddleware = /*#__PURE__*/ function(EventEmitter) {
|
|
244
249
|
"use strict";
|
|
245
250
|
_inherits(DevMiddleware, EventEmitter);
|
|
246
251
|
var _super = _createSuper(DevMiddleware);
|
|
247
252
|
function DevMiddleware(param) {
|
|
248
|
-
var
|
|
253
|
+
var dev = param.dev, devMiddleware = param.devMiddleware;
|
|
249
254
|
_classCallCheck(this, DevMiddleware);
|
|
250
255
|
var _this;
|
|
251
256
|
_this = _super.call(this);
|
|
252
257
|
_defineProperty(_assertThisInitialized(_this), "middleware", void 0);
|
|
253
|
-
_defineProperty(_assertThisInitialized(_this), "compiler", void 0);
|
|
254
258
|
_defineProperty(_assertThisInitialized(_this), "devOptions", void 0);
|
|
255
259
|
_defineProperty(_assertThisInitialized(_this), "socketServer", void 0);
|
|
256
|
-
_this.compiler = compiler;
|
|
257
260
|
_this.devOptions = dev;
|
|
258
261
|
_this.socketServer = new SocketServer(dev);
|
|
259
|
-
if (
|
|
260
|
-
_this.setupDevServerPlugin();
|
|
261
|
-
_this.setupHooks();
|
|
262
|
+
if (devMiddleware) {
|
|
262
263
|
_this.middleware = _this.setupDevMiddleware(devMiddleware);
|
|
263
264
|
}
|
|
264
265
|
return _this;
|
|
@@ -284,22 +285,6 @@ var DevMiddleware = /*#__PURE__*/ function(EventEmitter) {
|
|
|
284
285
|
}));
|
|
285
286
|
}
|
|
286
287
|
},
|
|
287
|
-
{
|
|
288
|
-
key: "setupDevServerPlugin",
|
|
289
|
-
value: function setupDevServerPlugin() {
|
|
290
|
-
var _this = this;
|
|
291
|
-
var devOptions = this.devOptions;
|
|
292
|
-
if (this.compiler.compilers) {
|
|
293
|
-
this.compiler.compilers.forEach(function(target) {
|
|
294
|
-
if (_this.isClientCompiler(target)) {
|
|
295
|
-
new DevServerPlugin(devOptions).apply(target);
|
|
296
|
-
}
|
|
297
|
-
});
|
|
298
|
-
} else {
|
|
299
|
-
new DevServerPlugin(devOptions).apply(this.compiler);
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
},
|
|
303
288
|
{
|
|
304
289
|
key: "sockWrite",
|
|
305
290
|
value: function sockWrite(type, data) {
|
|
@@ -307,55 +292,28 @@ var DevMiddleware = /*#__PURE__*/ function(EventEmitter) {
|
|
|
307
292
|
}
|
|
308
293
|
},
|
|
309
294
|
{
|
|
310
|
-
key: "
|
|
311
|
-
value: function
|
|
295
|
+
key: "setupDevMiddleware",
|
|
296
|
+
value: function setupDevMiddleware(devMiddleware) {
|
|
312
297
|
var _this = this;
|
|
313
|
-
var
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
}
|
|
320
|
-
var _hooks = compiler.hooks, compile = _hooks.compile, invalid = _hooks.invalid, done = _hooks.done;
|
|
321
|
-
compile.tap("modern-dev-server", invalidPlugin);
|
|
322
|
-
invalid.tap("modern-dev-server", invalidPlugin);
|
|
323
|
-
done.tap("modern-dev-server", function(stats) {
|
|
298
|
+
var devOptions = this.devOptions;
|
|
299
|
+
var callbacks = {
|
|
300
|
+
onInvalid: function() {
|
|
301
|
+
_this.socketServer.sockWrite("invalid");
|
|
302
|
+
},
|
|
303
|
+
onDone: function(stats) {
|
|
324
304
|
_this.socketServer.updateStats(stats);
|
|
325
305
|
_this.emit("change", stats);
|
|
326
|
-
}
|
|
306
|
+
}
|
|
327
307
|
};
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
} else {
|
|
331
|
-
addHooks(this.compiler);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
},
|
|
335
|
-
{
|
|
336
|
-
key: "setupDevMiddleware",
|
|
337
|
-
value: function setupDevMiddleware() {
|
|
338
|
-
var devMiddleware = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : webpackDevMiddleware;
|
|
339
|
-
var devOptions = this.devOptions;
|
|
340
|
-
var middleware = devMiddleware(this.compiler, _objectSpread({
|
|
308
|
+
var enableHMR = this.devOptions.hot || this.devOptions.liveReload;
|
|
309
|
+
var middleware = devMiddleware(_objectSpread({
|
|
341
310
|
headers: devOptions.headers,
|
|
342
|
-
stats: false
|
|
311
|
+
stats: false,
|
|
312
|
+
callbacks: callbacks,
|
|
313
|
+
hmrClientPath: enableHMR ? getHMRClientPath(devOptions.client) : void 0
|
|
343
314
|
}, devOptions.devMiddleware));
|
|
344
315
|
return middleware;
|
|
345
316
|
}
|
|
346
|
-
},
|
|
347
|
-
{
|
|
348
|
-
key: "isClientCompiler",
|
|
349
|
-
value: function isClientCompiler(compiler) {
|
|
350
|
-
var target = compiler.options.target;
|
|
351
|
-
if (target) {
|
|
352
|
-
if (Array.isArray(target)) {
|
|
353
|
-
return !target.includes("node");
|
|
354
|
-
}
|
|
355
|
-
return target !== "node";
|
|
356
|
-
}
|
|
357
|
-
return compiler.name === "client";
|
|
358
|
-
}
|
|
359
317
|
}
|
|
360
318
|
]);
|
|
361
319
|
return DevMiddleware;
|
|
@@ -122,31 +122,63 @@ var __generator = this && this.__generator || function(thisArg, body) {
|
|
|
122
122
|
};
|
|
123
123
|
}
|
|
124
124
|
};
|
|
125
|
-
import
|
|
125
|
+
import { chalk, getPackageManager, logger } from "@modern-js/utils";
|
|
126
126
|
var genHttpsOptions = function() {
|
|
127
|
-
var _ref = _asyncToGenerator(function(userOptions) {
|
|
128
|
-
var httpsOptions, selfsign;
|
|
127
|
+
var _ref = _asyncToGenerator(function(userOptions, pwd) {
|
|
128
|
+
var httpsOptions, devcertPath, err, packageManager, command, devcert, selfsign;
|
|
129
129
|
return __generator(this, function(_state) {
|
|
130
130
|
switch(_state.label){
|
|
131
131
|
case 0:
|
|
132
132
|
httpsOptions = typeof userOptions === "boolean" ? {} : userOptions;
|
|
133
133
|
if (!(!httpsOptions.key || !httpsOptions.cert)) return [
|
|
134
134
|
3,
|
|
135
|
-
|
|
135
|
+
6
|
|
136
136
|
];
|
|
137
|
+
_state.label = 1;
|
|
138
|
+
case 1:
|
|
139
|
+
_state.trys.push([
|
|
140
|
+
1,
|
|
141
|
+
2,
|
|
142
|
+
,
|
|
143
|
+
4
|
|
144
|
+
]);
|
|
145
|
+
devcertPath = require.resolve("devcert", {
|
|
146
|
+
paths: [
|
|
147
|
+
pwd,
|
|
148
|
+
__dirname
|
|
149
|
+
]
|
|
150
|
+
});
|
|
151
|
+
return [
|
|
152
|
+
3,
|
|
153
|
+
4
|
|
154
|
+
];
|
|
155
|
+
case 2:
|
|
156
|
+
err = _state.sent();
|
|
157
|
+
return [
|
|
158
|
+
4,
|
|
159
|
+
getPackageManager(pwd)
|
|
160
|
+
];
|
|
161
|
+
case 3:
|
|
162
|
+
packageManager = _state.sent();
|
|
163
|
+
command = chalk.yellow.bold("".concat(packageManager, " install devcert@1.2.2 -D"));
|
|
164
|
+
logger.error('You have enabled "dev.https" option, but the "devcert" package is not installed.');
|
|
165
|
+
logger.error("Please run ".concat(command, " to install manually, otherwise the https can not work."));
|
|
166
|
+
throw new Error('[https] "devcert" is not found.');
|
|
167
|
+
case 4:
|
|
168
|
+
devcert = require(devcertPath);
|
|
137
169
|
return [
|
|
138
170
|
4,
|
|
139
171
|
devcert.certificateFor([
|
|
140
172
|
"localhost"
|
|
141
173
|
])
|
|
142
174
|
];
|
|
143
|
-
case
|
|
175
|
+
case 5:
|
|
144
176
|
selfsign = _state.sent();
|
|
145
177
|
return [
|
|
146
178
|
2,
|
|
147
179
|
selfsign
|
|
148
180
|
];
|
|
149
|
-
case
|
|
181
|
+
case 6:
|
|
150
182
|
return [
|
|
151
183
|
2,
|
|
152
184
|
httpsOptions
|
|
@@ -154,7 +186,7 @@ var genHttpsOptions = function() {
|
|
|
154
186
|
}
|
|
155
187
|
});
|
|
156
188
|
});
|
|
157
|
-
return function genHttpsOptions(userOptions) {
|
|
189
|
+
return function genHttpsOptions(userOptions, pwd) {
|
|
158
190
|
return _ref.apply(this, arguments);
|
|
159
191
|
};
|
|
160
192
|
}();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DevServer as Server } from "./server";
|
|
2
2
|
var src_default = function(options) {
|
|
3
3
|
if (options == null) {
|
|
4
|
-
throw new Error("can not start
|
|
4
|
+
throw new Error("can not start server without options");
|
|
5
5
|
}
|
|
6
6
|
var server = new Server(options);
|
|
7
7
|
return server.init();
|
|
@@ -367,7 +367,6 @@ var ModernDevServer = /*#__PURE__*/ function(ModernServer) {
|
|
|
367
367
|
_this.dev = _this.getDevOptions(options);
|
|
368
368
|
_this.devMiddleware = new DevMiddleware({
|
|
369
369
|
dev: _this.dev,
|
|
370
|
-
compiler: options.compiler,
|
|
371
370
|
devMiddleware: options.devMiddleware
|
|
372
371
|
});
|
|
373
372
|
enableRegister(_this.pwd, _this.conf);
|
|
@@ -628,7 +627,7 @@ var ModernDevServer = /*#__PURE__*/ function(ModernServer) {
|
|
|
628
627
|
genHttpsOptions = require("../dev-tools/https").genHttpsOptions;
|
|
629
628
|
return [
|
|
630
629
|
4,
|
|
631
|
-
genHttpsOptions(devHttpsOption)
|
|
630
|
+
genHttpsOptions(devHttpsOption, _this.pwd)
|
|
632
631
|
];
|
|
633
632
|
case 1:
|
|
634
633
|
httpsOptions = _state.sent();
|
|
@@ -2,28 +2,21 @@
|
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
import { Server } from 'http';
|
|
4
4
|
import { EventEmitter } from 'events';
|
|
5
|
-
import {
|
|
6
|
-
import { DevServerOptions, DevMiddlewareAPI, CustomDevMiddleware } from '../../types';
|
|
5
|
+
import { DevServerOptions, DevMiddlewareAPI, DevMiddleware as CustomDevMiddleware } from '../../types';
|
|
7
6
|
declare type Options = {
|
|
8
|
-
compiler: MultiCompiler | Compiler | null;
|
|
9
7
|
dev: DevServerOptions;
|
|
10
8
|
devMiddleware?: CustomDevMiddleware;
|
|
11
9
|
};
|
|
12
10
|
export default class DevMiddleware extends EventEmitter {
|
|
13
11
|
middleware?: DevMiddlewareAPI;
|
|
14
|
-
private compiler;
|
|
15
12
|
private devOptions;
|
|
16
13
|
private socketServer;
|
|
17
14
|
constructor({
|
|
18
|
-
compiler,
|
|
19
15
|
dev,
|
|
20
16
|
devMiddleware
|
|
21
17
|
}: Options);
|
|
22
18
|
init(app: Server): void;
|
|
23
|
-
private setupDevServerPlugin;
|
|
24
19
|
sockWrite(type: string, data?: Record<string, any> | string | boolean): void;
|
|
25
|
-
private setupHooks;
|
|
26
20
|
private setupDevMiddleware;
|
|
27
|
-
private isClientCompiler;
|
|
28
21
|
}
|
|
29
22
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type Buffer from 'buffer';
|
|
2
2
|
import type { DevServerHttpsOptions } from '../../types';
|
|
3
|
-
export declare const genHttpsOptions: (userOptions: DevServerHttpsOptions) => Promise<{
|
|
3
|
+
export declare const genHttpsOptions: (userOptions: DevServerHttpsOptions, pwd: string) => Promise<{
|
|
4
4
|
key?: Buffer | string;
|
|
5
5
|
cert?: Buffer | string;
|
|
6
6
|
}>;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { IncomingMessage, ServerResponse } from 'http';
|
|
3
|
-
import type webpack from 'webpack';
|
|
4
3
|
import type { DevServerOptions, DevServerHttpsOptions, NextFunction } from '@modern-js/types';
|
|
5
4
|
import type { ModernServerOptions } from '@modern-js/prod-server';
|
|
6
5
|
export type { DevServerOptions, DevServerHttpsOptions };
|
|
@@ -8,14 +7,32 @@ declare type Middleware = (req: IncomingMessage, res: ServerResponse, next: Next
|
|
|
8
7
|
export declare type DevMiddlewareAPI = Middleware & {
|
|
9
8
|
close: (callback: (err: Error | null | undefined) => void) => any;
|
|
10
9
|
};
|
|
11
|
-
export declare type
|
|
10
|
+
export declare type MiddlewareCallbacks = {
|
|
11
|
+
onInvalid: () => void;
|
|
12
|
+
onDone: (stats: any) => void;
|
|
13
|
+
};
|
|
14
|
+
export declare type DevMiddlewareOptions = {
|
|
15
|
+
/** To ensure HMR works, the devMiddleware need inject the hmr client path into page when HMR enable. */
|
|
16
|
+
hmrClientPath?: string;
|
|
17
|
+
/** The options need by compiler middleware (like webpackMiddleware) */
|
|
18
|
+
|
|
12
19
|
headers?: Record<string, string>;
|
|
13
20
|
writeToDisk?: boolean | ((filename: string) => boolean);
|
|
14
21
|
stats?: boolean;
|
|
15
|
-
|
|
22
|
+
/** should trigger when compiler hook called */
|
|
23
|
+
|
|
24
|
+
callbacks: MiddlewareCallbacks;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* The modern/server do nothing about compiler, the devMiddleware need do such things to ensure dev works well:
|
|
28
|
+
* - Call compiler.watch (normally did by webpack-dev-middleware).
|
|
29
|
+
* - Inject the hmr client path into page (the hmr client modern/server already provide).
|
|
30
|
+
* - Notify server when compiler hooks are triggered.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
export declare type DevMiddleware = (options: DevMiddlewareOptions) => DevMiddlewareAPI;
|
|
16
34
|
export declare type ExtraOptions = {
|
|
17
35
|
dev: boolean | Partial<DevServerOptions>;
|
|
18
|
-
|
|
19
|
-
devMiddleware?: CustomDevMiddleware;
|
|
36
|
+
devMiddleware?: DevMiddleware;
|
|
20
37
|
};
|
|
21
38
|
export declare type ModernDevServerOptions = ModernServerOptions & ExtraOptions;
|