73 lines
1.9 KiB
JavaScript
73 lines
1.9 KiB
JavaScript
var jsBundles = require('../files/js_files');
|
|
var browserifyBundles = require('../files/browserify_files');
|
|
var _ = require('underscore');
|
|
|
|
exports.task = function () {
|
|
var js = {};
|
|
var bundleName;
|
|
var excludedBundles = [
|
|
'test_specs_for_browserify_modules',
|
|
'dashboard_static',
|
|
'profile_static',
|
|
'show_static',
|
|
'public_map_static',
|
|
'embed_map_static',
|
|
'account_static'
|
|
];
|
|
|
|
// Files to be uglified that are created outside of this process
|
|
var files = [
|
|
'templates',
|
|
'templates_mustache'
|
|
];
|
|
|
|
for (var i in files) {
|
|
var f = files[i];
|
|
|
|
if (f[0] !== '_' && f !== 'all') {
|
|
js['<%= editor_assets_dir %>/javascripts/' + f + '.js'] = ['<%= editor_assets_dir %>/javascripts/' + f + '.uncompressed.js'];
|
|
}
|
|
}
|
|
|
|
// Bundle definitions, concat'ed and uglified in one go
|
|
for (bundleName in jsBundles) {
|
|
var src = jsBundles[bundleName];
|
|
if (bundleName[0] !== '_' && bundleName !== 'all') {
|
|
js['<%= editor_assets_dir %>/javascripts/' + bundleName + '.js'] = src;
|
|
}
|
|
}
|
|
|
|
var defaultOptions = {
|
|
sourceMap: true,
|
|
banner: '/*! v<%= pkg.version %> - <%= grunt.template.today("yyyy-mm-dd") %> */'
|
|
};
|
|
|
|
var cfg = {
|
|
production: {
|
|
options: _.extend({
|
|
sourceMapIncludeSources: true
|
|
}, defaultOptions),
|
|
files: js
|
|
}
|
|
};
|
|
|
|
// Uglify browserify bundles too, but maintain original sourcemaps (expected to be extracted by 'exorcise' task, prior to this task)
|
|
for (bundleName in browserifyBundles) {
|
|
if (!_.contains(excludedBundles, bundleName)) {
|
|
files = {};
|
|
var basePath = '<%= editor_assets_dir %>/javascripts/' + bundleName;
|
|
var filePath = basePath + '.uncompressed.js';
|
|
files[basePath + '.js'] = [filePath];
|
|
|
|
cfg[bundleName] = {
|
|
options: _.extend({
|
|
sourceMapIn: filePath + '.map'
|
|
}, defaultOptions),
|
|
files: files
|
|
};
|
|
}
|
|
}
|
|
|
|
return cfg;
|
|
};
|