37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
const webpack = require('webpack');
|
|
const ora = require('ora');
|
|
const rm = require('rimraf');
|
|
const chalk = require('chalk');
|
|
const editor = process.env.TARGET_EDITOR;
|
|
const config = !process.env.TARGET_EDITOR ? require('./webpack.config.js') : require('./webpack.config.pe.js');
|
|
|
|
const env = process.env.NODE_ENV || 'development';
|
|
const target = process.env.TARGET || 'web';
|
|
|
|
const spinner = ora(env === 'production' ? 'building for production...' : 'building development version...');
|
|
spinner.start();
|
|
|
|
rm('./www/', (removeErr) => {
|
|
if (removeErr) throw removeErr;
|
|
|
|
webpack(config, (err, stats) => {
|
|
if (err) throw err;
|
|
spinner.stop();
|
|
|
|
process.stdout.write(`${stats.toString({
|
|
colors: true,
|
|
modules: false,
|
|
children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
|
|
chunks: false,
|
|
chunkModules: false,
|
|
})}\n\n`);
|
|
|
|
if (stats.hasErrors()) {
|
|
console.log(chalk.red('Build failed with errors.\n'));
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log(chalk.cyan('Build complete.\n'));
|
|
});
|
|
});
|