Severity: Unhandled promise rejection in `whitespace-async.js` when ESLint async path is used
@bodapatisaikrishna arbeitet bereits daran.
Seit 17.9.2026.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 78/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- eslint, javascript
- Bereich
- tooling
Rechercherichtung
Beginne bei Zeile 49 in packages/eslint-config-airbnb-base/whitespace-async.js und packages/eslint-config-airbnb/whitespace-async.js und verfolge dann, wie whitespace.js das async-Skript mit execSync aufruft. Überprüfe den Rejection-Pfad und das Ausgabeverhalten des Child-Prozesses. Erledigt ist die Aufgabe, wenn rejected Promises behandelt, der Fehler protokolliert und process.exitCode auf 1 gesetzt wird, damit der Parent kein irreführendes JSON erhält.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
When the config is loaded on ESLint 9 (or when CLIEngine is unavailable), whitespace.js runs whitespace-async.js via execSync. That script calls onlyErrorOnRules(...).then(...) with no .catch(). If the promise rejects, the rejection is unhandled.
Impact
- Process can exit with an unhandled rejection.
- Child process may write errors (or non-JSON) to stdout, so the parent’s
JSON.parse(stdout)can throw and fail config loading with an unclear error.
Affected files
packages/eslint-config-airbnb-base/whitespace-async.js(line 49)packages/eslint-config-airbnb/whitespace-async.js(line 49)
Suggested fix
Add a .catch() that logs the error and sets process.exitCode = 1, so rejections are handled and the child exits with a non-zero code instead of leaving an unhandled rejection.
Screenshot
I'd love to have the chance to contribute to this.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 148k
- Forks
- 26.6k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus airbnb/javascript
-
Inconsistent semicolon usage in examples (Arrays vs Functions)Evtl. vergeben @Developer-shivamMishra hat das vor 16 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
airbnb/javascript#3152 · 4 Kommentare ·
-
No error handling around execSync + JSON.parse in whitespace.js (ESLint 9 path)Evtl. vergeben @dataCenter430 hat das vor 221 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 48/100
airbnb/javascript#3238 · 8 Kommentare ·
-
Upgrading eslint-plugin-react-hooksEvtl. vergeben @weihongyu12 hat das vor 366 Tagen übernommen. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 38/100
airbnb/javascript#3186 · 3 Kommentare · 2 Reaktionen ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
airbnb/javascript#3173 · 9 Kommentare · 1 Reaktion ·
-
Isn't section 5.1 "Use object destructuring" conflicting with 3.3 "Use object method shorthand" ?Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
airbnb/javascript#3136 · 11 Kommentare ·
Alle Issues in airbnb/javascript
Ähnliche Issues
-
ACK_WAITING HELP_WANTED UPDATE_CS
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
OWASP/CheatSheetSeries#2781 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Hermes: /ponytail off never reaches the model, the ruleset stays activeEvtl. vergeben @szsunyuan hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
DietrichGebert/ponytail#1121 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
integrations plugin
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
mem0ai/mem0#7622 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug package:vitest
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
cloudflare/workers-sdk#16238 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag