From 13a1500f6e0997f4f924e570937728d25a3cb43a Mon Sep 17 00:00:00 2001 From: Brandon Parmenter Date: Sun, 28 Jun 2015 19:53:00 -0400 Subject: [PATCH 1/2] Removed repetitive bundle tasks --- gulpfile.js | 123 +++++++++++++++++++++------------------------------ package.json | 1 + 2 files changed, 52 insertions(+), 72 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 99b84df..ae1fddf 100755 --- a/gulpfile.js +++ b/gulpfile.js @@ -21,7 +21,8 @@ var gulp = require('gulp'), source = require('vinyl-source-stream'), buffer = require('vinyl-buffer'), runSequence = require('run-sequence'), - karma = require('karma').server; + karma = require('karma').server, + gulpif = require('gulp-if'); // ======================================================================= @@ -103,7 +104,7 @@ function handleError(err) { // ======================================================================= // Server Task -// ======================================================================= +// ======================================================================= var express = require('express'), server = express(); // Server settings @@ -137,7 +138,7 @@ gulp.task('server', function() { // ======================================================================= // Clean out dist folder contents on build -// ======================================================================= +// ======================================================================= gulp.task('clean-dev', function() { del(['./dist/*.js', './dist/*.css', '!./dist/vendor.js', '!./dist/vendor.css', './dist/*.html', './dist/*.png', './dist/*.ico']); }); @@ -169,77 +170,55 @@ gulp.task('checkstyle', function() { // ======================================================================= // Browserify Bundle -// ======================================================================= - -// Dev -gulp.task('bundle-dev', function() { +// ======================================================================= - var b = browserify({ - entries: filePath.browserify.src, - external: filePath.vendorJS.src, - debug: true, - cache: {}, - packageCache: {} - }); - var bundler = watchify(b); +var bundle = {}; +bundle.conf = { + entries: filePath.browserify.src, + external: filePath.vendorJS.src, + debug: true, + cache: {}, + packageCache: {} +}; - function rebundle() { - return bundler.bundle() - .pipe(source('bundle.js')) - .on('error', handleError) - .pipe(buffer()) - .pipe(sourcemaps.init({ - loadMaps: true - })) - .pipe(sourcemaps.write('./')) - .pipe(gulp.dest(filePath.build.dest)) - .pipe(notify({ - message: 'Browserify task complete' - })) - .pipe(connect.reload()); - } +function rebundle() { + return bundle.bundler.bundle() + .pipe(source('bundle.js')) + .on('error', handleError) + .pipe(buffer()) + .pipe(gulpif(!bundle.prod, sourcemaps.init({ + loadMaps: true + }))) + .pipe(gulpif(!bundle.prod, sourcemaps.write('./'))) + .pipe(gulpif(bundle.prod, streamify(uglify({ + mangle: false + })))) + .pipe(gulp.dest(filePath.build.dest)) + .pipe(connect.reload()); +} - bundler.on('update', rebundle); +function configureBundle(prod) { + bundle.bundler = watchify(browserify(bundle.conf)); + bundle.bundler.on('update', rebundle); + bundle.prod = prod; +} - return rebundle(); +gulp.task('bundle-dev', function () { + 'use strict'; + configureBundle(false); + return rebundle(); }); -// Prod -gulp.task('bundle-prod', function() { - - var b = browserify({ - entries: filePath.browserify.src, - external: filePath.vendorJS.src, - debug: true, - cache: {}, - packageCache: {} - }); - var bundler = watchify(b); - - function rebundle() { - return bundler.bundle() - .pipe(source('bundle.js')) - .on('error', handleError) - .pipe(buffer()) - .pipe(streamify(uglify({ - mangle: false - }))) - .pipe(gulp.dest(filePath.build.dest)) - .pipe(notify({ - message: 'Browserify task complete' - })) - .pipe(connect.reload()); - } - - bundler.on('update', rebundle); - - return rebundle(); +gulp.task('bundle-prod', function () { + 'use strict'; + configureBundle(true); + return rebundle(); }); // ======================================================================= // Styles Task -// ======================================================================= +// ======================================================================= gulp.task('styles-dev', function() { return gulp.src(filePath.styles.src) .pipe(sourcemaps.init()) @@ -272,7 +251,7 @@ gulp.task('styles-prod', function() { // ======================================================================= // Images Task -// ======================================================================= +// ======================================================================= gulp.task('images', function() { return gulp.src(filePath.assets.images.src) .on('error', handleError) @@ -286,7 +265,7 @@ gulp.task('images', function() { // ======================================================================= // Fonts Task -// ======================================================================= +// ======================================================================= gulp.task('fonts', function () { 'use strict'; return gulp.src(filePath.assets.fonts.src) @@ -298,13 +277,13 @@ gulp.task('fonts', function () { // ======================================================================= // Vendor JS Task -// ======================================================================= +// ======================================================================= gulp.task('vendorJS', function() { var b = browserify({ debug: true, require: filePath.vendorJS.src }); - + return b.bundle() .pipe(source('vendor.js')) .on('error', handleError) @@ -319,7 +298,7 @@ gulp.task('vendorJS', function() { // ======================================================================= // Vendor CSS Task -// ======================================================================= +// ======================================================================= gulp.task('vendorCSS', function() { return gulp.src(filePath.vendorCSS.src) .pipe(concat('vendor.css')) @@ -335,7 +314,7 @@ gulp.task('vendorCSS', function() { // ======================================================================= // Copy index.html -// ======================================================================= +// ======================================================================= gulp.task('copyIndex', function() { return gulp.src(filePath.copyIndex.src) .pipe(gulp.dest(filePath.build.dest)) @@ -348,7 +327,7 @@ gulp.task('copyIndex', function() { // ======================================================================= // Copy Favicon -// ======================================================================= +// ======================================================================= gulp.task('copyFavicon', function() { return gulp.src(filePath.copyFavicon.src) .pipe(gulp.dest(filePath.build.dest)) @@ -360,7 +339,7 @@ gulp.task('copyFavicon', function() { // ======================================================================= // Watch for changes -// ======================================================================= +// ======================================================================= gulp.task('watch', function() { gulp.watch(filePath.styles.watch, ['styles-dev']); gulp.watch(filePath.assets.images.watch, ['images']); @@ -427,4 +406,4 @@ gulp.task('build', function(callback) { gulp.task('default', ['build-dev']); gulp.task('test', ['build-test']); -gulp.task('prod', ['build-prod']); \ No newline at end of file +gulp.task('prod', ['build-prod']); diff --git a/package.json b/package.json index 38f808a..a5fdc01 100755 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "gulp-autoprefixer": "^0.0.8", "gulp-concat": "^2.4.1", "gulp-connect": "^2.0.6", + "gulp-if": "^1.2.5", "gulp-jscs": "^1.4.0", "gulp-jshint": "^1.6.4", "gulp-less": "^1.3.5", From d3337fdcbd02a70973378c6e9608b2706d1fee2d Mon Sep 17 00:00:00 2001 From: Brandon Parmenter Date: Sun, 28 Jun 2015 20:02:36 -0400 Subject: [PATCH 2/2] Fixed 2 spaces -> 4 spaces --- gulpfile.js | 54 ++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index ae1fddf..d17de1d 100755 --- a/gulpfile.js +++ b/gulpfile.js @@ -174,45 +174,45 @@ gulp.task('checkstyle', function() { var bundle = {}; bundle.conf = { - entries: filePath.browserify.src, - external: filePath.vendorJS.src, - debug: true, - cache: {}, - packageCache: {} + entries: filePath.browserify.src, + external: filePath.vendorJS.src, + debug: true, + cache: {}, + packageCache: {} }; function rebundle() { - return bundle.bundler.bundle() - .pipe(source('bundle.js')) - .on('error', handleError) - .pipe(buffer()) - .pipe(gulpif(!bundle.prod, sourcemaps.init({ - loadMaps: true - }))) - .pipe(gulpif(!bundle.prod, sourcemaps.write('./'))) - .pipe(gulpif(bundle.prod, streamify(uglify({ - mangle: false - })))) - .pipe(gulp.dest(filePath.build.dest)) - .pipe(connect.reload()); + return bundle.bundler.bundle() + .pipe(source('bundle.js')) + .on('error', handleError) + .pipe(buffer()) + .pipe(gulpif(!bundle.prod, sourcemaps.init({ + loadMaps: true + }))) + .pipe(gulpif(!bundle.prod, sourcemaps.write('./'))) + .pipe(gulpif(bundle.prod, streamify(uglify({ + mangle: false + })))) + .pipe(gulp.dest(filePath.build.dest)) + .pipe(connect.reload()); } function configureBundle(prod) { - bundle.bundler = watchify(browserify(bundle.conf)); - bundle.bundler.on('update', rebundle); - bundle.prod = prod; + bundle.bundler = watchify(browserify(bundle.conf)); + bundle.bundler.on('update', rebundle); + bundle.prod = prod; } gulp.task('bundle-dev', function () { - 'use strict'; - configureBundle(false); - return rebundle(); + 'use strict'; + configureBundle(false); + return rebundle(); }); gulp.task('bundle-prod', function () { - 'use strict'; - configureBundle(true); - return rebundle(); + 'use strict'; + configureBundle(true); + return rebundle(); });