X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fmain.ts;h=e1a69e4a4b55a5d86ba5bd3fdb77da19c51ed49a;hb=efda99c30f2c04702bf57cc150cdfdd0acccc178;hp=7caabe9141f38005127418feeb8505b6e3ca9b24;hpb=de59c48f5f317018e3f746bbe4a7b7efe00109f2;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/main.ts b/client/src/main.ts index 7caabe914..e1a69e4a4 100644 --- a/client/src/main.ts +++ b/client/src/main.ts @@ -1,35 +1,48 @@ -import { enableProdMode, provide } from '@angular/core'; -import { disableDeprecatedForms, provideForms } from '@angular/forms'; -import { - HTTP_PROVIDERS, - RequestOptions, - XHRBackend -} from '@angular/http'; -import { bootstrap } from '@angular/platform-browser-dynamic'; -import { provideRouter } from '@angular/router'; +import { enableProdMode } from '@angular/core' +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic' -import { routes } from './app/app.routes'; -import { AuthHttp, AuthService, RestExtractor } from './app/shared'; -import { AppComponent } from './app/app.component'; +import { AppModule } from './app/app.module' +import { environment } from './environments/environment' -if (process.env.ENV === 'production') { - enableProdMode(); +import { hmrBootstrap } from './hmr' + +if (environment.production) { + enableProdMode() } -bootstrap(AppComponent, [ - HTTP_PROVIDERS, - provide(AuthHttp, { - useFactory: (backend: XHRBackend, defaultOptions: RequestOptions, authService: AuthService) => { - return new AuthHttp(backend, defaultOptions, authService); - }, - deps: [ XHRBackend, RequestOptions, AuthService ] - }), +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)) + // } - AuthService, - RestExtractor, + if (navigator.serviceWorker) { + navigator.serviceWorker.getRegistrations() + .then(registrations => { + for (const registration of registrations) { + registration.unregister() + } + }) + } - provideRouter(routes), + return bootstrapModule + }) + .catch(err => { + console.error(err) + return null + }) - disableDeprecatedForms(), - provideForms() -]); +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() +}