Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Severity: Unhandled promise rejection in `whitespace-async.js` when ESLint async path is used

Đang mở Phù hợp với người mới
#3,237 6 bình luận 0 reaction 0 người được giao Xem trên GitHub

@bodapatisaikrishna đang làm issue này rồi.

Từ ngày 17/9/2026.

  • #3276 của @19kumarashish — đã đóng, không merge
  • #3319 của @bodapatisaikrishna — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
78/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
eslint, javascript
Lĩnh vực
tooling

Hướng nghiên cứu

Bắt đầu từ dòng 49 trong packages/eslint-config-airbnb-base/whitespace-async.js và packages/eslint-config-airbnb/whitespace-async.js, sau đó theo dõi cách whitespace.js gọi script async bằng execSync. Xác minh nhánh rejection và hành vi đầu ra của child process. Hoàn tất khi các promise bị reject được xử lý, lỗi được ghi log và process.exitCode được đặt thành 1 để tiến trình cha không nhận JSON gây hiểu lầm.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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

Image

I'd love to have the chance to contribute to this.

Ngôn ngữ chính
JavaScript
Star
148k
Fork
26.5k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của airbnb/javascript

Tất cả issue của airbnb/javascript

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.