Sitio web | Configurar ESLint | Reglas | Contribuya a ESLint | Informar errores | Código de conducta | Gorjeo | Discordia | Mastodonte
ESLint es una herramienta para identificar e informar sobre patrones encontrados en el código ECMAScript/JavaScript. En muchos sentidos, es similar a JSLint y JSHint con algunas excepciones:
Requisitos previos: Node.js ( ^18.18.0
, ^20.9.0
o >=21.1.0
) creado con soporte SSL. (Si está utilizando una distribución oficial de Node.js, SSL siempre está integrado).
Puede instalar y configurar ESLint usando este comando:
npm init @eslint/config@latest
Después de eso, puedes ejecutar ESLint en cualquier archivo o directorio como este:
npx eslint yourfile.js
Puede configurar reglas en sus archivos eslint.config.js
como en este ejemplo:
export default [
{
files : [ "**/*.js" , "**/*.cjs" , "**/*.mjs" ] ,
rules : {
"prefer-const" : "warn" ,
"no-constant-binary-expression" : "error"
}
}
] ;
Los nombres "prefer-const"
y "no-constant-binary-expression"
son los nombres de las reglas en ESLint. El primer valor es el nivel de error de la regla y puede ser uno de estos valores:
"off"
o 0
: desactiva la regla"warn"
o 1
: activa la regla como advertencia (no afecta el código de salida)"error"
o 2
: activa la regla como error (el código de salida será 1)Los tres niveles de error le permiten un control detallado sobre cómo ESLint aplica las reglas (para obtener más opciones de configuración y detalles, consulte los documentos de configuración).
El equipo de ESLint brinda soporte continuo para la versión actual y seis meses de soporte limitado para la versión anterior. El soporte limitado incluye correcciones de errores críticos, problemas de seguridad y problemas de compatibilidad únicamente.
ESLint ofrece soporte comercial para las versiones actuales y anteriores a través de nuestros socios, Tidelift y HeroDevs.
Consulte Soporte de versiones para obtener más detalles.
ESLint se adhiere al Código de conducta de la Fundación OpenJS.
Antes de presentar un problema, asegúrese de leer las pautas de lo que está informando:
Sí, ESLint admite de forma nativa el análisis de la sintaxis JSX (esto debe estar habilitado en la configuración). Tenga en cuenta que admitir la sintaxis JSX no es lo mismo que admitir React. React aplica una semántica específica a la sintaxis JSX que ESLint no reconoce. Recomendamos usar eslint-plugin-react si está usando React y desea la semántica de React.
No, ESLint y Prettier tienen trabajos diferentes: ESLint es un linter (que busca patrones problemáticos) y Prettier es un formateador de código. El uso de ambas herramientas es común; consulte la documentación de Prettier para aprender cómo configurarlas para que funcionen bien entre sí.
ESLint tiene soporte completo para ECMAScript 3, 5 y todos los años desde 2015 hasta la especificación de etapa 4 más reciente (la predeterminada). Puede establecer la sintaxis ECMAScript que desee y otras configuraciones (como variables globales) a través de la configuración.
El analizador de ESLint solo admite oficialmente el último estándar ECMAScript final. Realizaremos cambios en las reglas básicas para evitar fallas en las propuestas de sintaxis de ECMAScript de la etapa 3 (siempre que se implementen utilizando la sintaxis experimental ESTree correcta). Es posible que realicemos cambios en las reglas principales para trabajar mejor con extensiones de lenguaje (como JSX, Flow y TypeScript) caso por caso.
En otros casos (incluso si las reglas necesitan advertir en más o menos casos debido a una nueva sintaxis, en lugar de simplemente no fallar), le recomendamos que utilice otros analizadores y/o complementos de reglas. Si está utilizando Babel, puede utilizar @babel/eslint-parser y @babel/eslint-plugin para utilizar cualquier opción disponible en Babel.
Una vez que se haya adoptado una característica de lenguaje en el estándar ECMAScript (etapa 4 según el proceso TC39), aceptaremos problemas y solicitudes de extracción relacionadas con la nueva característica, sujeto a nuestras pautas de contribución. Hasta entonces, utilice el analizador y los complementos adecuados para su función experimental.
ESLint actualiza las versiones compatibles de Node.js con cada versión importante de ESLint. En ese momento, las versiones de Node.js compatibles con ESLint se actualizan para ser:
También se espera que ESLint funcione con las versiones de Node.js lanzadas después de la versión actual de Node.js.
Consulte la Guía de inicio rápido para conocer las versiones de Node.js oficialmente admitidas para una versión determinada de ESLint.
Abra una discusión o visite nuestro servidor de Discord.
Los archivos de bloqueo como package-lock.json
son útiles para las aplicaciones implementadas. Garantizan que las dependencias sean coherentes entre entornos y entre implementaciones.
Los paquetes como eslint
que se publican en el registro npm no incluyen archivos de bloqueo. npm install eslint
como usuario respetará las restricciones de versión en package.json
de ESLint. ESLint y sus dependencias se incluirán en el archivo de bloqueo del usuario, si existe, pero no se utilizará el propio archivo de bloqueo de ESLint.
Intencionalmente no bloqueamos las versiones de dependencia para tener las últimas versiones de dependencia compatibles en desarrollo y CI que nuestros usuarios obtienen al instalar ESLint en un proyecto.
El blog de Twilio tiene una inmersión más profunda para obtener más información.
Hemos programado lanzamientos cada dos semanas los viernes o sábados. Puede seguir un número de lanzamiento para obtener actualizaciones sobre la programación de cualquier lanzamiento en particular.
ESLint se toma en serio la seguridad. Trabajamos duro para garantizar que ESLint sea seguro para todos y que los problemas de seguridad se aborden de manera rápida y responsable. Lea la política de seguridad completa.
ESLint sigue el control de versiones semántico. Sin embargo, debido a la naturaleza de ESLint como herramienta de calidad de código, no siempre está claro cuándo ocurre un problema de versión menor o mayor. Para ayudar a aclarar esto para todos, hemos definido la siguiente política de versiones semánticas para ESLint:
eslint:recommended
se actualiza y dará lugar a menos errores de linting (por ejemplo, eliminación de reglas).eslint:recommended
se actualiza y puede generar nuevos errores de linting (p. ej., adiciones de reglas, la mayoría de actualizaciones de opciones de reglas). De acuerdo con nuestra política, cualquier actualización menor puede reportar más errores de linting que la versión anterior (por ejemplo, debido a una corrección de errores). Como tal, recomendamos usar la tilde ( ~
) en package.json
por ejemplo, "eslint": "~3.1.0"
para garantizar los resultados de sus compilaciones.
Las reglas estilísticas están congeladas de acuerdo con nuestra política sobre cómo evaluamos nuevas reglas y cambios de reglas. Esto significa:
Estas personas mantienen el proyecto en marcha y son recursos de ayuda.
Las personas que administran los lanzamientos, revisan las solicitudes de funciones y se reúnen periódicamente para garantizar que ESLint se mantenga adecuadamente.