useHMR.js 1.1 KB

123456789101112131415161718192021222324252627282930
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. function useProdHMR() {
  7. return false;
  8. }
  9. var webpackHMR = false;
  10. function useDevHMR() {
  11. return webpackHMR;
  12. }
  13. var _default = exports.default = process.env.NODE_ENV === 'production' ? useProdHMR : useDevHMR; // Webpack `module.hot.accept` do not support any deps update trigger
  14. // We have to hack handler to force mark as HRM
  15. if (process.env.NODE_ENV !== 'production' && typeof module !== 'undefined' && module && module.hot && typeof window !== 'undefined') {
  16. // Use `globalThis` first, and `window` for older browsers
  17. // const win = globalThis as any;
  18. var win = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : null;
  19. if (win && typeof win.webpackHotUpdate === 'function') {
  20. var originWebpackHotUpdate = win.webpackHotUpdate;
  21. win.webpackHotUpdate = function () {
  22. webpackHMR = true;
  23. setTimeout(function () {
  24. webpackHMR = false;
  25. }, 0);
  26. return originWebpackHotUpdate.apply(void 0, arguments);
  27. };
  28. }
  29. }