@area17/a17-boilerplate
Version:
The official AREA 17 boilerplate
29 lines (25 loc) • 1.29 kB
JavaScript
const path = require('path');
const spawn = require('cross-spawn');
const utils = require('../utils');
const argv = require('minimist')(process.argv.slice(2));
const createLogger = require('logging').default;
const logger = createLogger('Build');
// get all the tasks needed for build
let resolvedPaths = [];
resolvedPaths.push(utils.attemptResolve(path.join(__dirname, '../tasks', 'clean')));
resolvedPaths.push(utils.attemptResolve(path.join(__dirname, '../tasks', 'icons')));
resolvedPaths.push(utils.attemptResolve(path.join(__dirname, '../tasks', 'images')));
resolvedPaths.push(utils.attemptResolve(path.join(__dirname, '../tasks', 'fonts')));
resolvedPaths.push(utils.attemptResolve(path.join(__dirname, '../tasks', 'styles')));
resolvedPaths.push(utils.attemptResolve(path.join(__dirname, '../tasks', 'scripts')));
resolvedPaths.push(utils.attemptResolve(path.join(__dirname, '../tasks', 'rev')));
logger.info('Starting Build');
// excute tasks in order
for (let i = 0; i < resolvedPaths.length; i++) {
let result = spawn.sync('node', [resolvedPaths[i]].concat([argv.production ? '--production' : '']), {stdio: 'inherit'});
if (result.status !== 0) {
process.stderr.write(result.stderr);
logger.error('Somthing went wrong');
process.exit(result.status);
}
}