X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fmain.browser.ts;h=28f0d57814b524f89506b5832d7e42d08a39d694;hb=a96aed15188174c50885dda0df3164a67295e11f;hp=70bf4853782ed6ac515d453e34b36ea955e0300a;hpb=c16ce1de8e8c21ad2136335d3b0b7d230e6d2f24;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/main.browser.ts b/client/src/main.browser.ts index 70bf48537..28f0d5781 100644 --- a/client/src/main.browser.ts +++ b/client/src/main.browser.ts @@ -1,20 +1,45 @@ -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; -import { decorateModuleRef } from './app/environment'; -import { bootloader } from '@angularclass/hmr'; -/* +/* tslint: disable */ + +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic' +import { decorateModuleRef } from './app/environment' +import { hmrModule } from '@angularclass/hmr' + +/** * App Module * our top level module that holds all of our components */ -import { AppModule } from './app'; +import { AppModule } from './app' -/* +/** * Bootstrap our Angular app with a top level NgModule */ -export function main(): Promise { +export function main (): Promise { return platformBrowserDynamic() .bootstrapModule(AppModule) .then(decorateModuleRef) - .catch(err => console.error(err)); + .then((ngModuleRef: any) => { + // `module` global ref for webpackhmr + // Don't run this in Prod + return hmrModule(ngModuleRef, module) + }) + .catch((err) => console.error(err)) +} + +/** + * Needed for hmr + * in prod this is replace for document ready + */ +switch (document.readyState) { + case 'loading': + document.addEventListener('DOMContentLoaded', _domReadyHandler, false) + break + case 'interactive': + case 'complete': + default: + main() } -bootloader(main); +function _domReadyHandler () { + document.removeEventListener('DOMContentLoaded', _domReadyHandler, false) + main() +}