No error handling around execSync + JSON.parse in whitespace.js (ESLint 9 path)
@dataCenter430 ya está trabajando en esto.
Desde el 6/3/2026.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- eslint, javascript
- Área
- tooling
Línea de trabajo
Comienza en la línea 55 de packages/eslint-config-airbnb-base/whitespace.js y packages/eslint-config-airbnb/whitespace.js, siguiendo la ruta que usa execSync y JSON.parse cuando CLIEngine no está disponible. El trabajo estará terminado cuando los fallos de los scripts secundarios y las salidas no válidas produzcan un diagnóstico claro, mientras la carga correcta de la configuración siga funcionando.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- 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
-
Severity: Unhandled promise rejection in `whitespace-async.js` when ESLint async path is usedPosiblemente ocupada @bodapatisaikrishna la tomó hace 24 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
airbnb/javascript#3237 · 6 comentarios ·
-
Inconsistent semicolon usage in examples (Arrays vs Functions)Posiblemente ocupada @Developer-shivamMishra la tomó hace 15 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
airbnb/javascript#3152 · 4 comentarios ·
-
Upgrading eslint-plugin-react-hooksPosiblemente ocupada @weihongyu12 la tomó hace 365 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
-
Harden bayesian-waves-bg.js: add prefers-reduced-motion, pointer-events guard, and hidden-tab pauseAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
njitacm/njit-acm-website#109 ·
-
type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
blamechris/chroxy#8579 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
modusensus/dsh-mneme#411 ·
-
Flaky (suspected): VideoTimelineEditor bed audio test sees 600px instead of 120px under CI loadAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día