Ignorar Archivos
archlint proporciona varias formas de excluir archivos o directorios del análisis.
Ignorar Globalmente
La sección ignore en la raíz de .archlint.yaml especifica los archivos que todos los detectores deben omitir por completo.
ignore:
- '**/node_modules/**'
- '**/dist/**'
- '**/coverage/**'
- '**/tmp/**'
- '**/*.d.ts'Soporte para .gitignore
Por defecto, archlint respeta automáticamente su archivo .gitignore. No necesita duplicar estos patrones en .archlint.yaml. Si desea desactivar este comportamiento, establezca git: { enabled: false }.
Ignorar por Regla
Puede excluir archivos de un detector específico usando el campo exclude dentro de la sección rules. Esto es útil si desea que un archivo sea analizado por la mayoría de los detectores pero omitido por uno específico.
rules:
cycles:
exclude:
- '**/generated/**'
- '**/*.entity.ts'Sobrescrituras de Rutas (Overrides)
Para una lógica más compleja (por ejemplo, cambiar configuraciones o desactivar varias reglas para un directorio específico), utilice la sección overrides:
overrides:
- files: ['**/tests/**', '**/mocks/**']
rules:
complexity: off
god_module: off
large_file: mediumIgnorar en Línea
Puede ignorar problemas arquitectónicos específicos directamente en su código fuente utilizando comentarios especiales. Esto es útil para suprimir advertencias en casos excepcionales.
Uso:
Se admiten tanto la sintaxis de comentario de una sola línea (// archlint-...) como la de comentario de bloque (/* archlint-... */) para todos los patrones.
- Todo el archivo: Agregue
// archlint-disableal principio del archivo. - Línea actual: Agregue
// archlint-disable-lineal final de la línea o en la línea de arriba. - Siguiente línea: Utilice
// archlint-disable-next-lineantes de la línea problemática. - Bloques: Utilice
// archlint-disabley// archlint-enablepara envolver una sección de código.
Ejemplos:
// archlint-disable * - Todo el archivo utiliza patrones heredados
// Ignorar todas las reglas para todo el archivo
// prettier-ignore
// archlint-disable-next-line long-params - Esta función heredada requiere muchos parámetros
function processTransaction(id: string, amount: number, currency: string, date: Date, recipient: string, note: string) {
// El detector de parámetros largos será ignorado solo para esta línea
}
import { internal } from './private'; // archlint-disable-line layer_violation - Exclusión temporal para migración
/* archlint-disable complexity */
function legacyCode() {
// Este bloque será ignorado
}
/* archlint-enable complexity */Puede especificar múltiples reglas separadas por comas o usar * para ignorar todas las reglas.