text: const webpack = require('webpack');
  const { getConfig, getElectronMainConfig } = require('./config');
  
  module.exports = function build(mode) {
    const rendererConfig = getConfig();
    const mainConfig = getElectronMainConfig();
  
    process.env.NODE_ENV = 'production';
  
    if (mode === 'electron') {
      pack(rendererConfig)
        .then(result => {
          console.log(result);
        }).catch(err => {
          console.log(`\n  Failed to build renderer process`);
          console.error(`\n${err}\n`);
          process.exit(1)
        });
  
      pack(mainConfig)
        .then(result => {
          console.log(result);
        }).catch(err => {
          console.log(`\n  Failed to build main process`);
          console.error(`\n${err}\n`);
          process.exit(1)
        });
    }
  }
  
  function pack(config) {
    return new Promise((resolve, reject) => {
      webpack(config, (err, stats) => {
        if (err) reject(err.stack || err)
  
        else if (stats.hasErrors()) {
          let err = ''
  
          stats
            .toString({
              chunks: false,
              colors: true
            })
            .split(/\r?\n/)
            .forEach(line => {
              err += `    ${line}\n`
            });
  
          reject(err);
        } else {
          resolve(stats.toString({
            chunks: false,
            colors: true
          }));
        }
      });
    });
  }