justinm/node-json-views

View on GitHub
gulpfile.js

Summary

Maintainability
A
0 mins
Test Coverage
var gulp = require('gulp');
var mocha = require('gulp-mocha');
var ts = require('gulp-typescript');
var istanbul = require('gulp-istanbul');

function getTestStream() {
  return gulp.src(['dist/test/**_test.js'], {read: false});
}

gulp.task('coverage', function() {
  return gulp.src([
    '**/*.js',
    '!gulpfile.js',
    '!dist/coverage/**',
    '!node_modules/**'
  ])
    .pipe(istanbul({
      includeUntested: true
    }))
    .pipe(istanbul.hookRequire());
});

gulp.task('test', [ 'coverage' ], function() {
  return getTestStream()
    .pipe(mocha({ reporter: 'spec' }))
    .pipe(istanbul.writeReports({
      reporters: [ 'lcov', 'text' ],
      dir: './dist/coverage'
    }));
});

gulp.task('build', function() {
  var tsProject = ts.createProject('./tsconfig.json');
  var tsResult = tsProject.src()
    .pipe(tsProject());

  tsResult.js.pipe(gulp.dest('dist'));
});