Null Webpack compiler after run

Fixes #3272
This commit is contained in:
Cohee 2025-01-07 19:54:31 +02:00
parent 6029b51f7e
commit 5af7852465

View File

@ -5,7 +5,8 @@ import { publicLibConfig } from '../../webpack.config.js';
export default function getWebpackServeMiddleware() { export default function getWebpackServeMiddleware() {
const outputPath = publicLibConfig.output?.path; const outputPath = publicLibConfig.output?.path;
const outputFile = publicLibConfig.output?.filename; const outputFile = publicLibConfig.output?.filename;
const compiler = webpack(publicLibConfig); /** @type {import('webpack').Compiler|null} */
let compiler = webpack(publicLibConfig);
/** /**
* A very spartan recreation of webpack-dev-middleware. * A very spartan recreation of webpack-dev-middleware.
@ -28,6 +29,11 @@ export default function getWebpackServeMiddleware() {
*/ */
devMiddleware.runWebpackCompiler = () => { devMiddleware.runWebpackCompiler = () => {
return new Promise((resolve) => { return new Promise((resolve) => {
if (compiler === null) {
console.warn('Webpack compiler is already closed.');
return resolve();
}
console.log(); console.log();
console.log('Compiling frontend libraries...'); console.log('Compiling frontend libraries...');
compiler.run((_error, stats) => { compiler.run((_error, stats) => {
@ -36,7 +42,11 @@ export default function getWebpackServeMiddleware() {
console.log(output); console.log(output);
console.log(); console.log();
} }
if (compiler === null) {
return resolve();
}
compiler.close(() => { compiler.close(() => {
compiler = null;
resolve(); resolve();
}); });
}); });