webpack-dev-server 4.3.1 → 4.7.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/README.md +71 -33
- package/bin/cli-flags.js +507 -227
- package/bin/process-arguments.js +87 -7
- package/bin/webpack-dev-server.js +3 -0
- package/client/clients/SockJSClient.js +21 -2
- package/client/clients/WebSocketClient.js +16 -1
- package/client/index.js +39 -4
- package/client/modules/logger/index.js +46 -14
- package/client/modules/sockjs-client/index.js +20 -17
- package/client/socket.js +12 -9
- package/client/utils/log.js +6 -1
- package/client/utils/sendMessage.js +5 -0
- package/lib/Server.js +1935 -839
- package/lib/options.json +279 -21
- package/lib/servers/BaseServer.js +8 -0
- package/lib/servers/SockJSServer.js +42 -9
- package/lib/servers/WebsocketServer.js +66 -35
- package/package.json +28 -18
- package/types/bin/cli-flags.d.ts +934 -0
- package/types/bin/process-arguments.d.ts +50 -0
- package/types/bin/webpack-dev-server.d.ts +27 -0
- package/types/lib/Server.d.ts +3388 -0
- package/types/lib/servers/BaseServer.d.ts +15 -0
- package/types/lib/servers/SockJSServer.d.ts +12 -0
- package/types/lib/servers/WebsocketServer.d.ts +13 -0
package/client/socket.js
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
/* global __webpack_dev_server_client__ */
|
|
2
|
-
import WebSocketClient from "./clients/WebSocketClient.js";
|
|
2
|
+
import WebSocketClient from "./clients/WebSocketClient.js";
|
|
3
|
+
import { log } from "./utils/log.js"; // this WebsocketClient is here as a default fallback, in case the client is not injected
|
|
3
4
|
|
|
4
5
|
/* eslint-disable camelcase */
|
|
5
6
|
|
|
6
|
-
var Client = // eslint-disable-next-line
|
|
7
|
-
typeof __webpack_dev_server_client__ !== "undefined" ?
|
|
8
|
-
typeof __webpack_dev_server_client__.default !== "undefined" ? __webpack_dev_server_client__.default : __webpack_dev_server_client__ : WebSocketClient;
|
|
7
|
+
var Client = // eslint-disable-next-line no-nested-ternary
|
|
8
|
+
typeof __webpack_dev_server_client__ !== "undefined" ? typeof __webpack_dev_server_client__.default !== "undefined" ? __webpack_dev_server_client__.default : __webpack_dev_server_client__ : WebSocketClient;
|
|
9
9
|
/* eslint-enable camelcase */
|
|
10
10
|
|
|
11
11
|
var retries = 0;
|
|
12
|
+
var maxRetries = 10;
|
|
12
13
|
var client = null;
|
|
13
14
|
|
|
14
|
-
var socket = function initSocket(url, handlers) {
|
|
15
|
+
var socket = function initSocket(url, handlers, reconnect) {
|
|
15
16
|
client = new Client(url);
|
|
16
17
|
client.onOpen(function () {
|
|
17
18
|
retries = 0;
|
|
19
|
+
maxRetries = reconnect;
|
|
18
20
|
});
|
|
19
21
|
client.onClose(function () {
|
|
20
22
|
if (retries === 0) {
|
|
@@ -24,14 +26,15 @@ var socket = function initSocket(url, handlers) {
|
|
|
24
26
|
|
|
25
27
|
client = null; // After 10 retries stop trying, to prevent logspam.
|
|
26
28
|
|
|
27
|
-
if (retries
|
|
29
|
+
if (retries < maxRetries) {
|
|
28
30
|
// Exponentially increase timeout to reconnect.
|
|
29
31
|
// Respectfully copied from the package `got`.
|
|
30
|
-
// eslint-disable-next-line no-
|
|
32
|
+
// eslint-disable-next-line no-restricted-properties
|
|
31
33
|
var retryInMs = 1000 * Math.pow(2, retries) + Math.random() * 100;
|
|
32
34
|
retries += 1;
|
|
35
|
+
log.info("Trying to reconnect...");
|
|
33
36
|
setTimeout(function () {
|
|
34
|
-
socket(url, handlers);
|
|
37
|
+
socket(url, handlers, reconnect);
|
|
35
38
|
}, retryInMs);
|
|
36
39
|
}
|
|
37
40
|
});
|
|
@@ -39,7 +42,7 @@ var socket = function initSocket(url, handlers) {
|
|
|
39
42
|
var message = JSON.parse(data);
|
|
40
43
|
|
|
41
44
|
if (handlers[message.type]) {
|
|
42
|
-
handlers[message.type](message.data);
|
|
45
|
+
handlers[message.type](message.data, message.params);
|
|
43
46
|
}
|
|
44
47
|
});
|
|
45
48
|
};
|
package/client/utils/log.js
CHANGED
|
@@ -2,7 +2,12 @@ import logger from "../modules/logger/index.js";
|
|
|
2
2
|
var name = "webpack-dev-server"; // default level is set on the client side, so it does not need
|
|
3
3
|
// to be set by the CLI or API
|
|
4
4
|
|
|
5
|
-
var defaultLevel = "info";
|
|
5
|
+
var defaultLevel = "info"; // options new options, merge with old options
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @param {false | true | "none" | "error" | "warn" | "info" | "log" | "verbose"} level
|
|
9
|
+
* @returns {void}
|
|
10
|
+
*/
|
|
6
11
|
|
|
7
12
|
function setLogLevel(level) {
|
|
8
13
|
logger.configureDefaultLogger({
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
/* global __resourceQuery WorkerGlobalScope */
|
|
2
2
|
// Send messages to the outside, so plugins can consume it.
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @param {string} type
|
|
6
|
+
* @param {any} data
|
|
7
|
+
*/
|
|
3
8
|
function sendMsg(type, data) {
|
|
4
9
|
if (typeof self !== "undefined" && (typeof WorkerGlobalScope === "undefined" || !(self instanceof WorkerGlobalScope))) {
|
|
5
10
|
self.postMessage({
|