- La herramienta de linting para JavaScript/TypeScript Oxlint, desarrollada sobre Rust, fue lanzada oficialmente en la versión 1.0
- Ofrece un rendimiento 50 a 100 veces más rápido que ESLint, soporte para más de 500 reglas de ESLint y casos de uso reales en grandes empresas (Shopify, Airbnb, Mercedes-Benz, etc.)
- Se puede usar de inmediato sin configuración y también admite portabilidad y uso en conjunto con configuraciones existentes de ESLint
- Ofrece integración con los principales editores (VSCode, IntelliJ, Zed, etc.) y LSP, además de mensajes de diagnóstico de errores detallados y visuales
- También se publicó la hoja de ruta futura, incluyendo reglas personalizadas, optimización de rendimiento y configuración más granular, entre otros puntos
Principales novedades de Oxlint 1.0
Rendimiento y adopción a gran escala
- Implementado en Rust, permite hacer linting ultrarrápido de decenas de miles de archivos en ejecución concurrente
- Ejemplo: linting de 126 mil archivos de Airbnb en 7 segundos; en Mercedes-Benz se logró una mejora de velocidad de 71 a 97%
- En el repositorio más grande, analizó 265 mil archivos y 101 reglas en solo 22.5 segundos
Uso inmediato y adopción sencilla
- Basta con instalarlo para ejecutarlo de inmediato sin necesidad de configuración
npx oxlint@latest o uso directo con pnpm/yarn/bun/deno
- Soporta configuración personalizada mediante
.oxlintrc.json para proyectos grandes y entornos de equipo
- Basado en el formato flat config de ESLint v8, con una forma de trabajo familiar
- Con
oxlint-migrate se puede migrar la configuración existente de ESLint, y con eslint-plugin-oxlint se pueden desactivar reglas duplicadas
- Enfoque recomendado: ejecutar oxlint y eslint juntos para obtener retroalimentación más rápida
Amplio soporte de reglas
- Soporta todas las reglas de ESLint y muchas reglas de los plugins typescript-eslint, unicorn, jsdoc, react, jest e import
- También incluye reglas propias: bad comparison sequence, const comparisons, entre otras
Configuración flexible
- Soporta configuración anidada por carpeta, overrides por glob y extensión de configuraciones compartidas
- Permite mantener estándares consistentes de calidad de código entre equipos
Integración con editores
- Ofrece extensiones para VSCode, IntelliJ/WebStorm, Zed, etc. y soporte LSP
- En distintos IDE brinda diagnóstico inmediato de errores y sugerencias de corrección
Mensajes de diagnóstico
- Va más allá de describir errores simples y ofrece guías visuales sobre la causa y la forma de resolverlos
Benchmark
| Herramienta |
Tiempo de ejecución |
| oxlint(multihilo) |
615ms |
| oxlint(un solo hilo) |
1.8 s |
| eslint |
33.5 s |
Hoja de ruta
- Está previsto el soporte para reglas personalizadas basadas en JavaScript
- También se planean más optimizaciones de rendimiento y configuraciones detalladas por glob al estilo de ESLint v9
4 comentarios
¿Rust es el truco para mejorar el rendimiento?
Parece que todavía no tiene soporte completo para Vue ni NestJS.
https://github.com/oxc-project/oxc/issues/481
Oxlint - un linter de JS 50~100 veces más rápido que ESLint