UNPKG

1.59 kBJavaScriptView Raw
1const gulp = require('gulp')
2const ava = require('gulp-ava')
3const eslint = require('gulp-eslint')
4const rename = require('gulp-rename')
5const sourcemaps = require('gulp-sourcemaps')
6const uglify = require('gulp-uglify')
7const pump = require('pump')
8
9gulp.task('lint', () => gulp.src(['**/*.js', '!docs/**', '!node_modules/**', '!dist/**', '!test/helpers/**/*.js'])
10 .pipe(eslint({
11 parser: 'babel-eslint',
12 rules: {
13 // quotes: ['error', 'single'],
14 'curly': 'error',
15 'eqeqeq': 'error',
16 'new-parens': 'error',
17 'no-cond-assign': 'error',
18 'no-console': 'error',
19 'no-debugger': 'error',
20 'no-empty': 'error',
21 'no-fallthrough': 'error',
22 'no-trailing-spaces': 'error',
23 'no-mixed-spaces-and-tabs': 'error',
24 }
25 }))
26 .pipe(eslint.format())
27 .pipe(eslint.failAfterError()))
28
29gulp.task('test', () => gulp.src('test/**/*.js')
30 .pipe(ava({ verbose: true })))
31
32gulp.task('watch', () => {
33 gulp.watch(['chance.js', 'gulpfile.js', 'test/**/*.js'], ['lint', 'test'])
34})
35
36gulp.task('watch-lint', () => {
37 gulp.watch(['chance.js', 'gulpfile.js', 'test/**/*.js'], ['lint'])
38})
39
40gulp.task('build', (cb) => {
41 pump([ gulp.src('chance.js'), sourcemaps.init(),
42 rename('chance.min.js'), uglify(), sourcemaps.write('.'),
43 gulp.dest('dist'),
44 ], cb)
45})
46
47gulp.task('travis', gulp.series('lint', 'test'))
48
49gulp.task('default', gulp.series('watch', 'lint', 'test'))