diff --git a/packages/eslint-config-airbnb-base/whitespace-async.js b/packages/eslint-config-airbnb-base/whitespace-async.js index 06f4f89075..1a497e7fca 100755 --- a/packages/eslint-config-airbnb-base/whitespace-async.js +++ b/packages/eslint-config-airbnb-base/whitespace-async.js @@ -2,7 +2,7 @@ const { isArray } = Array; const { entries } = Object; -const { ESLint } = require('eslint'); +const eslint = require('eslint'); const baseConfig = require('.'); const whitespaceRules = require('./whitespaceRules'); @@ -21,11 +21,18 @@ function getSeverity(ruleConfig) { async function onlyErrorOnRules(rulesToError, config) { const errorsOnly = { ...config }; - const cli = new ESLint({ + const ESLintClass = typeof eslint.loadESLint === 'function' + ? await eslint.loadESLint({ useFlatConfig: false }) + : eslint.ESLint; + const cli = new ESLintClass({ useEslintrc: false, baseConfig: config }); - const baseRules = (await cli.calculateConfigForFile(require.resolve('./'))).rules; + const resolvedPath = require.resolve('./'); + const configForFile = typeof cli.getConfigForFile === 'function' + ? cli.getConfigForFile(resolvedPath) + : await cli.calculateConfigForFile(resolvedPath); + const baseRules = configForFile.rules; entries(baseRules).forEach((rule) => { const ruleName = rule[0]; @@ -46,4 +53,9 @@ async function onlyErrorOnRules(rulesToError, config) { return errorsOnly; } -onlyErrorOnRules(whitespaceRules, baseConfig).then((config) => console.log(JSON.stringify(config))); +onlyErrorOnRules(whitespaceRules, baseConfig) + .then((config) => console.log(JSON.stringify(config))) + .catch((err) => { + console.error(err); + process.exit(1); + }); diff --git a/packages/eslint-config-airbnb-base/whitespace.js b/packages/eslint-config-airbnb-base/whitespace.js index 01e5198671..fb8776285a 100644 --- a/packages/eslint-config-airbnb-base/whitespace.js +++ b/packages/eslint-config-airbnb-base/whitespace.js @@ -56,6 +56,7 @@ if (CLIEngine) { env: { ...process.env, TIMING: undefined, + ESLINT_USE_FLAT_CONFIG: 'false', } }))); } diff --git a/packages/eslint-config-airbnb/whitespace-async.js b/packages/eslint-config-airbnb/whitespace-async.js index 06f4f89075..1a497e7fca 100755 --- a/packages/eslint-config-airbnb/whitespace-async.js +++ b/packages/eslint-config-airbnb/whitespace-async.js @@ -2,7 +2,7 @@ const { isArray } = Array; const { entries } = Object; -const { ESLint } = require('eslint'); +const eslint = require('eslint'); const baseConfig = require('.'); const whitespaceRules = require('./whitespaceRules'); @@ -21,11 +21,18 @@ function getSeverity(ruleConfig) { async function onlyErrorOnRules(rulesToError, config) { const errorsOnly = { ...config }; - const cli = new ESLint({ + const ESLintClass = typeof eslint.loadESLint === 'function' + ? await eslint.loadESLint({ useFlatConfig: false }) + : eslint.ESLint; + const cli = new ESLintClass({ useEslintrc: false, baseConfig: config }); - const baseRules = (await cli.calculateConfigForFile(require.resolve('./'))).rules; + const resolvedPath = require.resolve('./'); + const configForFile = typeof cli.getConfigForFile === 'function' + ? cli.getConfigForFile(resolvedPath) + : await cli.calculateConfigForFile(resolvedPath); + const baseRules = configForFile.rules; entries(baseRules).forEach((rule) => { const ruleName = rule[0]; @@ -46,4 +53,9 @@ async function onlyErrorOnRules(rulesToError, config) { return errorsOnly; } -onlyErrorOnRules(whitespaceRules, baseConfig).then((config) => console.log(JSON.stringify(config))); +onlyErrorOnRules(whitespaceRules, baseConfig) + .then((config) => console.log(JSON.stringify(config))) + .catch((err) => { + console.error(err); + process.exit(1); + }); diff --git a/packages/eslint-config-airbnb/whitespace.js b/packages/eslint-config-airbnb/whitespace.js index 01e5198671..fb8776285a 100644 --- a/packages/eslint-config-airbnb/whitespace.js +++ b/packages/eslint-config-airbnb/whitespace.js @@ -56,6 +56,7 @@ if (CLIEngine) { env: { ...process.env, TIMING: undefined, + ESLINT_USE_FLAT_CONFIG: 'false', } }))); }