X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fmain.ts;h=0fddf3aace64c3d7938a4b25b1adfb7c01288806;hb=42ea9f9ee31cf18089a00b99a12040a09267ab28;hp=b02b6830f4c1f0f9c722f045b81d02356d076594;hpb=77d07d690968a9631fc0c8bafbaebd27a5ebaab6;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/main.ts b/client/src/main.ts index b02b6830f..0fddf3aac 100644 --- a/client/src/main.ts +++ b/client/src/main.ts @@ -1,25 +1,45 @@ -import { enableProdMode } from '@angular/core' +import { ApplicationRef, enableProdMode } from '@angular/core' +import { enableDebugTools } from '@angular/platform-browser' import { platformBrowserDynamic } from '@angular/platform-browser-dynamic' - import { AppModule } from './app/app.module' import { environment } from './environments/environment' -import { hmrBootstrap } from './hmr' - if (environment.production) { enableProdMode() } const bootstrap = () => platformBrowserDynamic() .bootstrapModule(AppModule) + .then(bootstrapModule => { + // TODO: Uncomment and remove unregistration when https://github.com/angular/angular/issues/21191 is fixed + // TODO: Remove when https://github.com/angular/angular-cli/issues/8779 is fixed? + // if ('serviceWorker' in navigator && environment.production) { + // navigator.serviceWorker.register('/ngsw-worker.js') + // .catch(err => console.error('Cannot register service worker.', err)) + // } -if (environment.hmr) { - if (module[ 'hot' ]) { - hmrBootstrap(module, bootstrap) - } else { - console.error('HMR is not enabled for webpack-dev-server!') - console.log('Are you using the --hmr flag for ng serve?') - } -} else { - bootstrap() -} + if (navigator.serviceWorker && typeof navigator.serviceWorker.getRegistrations === 'function') { + navigator.serviceWorker.getRegistrations() + .then(registrations => { + for (const registration of registrations) { + registration.unregister() + } + }) + } + + if (!environment.production) { + const applicationRef = bootstrapModule.injector.get(ApplicationRef) + const componentRef = applicationRef.components[0] + + // allows to run `ng.profiler.timeChangeDetection();` + enableDebugTools(componentRef) + } + + return bootstrapModule + }) + .catch(err => { + console.error(err) + return null + }) + +bootstrap()