UNPKG

1.12 kBJavaScriptView Raw
1import babel from 'gulp-babel';
2import del from 'del';
3import eslint from 'gulp-eslint';
4import gulp from 'gulp';
5import istanbul from 'gulp-babel-istanbul';
6import mocha from 'gulp-mocha';
7
8const runEslint = () =>
9 gulp.src([
10 'gulpfile.babel.js',
11 'src/**/*.js',
12 'test/**/*.js'
13 ])
14 .pipe(eslint())
15 .pipe(eslint.format())
16 .pipe(eslint.failAfterError());
17
18gulp.task('clean', () => del('lib/*'));
19
20gulp.task('eslint', () => runEslint());
21
22gulp.task('lint', ['eslint']);
23
24gulp.task('test', ['eslint'], (done) => {
25 gulp.src(['src/*.js'])
26 .pipe(istanbul()) // Covering files
27 .pipe(istanbul.hookRequire()) // Force `require` to return covered files
28 .on('finish', () => {
29 gulp.src(['test/**/*.js'])
30 .pipe(mocha({
31 reporter: 'spec'
32 }))
33 .pipe(istanbul.writeReports()) // Creating the reports after tests ran
34 .on('end', done);
35 });
36});
37
38gulp.task('build', ['test'], () => {
39 gulp.src('src/*.js')
40 .pipe(babel())
41 .pipe(gulp.dest('lib'));
42});
43
44// Default task to start development. Just type gulp.
45gulp.task('default', ['build', 'test']);