UNPKG

908 BJavaScriptView Raw
1const lang = require('zero-lang');
2const path = require('path');
3const eslint = require('gulp-eslint');
4const gulp = require('gulp');
5const gulpIf = require('gulp-if');
6const gutil = require('gulp-util');
7const config = require('./config');
8
9function isFixed(file) {
10 // Has ESLint fixed the file contents?
11 return file.eslint != null && file.eslint.fixed;
12}
13
14lang.each(config.lintingDirs, (dir) => {
15 gulp.task(
16 `eslint-${dir}`, () => {
17 const srcPath = path.resolve(__dirname, `../${dir}/**/*.js`);
18 gulp.src(srcPath)
19 .pipe(eslint())
20 .on('error', (err) => {
21 gutil.log(gutil.colors.red(err.message));
22 })
23 .pipe(eslint.format())
24 .pipe(gulpIf(isFixed, gulp.dest(path.resolve(__dirname, `../${dir}/**/*.js`))))
25 .pipe(eslint.failAfterError());
26 }
27 );
28});
29
30gulp.task('eslint', lang.map(config.lintingDirs, (dir) => `eslint-${dir}`));