diff --git a/packages/next/build/index.ts b/packages/next/build/index.ts index 1e6eaff734339bc..27ed5cbe45e0d51 100644 --- a/packages/next/build/index.ts +++ b/packages/next/build/index.ts @@ -1910,6 +1910,9 @@ export default async function build( }) } + // ensure the worker is not left hanging + staticWorkers.close() + const analysisEnd = process.hrtime(analysisBegin) telemetry.record( eventBuildOptimize(pagePaths, { diff --git a/packages/next/lib/worker.ts b/packages/next/lib/worker.ts index 8182f2b6b0eace1..023d9166e53f37b 100644 --- a/packages/next/lib/worker.ts +++ b/packages/next/lib/worker.ts @@ -85,4 +85,13 @@ export class Worker { this._worker = undefined return worker.end() } + + /** + * Quietly end the worker if it exists + */ + close(): void { + if (this._worker) { + this._worker.end() + } + } }