diff --git a/package.json b/package.json index f5fbdb72..2225a0e5 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,6 @@ "gulp": "4.0.2", "gulp-bump": "3.2.0", "gulp-conventional-changelog": "4.0.0", - "gulp-eslint": "6.0.0", "gulp-git": "2.10.1", "gulp-jasmine": "4.0.0", "jasmine": "3.10.0", diff --git a/scripts/lint/index.js b/scripts/lint/index.js index 72950622..d1498a1d 100644 --- a/scripts/lint/index.js +++ b/scripts/lint/index.js @@ -23,7 +23,6 @@ */ const path = require('path'); -const gulp = require('gulp'); const log = require('../log'); const config = require('../config'); @@ -35,8 +34,7 @@ module.exports = function lint() { return Promise.resolve(); } - const eslint = require('gulp-eslint'); - const src = [ + const inputs = [ path.join(config.root, '*.js'), path.join(config.src, '**', '*.js'), path.join(config.test, '**', '*.js'), @@ -50,12 +48,23 @@ module.exports = function lint() { log.debug('Linting files: '); - src.forEach((input) => ( + inputs.forEach((input) => ( log.debug(` ${input}`) )); - return gulp.src(src) - .pipe(eslint()) - .pipe(eslint.format()) - .pipe(eslint.failAfterError()); + const {ESLint} = require('eslint'); + const fancyLog = require('fancy-log'); + const eslint = new ESLint({ + errorOnUnmatchedPattern: false, + }); + + const lintFiles = eslint.lintFiles(inputs); + const loadFormatter = eslint.loadFormatter('stylish'); + + return Promise.all([lintFiles, loadFormatter]).then(([results, formatter]) => { + if (results.errorCount > 0 || results.warningCount > 0) { + fancyLog(formatter.format(results)); + throw new Error('ESLintError'); + } + }); };