Skip to content

Commit 89eb799

Browse files
committed
feat: add info message when public path equals 'auto' or function
1 parent ba4acf1 commit 89eb799

16 files changed

+185
-50
lines changed

lib/Server.js

+11
Original file line numberDiff line numberDiff line change
@@ -3045,6 +3045,17 @@ class Server {
30453045
`Broadcasting "${bonjourProtocol}" with subtype of "webpack" via ZeroConf DNS (Bonjour)`,
30463046
);
30473047
}
3048+
3049+
const publicPath = compilerOptions.output.publicPath;
3050+
3051+
const isOnTheFlyDefinedPublicPath =
3052+
typeof publicPath === "function" || publicPath === "auto";
3053+
3054+
if (isOnTheFlyDefinedPublicPath) {
3055+
this.logger.info(
3056+
`You probably have a custom public path, please navigate in your browser to the point that you required`,
3057+
);
3058+
}
30483059
}
30493060

30503061
/**

test/cli/__snapshots__/basic.test.js.snap.webpack5

+24-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ exports[`basic basic should accept the promise function of webpack.config.js: st
55
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
66
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
77
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
8-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
8+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
9+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
910
`;
1011

1112
exports[`basic basic should respect output.publicPath config option in URL's output: stderr 1`] = `
@@ -15,26 +16,45 @@ exports[`basic basic should respect output.publicPath config option in URL's out
1516
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
1617
`;
1718

19+
exports[`basic basic should show info message when output.publicPath equals 'auto': stderr 1`] = `
20+
"<i> [webpack-dev-server] Project is running at:
21+
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
22+
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
23+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
24+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
25+
`;
26+
27+
exports[`basic basic should show info message when output.publicPath is function: stderr 1`] = `
28+
"<i> [webpack-dev-server] Project is running at:
29+
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
30+
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
31+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
32+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
33+
`;
34+
1835
exports[`basic basic should work using "--host localhost --port <port>": stderr 1`] = `
1936
"<i> [webpack-dev-server] Project is running at:
2037
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
21-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
38+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
39+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
2240
`;
2341

2442
exports[`basic basic should work using multi compiler mode: stderr 1`] = `
2543
"<i> [webpack-dev-server] Project is running at:
2644
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
2745
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
2846
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
29-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
47+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
48+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
3049
`;
3150

3251
exports[`basic basic should work: stderr 1`] = `
3352
"<i> [webpack-dev-server] Project is running at:
3453
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
3554
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
3655
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
37-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
56+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
57+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
3858
`;
3959

4060
exports[`basic should output help should generate correct cli flags 1`] = `

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

+6-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ exports[`"bonjour" CLI option should work using "--bonjour and --server-type=htt
88
<i> [webpack-dev-server] On Your Network (IPv4): https://<ip-v4>:<port>/
99
<i> [webpack-dev-server] On Your Network (IPv6): https://[<ip-v6>]:<port>/
1010
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
11-
<i> [webpack-dev-server] Broadcasting "https" with subtype of "webpack" via ZeroConf DNS (Bonjour)"
11+
<i> [webpack-dev-server] Broadcasting "https" with subtype of "webpack" via ZeroConf DNS (Bonjour)
12+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
1213
`;
1314

1415
exports[`"bonjour" CLI option should work using "--bonjour" 1`] = `
@@ -17,13 +18,15 @@ exports[`"bonjour" CLI option should work using "--bonjour" 1`] = `
1718
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
1819
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
1920
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
20-
<i> [webpack-dev-server] Broadcasting "http" with subtype of "webpack" via ZeroConf DNS (Bonjour)"
21+
<i> [webpack-dev-server] Broadcasting "http" with subtype of "webpack" via ZeroConf DNS (Bonjour)
22+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
2123
`;
2224

2325
exports[`"bonjour" CLI option should work using "--no-bonjour" 1`] = `
2426
"<i> [webpack-dev-server] Project is running at:
2527
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
2628
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
2729
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
28-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
30+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
31+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
2932
`;

test/cli/__snapshots__/colors.test.js.snap.webpack5

+10-5
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,42 @@ exports[`colors should work and do not use colors using configuration with disab
55
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
66
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
77
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
8-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
8+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
9+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
910
`;
1011

1112
exports[`colors should work do not use colors using "--no-color": stderr 1`] = `
1213
"<i> [webpack-dev-server] Project is running at:
1314
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
1415
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
1516
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
16-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
17+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
18+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
1719
`;
1820

1921
exports[`colors should work use colors by default: stderr 1`] = `
2022
"<i> [webpack-dev-server] Project is running at:
2123
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
2224
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
2325
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
24-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
26+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
27+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
2528
`;
2629

2730
exports[`colors should work use colors using "--color": stderr 1`] = `
2831
"<i> [webpack-dev-server] Project is running at:
2932
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
3033
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
3134
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
32-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
35+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
36+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
3337
`;
3438

3539
exports[`colors should work use colors using configuration with enabled colors: stderr 1`] = `
3640
"<i> [webpack-dev-server] Project is running at:
3741
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
3842
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
3943
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
40-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
44+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
45+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
4146
`;

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ exports[`"historyApiFallback" CLI option should work using "--history-api-fallba
66
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
77
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
88
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
9-
<i> [webpack-dev-server] 404s will fallback to '/index.html'"
9+
<i> [webpack-dev-server] 404s will fallback to '/index.html'
10+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
1011
`;
1112

1213
exports[`"historyApiFallback" CLI option should work using "--no-history-api-fallback" 1`] = `

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

+18-9
Original file line numberDiff line numberDiff line change
@@ -5,55 +5,64 @@ exports[`"host" CLI option should work using "--host ::" (IPv6): stderr 1`] = `
55
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
66
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
77
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
8-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
8+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
9+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
910
`;
1011

1112
exports[`"host" CLI option should work using "--host ::1" (IPv6): stderr 1`] = `
1213
"<i> [webpack-dev-server] Project is running at:
1314
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
14-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
15+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
16+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
1517
`;
1618

1719
exports[`"host" CLI option should work using "--host ::1" (IPv6): stderr 2`] = `
1820
"<i> [webpack-dev-server] Project is running at:
1921
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
20-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
22+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
23+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
2124
`;
2225

2326
exports[`"host" CLI option should work using "--host <IPv4>": stderr 1`] = `
2427
"<i> [webpack-dev-server] Project is running at:
2528
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
26-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
29+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
30+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
2731
`;
2832

2933
exports[`"host" CLI option should work using "--host 0.0.0.0" (IPv4): stderr 1`] = `
3034
"<i> [webpack-dev-server] Project is running at:
3135
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
3236
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
3337
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
34-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
38+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
39+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
3540
`;
3641

3742
exports[`"host" CLI option should work using "--host 127.0.0.1" (IPv4): stderr 1`] = `
3843
"<i> [webpack-dev-server] Project is running at:
3944
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
40-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
45+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
46+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
4147
`;
4248

4349
exports[`"host" CLI option should work using "--host local-ip": stderr 1`] = `
4450
"<i> [webpack-dev-server] Project is running at:
4551
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
46-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
52+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
53+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
4754
`;
4855

4956
exports[`"host" CLI option should work using "--host local-ipv4": stderr 1`] = `
5057
"<i> [webpack-dev-server] Project is running at:
5158
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
52-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
59+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
60+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
5361
`;
5462

5563
exports[`"host" CLI option should work using "--host localhost": stderr 1`] = `
5664
"<i> [webpack-dev-server] Project is running at:
5765
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
58-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
66+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
67+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
5968
`;

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

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22

33
exports[`"ipc" CLI option should work using "--ipc": stderr 1`] = `
44
"<i> [webpack-dev-server] Project is running at: "<tmp>/webpack-dev-server.sock"
5-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
5+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
6+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
67
`;
78

89
exports[`"ipc" CLI option should work using "--ipc=<string>": stderr 1`] = `
910
"<i> [webpack-dev-server] Project is running at: "<tmp>/webpack-dev-server.cli.sock"
10-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
11+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
12+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
1113
`;

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

+4-2
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@ exports[`"port" CLI option should work using "--port <string>": stderr 1`] = `
55
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
66
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
77
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
8-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
8+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
9+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
910
`;
1011

1112
exports[`"port" CLI option should work using "--port auto": stderr 1`] = `
1213
"<i> [webpack-dev-server] Project is running at:
1314
<i> Loopback: http://localhost:<port>/, http://<ip-v4>:<port>/, http://[<ip-v6>]:<port>/
1415
<i> [webpack-dev-server] On Your Network (IPv4): http://<ip-v4>:<port>/
1516
<i> [webpack-dev-server] On Your Network (IPv6): http://[<ip-v6>]:<port>/
16-
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory"
17+
<i> [webpack-dev-server] Content not from webpack is served from '<cwd>/public' directory
18+
<i> [webpack-dev-server] You probably have a custom public path, please navigate in your browser to the point that you required"
1719
`;

0 commit comments

Comments
 (0)