UNPKG

997 BJavaScriptView Raw
1const merge = require('deepmerge');
2const ora = require('ora');
3const { build } = require('../src');
4const base = require('./base');
5
6module.exports = (middleware, args, cli) => {
7 const spinner = ora({ text: 'Building project' });
8
9 return base({
10 cli,
11 middleware,
12 args,
13 NODE_ENV: 'production',
14 commandHandler: (config, neutrino) => {
15 if (!args.quiet) {
16 spinner.enabled = global.interactive;
17 spinner.start();
18 }
19
20 return build(config, neutrino);
21 },
22 errorsHandler() {
23 if (!args.quiet) {
24 spinner.fail('Building project failed');
25 }
26 },
27 successHandler(stats) {
28 if (args.quiet) {
29 return;
30 }
31
32 spinner.succeed('Building project completed');
33
34 if (stats) {
35 console.log(stats.toString(merge({
36 modules: false,
37 colors: true,
38 chunks: false,
39 children: false
40 }, stats.compilation.compiler.options.stats || {})));
41 }
42 }
43 });
44};