Reglas
Las 23 reglas de oxlint-tailwindcss, agrupadas por lo que hacen cumplir. Haz clic en cualquier regla para ver ejemplos y referencia de opciones.
Corrección
Reglas que atrapan problemas que generarían CSS inválido o inesperado.
- no-unknown-classes — prohíbe clases que el design system desconoce.
- no-conflicting-classes — marca clases que pelean por la misma propiedad CSS.
- no-contradicting-variants —
flex hover:flexes redundante. - no-dark-without-light —
dark:debería usualmente tener pareja en modo claro. - no-duplicate-classes — la misma clase dos veces es peso muerto.
Modernización
- no-deprecated-classes —
flex-grow→grow, etc. - enforce-canonical —
-m-0→m-0,bg-gradient-to-r→bg-linear-to-r, etc. - no-unnecessary-arbitrary-value —
w-[200px]→w-50cuando existe el named. - prefer-theme-tokens —
border-(--border)→border-bordercuando un named utility mapea al mismo variable. - enforce-negative-arbitrary-values —
-top-[5px]→top-[-5px].
Estilo y consistencia
- enforce-sort-order — ordena las clases en el orden oficial de Tailwind.
- consistent-variant-order —
dark:hover:vshover:dark:. - enforce-consistent-important-position — prefijo
!flexvs sufijoflex!. - enforce-consistent-line-wrapping — una clase por línea vs todo en una.
- enforce-consistent-variable-syntax —
bg-(--x)vsbg-[var(--x)]. - enforce-logical —
ml-4→ms-4para soporte RTL. - enforce-physical —
ms-4→ml-4para proyectos LTR-only. - enforce-shorthand —
mt-2 mr-2 mb-2 ml-2→m-2. - no-unnecessary-whitespace — colapsa runs de espacios.
Disciplina del design system
- no-arbitrary-value — prohíbe
w-[3.14rem]y amigos. - no-hardcoded-colors — prohíbe
bg-[#fff], prefiere theme tokens. - no-restricted-classes — bloquea clases específicas o patrones regex.
- max-class-count — limita cuántas clases se pueden apilar en un elemento.
Páginas por regla
Cada página de regla cubre:
- Qué hace, en un párrafo.
- Opciones con sus defaults y una descripción por opción.
- Ejemplos correctos / incorrectos.
- Cuándo desactivarla — los casos de uso donde esta regla no es la indicada.
- Para reglas DS-dependientes: si
entryPointes obligatorio (siempre sí en v1) y qué pasa cuando falta.
Referencia de defaults
Tabla rápida para saber qué hace cada regla cuando la activas sin sobreescribir meta.defaultOptions.
Reglas DS-dependientes
Estas reglas requieren que settings.tailwindcss.entryPoint esté configurado; emiten un diagnóstico fatal designSystemUnavailable cuando falta.
| Regla | Opciones por defecto |
|---|---|
enforce-canonical | {} |
enforce-sort-order | { mode: 'default' } |
no-conflicting-classes | {} |
no-deprecated-classes | {} |
no-unknown-classes | { allowlist: [], ignorePrefixes: [] } |
no-unnecessary-arbitrary-value | {} |
prefer-theme-tokens | {} |
consistent-variant-order es DS-opcional — cuando no hay entryPoint declarado, cae a un orden estático interno (que es determinístico).
Reglas DS-independientes
| Regla | Opciones por defecto |
|---|---|
consistent-variant-order | {} (orden derivado del DS cuando está disponible) |
enforce-consistent-important-position | { position: 'suffix' } |
enforce-consistent-line-wrapping | { printWidth: 80 } |
enforce-consistent-variable-syntax | { syntax: 'shorthand' } |
enforce-logical | { allowlist: [], direction: 'both' } |
enforce-negative-arbitrary-values | (sin opciones) |
enforce-physical | { allowlist: [], direction: 'both' } |
enforce-shorthand | (sin opciones) |
max-class-count | { max: 20 } |
no-arbitrary-value | { allow: [] } |
no-contradicting-variants | (sin opciones) |
no-dark-without-light | { variants: ['dark'] } |
no-duplicate-classes | (sin opciones) |
no-hardcoded-colors | { allow: [] } |
no-restricted-classes | { classes: [], patterns: [] } |
no-unnecessary-whitespace | (sin opciones) |