Null Webpack compiler after run Fixes #3272

5af78524659172b7a25445263457cac1c30f0858

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

1 files changed, +11 -1Showing whitespace changes
src/middleware/webpack-serve.js+11 -1
@@ -5,7 +5,8 @@ import { publicLibConfig } from '../../webpack.config.js';
55export default function getWebpackServeMiddleware() {
66 const outputPath = publicLibConfig.output?.path;
77 const outputFile = publicLibConfig.output?.filename;
8- const compiler = webpack(publicLibConfig);
8+ /** @type {import('webpack').Compiler|null} */
9+ let compiler = webpack(publicLibConfig);
910
1011 /**
1112 * A very spartan recreation of webpack-dev-middleware.
@@ -28,6 +29,11 @@ export default function getWebpackServeMiddleware() {
2829 */
2930 devMiddleware.runWebpackCompiler = () => {
3031 return new Promise((resolve) => {
32+ if (compiler === null) {
33+ console.warn('Webpack compiler is already closed.');
34+ return resolve();
35+ }
36+
3137 console.log();
3238 console.log('Compiling frontend libraries...');
3339 compiler.run((_error, stats) => {
@@ -36,7 +42,11 @@ export default function getWebpackServeMiddleware() {
3642 console.log(output);
3743 console.log();
3844 }
45+ if (compiler === null) {
46+ return resolve();
47+ }
3948 compiler.close(() => {
49+ compiler = null;
4050 resolve();
4151 });
4252 });