ae-biu
Version:
Born For AE, Born To Do
89 lines (63 loc) • 2.44 kB
JavaScript
;
var _commander = require('commander');
var _commander2 = _interopRequireDefault(_commander);
var _webpack = require('webpack');
var _webpack2 = _interopRequireDefault(_webpack);
var _logger = require('./utils/logger');
var _logger2 = _interopRequireDefault(_logger);
var _clearLine = require('./utils/clear-line');
var _clearLine2 = _interopRequireDefault(_clearLine);
var _loading = require('./utils/loading');
var _loading2 = _interopRequireDefault(_loading);
var _getWebpackConfig = require('./utils/get-webpack-config');
var _getWebpackConfig2 = _interopRequireDefault(_getWebpackConfig);
var _rimraf = require('rimraf');
var _rimraf2 = _interopRequireDefault(_rimraf);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
_commander2.default.usage('[options]').parse(process.argv);
var args = _commander2.default.args;
process.env.NODE_ENV = 'production';
process.env.SDP_ENV = (args[0] || process.env.SDP_ENV || process.env.npm_config_sdp_env || 'test').trim();
var webpackConfig = require('./config/webpack.config.prod');
var projectConfig = (0, _getWebpackConfig2.default)();
if (typeof projectConfig === 'function') {
webpackConfig = projectConfig(webpackConfig);
} else if (projectConfig) {
webpackConfig = projectConfig;
}
_logger2.default.info('Clean dist files\n');
_rimraf2.default.sync(webpackConfig.output.path);
var compiler = (0, _webpack2.default)(webpackConfig);
var loading = new _loading2.default();
console.log();
loading.start();
compiler.run(function (err, stats) {
loading.clear();
(0, _clearLine2.default)();
console.log();
_logger2.default.info('Webpack compile completed.\n');
if (err) {
_logger2.default.error('Webpack compiler encountered a fatal error.\n', err);
process.exit(1);
}
var jsonStats = stats.toJson();
console.log(stats.toString({
modules: false,
children: false,
chunks: false,
chunkModules: false,
colors: true
}));
if (jsonStats.errors.length > 0) {
_logger2.default.error('Webpack compiler encountered errors.\n');
console.log(jsonStats.errors.join('\n'));
process.exit(1);
} else if (jsonStats.warnings.length > 0) {
_logger2.default.warning('Webpack compiler encountered warnings.\n');
process.exit(0);
} else {
_logger2.default.success('No errors or warnings encountered.\n');
process.exit(0);
}
});