JavascriptHotModuleReplacementHelper.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  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. * @param {string} type unique identifier used for HMR runtime properties
  10. * @returns {string} HMR runtime code
  11. */
  12. const generateJavascriptHMR = type =>
  13. Template.getFunctionContent(
  14. require("../hmr/JavascriptHotModuleReplacement.runtime")
  15. )
  16. .replace(/\$key\$/g, type)
  17. .replace(/\$installedChunks\$/g, "installedChunks")
  18. .replace(/\$loadUpdateChunk\$/g, "loadUpdateChunk")
  19. .replace(/\$moduleCache\$/g, RuntimeGlobals.moduleCache)
  20. .replace(/\$moduleFactories\$/g, RuntimeGlobals.moduleFactories)
  21. .replace(/\$ensureChunkHandlers\$/g, RuntimeGlobals.ensureChunkHandlers)
  22. .replace(/\$hasOwnProperty\$/g, RuntimeGlobals.hasOwnProperty)
  23. .replace(/\$hmrModuleData\$/g, RuntimeGlobals.hmrModuleData)
  24. .replace(
  25. /\$hmrDownloadUpdateHandlers\$/g,
  26. RuntimeGlobals.hmrDownloadUpdateHandlers
  27. )
  28. .replace(
  29. /\$hmrInvalidateModuleHandlers\$/g,
  30. RuntimeGlobals.hmrInvalidateModuleHandlers
  31. );
  32. module.exports.generateJavascriptHMR = generateJavascriptHMR;