JavascriptHotModuleReplacementHelper.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. Author Haijie Xie @hai-x
  4. */
  5. "use strict";
  6. const RuntimeGlobals = require("../RuntimeGlobals");
  7. const Template = require("../Template");
  8. /**
  9. * Generates javascript hmr.
  10. * @param {string} type unique identifier used for HMR runtime properties
  11. * @returns {string} HMR runtime code
  12. */
  13. const generateJavascriptHMR = (type) =>
  14. Template.getFunctionContent(
  15. require("../hmr/JavascriptHotModuleReplacement.runtime")
  16. )
  17. .replace(/\$key\$/g, type)
  18. .replace(/\$installedChunks\$/g, "installedChunks")
  19. .replace(/\$loadUpdateChunk\$/g, "loadUpdateChunk")
  20. .replace(/\$moduleCache\$/g, RuntimeGlobals.moduleCache)
  21. .replace(/\$moduleFactories\$/g, RuntimeGlobals.moduleFactories)
  22. .replace(/\$ensureChunkHandlers\$/g, RuntimeGlobals.ensureChunkHandlers)
  23. .replace(/\$hasOwnProperty\$/g, RuntimeGlobals.hasOwnProperty)
  24. .replace(/\$hmrModuleData\$/g, RuntimeGlobals.hmrModuleData)
  25. .replace(
  26. /\$hmrDownloadUpdateHandlers\$/g,
  27. RuntimeGlobals.hmrDownloadUpdateHandlers
  28. )
  29. .replace(
  30. /\$hmrInvalidateModuleHandlers\$/g,
  31. RuntimeGlobals.hmrInvalidateModuleHandlers
  32. );
  33. module.exports.generateJavascriptHMR = generateJavascriptHMR;