From 42a8925944657e31352ce11f51d4a40a93d37b2f Mon Sep 17 00:00:00 2001 From: achingbrain Date: Wed, 21 Nov 2018 16:49:18 +0000 Subject: [PATCH] fix: upgrade eslint to v5 N.b. needs to manually run patterns to lint through the glob module before linting until eslint/eslint#10587 is resolved. --- package.json | 10 +++++----- src/lint.js | 17 ++++++++++++++--- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 8241799f0..e547fc763 100644 --- a/package.json +++ b/package.json @@ -56,12 +56,12 @@ "detect-node": "^2.0.4", "documentation": "^9.0.0-alpha.1", "es6-promisify": "^6.0.1", - "eslint": "^4.19.0", - "eslint-config-standard": "^11.0.0", + "eslint": "^5.9.0", + "eslint-config-standard": "^12.0.0", "eslint-plugin-import": "^2.14.0", - "eslint-plugin-node": "^6.0.1", - "eslint-plugin-promise": "^3.8.0", - "eslint-plugin-standard": "^3.1.0", + "eslint-plugin-node": "^8.0.0", + "eslint-plugin-promise": "^4.0.1", + "eslint-plugin-standard": "^4.0.0", "execa": "^1.0.0", "filesize": "^3.6.1", "findup-sync": "^2.0.0", diff --git a/src/lint.js b/src/lint.js index 6cbe1bd71..e236ed29b 100644 --- a/src/lint.js +++ b/src/lint.js @@ -4,6 +4,8 @@ const CLIEngine = require('eslint').CLIEngine const path = require('path') const formatter = CLIEngine.getFormatter() const userConfig = require('./config/user') +const promisify = require('util').promisify +const glob = promisify(require('glob')) const FILES = [ '*.js', @@ -69,7 +71,7 @@ function checkDependencyVersions () { } function runLinter (opts = {}) { - return new Promise((resolve, reject) => { + return new Promise(async (resolve, reject) => { const cli = new CLIEngine({ useEslintrc: true, baseConfig: require('./config/eslintrc'), @@ -77,8 +79,17 @@ function runLinter (opts = {}) { }) const config = userConfig() - const files = (config.lint && config.lint.files) || FILES - const report = cli.executeOnFiles(files) + const patterns = (config.lint && config.lint.files) || FILES + const files = await Promise.all(patterns.map(pattern => glob(pattern))) + const deduped = Object.keys(files.reduce((acc, cur) => { + cur.forEach(file => { + acc[file] = 1 + }) + + return acc + }, {})) + + const report = cli.executeOnFiles(deduped) console.log(formatter(report.results))