Declare compiler in the inner scope #3272
| @@ -5,8 +5,6 @@ import { publicLibConfig } from '../../webpack.config.js'; | |||
| 5 | export default function getWebpackServeMiddleware() { | 5 | export 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 | /** @type {import('webpack').Compiler|null} */ | ||
| 9 | let compiler = webpack(publicLibConfig); | ||
| 10 | 8 | ||
| 11 | /** | 9 | /** |
| 12 | * A very spartan recreation of webpack-dev-middleware. | 10 | * A very spartan recreation of webpack-dev-middleware. |
| @@ -28,12 +26,9 @@ export default function getWebpackServeMiddleware() { | |||
| 28 | * @returns {Promise<void>} | 26 | * @returns {Promise<void>} |
| 29 | */ | 27 | */ |
| 30 | devMiddleware.runWebpackCompiler = () => { | 28 | devMiddleware.runWebpackCompiler = () => { |
| 31 | return new Promise((resolve) => { | 29 | const compiler = webpack(publicLibConfig); |
| 32 | if (compiler === null) { | ||
| 33 | console.warn('Webpack compiler is already closed.'); | ||
| 34 | return resolve(); | ||
| 35 | } | ||
| 36 | 30 | ||
| 31 | return new Promise((resolve) => { | ||
| 37 | console.log(); | 32 | console.log(); |
| 38 | console.log('Compiling frontend libraries...'); | 33 | console.log('Compiling frontend libraries...'); |
| 39 | compiler.run((_error, stats) => { | 34 | compiler.run((_error, stats) => { |
| @@ -42,11 +37,7 @@ export default function getWebpackServeMiddleware() { | |||
| 42 | console.log(output); | 37 | console.log(output); |
| 43 | console.log(); | 38 | console.log(); |
| 44 | } | 39 | } |
| 45 | if (compiler === null) { | ||
| 46 | return resolve(); | ||
| 47 | } | ||
| 48 | compiler.close(() => { | 40 | compiler.close(() => { |
| 49 | compiler = null; | ||
| 50 | resolve(); | 41 | resolve(); |
| 51 | }); | 42 | }); |
| 52 | }); | 43 | }); |