Skip to content

Commit 5f657a2

Browse files
authored
refactor: imports (#3299)
1 parent 7632956 commit 5f657a2

File tree

1 file changed

+35
-19
lines changed

1 file changed

+35
-19
lines changed

lib/Server.js

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,18 @@
22

33
const path = require('path');
44
const url = require('url');
5-
const http = require('http');
6-
const https = require('https');
75
const fs = require('graceful-fs');
86
const ipaddr = require('ipaddr.js');
97
const internalIp = require('internal-ip');
108
const killable = require('killable');
11-
const chokidar = require('chokidar');
129
const express = require('express');
13-
const { createProxyMiddleware } = require('http-proxy-middleware');
14-
const historyApiFallback = require('connect-history-api-fallback');
15-
const compress = require('compression');
16-
const serveIndex = require('serve-index');
17-
const webpack = require('webpack');
18-
const webpackDevMiddleware = require('webpack-dev-middleware');
19-
const getFilenameFromUrl =
20-
require('webpack-dev-middleware/dist/utils/getFilenameFromUrl').default;
2110
const { validate } = require('schema-utils');
22-
const DevServerPlugin = require('./utils/DevServerPlugin');
2311
const normalizeOptions = require('./utils/normalizeOptions');
24-
const getCertificate = require('./utils/getCertificate');
2512
const colors = require('./utils/colors');
26-
const runOpen = require('./utils/runOpen');
27-
const runBonjour = require('./utils/runBonjour');
2813
const routes = require('./utils/routes');
2914
const getSocketServerImplementation = require('./utils/getSocketServerImplementation');
3015
const getCompilerConfigArray = require('./utils/getCompilerConfigArray');
31-
const getStatsOption = require('./utils/getStatsOption');
32-
const getColorsOption = require('./utils/getColorsOption');
3316
const setupExitSignals = require('./utils/setupExitSignals');
34-
const findPort = require('./utils/findPort');
3517
const schema = require('./options.json');
3618

3719
if (!process.env.WEBPACK_SERVE) {
@@ -93,6 +75,8 @@ class Server {
9375
}
9476

9577
applyDevServerPlugin() {
78+
const DevServerPlugin = require('./utils/DevServerPlugin');
79+
9680
const compilers = this.compiler.compilers || [this.compiler];
9781

9882
// eslint-disable-next-line no-shadow
@@ -102,7 +86,9 @@ class Server {
10286
}
10387

10488
setupProgressPlugin() {
105-
new webpack.ProgressPlugin((percent, msg, addInfo) => {
89+
const { ProgressPlugin } = require('webpack');
90+
91+
new ProgressPlugin((percent, msg, addInfo) => {
10692
percent = Math.floor(percent * 100);
10793

10894
if (percent === 100) {
@@ -162,6 +148,8 @@ class Server {
162148
}
163149

164150
setupDevMiddleware() {
151+
const webpackDevMiddleware = require('webpack-dev-middleware');
152+
165153
// middleware for serving webpack bundle
166154
this.middleware = webpackDevMiddleware(
167155
this.compiler,
@@ -170,10 +158,14 @@ class Server {
170158
}
171159

172160
setupCompressFeature() {
161+
const compress = require('compression');
162+
173163
this.app.use(compress());
174164
}
175165

176166
setupProxyFeature() {
167+
const { createProxyMiddleware } = require('http-proxy-middleware');
168+
177169
/**
178170
* Assume a proxy configuration specified as:
179171
* proxy: {
@@ -319,6 +311,8 @@ class Server {
319311
}
320312

321313
setupHistoryApiFallbackFeature() {
314+
const historyApiFallback = require('connect-history-api-fallback');
315+
322316
const fallback =
323317
typeof this.options.historyApiFallback === 'object'
324318
? this.options.historyApiFallback
@@ -340,6 +334,8 @@ class Server {
340334
}
341335

342336
setupStaticServeIndexFeature() {
337+
const serveIndex = require('serve-index');
338+
343339
this.options.static.forEach((staticOption) => {
344340
staticOption.publicPath.forEach((publicPath) => {
345341
if (staticOption.serveIndex) {
@@ -514,6 +510,8 @@ class Server {
514510
}
515511

516512
if (this.options.https) {
513+
const getCertificate = require('./utils/getCertificate');
514+
517515
for (const property of ['cacert', 'pfx', 'key', 'cert']) {
518516
const value = this.options.https[property];
519517
const isBuffer = value instanceof Buffer;
@@ -546,6 +544,9 @@ class Server {
546544
}
547545

548546
createServer() {
547+
const https = require('https');
548+
const http = require('http');
549+
549550
if (this.options.https) {
550551
if (this.options.http2) {
551552
// TODO: we need to replace spdy with http2 which is an internal module
@@ -628,6 +629,8 @@ class Server {
628629
}
629630

630631
showStatus() {
632+
const getColorsOption = require('./utils/getColorsOption');
633+
631634
const useColor = getColorsOption(getCompilerConfigArray(this.compiler));
632635
const protocol = this.options.https ? 'https' : 'http';
633636
const { address, port } = this.server.address();
@@ -749,13 +752,17 @@ class Server {
749752
}
750753

751754
if (this.options.open) {
755+
const runOpen = require('./utils/runOpen');
756+
752757
const openTarget = prettyPrintUrl(this.hostname || 'localhost');
753758

754759
runOpen(openTarget, this.options.open, this.logger);
755760
}
756761
}
757762

758763
listen(port, hostname, fn) {
764+
const findPort = require('./utils/findPort');
765+
759766
if (hostname === 'local-ip') {
760767
this.hostname = internalIp.v4.sync() || internalIp.v6.sync() || '0.0.0.0';
761768
} else if (hostname === 'local-ipv4') {
@@ -784,6 +791,8 @@ class Server {
784791
}
785792

786793
if (this.options.bonjour) {
794+
const runBonjour = require('./utils/runBonjour');
795+
787796
runBonjour(this.options);
788797
}
789798

@@ -838,6 +847,8 @@ class Server {
838847
}
839848

840849
getStats(statsObj) {
850+
const getStatsOption = require('./utils/getStatsOption');
851+
841852
const stats = Server.DEFAULT_STATS;
842853

843854
const configArr = getCompilerConfigArray(this.compiler);
@@ -974,6 +985,9 @@ class Server {
974985
}
975986

976987
serveMagicHtml(req, res, next) {
988+
const getFilenameFromUrl =
989+
require('webpack-dev-middleware/dist/utils/getFilenameFromUrl').default;
990+
977991
const _path = req.path;
978992

979993
try {
@@ -1050,6 +1064,8 @@ class Server {
10501064
interval,
10511065
};
10521066

1067+
const chokidar = require('chokidar');
1068+
10531069
const watcher = chokidar.watch(watchPath, finalWatchOptions);
10541070

10551071
// disabling refreshing on changing the content

0 commit comments

Comments
 (0)