Monday, 15 August 2011

Gulp: Why "jshint" does not run on file change? -



Gulp: Why "jshint" does not run on file change? -

here relevant parts of gulpfile.js:

var paths = { sass: ['./www/**/*.scss'], scripts: ['./www/**/*.js', '!./www/lib/**/*.js'] }; gulp.task('jshint', function(done) { console.log('running jshint'); gulp.src(paths.scripts) .pipe(jshint()) .pipe(jshint.reporter('default')) .on('end', done); }); gulp.task('scripts', function(done) { console.log('running scripts'); gulp.src(paths.scripts) .pipe(concat('chessmate.js')) .pipe(gulp.dest('./www/')) .on('end', done); }); gulp.task('sass', function(done) { gulp.src('./www/ionic.app.scss') .pipe(sass({ errlogtoconsole: true, includepaths: [] })) .pipe(concat('chessmate.css')) .pipe(gulp.dest('./www/')) .on('end', done); }); gulp.task('watch', function() { gulp.watch(paths.sass, ['sass']); gulp.watch(paths.scripts, ['jshint', 'scripts']); }); gulp.task('default', ['jshint', 'scripts', 'sass', 'watch']);

when run gulp, both jshint , scripts run:

[gulp] using gulpfile /users/mishamoroshko/chessmate/gulpfile.js [gulp] starting 'jshint'... running jshint [gulp] starting 'scripts'... running scripts [gulp] starting 'sass'... [gulp] starting 'watch'... [gulp] finished 'watch' after 93 ms

but, if update app.js, scripts run:

[gulp] starting 'scripts'... running scripts [gulp] finished 'scripts' after 396 ms

why jshint doesn't run?

apparently, changing style:

gulp.task('taskname', function(done) { [do stuff].on('end', done); });

to one:

gulp.task('taskname', function() { homecoming [do stuff]; });

solved problem.

gulp

No comments:

Post a Comment