all files / eStructures/ gulpfile.js

81.25% Statements 13/16
100% Branches 2/2
25% Functions 1/4
81.25% Lines 13/16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41                                                       
// gulpfile.js
var Server = require('karma').Server;
var gulp = require('gulp');
var jshint = require('gulp-jshint');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var isTravis = process.env.TRAVIS || false;
 
gulp.task('tdd', function (done) {
  new Server({
    configFile: __dirname + '/karma.conf.js',
    singleRun: isTravis
  }, done).start();
});
 
// Lint Task
gulp.task('lint', function() {
  return gulp.src('src/**/*.js')
    .pipe(jshint())
    .pipe(jshint.reporter('default'));
});
 
// Concatenate & Minify JS
gulp.task('scripts', function() {
  return gulp.src('src/**/*.js')
    .pipe(concat('eStructures.js'))
    .pipe(gulp.dest('dist'))
    .pipe(rename('eStructures.min.js'))
    .pipe(uglify())
    .pipe(gulp.dest('dist'));
});
 
// Watch Files For Changes
gulp.task('watch', function() {
  gulp.watch('src/**/*.js', ['lint', 'scripts']);
});
 
// Default Task
gulp.task('default', ['tdd', 'lint', 'scripts', 'watch']);