UNPKG

1.88 kBJavaScriptView Raw
1const path = require('path');
2const spawn = require('cross-spawn');
3const chalk = require('chalk');
4const utils = require('../utils');
5const createLogger = require('logging').default;
6
7const relativePath = __dirname.replace(process.cwd(), '.');
8const argv = require('minimist')(process.argv.slice(2));
9const logger = createLogger('Bundle');
10
11// use webpack to handle script task
12
13if (argv.watch) {
14 logger.info('Starting Bundle in watch mode');
15
16 // Webpack in watch mode (and development mode)
17 // webpack --config ../webpack.config.js --mode=development --watch --colors
18 const ls = spawn(
19 utils.resolveBin('webpack'),
20 [].concat(
21 ['--config'],
22 [path.join(relativePath, '../webpack.config.js')],
23 [argv.production ? '--mode=production' : '--mode=development'],
24 [argv.verbose ? '--verbosemode=true' : '--verbosemode=false'],
25 ['--watch'],
26 ['--colors']
27 )
28 );
29
30 ls.stdout.on('data', (data) => {
31 logger.info(`${data}`);
32 });
33} else {
34 logger.info('Starting Scripts & Styles');
35
36 // Webpack in development (a17-bp bundle) or production mode (a17-bp bundle --production)
37 // webpack --config ../webpack.config.js --mode=production --colors
38 let result = spawn.sync(
39 utils.resolveBin('webpack'),
40 [].concat(
41 ['--config'],
42 [path.join(relativePath, '../webpack.config.js')],
43 [argv.production ? '--mode=production' : '--mode=development'],
44 [argv.verbose ? '--verbosemode=true' : '--verbosemode=false'],
45 ['--colors']
46 ),
47 {stdio: 'inherit'}
48 );
49
50
51 if (result.status !== 0) {
52 // process.stderr.write(result.stderr);
53 process.stdout.write(chalk.red(result.stdout));
54 logger.error('Failed Scripts & Styles');
55 // process.exit(result.status);
56 } else {
57 logger.info(chalk.green('Succeed Scripts & Styles'));
58 }
59}
\No newline at end of file