Skip to content
This repository was archived by the owner on Aug 7, 2021. It is now read-only.
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions lazy-ngmodule-hot-loader.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
const { safeGet } = require("./projectHelpers");

const LAZY_RESOURCE_CONTEXT = "$$_lazy_route_resource";
const HOT_SELF_ACCEPT = "module.hot && module.hot.accept()";
const HOT_SELF_ACCEPT = "module.hot.accept();";
const HOT_DISPOSE = `
module.hot.dispose(() => {
// Currently the context is needed only for application style modules.
const MODULE_CONTEXT = "{}";
global.__hmrRefresh(MODULE_CONTEXT);
});
`;
const HMR_HANDLER = `
if (module.hot) {
${HOT_SELF_ACCEPT}
${HOT_DISPOSE}
}
`;

const isLazyLoadedNgModule = resource => {
const issuer = safeGet(resource, "issuer");
Expand All @@ -12,6 +25,6 @@ const isLazyLoadedNgModule = resource => {

module.exports = function (source) {
return isLazyLoadedNgModule(this._module) ?
`${source};${HOT_SELF_ACCEPT}`:
`${source};${HMR_HANDLER}` :
source;
};