bundle vendor files
This commit is contained in:
74
gulpfile.js
74
gulpfile.js
@@ -14,7 +14,9 @@ var Rx = require('rx'),
|
||||
sortKeys = require('sort-keys'),
|
||||
debug = require('debug')('freecc:gulp'),
|
||||
yargs = require('yargs'),
|
||||
concat = require('gulp-concat'),
|
||||
uglify = require('gulp-uglify'),
|
||||
merge = require('merge-stream'),
|
||||
|
||||
// react app
|
||||
webpack = require('gulp-webpack'),
|
||||
@@ -70,6 +72,33 @@ var paths = {
|
||||
dest: 'public/js'
|
||||
},
|
||||
|
||||
vendorChallenges: [
|
||||
'public/bower_components/jshint/dist/jshint.js',
|
||||
'public/bower_components/chai/chai.js',
|
||||
'public/bower_components/CodeMirror/lib/codemirror.js',
|
||||
'public/bower_components/CodeMirror/addon/edit/closebrackets.js',
|
||||
'public/bower_components/CodeMirror/addon/edit/matchbrackets.js',
|
||||
'public/bower_components/CodeMirror/addon/lint/lint.js',
|
||||
'public/bower_components/CodeMirror/addon/lint/javascript-lint.js',
|
||||
'public/bower_components/CodeMirror/mode/javascript/javascript.js',
|
||||
'public/bower_components/CodeMirror/mode/xml/xml.js',
|
||||
'public/bower_components/CodeMirror/mode/css/css.js',
|
||||
'public/bower_components/CodeMirror/mode/htmlmixed/htmlmixed.js',
|
||||
'public/bower_components/CodeMirror/addon/emmet/emmet.js'
|
||||
],
|
||||
|
||||
vendorMain: [
|
||||
'public/bower_components/jquery/dist/jquery.min.js',
|
||||
'public/bower_components/bootstrap/dist/js/bootstrap.min.js',
|
||||
'public/bower_components/angular/angular.min.js',
|
||||
'public/bower_components/angular-bootstrap/ui-bootstrap.min.js',
|
||||
'public/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js',
|
||||
'public/bower_components/d3/d3.min.js',
|
||||
'public/bower_components/moment/min/moment.min.js',
|
||||
'public/bower_components/lightbox2/dist/js/lightbox.min.js',
|
||||
'public/bower_components/rxjs/dist/rx.all.min.js'
|
||||
],
|
||||
|
||||
js: [
|
||||
'client/main.js',
|
||||
'client/iFrameScripts.js',
|
||||
@@ -297,7 +326,7 @@ gulp.task('less', function() {
|
||||
var dest = paths.css;
|
||||
return gulp.src(paths.less)
|
||||
.pipe(plumber({ errorHandler: errorHandler }))
|
||||
// copile
|
||||
// compile
|
||||
.pipe(less({
|
||||
paths: [ path.join(__dirname, 'less', 'includes') ]
|
||||
}))
|
||||
@@ -315,12 +344,52 @@ gulp.task('less', function() {
|
||||
.pipe(gulp.dest(paths.manifest));
|
||||
});
|
||||
|
||||
function getFilesGlob(files) {
|
||||
if (!__DEV__) {
|
||||
return files;
|
||||
}
|
||||
return files.map(function(file) {
|
||||
return file
|
||||
.replace('.min.', '.')
|
||||
// moment breaks the pattern
|
||||
.replace('/min/', '/');
|
||||
});
|
||||
}
|
||||
|
||||
gulp.task('vendor', ['js'], function() {
|
||||
var manifestName = 'js-manifest.json';
|
||||
var dest = paths.publicJs;
|
||||
|
||||
var vendorFiles = merge(
|
||||
gulp.src(getFilesGlob(paths.vendorMain))
|
||||
.pipe(concat('vendor-main.js')),
|
||||
gulp.src(paths.vendorChallenges)
|
||||
.pipe(__DEV__ ? gutil.noop() : uglify())
|
||||
.pipe(concat('vendor-challenges.js'))
|
||||
);
|
||||
|
||||
return vendorFiles.pipe(gulp.dest(dest))
|
||||
// create registry file
|
||||
.pipe(rev())
|
||||
// copy revisioned assets to dest
|
||||
.pipe(gulp.dest(dest))
|
||||
// create manifest file
|
||||
.pipe(rev.manifest(manifestName))
|
||||
.pipe(delRev(
|
||||
dest,
|
||||
manifestName
|
||||
))
|
||||
// copy manifest file to dest
|
||||
.pipe(gulp.dest(paths.manifest));
|
||||
});
|
||||
|
||||
gulp.task('js', function() {
|
||||
var manifestName = 'js-manifest.json';
|
||||
var dest = paths.publicJs;
|
||||
|
||||
return gulp.src(paths.js)
|
||||
.pipe(plumber({ errorHandler: errorHandler }))
|
||||
.pipe(__DEV__ ? gutil.noop() : uglify())
|
||||
.pipe(gulp.dest(dest))
|
||||
// create registry file
|
||||
.pipe(rev())
|
||||
@@ -348,6 +417,7 @@ gulp.task('dependents', ['js'], function() {
|
||||
|
||||
return gulp.src(paths.dependents)
|
||||
.pipe(plumber({ errorHandler: errorHandler }))
|
||||
.pipe(__DEV__ ? gutil.noop() : uglify())
|
||||
.pipe(revReplace({ manifest: manifest }))
|
||||
.pipe(gulp.dest(dest))
|
||||
.pipe(rev())
|
||||
@@ -374,7 +444,7 @@ function buildManifest() {
|
||||
.pipe(gulp.dest('server/'));
|
||||
}
|
||||
|
||||
var buildDependents = ['less', 'js', 'dependents'];
|
||||
var buildDependents = ['less', 'js', 'dependents', 'vendor'];
|
||||
|
||||
gulp.task('build-manifest', buildDependents, function() {
|
||||
return buildManifest();
|
||||
|
Reference in New Issue
Block a user