Skip to content

Commit f2d87fb

Browse files
fix: improve https CLI output (#3673)
1 parent 0277c5e commit f2d87fb

11 files changed

+62
-19
lines changed

lib/Server.js

+8-6
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ class Server {
329329
const del = require("del");
330330

331331
this.logger.info(
332-
"SSL Certificate is more than 30 days old. Removing."
332+
"SSL Certificate is more than 30 days old. Removing..."
333333
);
334334

335335
del.sync([certificatePath], { force: true });
@@ -339,7 +339,7 @@ class Server {
339339
}
340340

341341
if (!certificateExists) {
342-
this.logger.info("Generating SSL Certificate");
342+
this.logger.info("Generating SSL Certificate...");
343343

344344
const selfsigned = require("selfsigned");
345345
const attributes = [{ name: "commonName", value: "localhost" }];
@@ -348,10 +348,10 @@ class Server {
348348
days: 30,
349349
keySize: 2048,
350350
extensions: [
351-
// {
352-
// name: 'basicConstraints',
353-
// cA: true,
354-
// },
351+
{
352+
name: "basicConstraints",
353+
cA: true,
354+
},
355355
{
356356
name: "keyUsage",
357357
keyCertSign: true,
@@ -412,6 +412,8 @@ class Server {
412412
}
413413

414414
fakeCert = fs.readFileSync(certificatePath);
415+
416+
this.logger.info(`SSL certificate: ${certificatePath}`);
415417
}
416418

417419
options.https.key = options.https.key || fakeCert;

test/cli/__snapshots__/bonjour-option.test.js.snap.webpack4

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

33
exports[`"bonjour" CLI option should work using "--bonjour and --https" 1`] = `
4-
"<i> [webpack-dev-server] Project is running at:
4+
"<i> [webpack-dev-server] Generating SSL Certificate...
5+
<i> [webpack-dev-server] SSL certificate: <cwd>/node_modules/.cache/webpack-dev-server/server.pem
6+
<i> [webpack-dev-server] Project is running at:
57
<i> [webpack-dev-server] Loopback: https://localhost:<port>/
68
<i> [webpack-dev-server] On Your Network (IPv4): https://<ip-v4>:<port>/
79
<i> [webpack-dev-server] On Your Network (IPv6): https://[<ip-v6>]:<port>/

test/cli/__snapshots__/bonjour-option.test.js.snap.webpack5

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

33
exports[`"bonjour" CLI option should work using "--bonjour and --https" 1`] = `
4-
"<i> [webpack-dev-server] Project is running at:
4+
"<i> [webpack-dev-server] Generating SSL Certificate...
5+
<i> [webpack-dev-server] SSL certificate: <cwd>/node_modules/.cache/webpack-dev-server/server.pem
6+
<i> [webpack-dev-server] Project is running at:
57
<i> [webpack-dev-server] Loopback: https://localhost:<port>/
68
<i> [webpack-dev-server] On Your Network (IPv4): https://<ip-v4>:<port>/
79
<i> [webpack-dev-server] On Your Network (IPv6): https://[<ip-v6>]:<port>/

test/cli/__snapshots__/http2-option.test.js.snap.webpack4

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

33
exports[`"http2" CLI option should work using "--http2" 1`] = `
4-
"<i> [webpack-dev-server] Project is running at:
4+
"<i> [webpack-dev-server] Generating SSL Certificate...
5+
<i> [webpack-dev-server] SSL certificate: <cwd>/node_modules/.cache/webpack-dev-server/server.pem
6+
<i> [webpack-dev-server] Project is running at:
57
<i> [webpack-dev-server] Loopback: https://localhost:<port>/
68
<i> [webpack-dev-server] On Your Network (IPv4): https://<ip-v4>:<port>/
79
<i> [webpack-dev-server] On Your Network (IPv6): https://[<ip-v6>]:<port>/

test/cli/__snapshots__/http2-option.test.js.snap.webpack5

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

33
exports[`"http2" CLI option should work using "--http2" 1`] = `
4-
"<i> [webpack-dev-server] Project is running at:
4+
"<i> [webpack-dev-server] Generating SSL Certificate...
5+
<i> [webpack-dev-server] SSL certificate: <cwd>/node_modules/.cache/webpack-dev-server/server.pem
6+
<i> [webpack-dev-server] Project is running at:
57
<i> [webpack-dev-server] Loopback: https://localhost:<port>/
68
<i> [webpack-dev-server] On Your Network (IPv4): https://<ip-v4>:<port>/
79
<i> [webpack-dev-server] On Your Network (IPv6): https://[<ip-v6>]:<port>/

test/cli/__snapshots__/https-option.test.js.snap.webpack4

+9-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

33
exports[`"https" CLI option should work using "--https" 1`] = `
4-
"<i> [webpack-dev-server] Project is running at:
4+
"<i> [webpack-dev-server] Generating SSL Certificate...
5+
<i> [webpack-dev-server] SSL certificate: <cwd>/node_modules/.cache/webpack-dev-server/server.pem
6+
<i> [webpack-dev-server] Project is running at:
57
<i> [webpack-dev-server] Loopback: https://localhost:<port>/
68
<i> [webpack-dev-server] On Your Network (IPv4): https://<ip-v4>:<port>/
79
<i> [webpack-dev-server] On Your Network (IPv6): https://[<ip-v6>]:<port>/
@@ -25,7 +27,9 @@ exports[`"https" CLI option should work using "--https-key <path> --https-pfx <p
2527
`;
2628

2729
exports[`"https" CLI option should work using "--https-request-cert" 1`] = `
28-
"<i> [webpack-dev-server] Project is running at:
30+
"<i> [webpack-dev-server] Generating SSL Certificate...
31+
<i> [webpack-dev-server] SSL certificate: <cwd>/node_modules/.cache/webpack-dev-server/server.pem
32+
<i> [webpack-dev-server] Project is running at:
2933
<i> [webpack-dev-server] Loopback: https://localhost:<port>/
3034
<i> [webpack-dev-server] On Your Network (IPv4): https://<ip-v4>:<port>/
3135
<i> [webpack-dev-server] On Your Network (IPv6): https://[<ip-v6>]:<port>/
@@ -41,7 +45,9 @@ exports[`"https" CLI option should work using "--no-https" 1`] = `
4145
`;
4246

4347
exports[`"https" CLI option should work using "--no-https-request-cert" 1`] = `
44-
"<i> [webpack-dev-server] Project is running at:
48+
"<i> [webpack-dev-server] Generating SSL Certificate...
49+
<i> [webpack-dev-server] SSL certificate: <cwd>/node_modules/.cache/webpack-dev-server/server.pem
50+
<i> [webpack-dev-server] Project is running at:
4551
<i> [webpack-dev-server] Loopback: https://localhost:<port>/
4652
<i> [webpack-dev-server] On Your Network (IPv4): https://<ip-v4>:<port>/
4753
<i> [webpack-dev-server] On Your Network (IPv6): https://[<ip-v6>]:<port>/

test/cli/__snapshots__/https-option.test.js.snap.webpack5

+9-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

33
exports[`"https" CLI option should work using "--https" 1`] = `
4-
"<i> [webpack-dev-server] Project is running at:
4+
"<i> [webpack-dev-server] Generating SSL Certificate...
5+
<i> [webpack-dev-server] SSL certificate: <cwd>/node_modules/.cache/webpack-dev-server/server.pem
6+
<i> [webpack-dev-server] Project is running at:
57
<i> [webpack-dev-server] Loopback: https://localhost:<port>/
68
<i> [webpack-dev-server] On Your Network (IPv4): https://<ip-v4>:<port>/
79
<i> [webpack-dev-server] On Your Network (IPv6): https://[<ip-v6>]:<port>/
@@ -25,7 +27,9 @@ exports[`"https" CLI option should work using "--https-key <path> --https-pfx <p
2527
`;
2628

2729
exports[`"https" CLI option should work using "--https-request-cert" 1`] = `
28-
"<i> [webpack-dev-server] Project is running at:
30+
"<i> [webpack-dev-server] Generating SSL Certificate...
31+
<i> [webpack-dev-server] SSL certificate: <cwd>/node_modules/.cache/webpack-dev-server/server.pem
32+
<i> [webpack-dev-server] Project is running at:
2933
<i> [webpack-dev-server] Loopback: https://localhost:<port>/
3034
<i> [webpack-dev-server] On Your Network (IPv4): https://<ip-v4>:<port>/
3135
<i> [webpack-dev-server] On Your Network (IPv6): https://[<ip-v6>]:<port>/
@@ -41,7 +45,9 @@ exports[`"https" CLI option should work using "--no-https" 1`] = `
4145
`;
4246

4347
exports[`"https" CLI option should work using "--no-https-request-cert" 1`] = `
44-
"<i> [webpack-dev-server] Project is running at:
48+
"<i> [webpack-dev-server] Generating SSL Certificate...
49+
<i> [webpack-dev-server] SSL certificate: <cwd>/node_modules/.cache/webpack-dev-server/server.pem
50+
<i> [webpack-dev-server] Project is running at:
4551
<i> [webpack-dev-server] Loopback: https://localhost:<port>/
4652
<i> [webpack-dev-server] On Your Network (IPv4): https://<ip-v4>:<port>/
4753
<i> [webpack-dev-server] On Your Network (IPv6): https://[<ip-v6>]:<port>/

test/cli/bonjour-option.test.js

+8
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
"use strict";
22

3+
const del = require("del");
4+
const Server = require("../../lib/Server");
35
const { testBin, normalizeStderr } = require("../helpers/test-bin");
46
const port = require("../ports-map")["cli-bonjour"];
57

8+
const defaultCertificateDir = Server.findCacheDir();
9+
610
describe('"bonjour" CLI option', () => {
11+
beforeEach(async () => {
12+
await del([defaultCertificateDir]);
13+
});
14+
715
it('should work using "--bonjour"', async () => {
816
const { exitCode, stderr } = await testBin(["--port", port, "--bonjour"]);
917

test/cli/http2-option.test.js

+8
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
"use strict";
22

3+
const del = require("del");
4+
const Server = require("../../lib/Server");
35
const { testBin, normalizeStderr } = require("../helpers/test-bin");
46
const port = require("../ports-map")["cli-http2"];
57

8+
const defaultCertificateDir = Server.findCacheDir();
9+
610
describe('"http2" CLI option', () => {
11+
beforeEach(async () => {
12+
await del([defaultCertificateDir]);
13+
});
14+
715
it('should work using "--http2"', async () => {
816
const { exitCode, stderr } = await testBin(["--port", port, "--http2"]);
917

test/cli/https-option.test.js

+8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
"use strict";
22

33
const path = require("path");
4+
const del = require("del");
5+
const Server = require("../../lib/Server");
46
const { testBin, normalizeStderr } = require("../helpers/test-bin");
57
const port = require("../ports-map")["cli-https"];
68

@@ -9,7 +11,13 @@ const httpsCertificateDirectory = path.resolve(
911
"../fixtures/https-certificate"
1012
);
1113

14+
const defaultCertificateDir = Server.findCacheDir();
15+
1216
describe('"https" CLI option', () => {
17+
beforeEach(async () => {
18+
await del([defaultCertificateDir]);
19+
});
20+
1321
it('should work using "--https"', async () => {
1422
const { exitCode, stderr } = await testBin(["--port", port, "--https"]);
1523

test/helpers/test-bin.js

-3
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,6 @@ const normalizeStderr = (stderr, options = {}) => {
9090
if (options.https) {
9191
// We have deprecation warning on windows in some cases
9292
normalizedStderr = normalizedStderr.split("\n");
93-
normalizedStderr = normalizedStderr.filter(
94-
(item) => !/Generating SSL Certificate/g.test(item)
95-
);
9693
normalizedStderr = normalizedStderr.filter(
9794
(item) =>
9895
!/DeprecationWarning: The legacy HTTP parser is deprecated/g.test(item)

0 commit comments

Comments
 (0)