rump-scripts
Version:
Rump piece for building JS with Webpack
67 lines (51 loc) • 5.41 kB
JavaScript
;
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
var _extend = require('extend');
var _extend2 = _interopRequireDefault(_extend);
var _gulp = require('gulp');
var _gulp2 = _interopRequireDefault(_gulp);
var _rump = require('rump');
var _rump2 = _interopRequireDefault(_rump);
var _webpack = require('webpack');
var _webpack2 = _interopRequireDefault(_webpack);
var _gulpUtil = require('gulp-util');
var name = _rump2['default'].taskName.bind(_rump2['default']);
var task = _gulp2['default'].task.bind(_gulp2['default']);
var configs = _rump2['default'].configs;
var supportsColor = _gulpUtil.colors.supportsColor;
task(name('build:scripts'), build);
_gulp.tasks[name('build')].dep.push(name('build:scripts'));
_gulp.tasks[name('watch')].dep.push(name('build:scripts'));
function build(callback) {
var options = (0, _extend2['default'])({}, configs.webpack);
var watchOptions = options.watchOptions;
var callbackCalled = false,
compiler = undefined;
delete options.watchOptions;
compiler = (0, _webpack2['default'])(options);
if (configs.watch) {
compiler.watch(watchOptions, handler);
} else {
compiler.run(handler);
}
function handler(error, stats) {
if (error) {
throw new _gulpUtil.PluginError(name('build:scripts'), error);
} else if (callbackCalled) {
(0, _gulpUtil.log)(stats.toString({
assets: false,
chunks: false,
colors: supportsColor,
hash: false,
modules: false,
reasons: false,
source: false
}));
} else {
callbackCalled = true;
(0, _gulpUtil.log)(stats.toString({ colors: supportsColor }));
return callback();
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ndWxwL2J1aWxkLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7c0JBQW1CLFFBQVE7Ozs7b0JBQ0QsTUFBTTs7OztvQkFDZixNQUFNOzs7O3VCQUNILFNBQVM7Ozs7d0JBQ1UsV0FBVzs7QUFFNUMsSUFBQSxJQUFJLEdBQUssa0JBQUssUUFBUSx5QkFBQTtBQUN0QixJQUFBLElBQUksR0FBSyxrQkFBSyxJQUFJLHlCQUFBO0FBQ2xCLElBQUMsT0FBTyxxQkFBUCxPQUFPLENBQVE7SUFDZixhQUFhLG9CQUFiLGFBQWE7O0FBRXBCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDbEMsWUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFBO0FBQ3BELFlBQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQTs7QUFFcEQsU0FBUyxLQUFLLENBQUMsUUFBUSxFQUFFO0FBQ2pCLE1BQUEsT0FBTyxHQUFHLHlCQUFPLEVBQUUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7TUFDcEMsWUFBWSxHQUFJLE9BQU8sQ0FBdkIsWUFBWTs7QUFDbkIsTUFBSSxjQUFjLEdBQUcsS0FBSztNQUN0QixRQUFRLFlBQUEsQ0FBQTs7QUFFWixTQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUE7QUFDM0IsVUFBUSxHQUFHLDBCQUFRLE9BQU8sQ0FBQyxDQUFBO0FBQzNCLE1BQUcsT0FBTyxDQUFDLEtBQUssRUFBRTtBQUNoQixZQUFRLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQTtHQUN0QyxNQUNJO0FBQ0gsWUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtHQUN0Qjs7QUFFRCxXQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFO0FBQzdCLFFBQUcsS0FBSyxFQUFFO0FBQ1IsWUFBTSwwQkFBZ0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO0tBQ3BELE1BQ0ksSUFBRyxjQUFjLEVBQUU7QUFDdEIseUJBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQztBQUNqQixjQUFNLEVBQUUsS0FBSztBQUNiLGNBQU0sRUFBRSxLQUFLO0FBQ2IsY0FBTSxFQUFFLGFBQWE7QUFDckIsWUFBSSxFQUFFLEtBQUs7QUFDWCxlQUFPLEVBQUUsS0FBSztBQUNkLGVBQU8sRUFBRSxLQUFLO0FBQ2QsY0FBTSxFQUFFLEtBQUs7T0FDZCxDQUFDLENBQUMsQ0FBQTtLQUNKLE1BQ0k7QUFDSCxvQkFBYyxHQUFHLElBQUksQ0FBQTtBQUNyQix5QkFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBQyxDQUFDLENBQUMsQ0FBQTtBQUM1QyxhQUFPLFFBQVEsRUFBRSxDQUFBO0tBQ2xCO0dBQ0Y7Q0FDRiIsImZpbGUiOiJidWlsZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBleHRlbmQgZnJvbSAnZXh0ZW5kJ1xuaW1wb3J0IGd1bHAsIHt0YXNrc30gZnJvbSAnZ3VscCdcbmltcG9ydCBydW1wIGZyb20gJ3J1bXAnXG5pbXBvcnQgd2VicGFjayBmcm9tICd3ZWJwYWNrJ1xuaW1wb3J0IHtQbHVnaW5FcnJvciwgY29sb3JzLCBsb2d9IGZyb20gJ2d1bHAtdXRpbCdcblxuY29uc3QgbmFtZSA9IDo6cnVtcC50YXNrTmFtZSxcbiAgICAgIHRhc2sgPSA6Omd1bHAudGFzayxcbiAgICAgIHtjb25maWdzfSA9IHJ1bXAsXG4gICAgICB7c3VwcG9ydHNDb2xvcn0gPSBjb2xvcnNcblxudGFzayhuYW1lKCdidWlsZDpzY3JpcHRzJyksIGJ1aWxkKVxudGFza3NbbmFtZSgnYnVpbGQnKV0uZGVwLnB1c2gobmFtZSgnYnVpbGQ6c2NyaXB0cycpKVxudGFza3NbbmFtZSgnd2F0Y2gnKV0uZGVwLnB1c2gobmFtZSgnYnVpbGQ6c2NyaXB0cycpKVxuXG5mdW5jdGlvbiBidWlsZChjYWxsYmFjaykge1xuICBjb25zdCBvcHRpb25zID0gZXh0ZW5kKHt9LCBjb25maWdzLndlYnBhY2spLFxuICAgICAgICB7d2F0Y2hPcHRpb25zfSA9IG9wdGlvbnNcbiAgbGV0IGNhbGxiYWNrQ2FsbGVkID0gZmFsc2UsXG4gICAgICBjb21waWxlclxuXG4gIGRlbGV0ZSBvcHRpb25zLndhdGNoT3B0aW9uc1xuICBjb21waWxlciA9IHdlYnBhY2sob3B0aW9ucylcbiAgaWYoY29uZmlncy53YXRjaCkge1xuICAgIGNvbXBpbGVyLndhdGNoKHdhdGNoT3B0aW9ucywgaGFuZGxlcilcbiAgfVxuICBlbHNlIHtcbiAgICBjb21waWxlci5ydW4oaGFuZGxlcilcbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZXIoZXJyb3IsIHN0YXRzKSB7XG4gICAgaWYoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBQbHVnaW5FcnJvcihuYW1lKCdidWlsZDpzY3JpcHRzJyksIGVycm9yKVxuICAgIH1cbiAgICBlbHNlIGlmKGNhbGxiYWNrQ2FsbGVkKSB7XG4gICAgICBsb2coc3RhdHMudG9TdHJpbmcoe1xuICAgICAgICBhc3NldHM6IGZhbHNlLFxuICAgICAgICBjaHVua3M6IGZhbHNlLFxuICAgICAgICBjb2xvcnM6IHN1cHBvcnRzQ29sb3IsXG4gICAgICAgIGhhc2g6IGZhbHNlLFxuICAgICAgICBtb2R1bGVzOiBmYWxzZSxcbiAgICAgICAgcmVhc29uczogZmFsc2UsXG4gICAgICAgIHNvdXJjZTogZmFsc2UsXG4gICAgICB9KSlcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBjYWxsYmFja0NhbGxlZCA9IHRydWVcbiAgICAgIGxvZyhzdGF0cy50b1N0cmluZyh7Y29sb3JzOiBzdXBwb3J0c0NvbG9yfSkpXG4gICAgICByZXR1cm4gY2FsbGJhY2soKVxuICAgIH1cbiAgfVxufVxuIl19