38 lines
1.0 KiB
JavaScript
38 lines
1.0 KiB
JavaScript
'use strict';
|
|
|
|
var gulp = require('gulp');
|
|
var eslint = require('gulp-eslint');
|
|
var istanbul = require('gulp-istanbul');
|
|
var mocha = require('gulp-mocha');
|
|
var docs = require('./scripts/docs.js');
|
|
|
|
|
|
gulp.task('quality', function() {
|
|
return gulp.src(['*.js', '{rules,test,scripts}/**/*.js'])
|
|
.pipe(eslint())
|
|
.pipe(eslint.format())
|
|
.pipe(eslint.failAfterError());
|
|
});
|
|
|
|
gulp.task('test', function(cb) {
|
|
gulp.src(['index.js', 'rules/**/*.js'])
|
|
.pipe(istanbul()) // Covering files
|
|
.pipe(istanbul.hookRequire()) // Force `require` to return covered files
|
|
.on('finish', function() {
|
|
gulp.src(['test/**/*.js'])
|
|
.pipe(mocha())
|
|
.pipe(istanbul.writeReports()) // Creating the reports after tests runned
|
|
.on('end', cb);
|
|
});
|
|
});
|
|
|
|
|
|
gulp.task('docs', function(done) {
|
|
docs.updateReadme('README.md');
|
|
docs.createDocFiles();
|
|
// docs.testDocs(cb);
|
|
done();
|
|
});
|
|
|
|
gulp.task('default', gulp.series('quality', 'docs', 'test'));
|