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