From 0ff76bea36135a4b1edbd85a588a4e26c86dcc19 Mon Sep 17 00:00:00 2001 From: Raathigeshan Kugarajan Date: Mon, 11 Dec 2017 13:52:07 +1100 Subject: [PATCH] Reload html on change (#90) --- src/HMRServer.js | 37 ++++++++++++++++++++++--------------- src/builtins/hmr-runtime.js | 4 ++++ 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/HMRServer.js b/src/HMRServer.js index 2fba6d92cd8..aaa27908ad4 100644 --- a/src/HMRServer.js +++ b/src/HMRServer.js @@ -44,22 +44,29 @@ class HMRServer { }); } - this.broadcast({ - type: 'update', - assets: assets.map(asset => { - let deps = {}; - for (let dep of asset.dependencies.values()) { - let mod = asset.depAssets.get(dep.name); - deps[dep.name] = mod.id; - } + const containsHtmlAsset = assets.some(asset => asset.type === "html"); + if (containsHtmlAsset) { + this.broadcast({ + type: 'reload' + }); + } else { + this.broadcast({ + type: 'update', + assets: assets.map(asset => { + let deps = {}; + for (let dep of asset.dependencies.values()) { + let mod = asset.depAssets.get(dep.name); + deps[dep.name] = mod.id; + } - return { - id: asset.id, - generated: asset.generated, - deps: deps - }; - }) - }); + return { + id: asset.id, + generated: asset.generated, + deps: deps + }; + }) + }); + } } broadcast(msg) { diff --git a/src/builtins/hmr-runtime.js b/src/builtins/hmr-runtime.js index 737c034fb3e..56e64de8448 100644 --- a/src/builtins/hmr-runtime.js +++ b/src/builtins/hmr-runtime.js @@ -31,6 +31,10 @@ if (!module.bundle.parent) { } } + if (data.type === 'reload') { + window.location.reload(); + } + if (data.type === 'error-resolved') { console.log('[parcel] ✨ Error resolved'); }