1 | const path = require('path');
|
2 | const spawn = require('cross-spawn');
|
3 | const chalk = require('chalk');
|
4 | const utils = require('../utils');
|
5 | const createLogger = require('logging').default;
|
6 |
|
7 | const relativePath = __dirname.replace(process.cwd(), '.');
|
8 | const argv = require('minimist')(process.argv.slice(2));
|
9 | const logger = createLogger('Bundle');
|
10 |
|
11 |
|
12 |
|
13 | if (argv.watch) {
|
14 | logger.info('Starting Bundle in watch mode');
|
15 |
|
16 |
|
17 |
|
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 |
|
37 |
|
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 |
|
53 | process.stdout.write(chalk.red(result.stdout));
|
54 | logger.error('Failed Scripts & Styles');
|
55 |
|
56 | } else {
|
57 | logger.info(chalk.green('Succeed Scripts & Styles'));
|
58 | }
|
59 | } |
\ | No newline at end of file |