1 | import babel from 'gulp-babel';
|
2 | import del from 'del';
|
3 | import eslint from 'gulp-eslint';
|
4 | import gulp from 'gulp';
|
5 | import istanbul from 'gulp-babel-istanbul';
|
6 | import mocha from 'gulp-mocha';
|
7 |
|
8 | const 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 |
|
18 | gulp.task('clean', () => del('lib/*'));
|
19 |
|
20 | gulp.task('eslint', () => runEslint());
|
21 |
|
22 | gulp.task('lint', ['eslint']);
|
23 |
|
24 | gulp.task('test', ['eslint'], (done) => {
|
25 | gulp.src(['src/*.js'])
|
26 | .pipe(istanbul())
|
27 | .pipe(istanbul.hookRequire())
|
28 | .on('finish', () => {
|
29 | gulp.src(['test/**/*.js'])
|
30 | .pipe(mocha({
|
31 | reporter: 'spec'
|
32 | }))
|
33 | .pipe(istanbul.writeReports())
|
34 | .on('end', done);
|
35 | });
|
36 | });
|
37 |
|
38 | gulp.task('build', ['test'], () => {
|
39 | gulp.src('src/*.js')
|
40 | .pipe(babel())
|
41 | .pipe(gulp.dest('lib'));
|
42 | });
|
43 |
|
44 |
|
45 | gulp.task('default', ['build', 'test']);
|