Buckets:
ktongue/docker_container / CAD_kevin /frontend /node_modules /webpack-dev-server /client /utils /reloadApp.js
| import hotEmitter from "webpack/hot/emitter.js"; | |
| import { log } from "./log.js"; | |
| /** @typedef {import("../index").Options} Options | |
| /** @typedef {import("../index").Status} Status | |
| /** | |
| * @param {Options} options | |
| * @param {Status} status | |
| */ | |
| function reloadApp(_ref, status) { | |
| var hot = _ref.hot, | |
| liveReload = _ref.liveReload; | |
| if (status.isUnloading) { | |
| return; | |
| } | |
| var currentHash = status.currentHash, | |
| previousHash = status.previousHash; | |
| var isInitial = currentHash.indexOf( /** @type {string} */previousHash) >= 0; | |
| if (isInitial) { | |
| return; | |
| } | |
| /** | |
| * @param {Window} rootWindow | |
| * @param {number} intervalId | |
| */ | |
| function applyReload(rootWindow, intervalId) { | |
| clearInterval(intervalId); | |
| log.info("App updated. Reloading..."); | |
| rootWindow.location.reload(); | |
| } | |
| var search = self.location.search.toLowerCase(); | |
| var allowToHot = search.indexOf("webpack-dev-server-hot=false") === -1; | |
| var allowToLiveReload = search.indexOf("webpack-dev-server-live-reload=false") === -1; | |
| if (hot && allowToHot) { | |
| log.info("App hot update..."); | |
| hotEmitter.emit("webpackHotUpdate", status.currentHash); | |
| if (typeof self !== "undefined" && self.window) { | |
| // broadcast update to window | |
| self.postMessage("webpackHotUpdate".concat(status.currentHash), "*"); | |
| } | |
| } | |
| // allow refreshing the page only if liveReload isn't disabled | |
| else if (liveReload && allowToLiveReload) { | |
| 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); | |
| } | |
| } | |
| }); | |
| } | |
| } | |
| export default reloadApp; |
Xet Storage Details
- Size:
- 2.08 kB
- Xet hash:
- 57622d8dda32d98ea0f4f60b92df7840a30d1894657134082c49903c59d67624
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.