webpack-dev-server 4.14.0 → 4.15.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.
@@ -28,4 +28,20 @@ function listenToRuntimeError(callback) {
28
28
  window.removeEventListener("error", callback);
29
29
  };
30
30
  }
31
- export { listenToRuntimeError, parseErrorToStacks };
31
+
32
+ /**
33
+ * @callback UnhandledRejectionCallback
34
+ * @param {PromiseRejectionEvent} rejectionEvent
35
+ * @returns {void}
36
+ */
37
+
38
+ /**
39
+ * @param {UnhandledRejectionCallback} callback
40
+ */
41
+ function listenToUnhandledRejection(callback) {
42
+ window.addEventListener("unhandledrejection", callback);
43
+ return function cleanup() {
44
+ window.removeEventListener("unhandledrejection", callback);
45
+ };
46
+ }
47
+ export { listenToRuntimeError, listenToUnhandledRejection, parseErrorToStacks };
package/client/overlay.js CHANGED
@@ -8,7 +8,7 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
8
8
 
9
9
  import ansiHTML from "ansi-html-community";
10
10
  import { encode } from "html-entities";
11
- import { listenToRuntimeError, parseErrorToStacks } from "./overlay/runtime-error.js";
11
+ import { listenToRuntimeError, listenToUnhandledRejection, parseErrorToStacks } from "./overlay/runtime-error.js";
12
12
  import createOverlayMachine from "./overlay/state-machine.js";
13
13
  import { containerStyle, dismissButtonStyle, headerStyle, iframeStyle, msgStyles, msgTextStyle, msgTypeStyle } from "./overlay/styles.js";
14
14
  var colors = {
@@ -232,14 +232,12 @@ var createOverlay = function createOverlay(options) {
232
232
  hideOverlay: hide
233
233
  });
234
234
  if (options.catchRuntimeError) {
235
- listenToRuntimeError(function (errorEvent) {
236
- // error property may be empty in older browser like IE
237
- var error = errorEvent.error,
238
- message = errorEvent.message;
239
- if (!error && !message) {
240
- return;
241
- }
242
- var errorObject = error instanceof Error ? error : new Error(error || message);
235
+ /**
236
+ * @param {Error | undefined} error
237
+ * @param {string} fallbackMessage
238
+ */
239
+ var handleError = function handleError(error, fallbackMessage) {
240
+ var errorObject = error instanceof Error ? error : new Error(error || fallbackMessage);
243
241
  var shouldDisplay = typeof options.catchRuntimeError === "function" ? options.catchRuntimeError(errorObject) : true;
244
242
  if (shouldDisplay) {
245
243
  overlayService.send({
@@ -250,6 +248,19 @@ var createOverlay = function createOverlay(options) {
250
248
  }]
251
249
  });
252
250
  }
251
+ };
252
+ listenToRuntimeError(function (errorEvent) {
253
+ // error property may be empty in older browser like IE
254
+ var error = errorEvent.error,
255
+ message = errorEvent.message;
256
+ if (!error && !message) {
257
+ return;
258
+ }
259
+ handleError(error, message);
260
+ });
261
+ listenToUnhandledRejection(function (promiseRejectionEvent) {
262
+ var reason = promiseRejectionEvent.reason;
263
+ handleError(reason, "Unknown promise rejection reason");
253
264
  });
254
265
  }
255
266
  return overlayService;
package/lib/Server.js CHANGED
@@ -2955,7 +2955,9 @@ class Server {
2955
2955
 
2956
2956
  if (/** @type {NormalizedOpen[]} */ (this.options.open).length > 0) {
2957
2957
  const openTarget = prettyPrintURL(
2958
- !this.options.host || this.options.host === "0.0.0.0"
2958
+ !this.options.host ||
2959
+ this.options.host === "0.0.0.0" ||
2960
+ this.options.host === "::"
2959
2961
  ? "localhost"
2960
2962
  : this.options.host
2961
2963
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webpack-dev-server",
3
- "version": "4.14.0",
3
+ "version": "4.15.1",
4
4
  "description": "Serves a webpack app. Updates the browser on changes.",
5
5
  "bin": "bin/webpack-dev-server.js",
6
6
  "main": "lib/Server.js",
@@ -50,7 +50,7 @@
50
50
  "@types/serve-index": "^1.9.1",
51
51
  "@types/serve-static": "^1.13.10",
52
52
  "@types/sockjs": "^0.3.33",
53
- "@types/ws": "^8.5.1",
53
+ "@types/ws": "^8.5.5",
54
54
  "ansi-html-community": "^0.0.8",
55
55
  "bonjour-service": "^1.0.11",
56
56
  "chokidar": "^3.5.3",
@@ -1,7 +1,11 @@
1
+ /// <reference types="node" />
1
2
  export = WebsocketServer;
2
3
  declare class WebsocketServer extends BaseServer {
3
4
  static heartbeatInterval: number;
4
- implementation: WebSocket.Server<WebSocket.WebSocket>;
5
+ implementation: WebSocket.Server<
6
+ typeof WebSocket,
7
+ typeof import("http").IncomingMessage
8
+ >;
5
9
  }
6
10
  declare namespace WebsocketServer {
7
11
  export { WebSocketServerConfiguration, ClientConnection };