From 085d84e16e8165ea85b6e8cc472699f02dac4f79 Mon Sep 17 00:00:00 2001 From: Iain Hunter Date: Fri, 4 Nov 2016 10:48:42 +0000 Subject: [PATCH 1/3] Add tasks to gulpfile to minify all CSS and JS libs when building dist --- gulpfile.js | 25 ++++++++++++++++++++++++- package.json | 2 ++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/gulpfile.js b/gulpfile.js index a74cadcc..4c13be47 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -14,6 +14,8 @@ var header = require('gulp-header'); var order = require('gulp-order'); var jshint = require('gulp-jshint'); var pkg = require('./package.json'); +var runSequence = require('run-sequence'); +var cssnano = require('gulp-cssnano'); var banner = ['/**', ' * <%= pkg.name %> - <%= pkg.description %>', @@ -126,6 +128,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 */ @@ -162,7 +181,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 b484b422..aadda5ad 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", @@ -58,6 +59,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.23" From 5f2beb16a95d712f9dccff8aa6cde3af0b6569de Mon Sep 17 00:00:00 2001 From: Iain Hunter Date: Fri, 4 Nov 2016 11:05:55 +0000 Subject: [PATCH 2/3] Add missing semi-colon --- gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulpfile.js b/gulpfile.js index 4c13be47..4b9d865f 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -142,7 +142,7 @@ gulp.task('uglify-libs', function() { */ gulp.src('./dist/lib/*.js') .pipe(uglify()) - .pipe(gulp.dest('./dist/lib')) + .pipe(gulp.dest('./dist/lib')); }); /** From 5f9fd934afdbdd93cdb63de9444e5e168cfc2f83 Mon Sep 17 00:00:00 2001 From: Iain Hunter Date: Thu, 17 Nov 2016 15:58:55 +0000 Subject: [PATCH 3/3] Reorder vars as per review request --- gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulpfile.js b/gulpfile.js index 4b9d865f..f2281718 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -13,9 +13,9 @@ var connect = require('gulp-connect'); var header = require('gulp-header'); var order = require('gulp-order'); var jshint = require('gulp-jshint'); -var pkg = require('./package.json'); var runSequence = require('run-sequence'); var cssnano = require('gulp-cssnano'); +var pkg = require('./package.json'); var banner = ['/**', ' * <%= pkg.name %> - <%= pkg.description %>',