UNPKG

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