diff options
Diffstat (limited to 'client/src/hmr.ts')
-rw-r--r-- | client/src/hmr.ts | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/client/src/hmr.ts b/client/src/hmr.ts new file mode 100644 index 000000000..4d707a250 --- /dev/null +++ b/client/src/hmr.ts | |||
@@ -0,0 +1,16 @@ | |||
1 | import { NgModuleRef, ApplicationRef } from '@angular/core' | ||
2 | import { createNewHosts } from '@angularclass/hmr' | ||
3 | |||
4 | export const hmrBootstrap = (module: any, bootstrap: () => Promise<NgModuleRef<any>>) => { | ||
5 | let ngModule: NgModuleRef<any> | ||
6 | module.hot.accept() | ||
7 | bootstrap() | ||
8 | .then(mod => ngModule = mod) | ||
9 | module.hot.dispose(() => { | ||
10 | const appRef: ApplicationRef = ngModule.injector.get(ApplicationRef) | ||
11 | const elements = appRef.components.map(c => c.location.nativeElement) | ||
12 | const makeVisible = createNewHosts(elements) | ||
13 | ngModule.destroy() | ||
14 | makeVisible() | ||
15 | }) | ||
16 | } | ||