From 22cf1cf1d1b9dcf797d3c116f47cfac48c2493f6 Mon Sep 17 00:00:00 2001 From: dataCenter430 Date: Fri, 6 Mar 2026 04:31:07 +0100 Subject: [PATCH 1/4] Fix ESLint 9+ path: handle child script errors in whitespace-async.js --- packages/eslint-config-airbnb-base/whitespace-async.js | 7 ++++++- packages/eslint-config-airbnb/whitespace-async.js | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/eslint-config-airbnb-base/whitespace-async.js b/packages/eslint-config-airbnb-base/whitespace-async.js index 06f4f89075..161a08ac64 100755 --- a/packages/eslint-config-airbnb-base/whitespace-async.js +++ b/packages/eslint-config-airbnb-base/whitespace-async.js @@ -46,4 +46,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-async.js b/packages/eslint-config-airbnb/whitespace-async.js index 06f4f89075..161a08ac64 100755 --- a/packages/eslint-config-airbnb/whitespace-async.js +++ b/packages/eslint-config-airbnb/whitespace-async.js @@ -46,4 +46,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); + }); From e3c02583e53066608faf31482b9991ff99a6033f Mon Sep 17 00:00:00 2001 From: dataCenter430 Date: Mon, 9 Mar 2026 13:37:11 +0100 Subject: [PATCH 2/4] fix: support ESLint 9+ by using legacy config for async path --- .../eslint-config-airbnb-base/whitespace-async.js | 13 ++++++++++--- packages/eslint-config-airbnb-base/whitespace.js | 1 + packages/eslint-config-airbnb/whitespace-async.js | 13 ++++++++++--- packages/eslint-config-airbnb/whitespace.js | 1 + 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/packages/eslint-config-airbnb-base/whitespace-async.js b/packages/eslint-config-airbnb-base/whitespace-async.js index 161a08ac64..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]; 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 161a08ac64..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]; 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', } }))); } From 4585c7212d84f2e3c74565690861f39ec94bab6a Mon Sep 17 00:00:00 2001 From: dataCenter430 Date: Mon, 9 Mar 2026 14:00:17 +0100 Subject: [PATCH 3/4] Trigger CI From eb9b352a91e51dbb13147a461db1920a67673c3d Mon Sep 17 00:00:00 2001 From: dataCenter430 Date: Mon, 9 Mar 2026 14:02:46 +0100 Subject: [PATCH 4/4] Trigger GitHub to recheck rebaseability