Generador de ESLintrc
Este generador crea una configuración .eslintrc.json lista para usar a partir de cuatro opciones: entorno de navegador o de Node, soporte de TypeScript y soporte de React. Conecta eslint:recommended, los plugins de TypeScript o de React correspondientes y un par de anulaciones de reglas sensatas, para que puedas pegar el resultado en tu proyecto.
Cómo generar una configuración de ESLint
-
1
Elige el entorno
Indica si el código se ejecuta en el navegador, en Node.js o en ambos. El generador establece las entradas `env` correspondientes, más `es2022`.
-
2
Activa TypeScript
Marca TypeScript y el generador añade `@typescript-eslint/parser` y el plugin de TypeScript recomendado.
-
3
Activa React
Marca React y el generador añade `eslint-plugin-react` con su preset recomendado.
-
4
Generar
Pulsa el botón y la configuración se genera como JSON con un formato legible.
-
5
Cópialo en tu proyecto
Pega el resultado en `.eslintrc.json` e instala los plugins que referencia.
Qué contiene la configuración generada
El generador parte siempre de eslint:recommended y añade exactamente lo que implican tus selecciones:
envconbrowsery/onode, máses2022@typescript-eslint/parseryplugin:@typescript-eslint/recommendedcuando TypeScript está activadoplugin:react/recommendedcuando React está activadono-consoleyno-unused-varsestablecidas enwarn
El resultado es un objeto JSON sencillo con la forma clásica de .eslintrc.json, listo para pegar y ampliar con tus propias reglas.
Configuración plana vs heredada
ESLint 9 desaprobó el formato .eslintrc.* a favor de la configuración plana (eslint.config.js). Diferencias clave:
| Aspecto | Heredado (.eslintrc) | Plana (eslint.config.js) |
|---|---|---|
| Formato | JSON, YAML o CommonJS | Módulo JavaScript ESM o CommonJS |
| Extiende | extends: ["plugin:react/recommended"] |
Expandido en array: ...reactPlugin.configs.recommended |
| Sobreescrituras | Array overrides con patrones glob |
Múltiples objetos en el array exportado |
| Variables globales | env: { browser: true } |
languageOptions.globals con imports explícitos |
| Ignora | Archivo .eslintignore |
Campo ignores en el array de configuración |
Los nuevos proyectos deben usar configuración plana. Los proyectos existentes pueden permanecer en heredado a través de la línea 10.x, pero se recomienda la migración.
Ecosistema de plugins
Plugins típicos para proyectos React/TS:
@typescript-eslint/eslint-plugin
@typescript-eslint/parser
eslint-plugin-react
eslint-plugin-react-hooks
eslint-plugin-jsx-a11y
eslint-plugin-import
eslint-config-prettier
Eso son seis paquetes para una configuración con criterios moderadamente marcados. El generador añade los que selecciones, así que solo instalas lo que la configuración referencia.
Coexistencia con Prettier
Prettier maneja el formato; ESLint maneja la corrección y el estilo más allá del formato. Para evitar conflictos:
- Instala
eslint-config-prettiery añádelo como el ÚLTIMO elemento en tus extends/config. - Esto desactiva todas las reglas de ESLint que entran en conflicto con la salida de Prettier.
- Ejecuta Prettier por separado (al guardar en el editor, en el gancho de pre-commit, en CI).
No uses eslint-plugin-prettier en nuevos proyectos; ralentiza ESLint al ejecutar Prettier dentro de ESLint. Separa las dos herramientas.
Consejos para ajustar reglas
- Comienza laxo, ajusta más estricto. Habilita advertencias antes de errores.
- Sobreescribe para pruebas. Los archivos de prueba a menudo necesitan
no-unused-expressionsrelajado y globals de Jest disponibles. - Sobreescribe para scripts. Los scripts de construcción pueden necesitar globals de Node sin añadir
env: nodeglobalmente. - Documenta las sobreescrituras. Cada sobreescritura de regla merece un comentario explicando por qué.
Configuración que coincide con tu editor
VS Code necesita la extensión ESLint instalada y configurada. Añade esto a la configuración de tu espacio de trabajo para auto-corrección al guardar:
{
"editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" },
"eslint.validate": ["javascript", "typescript", "javascriptreact", "typescriptreact"]
}
Preguntas frecuentes
Para nuevos proyectos, configuración plana (eslint.config.js). Este generador emite el formato clásico .eslintrc.json, que ESLint lee de forma nativa en modo heredado; la tabla comparativa de arriba muestra qué cambia si migras más adelante.
Sí, si estás usando TypeScript. El @typescript-eslint/parser y @typescript-eslint/eslint-plugin habilitan el linting con conocimiento de TypeScript. Para reglas que tienen en cuenta los tipos (no solo la sintaxis), configura también el parser con project: './tsconfig.json'.
Generalmente faltan dependencias de desarrollo en CI. Asegúrate de que @typescript-eslint/*, los complementos y la versión de ESLint coincidan entre local y CI. Usa npm ci (no npm install) en CI para respetar el archivo de bloqueo.
No. Tus selecciones solo se usan para generar la configuración; no se almacenan ni se comparten con terceros.
Herramientas relacionadas
Referencia de la tabla ASCII
Tabla ASCII completa del 0 al 127 con decimal, hex, octal, binario y referencia numérica HTML para cada carácter, incluidos los códigos de control como NUL, LF y DEL.
Referencia de caracteres HTML
Lista buscable de entidades HTML, sus códigos nombrados y numéricos, y una copia con un clic para caracteres y símbolos especiales.
Referencia de atajos de teclado
Busca los atajos predeterminados documentados de VS Code, Chrome y Bash con GNU Readline en macOS, Windows y Linux.
Generador de letras aleatorias
Genera letras aleatorias A-Z. Elige la cantidad, usa mayúsculas, minúsculas o mezcla de ambas, y aplica el resultado en juegos, consignas o clase.
Generador de Paletas de Color
Genera paletas monocromáticas, análogas, complementarias, triádicas o tetrádicas desde un color base HEX y exporta variables CSS listas para copiar.
Hoja de trucos de Markdown
Referencia práctica de Markdown con vistas previas reales y ejemplos listos para copiar de encabezados, listas, tablas, código, enlaces, imágenes y sintaxis GFM.
Herramienta disponible en otros idiomas
- مولد ESLintrc [AR]
- ESLintrc生成器 [ZH]
- ESLintrc ジェネレーター [JA]
- ESLintrc-generator [SV]
- Générateur d'ESLintrc [FR]
- Gerador de ESLintrc [PT]
- เครื่องสร้าง ESLintrc [TH]
- ESLintrc-generator [NL]
- ESLintrc Generator [EN]
- Bộ tạo ESLintrc [VI]
- ESLintrc 생성기 [KO]
- Generator .eslintrc [PL]
- ESLintrc Üreticisi [TR]
- ESLintrc-Generator [DE]
- Generator ESLintrc [ID]
- Generatore ESLintrc [IT]
- Генератор ESLintrc [RU]