Null Webpack compiler after run Fixes #3272

5af78524659172b7a25445263457cac1c30f0858

Cohee <18619528+Cohee1207@users.noreply.github.com>

1 files changed, +11 -1Ignore whitespace
src/middleware/webpack-serve.js+11 -1
@@ -5,7 +5,8 @@ import { publicLibConfig } from '../../webpack.config.js';
5export default function getWebpackServeMiddleware() {5export default function getWebpackServeMiddleware() {
6 const outputPath = publicLibConfig.output?.path;6 const outputPath = publicLibConfig.output?.path;
7 const outputFile = publicLibConfig.output?.filename;7 const outputFile = publicLibConfig.output?.filename;
8 const compiler = webpack(publicLibConfig);8 /** @type {import('webpack').Compiler|null} */
9 let compiler = webpack(publicLibConfig);
910
10 /**11 /**
11 * A very spartan recreation of webpack-dev-middleware.12 * A very spartan recreation of webpack-dev-middleware.
@@ -28,6 +29,11 @@ export default function getWebpackServeMiddleware() {
28 */29 */
29 devMiddleware.runWebpackCompiler = () => {30 devMiddleware.runWebpackCompiler = () => {
30 return new Promise((resolve) => {31 return new Promise((resolve) => {
32 if (compiler === null) {
33 console.warn('Webpack compiler is already closed.');
34 return resolve();
35 }
36
31 console.log();37 console.log();
32 console.log('Compiling frontend libraries...');38 console.log('Compiling frontend libraries...');
33 compiler.run((_error, stats) => {39 compiler.run((_error, stats) => {
@@ -36,7 +42,11 @@ export default function getWebpackServeMiddleware() {
36 console.log(output);42 console.log(output);
37 console.log();43 console.log();
38 }44 }
45 if (compiler === null) {
46 return resolve();
47 }
39 compiler.close(() => {48 compiler.close(() => {
49 compiler = null;
40 resolve();50 resolve();
41 });51 });
42 });52 });