@@ -3,6 +3,12 @@ var browserSync = require('browser-sync');
33var sourcemaps = require ( 'gulp-sourcemaps' ) ;
44var eslint = require ( 'gulp-eslint' ) ;
55var postcss = require ( 'gulp-postcss' ) ;
6+ var source = require ( 'vinyl-source-stream' ) ;
7+ var buffer = require ( 'vinyl-buffer' ) ;
8+ var browserify = require ( 'browserify' ) ;
9+ var babelify = require ( 'babelify' ) ;
10+ var watchify = require ( 'watchify' ) ;
11+ var uglify = require ( 'gulp-uglify' ) ;
612var del = require ( 'del' ) ;
713var processors = [
814 require ( 'postcss-import' ) ,
@@ -16,17 +22,10 @@ var processors = [
1622 } )
1723] ;
1824
19- var source = require ( 'vinyl-source-stream' ) ;
20- var buffer = require ( 'vinyl-buffer' ) ;
21- var browserify = require ( 'browserify' ) ;
22- var babelify = require ( 'babelify' ) ;
23- var watchify = require ( 'watchify' ) ;
24- var uglify = require ( 'gulp-uglify' ) ;
25-
26- // Thanks
27- // https://gist.github.com/danharper/3ca2273125f500429945
25+ // Thanks @danharper , https://gist.github.com/danharper/3ca2273125f500429945
2826function compile ( watch ) {
2927 var bundler = watchify ( browserify ( 'src/js/app.js' , { debug : true } ) . transform ( babelify ) ) ;
28+
3029 function rebundle ( ) {
3130 bundler . bundle ( )
3231 . on ( 'error' , function ( err ) {
@@ -35,11 +34,12 @@ function compile(watch) {
3534 } )
3635 . pipe ( source ( 'app.js' ) )
3736 . pipe ( buffer ( ) )
38- . pipe ( sourcemaps . init ( )
37+ . pipe ( sourcemaps . init ( { loadMaps : true } ) )
3938 . pipe ( uglify ( ) )
4039 . pipe ( sourcemaps . write ( './' ) )
4140 . pipe ( gulp . dest ( 'dest/js' ) ) ;
4241 }
42+
4343 if ( watch ) {
4444 bundler . on ( 'update' , function ( ) {
4545 console . log ( '-> bundling...' ) ;
@@ -48,13 +48,16 @@ function compile(watch) {
4848 }
4949 rebundle ( ) ;
5050}
51-
5251function watch ( ) {
5352 return compile ( true ) ;
5453}
55- gulp . task ( 'build:js' , function ( ) { return compile ( ) ; } ) ;
56- gulp . task ( 'watch:js' , function ( ) { return watch ( ) ; } ) ;
5754
55+ gulp . task ( 'build:js' , function ( ) {
56+ return compile ( ) ;
57+ } ) ;
58+ gulp . task ( 'watch:js' , function ( ) {
59+ return watch ( ) ;
60+ } ) ;
5861
5962// Clean Dir
6063gulp . task ( 'clean' , function ( ) {
@@ -63,8 +66,8 @@ gulp.task('clean', function () {
6366 } ) ;
6467} ) ;
6568
66- // ES Lint
67- gulp . task ( 'lint' , function ( ) {
69+ // JavaScript Task
70+ gulp . task ( 'lint:js ' , function ( ) {
6871 return gulp . src ( 'src/js/app.js' )
6972 . pipe ( eslint ( ) )
7073 . pipe ( eslint . format ( ) ) ;
@@ -84,7 +87,7 @@ gulp.task('serve', function () {
8487 server : 'dest/' ,
8588 open : false
8689 } ) ;
87- gulp . watch ( 'src/**/*.js' , [ 'js' ] ) ;
90+ gulp . watch ( 'src/**/*.js' , [ 'lint:js' , 'watch: js'] ) ;
8891 gulp . watch ( 'src/**/*.css' , [ 'css' ] ) ;
8992 gulp . watch ( 'dest/**/*.html' ) . on ( 'change' , browserSync . reload ) ;
9093} ) ;
0 commit comments