diff --git a/gulpfile.js b/gulpfile.js index 3e3be6ad..04f4f794 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,95 +1,8 @@ -/** - * @file gulpfile.js - * - * Defines tasks that can be run on gulp. - * - * Summary: - */ 'use strict'; var gulp = require('gulp'); +var bitcoreTasks = require('bitcore-build'); -var coveralls = require('gulp-coveralls'); -var jshint = require('gulp-jshint'); -var mocha = require('gulp-mocha'); -var shell = require('gulp-shell'); +bitcoreTasks('node', {skipBrowser: true}); - -function ignoreerror() { - /* jshint ignore:start */ // using `this` in this context is weird - this.emit('end'); - /* jshint ignore:end */ -} - -var files = ['lib/**/*.js']; -var tests = ['test/**/*.js']; -var alljs = files.concat(tests); - - -/** - * testing - */ - -var testmocha = function() { - return gulp.src(tests).pipe(new mocha({ - reporter: 'spec' - })); -} - -gulp.task('test', testmocha); - -gulp.task('test:nofail', function() { - return testmocha().on('error', ignoreerror); -}); - - -/** - * code quality and documentation - */ - -gulp.task('lint', function() { - return gulp.src(alljs) - .pipe(jshint()) - .pipe(jshint.reporter('default')); -}); - -gulp.task('plato', shell.task(['node_modules/.bin/plato -d report -r -l .jshintrc -t bitcore-node lib'])); - -gulp.task('coverage', shell.task(['node_modules/.bin/istanbul cover node_modules/.bin/_mocha -- --recursive'])); - -gulp.task('coveralls', ['coverage'], function() { - gulp.src('coverage/lcov.info').pipe(coveralls()); -}); - - -/** - * watch tasks - */ - -gulp.task('watch:test', function() { - // todo: only run tests that are linked to file changes by doing - // something smart like reading through the require statements - return gulp.watch(alljs, ['test']); -}); - -gulp.task('watch:coverage', function() { - // todo: only run tests that are linked to file changes by doing - // something smart like reading through the require statements - return gulp.watch(alljs, ['coverage']); -}); - -gulp.task('watch:lint', function() { - // todo: only lint files that are linked to file changes by doing - // something smart like reading through the require statements - return gulp.watch(alljs, ['lint']); -}); +gulp.task('default', ['lint', 'coverage']);