Saltar al contenido

Reglas ​

Las 27 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:flex es redundante (solo en listas de clases literales en elementos nativos, no en fragmentos de cn/twMerge).
  • no-dark-without-light — un color dark: debería tener pareja en modo claro (solo en listas de clases literales en elementos nativos, no en fragmentos de cn/twMerge).
  • no-duplicate-classes — la misma clase dos veces es peso muerto.
  • no-dynamic-classes — bg-${color}-500 se arma en runtime, así que Tailwind no genera CSS para ella.

Modernización ​

Consistencia ​

Protección del design system ​

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 entryPoint es 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.

ReglaOpciones por defecto
enforce-canonical{ reportNonEquivalent: false }
enforce-sort-order{ mode: 'default' }
no-borrowed-component-styles{ components: [] }
no-conflicting-classes{ reportRedundant: true }
no-default-palette{ allow: [] }
no-unknown-classes{ allowlist: [], ignorePrefixes: [] }
no-unnecessary-arbitrary-value{}
prefer-scale-token{}
prefer-theme-tokens{}

Reglas DS-opcionales ​

Funcionan sin nada configurado — su fallback es determinístico por sí solo — y ganan precisión cuando hay un entryPoint disponible. Ninguna puede emitir designSystemUnavailable. Todas aceptan además un entryPoint propio que pisa el ajuste compartido.

ReglaOpciones por defectoQué aporta el design system
consistent-variant-order{} (el mismo orden con o sin DS)Qué son las variants propias del proyecto: pseudo-element, barrera o breakpoint
enforce-consistent-line-wrapping{ printWidth: 80, group: 'newLine', wrapStrings: 'never' }El prefix del proyecto, para que el agrupamiento de wrapLines: 'all' lo trate como transparente
enforce-logical{ allowlist: [], direction: 'both', sizing: false }Confirma que la clase sugerida exista y que tu Tailwind tenga las utilities de 4.2 (eje block, tamaños, inset-s); sin DS, el eje block y los tamaños solo se sugieren
enforce-physical{ allowlist: [], direction: 'both', sizing: false }Confirma que la clase sugerida exista
enforce-shorthand{}Verifica cada fusión contra el CSS emitido
no-arbitrary-value{ allow: [], allowVariables: 'none' }Con allowVariables: 'runtime', qué variables CSS define tu stylesheet
no-contradicting-variants{}Qué hace el selector de cada variant
no-dark-without-light{ variants: ['dark'] }Distingue los colores del resto y agrupa la base por propiedad CSS declarada
no-deprecated-classes{}Deriva la lista de renombres en vez de usar la tabla interna
no-dynamic-classes{}Las utilidades y variantes propias de tu proyecto cuentan como de Tailwind
no-hardcoded-colors{ allow: [] }Nombra los colores de tu theme en el mensaje

Reglas DS-independientes ​

ReglaOpciones por defecto
enforce-consistent-important-position{ position: 'suffix' }
enforce-consistent-variable-syntax{ syntax: 'shorthand' }
enforce-negative-arbitrary-values(sin opciones)
max-class-count{ max: 20 }
no-duplicate-classes(sin opciones)
no-restricted-classes{ classes: [], patterns: [] }
no-unnecessary-whitespace(sin opciones)

Released under the MIT License.