Severity: Unhandled promise rejection in `whitespace-async.js` when ESLint async path is used
@bodapatisaikrishna がすでに取り組んでいます。
2026年9月17日 から。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 78/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- eslint, javascript
- 領域
- tooling
調査の方向性
packages/eslint-config-airbnb-base/whitespace-async.js と packages/eslint-config-airbnb/whitespace-async.js の 49 行目から始め、whitespace.js が execSync で async スクリプトを呼び出す方法を追跡します。rejection パスと child process の出力動作を確認します。rejected promise が処理され、エラーがログに記録され、process.exitCode が 1 に設定されて、親プロセスが誤解を招く JSON を受け取らないことが完了条件です。
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- JavaScript
- スター
- 148k
- フォーク
- 26.6k
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
airbnb/javascript のほかの issue
-
Inconsistent semicolon usage in examples (Arrays vs Functions)対応中かも @Developer-shivamMishra が 15 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
airbnb/javascript#3152 · コメント 4 件 ·
-
No error handling around execSync + JSON.parse in whitespace.js (ESLint 9 path)対応中かも @dataCenter430 が 220 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 48/100
airbnb/javascript#3238 · コメント 8 件 ·
-
Upgrading eslint-plugin-react-hooks対応中かも @weihongyu12 が 366 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 38/100
airbnb/javascript#3186 · コメント 3 件 · リアクション 2 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
airbnb/javascript#3173 · コメント 9 件 · リアクション 1 件 ·
-
Isn't section 5.1 "Use object destructuring" conflicting with 3.3 "Use object method shorthand" ?オープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
airbnb/javascript#3136 · コメント 11 件 ·
airbnb/javascript の issue をすべて見る
似ている issue
-
needs-website-changes
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 63/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
jaegertracing/jaeger-ui#4596 ·
メンテナーはふだん 1 日以内に返信
-
channels:add check:passed
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
メンテナーはふだん 9 日以内に返信