// github.com/shelljs/shelljs require('shelljs/global') env.NODE_ENV = 'production'
var path = require('path') var config = require('./config') var ora = require('ora') var webpack = require('webpack') var clientConfig = require('./webpack.prod.conf') var serverConfig = require('./webpack.server.conf')
var assetsPath = path.join(config.build.assetsRoot) rm('-rf', assetsPath) mkdir('-p', assetsPath)
var statsConfig = {
colors: true, modules: false, children: false, chunks: false, chunkModules: false
}
const compile = (config, bundle) => {
const spinner = ora(`Building ${bundle} for production...`) spinner.start() return new Promise(function (resolve, reject) { webpack(config, function (err, stats) { if (err) { spinner.text = `Error building ${bundle}.` spinner.fail() return reject(err) } spinner.text = `Built ${bundle} successfully` spinner.succeed() process.stdout.write(stats.toString(statsConfig) + '\n') resolve() }) })
}
compile(clientConfig, 'client bundle').then(() => {
compile(serverConfig, 'server bundle')
})