From f1f9b4d02017b6383129e3fdb77d91bfa6df5831 Mon Sep 17 00:00:00 2001 From: Hornwitser Date: Sun, 27 Sep 2020 02:25:27 +0200 Subject: [PATCH] Close webpack middleware on shutdown Call the .close method on the webpack-dev-middleware in order to properly shut it down. --- packages/master/master.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/master/master.js b/packages/master/master.js index 164b3c53..53ac5d90 100755 --- a/packages/master/master.js +++ b/packages/master/master.js @@ -36,6 +36,7 @@ let masterConfigPath; let stopAcceptingNewSessions = false; let debugEvents = new events.EventEmitter(); let pluginList = {}; +let devMiddleware; // homebrew modules const generateSSLcert = require("./src/generate_ssl_cert"); @@ -371,6 +372,10 @@ async function shutdown() { stopAcceptingNewSessions = true; + if (devMiddleware) { + await new Promise((resolve, reject) => { devMiddleware.close(resolve); }); + } + let disconnectTasks = []; for (let controlConnection of controlConnections) { controlConnection.connector.setTimeout(masterConfig.get("master.connector_shutdown_timeout")); @@ -1636,14 +1641,16 @@ async function startServer() { // If we get here the command was run + // Start webpack development server if enabled if (args.dev) { - console.log("Development mode enabled"); + console.log("Webpack development mode enabled"); const webpack = require("webpack"); - const middleware = require("webpack-dev-middleware"); + const webpackDevMiddleware = require("webpack-dev-middleware"); const webpackConfig = require("./webpack.config"); const compiler = webpack(webpackConfig({})); - app.use(middleware(compiler, {})); + devMiddleware = webpackDevMiddleware(compiler, {}); + app.use(devMiddleware); } let secondSigint = false;