const debug = require('debug')('app:bin:compile');
const webpackCompiler = require('../build/webpack-compiler');
const webpackConfig = require('../build/other.webpack.config');
const config = require('../config');

const compile = () => {
  debug('Starting compiler.');
  return Promise.resolve()
    .then(() => webpackCompiler(webpackConfig))
    .then(stats => {
      if (stats.warnings.length && config.compiler_fail_on_warning) {
        throw new Error('Config set to fail on warning, exiting with status code "1".');
      }
    })
    .then(() => {
      debug('Compilation completed successfully.');
    })
    .catch(err => {
      debug('Compiler encountered an error.', err);
      process.exit(1);
    });
};

compile();
