diff --git a/gulpfile.js b/gulpfile.js index 6c805b61..a45db952 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -13,6 +13,8 @@ var connect = require('gulp-connect'); var header = require('gulp-header'); var order = require('gulp-order'); var jshint = require('gulp-jshint'); +var runSequence = require('run-sequence'); +var cssnano = require('gulp-cssnano'); var pkg = require('./package.json'); var sourcemaps = require('gulp-sourcemaps'); @@ -130,6 +132,23 @@ gulp.task('copy-local-specs', function () { .on('error', log); }); +gulp.task('minify-css', function() { + /** Minify all CSS within dist folder, runs after dist process*/ + + return gulp.src('./dist/css/*.css') + .pipe(cssnano()) + .pipe(gulp.dest('./dist/css')); +}); + +gulp.task('uglify-libs', function() { + /** + * Minify all JS libs within the dist folder. A nice TODO would be to use versions from CDN + */ + gulp.src('./dist/lib/*.js') + .pipe(uglify()) + .pipe(gulp.dest('./dist/lib')); +}); + /** * Watch for changes and recompile */ @@ -166,7 +185,11 @@ gulp.task('handlebars', function () { .on('error', log); }); -gulp.task('default', ['dist', 'copy']); +gulp.task('default', function(callback) { + runSequence(['dist', 'copy'], + ['uglify-libs', 'minify-css'], + callback); +}); gulp.task('serve', ['connect', 'watch']); gulp.task('dev', ['default'], function () { gulp.start('serve'); diff --git a/package.json b/package.json index 4fae446d..e425e99d 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "gulp-clean": "^0.3.1", "gulp-concat": "^2.5.2", "gulp-connect": "^2.2.0", + "gulp-cssnano": "^2.1.2", "gulp-declare": "^0.3.0", "gulp-header": "^1.2.2", "gulp-jshint": "^1.10.0", @@ -59,6 +60,7 @@ "less": "^2.4.0", "mocha": "^2.1.0", "phantomjs": "1.9.19", + "run-sequence": "^1.2.2", "selenium-webdriver": "^2.45.0", "sinon-chai": "2.8.0", "swagger-client": "2.1.25"