Severity: Unhandled promise rejection in `whitespace-async.js` when ESLint async path is used
@bodapatisaikrishna ya está trabajando en esto.
Desde el 17/9/2026.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- eslint, javascript
- Área
- tooling
Línea de trabajo
Comienza en la línea 49 de packages/eslint-config-airbnb-base/whitespace-async.js y packages/eslint-config-airbnb/whitespace-async.js; después, sigue cómo whitespace.js invoca el script async con execSync. Verifica la ruta de rechazo y el comportamiento de la salida del proceso hijo. Se considera terminado cuando se gestionan las promises rechazadas, se registra el error y process.exitCode se establece en 1 para que el proceso padre no reciba un JSON engañoso.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- JavaScript
- Estrellas
- 148k
- Forks
- 26.6k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de airbnb/javascript
-
Inconsistent semicolon usage in examples (Arrays vs Functions)Posiblemente ocupada @Developer-shivamMishra la tomó hace 16 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
airbnb/javascript#3152 · 4 comentarios ·
-
No error handling around execSync + JSON.parse in whitespace.js (ESLint 9 path)Posiblemente ocupada @dataCenter430 la tomó hace 221 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 48/100
airbnb/javascript#3238 · 8 comentarios ·
-
Upgrading eslint-plugin-react-hooksPosiblemente ocupada @weihongyu12 la tomó hace 366 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
airbnb/javascript#3186 · 3 comentarios · 2 reacciones ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
airbnb/javascript#3173 · 9 comentarios · 1 reacción ·
-
Isn't section 5.1 "Use object destructuring" conflicting with 3.3 "Use object method shorthand" ?Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
airbnb/javascript#3136 · 11 comentarios ·
Todos los issues de airbnb/javascript
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
[quality] Nothing keeps docs/skills/manifest.md in sync with docs/skills/*.mdPosiblemente ocupada @hivecommons-hive la tomó hoy. Abiertoagent/quality hive/covered-by-pr hive/hosted-available-lke648397-260827-5n31 quality testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
apache/rocketmq-dashboard#6610 ·
Los mantenedores suelen responder en 3 días
-
documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
githubnext/gh-aw-workshop#4535 ·
Los mantenedores suelen responder en 1 día
-
Global update drops overrideAccess, so Local API updateGlobal fails filterOptions validation (3.90 regression)Posiblemente ocupada @PINYOPATTANAWASANPORN la tomó hoy. Abiertoarea: core Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
payloadcms/payload#18674 · 1 comentario ·
Los mantenedores suelen responder en 1 día