Skip to content

Commit

Permalink
refactor: client logging
Browse files Browse the repository at this point in the history
  • Loading branch information
snitin315 committed Jul 24, 2022
1 parent 37201f9 commit 782d815
Show file tree
Hide file tree
Showing 44 changed files with 692 additions and 664 deletions.
22 changes: 12 additions & 10 deletions client-src/index.js
Expand Up @@ -5,7 +5,7 @@ import stripAnsi from "./utils/stripAnsi.js";
import parseURL from "./utils/parseURL.js";
import socket from "./socket.js";
import { formatProblem, show, hide } from "./overlay.js";
import { log, setLogLevel } from "./utils/log.js";
import { log, logEnabledFeatures, setLogLevel } from "./utils/log.js";
import sendMessage from "./utils/sendMessage.js";
import reloadApp from "./utils/reloadApp.js";
import createSocketURL from "./utils/createSocketURL.js";
Expand Down Expand Up @@ -46,22 +46,26 @@ const options = {
};
const parsedResourceQuery = parseURL(__resourceQuery);

const enabledFeatures = [];
const enabledFeatures = {
"Hot Module Replacement": false,
"Live Reloading": false,
Progress: false,
Overlay: false,
};

if (parsedResourceQuery.hot === "true") {
options.hot = true;

enabledFeatures.push("Hot Module Replacement");
enabledFeatures["Hot Module Replacement"] = true;
}

if (parsedResourceQuery["live-reload"] === "true") {
options.liveReload = true;
enabledFeatures.push("Live Reloading");
enabledFeatures["Live Reloading"] = true;
}

if (parsedResourceQuery.progress === "true") {
options.progress = true;
enabledFeatures.push("Progress");
enabledFeatures.Progress = true;
}

if (parsedResourceQuery.overlay) {
Expand All @@ -79,7 +83,7 @@ if (parsedResourceQuery.overlay) {
...options.overlay,
};
}
enabledFeatures.push("Overlay");
enabledFeatures.Overlay = true;
}

if (parsedResourceQuery.logging) {
Expand All @@ -90,9 +94,7 @@ if (typeof parsedResourceQuery.reconnect !== "undefined") {
options.reconnect = Number(parsedResourceQuery.reconnect);
}

if (enabledFeatures.length > 0) {
log.info(`server started with ${enabledFeatures.join(", ")} enabled.`);
}
logEnabledFeatures(enabledFeatures);

/**
* @param {string} level
Expand Down
20 changes: 19 additions & 1 deletion client-src/utils/log.js
Expand Up @@ -18,4 +18,22 @@ setLogLevel(defaultLevel);

const log = logger.getLogger(name);

export { log, setLogLevel };
const logEnabledFeatures = (features) => {
const enabledFeatures = Object.entries(features);
if (!features || enabledFeatures.length === 0) {
return;
}

let logString = "Server started:";

// Server started: Hot Module Replacement enabled, Live Reloading enabled, Overlay disabled.
for (const [key, value] of Object.entries(features)) {
logString += ` ${key} ${value ? "enabled" : "disabled"},`;
}
// replace last comma with a period
logString = logString.slice(0, -1).concat(".");

log.info(logString);
};

export { log, logEnabledFeatures, setLogLevel };
56 changes: 28 additions & 28 deletions test/e2e/__snapshots__/allowed-hosts.test.js.snap.webpack4

Large diffs are not rendered by default.

56 changes: 28 additions & 28 deletions test/e2e/__snapshots__/allowed-hosts.test.js.snap.webpack5

Large diffs are not rendered by default.

36 changes: 18 additions & 18 deletions test/e2e/__snapshots__/api.test.js.snap.webpack4
Expand Up @@ -2,7 +2,7 @@

exports[`API Invalidate callback should use the default \`noop\` callback when invalidate is called without any callback: console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand All @@ -14,7 +14,7 @@ exports[`API Invalidate callback should use the default \`noop\` callback when i

exports[`API Invalidate callback should use the provided \`callback\` function: console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand All @@ -26,7 +26,7 @@ exports[`API Invalidate callback should use the provided \`callback\` function:

exports[`API Server.checkHostHeader should allow URLs with scheme for checking origin when the "option.client.webSocketURL" is object: console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
"WebSocket connection to 'ws://test.host:8158/ws' failed: Error in connection establishment: net::ERR_NAME_NOT_RESOLVED",
Expand All @@ -44,7 +44,7 @@ exports[`API Server.checkHostHeader should allow URLs with scheme for checking o

exports[`API Server.getFreePort should retry finding the port for up to defaultPortRetry times (number): console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand All @@ -56,7 +56,7 @@ exports[`API Server.getFreePort should retry finding the port for up to defaultP

exports[`API Server.getFreePort should retry finding the port for up to defaultPortRetry times (string): console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand All @@ -68,7 +68,7 @@ exports[`API Server.getFreePort should retry finding the port for up to defaultP

exports[`API Server.getFreePort should retry finding the port when serial ports are busy: console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand All @@ -80,7 +80,7 @@ exports[`API Server.getFreePort should retry finding the port when serial ports

exports[`API Server.getFreePort should return the port when the port is \`null\`: console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand All @@ -92,7 +92,7 @@ exports[`API Server.getFreePort should return the port when the port is \`null\`

exports[`API Server.getFreePort should return the port when the port is undefined: console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand All @@ -106,7 +106,7 @@ exports[`API Server.getFreePort should throw the error when the port isn't found

exports[`API WEBPACK_SERVE environment variable should be present: console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand All @@ -118,7 +118,7 @@ exports[`API WEBPACK_SERVE environment variable should be present: response stat

exports[`API deprecated API should log warning when the "port" and "host" options from options different from arguments ('listen' method): console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand All @@ -130,7 +130,7 @@ exports[`API deprecated API should work with deprecated API ('listen' and 'close

exports[`API deprecated API should work with deprecated API ('listen' and 'close' methods): console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand All @@ -142,7 +142,7 @@ exports[`API deprecated API should work with deprecated API ('listen' and 'close

exports[`API deprecated API should work with deprecated API (only compiler in constructor): console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand All @@ -154,7 +154,7 @@ exports[`API deprecated API should work with deprecated API (only compiler in co

exports[`API deprecated API should work with deprecated API (the order of the arguments in the constructor): console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand All @@ -166,15 +166,15 @@ exports[`API deprecated API should work with deprecated API (the order of the ar

exports[`API latest async API should work and allow to rerun dev server multiple times: console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
`;

exports[`API latest async API should work and allow to rerun dev server multiple times: console messages 2`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand All @@ -187,7 +187,7 @@ exports[`API latest async API should work and allow to rerun dev server multiple
exports[`API latest async API should work when using configured manually: console messages 1`] = `
Array [
"[HMR] Waiting for update signal from WDS...",
"[webpack-dev-server] server started with Hot Module Replacement enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading disabled, Progress disabled, Overlay disabled.",
"Hey.",
]
`;
Expand All @@ -196,7 +196,7 @@ exports[`API latest async API should work when using configured manually: page e

exports[`API latest async API should work with async API: console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand All @@ -206,7 +206,7 @@ exports[`API latest async API should work with async API: page errors 1`] = `Arr

exports[`API latest async API should work with callback API: console messages 1`] = `
Array [
"[webpack-dev-server] server started with Hot Module Replacement, Live Reloading, Overlay enabled.",
"[webpack-dev-server] Server started: Hot Module Replacement enabled, Live Reloading enabled, Progress disabled, Overlay enabled.",
"[HMR] Waiting for update signal from WDS...",
"Hey.",
]
Expand Down

0 comments on commit 782d815

Please sign in to comment.