mirror of
https://github.com/ansible/awx.git
synced 2026-01-11 10:00:01 -03:30
Clean up broccoli build
This commit is contained in:
parent
30a3de4198
commit
2eb16eb04e
192
Brocfile.js
192
Brocfile.js
@ -1,130 +1,102 @@
|
||||
/* jshint node: true */
|
||||
|
||||
var flatten = require('lodash/array/flatten');
|
||||
var isUndefined = require('lodash/lang/isUndefined');
|
||||
var path = require('path');
|
||||
var parseArgs = require('minimist');
|
||||
var mergeTrees = require('broccoli-merge-trees');
|
||||
var uglifyFiles = require('broccoli-uglify-sourcemap');
|
||||
var concatFiles = require('broccoli-sourcemap-concat');
|
||||
var pickFiles = require('broccoli-static-compiler');
|
||||
var findBowerTrees = require('broccoli-bower');
|
||||
var compileLess = require('broccoli-less-single');
|
||||
var gzip = require('broccoli-gzip');
|
||||
var debug = require('broccoli-stew').debug;
|
||||
|
||||
var vendorMin = concatFiles('awx/ui/static/lib', {
|
||||
sourceMapConfig: {
|
||||
enabled: false
|
||||
},
|
||||
outputFile: '/out/vendor-min.js',
|
||||
inputFiles: [
|
||||
'jquery/dist/jquery.min.js',
|
||||
'angular/angular.min.js',
|
||||
'angular-route/angular-route.min.js',
|
||||
'angular-resource/angular-resource.min.js',
|
||||
'angular-cookies/angular-cookies.min.js',
|
||||
'angular-sanitize/angular-sanitize.min.js',
|
||||
'angular-md5/angular-md5.min.js',
|
||||
'jquery-ui/jquery-ui.min.js',
|
||||
'bootstrap/dist/js/bootstrap.min.js',
|
||||
'js-yaml/dist/js-yaml.min.js',
|
||||
'select2/select2.min.js',
|
||||
'angular-animate/angular-animate.min.js',
|
||||
'angular-tz-extensions/packages/jstimezonedetect/jstz.min.js',
|
||||
'socket.io-client/dist/socket.io.min.js',
|
||||
'd3js/build/d3.v3.min.js',
|
||||
'novus-nvd3/nv.d3.min.js'
|
||||
]
|
||||
});
|
||||
// Get extra args after '--'
|
||||
var allArgs = parseArgs(process.argv.slice(2), { '--': true });
|
||||
var args = parseArgs(allArgs['--']);
|
||||
|
||||
var sourceMaps = pickFiles('awx/ui/static/lib', {
|
||||
srcDir: '/',
|
||||
destDir: 'out',
|
||||
files: [
|
||||
'angular-animate/angular-animate.min.js.map',
|
||||
'**/*.min.js.map',
|
||||
'**/*.min.map'
|
||||
]
|
||||
});
|
||||
var shouldCompress = isUndefined(args.compress) ? false : args.compress;
|
||||
var debugMode = isUndefined(args.debug) ? false : args.debug;
|
||||
var silentMode = isUndefined(args.silent) ? false : args.silent;
|
||||
|
||||
var vendorMaps = concatFiles(sourceMaps, {
|
||||
sourceMapConfig: {
|
||||
enabled: false
|
||||
},
|
||||
outputFile: '/out/vendor-min.js.map',
|
||||
inputFiles: ['out/**/*.map']
|
||||
});
|
||||
var vendorFiles =
|
||||
[ 'jquery/dist/jquery.js',
|
||||
'angular/angular.js',
|
||||
'angular-route/angular-route.js',
|
||||
'angular-resource/angular-resource.js',
|
||||
'angular-cookies/angular-cookies.js',
|
||||
'angular-sanitize/angular-sanitize.js',
|
||||
'angular-md5/angular-md5.js',
|
||||
'jquery-ui/jquery-ui.js',
|
||||
'bootstrap/dist/js/bootstrap.js',
|
||||
'js-yaml/dist/js-yaml.js',
|
||||
'select2/select2.js',
|
||||
'angular-animate/angular-animate.js',
|
||||
'angular-tz-extensions/packages/jstimezonedetect/jstz.js',
|
||||
'socket.io-client/dist/socket.io.js',
|
||||
'd3js/build/d3.v3.js',
|
||||
'novus-nvd3/nv.d3.js',
|
||||
'angular-codemirror/lib/AngularCodeMirror.js',
|
||||
'timezone-js/src/date.js',
|
||||
'underscore/underscore.js',
|
||||
'rrule/lib/rrule.js',
|
||||
'rrule/lib/nlp.js',
|
||||
'angular-tz-extensions/lib/angular-tz-extensions.js',
|
||||
'angular-scheduler/lib/angular-scheduler.js',
|
||||
'angular-filters/dist/angular-filters.js',
|
||||
'bootstrap/dist/js/bootstrap.js',
|
||||
'codemirror/lib/codemirror.js',
|
||||
'd3Donut/d3Donut.js',
|
||||
'jPushMenu/jPushMenu.js',
|
||||
'jQuery.dotdotdot/src/js/jquery.dotdotdot.js',
|
||||
'jquery-ui/jquery-ui.js',
|
||||
'js-yaml/dist/js-yaml.js',
|
||||
'lrInfiniteScroll/lrInfiniteScroll.js',
|
||||
'scrollto/lib/jquery-scrollto.js',
|
||||
'select2/select2.js',
|
||||
'sizzle/dist/sizzle.js',
|
||||
'ansible/*.js'
|
||||
];
|
||||
|
||||
var vendorMinWithMaps = mergeTrees([vendorMin, vendorMaps]);
|
||||
function log() {
|
||||
var msgs = Array.prototype.splice.apply(arguments);
|
||||
|
||||
var vendorConcat = concatFiles('awx/ui/static/lib', {
|
||||
outputFile: 'out/vendor-concat.js',
|
||||
inputFiles: [
|
||||
'angular-codemirror/lib/AngularCodeMirror.js',
|
||||
'timezone-js/src/date.js',
|
||||
'underscore/underscore.js',
|
||||
'rrule/lib/rrule.js',
|
||||
'rrule/lib/nlp.js',
|
||||
'angular-tz-extensions/lib/angular-tz-extensions.js',
|
||||
'angular-scheduler/lib/angular-scheduler.js',
|
||||
'angular-filters/dist/angular-filters.js',
|
||||
'bootstrap/dist/js/bootstrap.js',
|
||||
'codemirror/lib/codemirror.js',
|
||||
'd3Donut/d3Donut.js',
|
||||
'jPushMenu/jPushMenu.js',
|
||||
'jQuery.dotdotdot/src/js/jquery.dotdotdot.js',
|
||||
'jquery-ui/jquery-ui.js',
|
||||
'js-yaml/dist/js-yaml.js',
|
||||
'lrInfiniteScroll/lrInfiniteScroll.js',
|
||||
'scrollto/lib/jquery-scrollto.js',
|
||||
'select2/select2.js',
|
||||
'sizzle/dist/sizzle.js',
|
||||
]
|
||||
});
|
||||
|
||||
function uglifyFast(tree, opts) {
|
||||
opts = opts || {};
|
||||
opts.compress = false;
|
||||
opts.mangle = false;
|
||||
opts.sourceMapIncludeSources = false;
|
||||
return uglifyFiles(tree, opts);
|
||||
if (!silentMode) {
|
||||
console.log.apply(null, msgs);
|
||||
}
|
||||
}
|
||||
|
||||
function uglifySlow(tree) {
|
||||
return uglifyFiles(tree);
|
||||
function prependLibDir(file) {
|
||||
return path.join('lib', file);
|
||||
}
|
||||
|
||||
var ansibleLib = pickFiles('awx/ui/static/lib/ansible', {
|
||||
srcDir: '/',
|
||||
destDir: 'out'
|
||||
});
|
||||
vendorFiles = vendorFiles.map(prependLibDir);
|
||||
|
||||
var src = pickFiles('awx/ui/static/js', {
|
||||
srcDir: '/',
|
||||
destDir: 'out'
|
||||
});
|
||||
var root = 'awx/ui/static';
|
||||
var app = root;
|
||||
|
||||
var filesToConcat = mergeTrees([vendorConcat, ansibleLib, src]);
|
||||
function log(msg, obj) {
|
||||
console.log(msg + ":", obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
console.log('here1');
|
||||
var concated = concatFiles(filesToConcat, {
|
||||
outputFile: '/out/tower-concat.js',
|
||||
inputFiles: ['out/**/*.js']
|
||||
});
|
||||
var merged = mergeTrees([vendorMinWithMaps, concated], {
|
||||
description: "TreeMerge (vendor and sourcemaps)",
|
||||
})
|
||||
var minified = uglifyFast(merged, {
|
||||
outSourceMap: 'tower-concat.map'
|
||||
});
|
||||
app = concatFiles(app,
|
||||
{ outputFile: 'tower.concat.js',
|
||||
inputFiles: flatten([vendorFiles, ['js/**/*.js', 'js/app.js', 'js/config.js', 'js/local_config.js']])
|
||||
});
|
||||
|
||||
var finalMap = pickFiles(minified, {
|
||||
srcDir: '/out',
|
||||
destDir: '',
|
||||
files: ['tower-concat.map']
|
||||
});
|
||||
app = debug(app, {name: 'concat'});
|
||||
|
||||
var finalized = concatFiles(minified, {
|
||||
sourceMapConfig: {
|
||||
enabled: false
|
||||
},
|
||||
outputFile: '/tower-concat.js',
|
||||
inputFiles: ['out/vendor-min.js', 'out/tower-concat.js']
|
||||
});
|
||||
var styles = compileLess(path.join(root, 'less'), 'ansible-ui.less', 'tower.min.css');
|
||||
|
||||
var less = compileLess('awx/ui/static/less', 'ansible-ui.less', 'awx.min.css');
|
||||
app = mergeTrees([app, styles]);
|
||||
|
||||
module.exports = mergeTrees([finalMap, finalized, less]);
|
||||
if (shouldCompress) {
|
||||
app = uglifyFiles(app);
|
||||
app = gzip(app,
|
||||
{ keepUncompressed: true,
|
||||
extensions: ['js', 'css']
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = app;
|
||||
|
||||
@ -15,14 +15,14 @@
|
||||
<link rel="stylesheet" href="{{ STATIC_URL }}lib/codemirror/addon/lint/lint.css" />
|
||||
<link rel="stylesheet" href="{{ STATIC_URL }}lib/novus-nvd3/nv.d3.css" type="text/css">
|
||||
|
||||
<link rel="stylesheet" href="{{ STATIC_URL }}dist/awx.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="{{ STATIC_URL }}dist/tower.min.css" type="text/css">
|
||||
|
||||
<link rel="shortcut icon" href="{{ STATIC_URL }}img/favicon.ico" />
|
||||
<script>
|
||||
var $basePath = "{{ STATIC_URL }}";
|
||||
</script>
|
||||
|
||||
<script src="{{ STATIC_URL }}dist/tower-concat.js"></script>
|
||||
<script src="{{ STATIC_URL }}dist/tower.concat.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user