Sha256: e6ab7b8cb9dde43e6070cb4a906106e1c919e810554bd565d887a2baad2b7b2b

Contents?: true

Size: 1.59 KB

Versions: 26

Compression:

Stored size: 1.59 KB

Contents

'use strict';
/* global WorkerGlobalScope self */

var _require = require('./log'),
    log = _require.log;

function reloadApp(_ref, _ref2) {
  var hotReload = _ref.hotReload,
      hot = _ref.hot,
      liveReload = _ref.liveReload;
  var isUnloading = _ref2.isUnloading,
      currentHash = _ref2.currentHash;

  if (isUnloading || !hotReload) {
    return;
  }

  if (hot) {
    log.info('[WDS] App hot update...');

    var hotEmitter = require('webpack/hot/emitter');

    hotEmitter.emit('webpackHotUpdate', currentHash);

    if (typeof self !== 'undefined' && self.window) {
      // broadcast update to window
      self.postMessage("webpackHotUpdate".concat(currentHash), '*');
    }
  } // allow refreshing the page only if liveReload isn't disabled
  else if (liveReload) {
      var rootWindow = self; // use parent window for reload (in case we're in an iframe with no valid src)

      var intervalId = self.setInterval(function () {
        if (rootWindow.location.protocol !== 'about:') {
          // reload immediately if protocol is valid
          applyReload(rootWindow, intervalId);
        } else {
          rootWindow = rootWindow.parent;

          if (rootWindow.parent === rootWindow) {
            // if parent equals current window we've reached the root which would continue forever, so trigger a reload anyways
            applyReload(rootWindow, intervalId);
          }
        }
      });
    }

  function applyReload(rootWindow, intervalId) {
    clearInterval(intervalId);
    log.info('[WDS] App updated. Reloading...');
    rootWindow.location.reload();
  }
}

module.exports = reloadApp;

Version data entries

26 entries across 25 versions & 8 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/webpack-dev-server/client/utils/reloadApp.js
disco_app-0.18.0 test/dummy/node_modules/webpack-dev-server/client/utils/reloadApp.js
disco_app-0.18.2 test/dummy/node_modules/webpack-dev-server/client/utils/reloadApp.js
disco_app-0.16.1 test/dummy/node_modules/webpack-dev-server/client/utils/reloadApp.js
disco_app-0.15.2 test/dummy/node_modules/webpack-dev-server/client/utils/reloadApp.js
disco_app-0.18.4 test/dummy/node_modules/webpack-dev-server/client/utils/reloadApp.js
disco_app-0.18.1 test/dummy/node_modules/webpack-dev-server/client/utils/reloadApp.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/webpack-dev-server/client/utils/reloadApp.js
disco_app-0.14.0 test/dummy/node_modules/webpack-dev-server/client/utils/reloadApp.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/webpack-dev-server/client/utils/reloadApp.js
tang-0.2.1 spec/tang_app/node_modules/webpack-dev-server/client/utils/reloadApp.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/webpack-dev-server/client/utils/reloadApp.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/webpack-dev-server/client/utils/reloadApp.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/webpack-dev-server/client/utils/reloadApp.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/webpack-dev-server/client/utils/reloadApp.js
tang-0.2.0 spec/tang_app/node_modules/webpack-dev-server/client/utils/reloadApp.js
tang-0.1.0 spec/tang_app/node_modules/webpack-dev-server/client/utils/reloadApp.js
tang-0.0.9 spec/tang_app/node_modules/webpack-dev-server/client/utils/reloadApp.js
enju_library-0.3.8 spec/dummy/node_modules/webpack-dev-server/client/utils/reloadApp.js
jester-data-8.0.0 node_modules/webpack-dev-server/client/utils/reloadApp.js