import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
import { AppModule } from './app/app.module'
import { environment } from './environments/environment'
+import { logger } from './root-helpers'
if (environment.production) {
enableProdMode()
}
+logger.registerServerSending(environment.apiUrl)
+
const bootstrap = () => platformBrowserDynamic()
.bootstrapModule(AppModule)
.then(bootstrapModule => {
- if ('serviceWorker' in navigator && environment.production) {
- navigator.serviceWorker.register('/ngsw-worker.js')
- .catch(err => console.error('Cannot register service worker.', err))
- }
-
if (!environment.production) {
const applicationRef = bootstrapModule.injector.get(ApplicationRef)
const componentRef = applicationRef.components[0]
return bootstrapModule
})
.catch(err => {
- console.error(err)
+ try {
+ logger.error(err)
+ } catch (err2) {
+ console.error('Cannot log error', { err, err2 })
+ }
+
+ // Ensure we display an "incompatible message" on Angular bootstrap error
+ setTimeout(() => {
+ if (document.querySelector('my-app').innerHTML === '') {
+ throw err
+ }
+ }, 1000)
+
return null
})