No error handling around execSync + JSON.parse in whitespace.js (ESLint 9 path)
@dataCenter430 がすでに取り組んでいます。
2026年3月6日 から。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 48/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 停滞
- 技術スタック
- eslint, javascript
- 領域
- tooling
調査の方向性
packages/eslint-config-airbnb-base/whitespace.js と packages/eslint-config-airbnb/whitespace.js の 55 行目から始め、CLIEngine が利用できない場合に execSync と JSON.parse が使用する経路を追跡します。Child script の失敗や無効な出力で明確な診断が生成され、設定の正常な読み込みが引き続き機能すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Summary
When CLIEngine is not available (e.g. ESLint 9), whitespace.js loads the config by running whitespace-async.js with execSync and then doing JSON.parse(String(...)) on the result. There is no try/catch around this.
Impact
- If the child script exits non-zero, prints errors, or prints non-JSON (e.g. ESLint timing or debug output),
execSyncmay throw or return non-JSON. JSON.parsewill then throw and the config load fails with a generic parsing error, making it hard to see that the real failure was in the child script.
Affected files
packages/eslint-config-airbnb-base/whitespace.js(line 55)packages/eslint-config-airbnb/whitespace.js(line 55)
Suggested fix
Wrap the execSync call and JSON.parse in try/catch and rethrow with a clear message (and optionally cause: err) so failures are easier to diagnose.
screenshot
I'd love to work on this.
- 主要言語
- JavaScript
- スター
- 148k
- フォーク
- 26.6k
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
airbnb/javascript のほかの issue
-
Severity: Unhandled promise rejection in `whitespace-async.js` when ESLint async path is used対応中かも @bodapatisaikrishna が 25 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
airbnb/javascript#3237 · コメント 6 件 ·
-
Inconsistent semicolon usage in examples (Arrays vs Functions)対応中かも @Developer-shivamMishra が 15 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
airbnb/javascript#3152 · コメント 4 件 ·
-
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 日以内に返信