Oxlint apps_v1.60.0: Nuevas Reglas Jest y Mejoras del Linter
TL;DR
- Nuevas reglas de Jest (
prefer-ending-with-an-expect,valid-expect-in-promise) mejoran la calidad del código de prueba. - Se introduce el flag
--type-check-onlypara una verificación de tipos enfocada. - El linter ahora arroja un error si no hay archivos coincidentes, lo que podría requerir ajustes en CI/CD.
Cambios Clave
Breaking Changes: oxlint v1.60.0 ahora genera un error si no hay archivos que coincidan con los patrones proporcionados. Este cambio puede requerir actualizaciones en las configuraciones de CI/CD. Se eliminaron las re-exportaciones internas de oxc_span y se añadió una macro static_ident!.
Features: Adiciones significativas incluyen nuevas reglas de Jest: prefer-ending-with-an-expect, prefer-importing-jest-globals y valid-expect-in-promise. Un flag --type-check-only permite una verificación de tipos enfocada. La regla unicorn/prefer-default-parameters ahora incluye auto-fix, y se implementó unicorn/consistent-template-literal-escape. Varias reglas fueron recategorizadas de nursery a grupos más estables.
Bug Fixes: Las mejoras incluyen la omisión de directorios .git en los “walkers” de LSP, un mejor manejo del “optional chaining” en las reglas unicorn, y una notificación más precisa de dependencias no-cycle. Otras correcciones del linter mejoran la precisión y reducen los falsos positivos.
Performance: Múltiples optimizaciones internas en el “parser” NAPI y los “plugins” del linter mejoran la deserialización y el rendimiento general.
Impacto para Equipos de QA
Los equipos de QA se benefician de una mejor calidad de código en los archivos de prueba gracias a las nuevas reglas de Jest, promoviendo mejores prácticas de testing. El flag --type-check-only ofrece una forma más rápida de verificar la corrección de tipos, agilizando las comprobaciones previas al commit. El “breaking change” sobre la falta de archivos coincidentes requiere que los QA se aseguren de que las configuraciones de linting sean robustas y manejen conjuntos de archivos vacíos en CI/CD.
