/// <reference types="webpack-env" />

import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { CONFIGURATION_CONTEXT } from '@armor/platform-browser';

import { AppModule } from './app/app.module';
import { ENVIRONMENT } from './environments/environment';

import { HMR_BOOTSTRAP } from './hmr';

if (ENVIRONMENT.production) {
  enableProdMode();
}

CONFIGURATION_CONTEXT.init(ENVIRONMENT.configuration);

const bootstrap = async () => platformBrowserDynamic().bootstrapModule(AppModule);

if (ENVIRONMENT.hmr) {
  if (module.hot) {
    HMR_BOOTSTRAP(module, bootstrap)
    .catch();
  } else {
    console.error('HMR is not enabled for webpack-dev-server!');
    console.log('Are you using the --hmr flag for ng serve?');
  }
} else {
  bootstrap()
  .catch();
}
