UNPKG

rump-scripts

Version:

Rump piece for building JS with Webpack

70 lines (56 loc) 8.42 kB
'use strict'; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; var _gulp = require('gulp'); var _gulp2 = _interopRequireDefault(_gulp); var _rump = require('rump'); var _rump2 = _interopRequireDefault(_rump); var _webpack = require('webpack'); var _globule = require('globule'); var _gulpUtil = require('gulp-util'); var _path = require('path'); var _package = require('../../package'); var name = _rump2['default'].taskName.bind(_rump2['default']); var task = _gulp2['default'].task.bind(_gulp2['default']); var blue = _gulpUtil.colors.blue; var green = _gulpUtil.colors.green; var magenta = _gulpUtil.colors.magenta; var yellow = _gulpUtil.colors.yellow; var CommonsChunkPlugin = _webpack.optimize.CommonsChunkPlugin; var configs = _rump2['default'].configs; task(name('info:scripts'), function () { var plugins = configs.webpack.plugins; var glob = (0, _path.join)(configs.main.paths.source.root, configs.main.paths.source.scripts, configs.main.globs.build.scripts); var files = (0, _globule.find)([glob].concat(configs.main.globs.global)); var source = (0, _path.join)(configs.main.paths.source.root, configs.main.paths.source.scripts); var destination = (0, _path.join)(configs.main.paths.destination.root, configs.main.paths.destination.scripts); var commonFile = plugins.reduce(function (currentFile, plugin) { return !currentFile && plugin instanceof CommonsChunkPlugin ? (0, _path.join)(configs.main.paths.destination.root, configs.main.paths.destination.scripts, plugin.filenameTemplate) : currentFile; }, null); var action = 'copied'; if (!files.length) { return; } switch (configs.main.environment) { case 'development': action = 'copied ' + yellow('with source maps'); break; case 'production': action = yellow('minified') + ' and copied'; break; default: break; } console.log(); console.log(magenta('--- Scripts v' + _package.version)); console.log('Processed scripts from ' + green(source) + ' are ' + action, 'to ' + green(destination)); if (configs.main.scripts.common && commonFile) { console.log('Common modules across processed scripts', 'are built into ' + green(commonFile)); } console.log('Affected files:'); files.forEach(function (file) { return console.log(blue((0, _path.relative)(source, file))); }); console.log(); }); _gulp.tasks[name('info')].dep.push(name('info:scripts')); //# sourceMappingURL=data:application/json;base64,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QyxDQUFHLENBQUE7QUFDdkMsTUFBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksVUFBVSxFQUFFO0FBQzVDLFdBQU8sQ0FBQyxHQUFHLENBQUMseUNBQXlDLHNCQUN2QixLQUFLLENBQUMsVUFBVSxDQUFDLENBQUcsQ0FBQTtHQUNuRDtBQUNELFNBQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtBQUM5QixPQUFLLENBQUMsT0FBTyxDQUFDLFVBQUEsSUFBSTtXQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFTLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0dBQUEsQ0FBQyxDQUFBO0FBQ2hFLFNBQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQTtDQUNkLENBQUMsQ0FBQTs7QUFFRixZQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUEiLCJmaWxlIjoiaW5mby5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBndWxwLCB7dGFza3N9IGZyb20gJ2d1bHAnXG5pbXBvcnQgcnVtcCBmcm9tICdydW1wJ1xuaW1wb3J0IHtvcHRpbWl6ZX0gZnJvbSAnd2VicGFjaydcbmltcG9ydCB7ZmluZH0gZnJvbSAnZ2xvYnVsZSdcbmltcG9ydCB7Y29sb3JzfSBmcm9tICdndWxwLXV0aWwnXG5pbXBvcnQge2pvaW4sIHJlbGF0aXZlfSBmcm9tICdwYXRoJ1xuaW1wb3J0IHt2ZXJzaW9ufSBmcm9tICcuLi8uLi9wYWNrYWdlJ1xuXG5jb25zdCBuYW1lID0gOjpydW1wLnRhc2tOYW1lLFxuICAgICAgdGFzayA9IDo6Z3VscC50YXNrLFxuICAgICAge2JsdWUsIGdyZWVuLCBtYWdlbnRhLCB5ZWxsb3d9ID0gY29sb3JzLFxuICAgICAge0NvbW1vbnNDaHVua1BsdWdpbn0gPSBvcHRpbWl6ZSxcbiAgICAgIHtjb25maWdzfSA9IHJ1bXBcblxudGFzayhuYW1lKCdpbmZvOnNjcmlwdHMnKSwgKCkgPT4ge1xuICBjb25zdCB7cGx1Z2luc30gPSBjb25maWdzLndlYnBhY2ssXG4gICAgICAgIGdsb2IgPSBqb2luKGNvbmZpZ3MubWFpbi5wYXRocy5zb3VyY2Uucm9vdCxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlncy5tYWluLnBhdGhzLnNvdXJjZS5zY3JpcHRzLFxuICAgICAgICAgICAgICAgICAgICBjb25maWdzLm1haW4uZ2xvYnMuYnVpbGQuc2NyaXB0cyksXG4gICAgICAgIGZpbGVzID0gZmluZChbZ2xvYl0uY29uY2F0KGNvbmZpZ3MubWFpbi5nbG9icy5nbG9iYWwpKSxcbiAgICAgICAgc291cmNlID0gam9pbihjb25maWdzLm1haW4ucGF0aHMuc291cmNlLnJvb3QsXG4gICAgICAgICAgICAgICAgICAgICAgY29uZmlncy5tYWluLnBhdGhzLnNvdXJjZS5zY3JpcHRzKSxcbiAgICAgICAgZGVzdGluYXRpb24gPSBqb2luKGNvbmZpZ3MubWFpbi5wYXRocy5kZXN0aW5hdGlvbi5yb290LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlncy5tYWluLnBhdGhzLmRlc3RpbmF0aW9uLnNjcmlwdHMpLFxuICAgICAgICBjb21tb25GaWxlID0gcGx1Z2lucy5yZWR1Y2UoKGN1cnJlbnRGaWxlLCBwbHVnaW4pID0+IHtcbiAgICAgICAgICByZXR1cm4gIWN1cnJlbnRGaWxlICYmIHBsdWdpbiBpbnN0YW5jZW9mIENvbW1vbnNDaHVua1BsdWdpblxuICAgICAgICAgICAgPyBqb2luKGNvbmZpZ3MubWFpbi5wYXRocy5kZXN0aW5hdGlvbi5yb290LFxuICAgICAgICAgICAgICAgICAgIGNvbmZpZ3MubWFpbi5wYXRocy5kZXN0aW5hdGlvbi5zY3JpcHRzLFxuICAgICAgICAgICAgICAgICAgIHBsdWdpbi5maWxlbmFtZVRlbXBsYXRlKVxuICAgICAgICAgICAgOiBjdXJyZW50RmlsZVxuICAgICAgICB9LCBudWxsKVxuICBsZXQgYWN0aW9uID0gJ2NvcGllZCdcblxuICBpZighZmlsZXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgc3dpdGNoKGNvbmZpZ3MubWFpbi5lbnZpcm9ubWVudCkge1xuICBjYXNlICdkZXZlbG9wbWVudCc6XG4gICAgYWN0aW9uID0gYGNvcGllZCAke3llbGxvdygnd2l0aCBzb3VyY2UgbWFwcycpfWBcbiAgICBicmVha1xuICBjYXNlICdwcm9kdWN0aW9uJzpcbiAgICBhY3Rpb24gPSBgJHt5ZWxsb3coJ21pbmlmaWVkJyl9IGFuZCBjb3BpZWRgXG4gICAgYnJlYWtcbiAgZGVmYXVsdDpcbiAgICBicmVha1xuICB9XG4gIGNvbnNvbGUubG9nKClcbiAgY29uc29sZS5sb2cobWFnZW50YShgLS0tIFNjcmlwdHMgdiR7dmVyc2lvbn1gKSlcbiAgY29uc29sZS5sb2coYFByb2Nlc3NlZCBzY3JpcHRzIGZyb20gJHtncmVlbihzb3VyY2UpfSBhcmUgJHthY3Rpb259YCxcbiAgICAgICAgICAgICAgYHRvICR7Z3JlZW4oZGVzdGluYXRpb24pfWApXG4gIGlmKGNvbmZpZ3MubWFpbi5zY3JpcHRzLmNvbW1vbiAmJiBjb21tb25GaWxlKSB7XG4gICAgY29uc29sZS5sb2coJ0NvbW1vbiBtb2R1bGVzIGFjcm9zcyBwcm9jZXNzZWQgc2NyaXB0cycsXG4gICAgICAgICAgICAgICAgYGFyZSBidWlsdCBpbnRvICR7Z3JlZW4oY29tbW9uRmlsZSl9YClcbiAgfVxuICBjb25zb2xlLmxvZygnQWZmZWN0ZWQgZmlsZXM6JylcbiAgZmlsZXMuZm9yRWFjaChmaWxlID0+IGNvbnNvbGUubG9nKGJsdWUocmVsYXRpdmUoc291cmNlLCBmaWxlKSkpKVxuICBjb25zb2xlLmxvZygpXG59KVxuXG50YXNrc1tuYW1lKCdpbmZvJyldLmRlcC5wdXNoKG5hbWUoJ2luZm86c2NyaXB0cycpKVxuIl19