From 89252d4a8d519a827523b141c8dd30012ccf41d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kvasni=C4=8D=C3=A1k?= Date: Tue, 4 Oct 2016 13:21:36 +0200 Subject: [PATCH 1/2] Support webpack 2 --- .../react-dev-utils/webpackHotDevClient.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/react-dev-utils/webpackHotDevClient.js b/packages/react-dev-utils/webpackHotDevClient.js index 391db9621e..8cd1f78cc8 100644 --- a/packages/react-dev-utils/webpackHotDevClient.js +++ b/packages/react-dev-utils/webpackHotDevClient.js @@ -272,8 +272,7 @@ function tryApplyUpdates(onHotUpdateSuccess) { return; } - // https://webpack.github.io/docs/hot-module-replacement.html#check - module.hot.check(/* autoApply */true, function(err, updatedModules) { + var checkCallback = function(err, updatedModules) { if (err || !updatedModules) { window.location.reload(); return; @@ -288,5 +287,18 @@ function tryApplyUpdates(onHotUpdateSuccess) { // While we were updating, there was a new update! Do it again. tryApplyUpdates(); } - }); + } + + // https://webpack.github.io/docs/hot-module-replacement.html#check + var result = module.hot.check(/* autoApply */true, checkCallback); + + // webpack 2 support + if (result && result.then) { + result.then( + function(updatedModules) { + checkCallback(null, updatedModules); + }, + checkCallback + ); + } }; From fbfc0311de8eaff7f96f148a1a5c29d3c1b91477 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kvasni=C4=8D=C3=A1k?= Date: Tue, 4 Oct 2016 13:59:48 +0200 Subject: [PATCH 2/2] Code style --- packages/react-dev-utils/webpackHotDevClient.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/react-dev-utils/webpackHotDevClient.js b/packages/react-dev-utils/webpackHotDevClient.js index 8cd1f78cc8..eebf6c0a25 100644 --- a/packages/react-dev-utils/webpackHotDevClient.js +++ b/packages/react-dev-utils/webpackHotDevClient.js @@ -272,7 +272,7 @@ function tryApplyUpdates(onHotUpdateSuccess) { return; } - var checkCallback = function(err, updatedModules) { + function handleApplyUpdates(err, updatedModules) { if (err || !updatedModules) { window.location.reload(); return; @@ -290,15 +290,17 @@ function tryApplyUpdates(onHotUpdateSuccess) { } // https://webpack.github.io/docs/hot-module-replacement.html#check - var result = module.hot.check(/* autoApply */true, checkCallback); + var result = module.hot.check(/* autoApply */true, handleApplyUpdates); - // webpack 2 support + // // Webpack 2 returns a Promise instead of invoking a callback if (result && result.then) { result.then( function(updatedModules) { - checkCallback(null, updatedModules); + handleApplyUpdates(null, updatedModules); }, - checkCallback + function(err) { + handleApplyUpdates(err, null); + } ); } };