From 42a8925944657e31352ce11f51d4a40a93d37b2f Mon Sep 17 00:00:00 2001 From: achingbrain Date: Wed, 21 Nov 2018 16:49:18 +0000 Subject: [PATCH 1/2] 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)) From 3798c16cd550b4fb199efcea5331a91ff880526c Mon Sep 17 00:00:00 2001 From: achingbrain Date: Wed, 21 Nov 2018 17:41:56 +0000 Subject: [PATCH 2/2] chore: swap glob for globby --- package.json | 2 +- src/lint.js | 15 +++------------ 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index e547fc763..360da96c6 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "fs-extra": "^7.0.0", "gh-pages": "^2.0.1", "git-validate": "^2.2.4", - "glob": "^7.1.3", + "globby": "^8.0.1", "joi": "^14.0.1", "json-loader": "~0.5.7", "karma": "^3.1.1", diff --git a/src/lint.js b/src/lint.js index e236ed29b..251c17568 100644 --- a/src/lint.js +++ b/src/lint.js @@ -4,8 +4,7 @@ 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 globby = require('globby') const FILES = [ '*.js', @@ -80,16 +79,8 @@ function runLinter (opts = {}) { const config = userConfig() 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) + const files = await globby(patterns) + const report = cli.executeOnFiles(files) console.log(formatter(report.results))