useHMR.js 976 B

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