From f0a23a2abf724d783977c09bf99da42bc5f842fa Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Thu, 18 May 2023 23:21:09 +0200 Subject: [PATCH] Don't send HMR before packaging in watch mode --- packages/reporters/dev-server/src/ServerReporter.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/reporters/dev-server/src/ServerReporter.js b/packages/reporters/dev-server/src/ServerReporter.js index 2588256d46f..9981999aa38 100644 --- a/packages/reporters/dev-server/src/ServerReporter.js +++ b/packages/reporters/dev-server/src/ServerReporter.js @@ -91,7 +91,13 @@ export default (new Reporter({ } break; case 'buildProgress': - if (event.phase === 'bundled' && hmrServer) { + if ( + event.phase === 'bundled' && + hmrServer && + // Only send HMR updates before packaging if the built in dev server is used to ensure that + // no stale bundles are served. Otherwise emit it for 'buildSuccess'. + options.serveOptions !== false + ) { await hmrServer.emitUpdate(event); } break; @@ -106,6 +112,9 @@ export default (new Reporter({ server.buildSuccess(event.bundleGraph, event.requestBundle); } + if (hmrServer && options.serveOptions === false) { + await hmrServer.emitUpdate(event); + } break; case 'buildFailure': // On buildFailure watchStart sometimes has not been called yet