@area17/a17-boilerplate
Version:
The official AREA 17 boilerplate
39 lines (33 loc) • 1.2 kB
JavaScript
const path = require('path');
const spawn = require('cross-spawn');
const chalk = require('chalk');
const utils = require('../utils');
const createLogger = require('logging').default;
const relativePath = __dirname.replace(process.cwd(), '.');
const argv = require('minimist')(process.argv.slice(2));
const logger = createLogger('Scripts');
// use webpack to handle script task
if (argv.watch) {
logger.info('Starting Scripts in watch mode');
const ls = spawn(
utils.resolveBin('webpack'),
[].concat(['--config'],[path.join(relativePath, '../webpack.config.js')],['--env.dev'],[argv.watch ? '--watch' : ''])
);
ls.stdout.on('data', (data) => {
logger.info(`${data}`);
});
} else {
logger.info('Starting Scripts');
let result = spawn.sync(
utils.resolveBin('webpack'),
[].concat(['--config'],[path.join(relativePath, '../webpack.config.js')],[argv.production ? '--env.prod' : '--env.dev'])
);
if (result.status !== 0) {
// process.stderr.write(result.stderr);
process.stdout.write(chalk.red(result.stdout));
logger.error('Failed Scripts');
// process.exit(result.status);
} else {
logger.info(chalk.green('Succeed Scripts'));
}
}