mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-12-26 09:03:48 +08:00
38 lines
1 KiB
JavaScript
38 lines
1 KiB
JavaScript
/* RainLoop Webmail (c) RainLoop Team | Licensed under AGPL 3 */
|
|
const webpack = require('webpack');
|
|
const gutil = require('gulp-util');
|
|
|
|
const { config } = require('./config');
|
|
|
|
const webpackCfgBuilder = require('../webpack.config.builder.js');
|
|
|
|
const webpackError = (err) => {
|
|
if (err) {
|
|
gutil.log('[webpack]', '---');
|
|
gutil.log('[webpack]', err.error ? err.error.toString() : '');
|
|
gutil.log('[webpack]', err.message || '');
|
|
gutil.log('[webpack]', '---');
|
|
}
|
|
};
|
|
|
|
const webpackCallback = (done) => (err, stats) => {
|
|
if (err) {
|
|
if (config.watch) {
|
|
webpackError(err);
|
|
} else {
|
|
throw new gutil.PluginError('webpack', err);
|
|
}
|
|
} else if (stats && stats.compilation && stats.compilation.errors && stats.compilation.errors[0]) {
|
|
if (config.watch) {
|
|
stats.compilation.errors.forEach(webpackError);
|
|
} else {
|
|
throw new gutil.PluginError('webpack', stats.compilation.errors[0]);
|
|
}
|
|
}
|
|
|
|
done();
|
|
};
|
|
|
|
exports.webpack = (done) => {
|
|
webpack(webpackCfgBuilder(config.paths.staticJS, !config.community, 'production'), webpackCallback(done));
|
|
};
|