Deshabilitar reglas de eslint para carpeta


182

¿Hay alguna forma de deshabilitar reglas específicas para una carpeta? Por ejemplo, no quiero haber requerido comentarios JSDoc para todos mis archivos de prueba en la testcarpeta. ¿Hay alguna forma de hacer esto?


eslint-babel parece ignorar cualquier archivo y configuración .eslint-ignore.
ivanixmobile

Respuestas:


304

Para ignorar alguna carpeta de las reglas de eslint, podríamos crear el archivo .eslintignoreen el directorio raíz y agregar allí la ruta a la carpeta que queremos omitir (de la misma manera que para .gitignore).

Aquí está el ejemplo de los documentos de ESLint sobre ignorar archivos y directorios :

# path/to/project/root/.eslintignore
# /node_modules/* and /bower_components/* in the project root are ignored by default

# Ignore built files except build/index.js
build/*
!build/index.js

35
Esta solución realmente no responde a la pregunta original, que pregunta cómo deshabilitar reglas específicas para un directorio en particular. Aquí está deshabilitando todas las reglas para los directorios dados. La mejor respuesta está aquí: stackoverflow.com/a/41316801/882638
ericgio

3
Extracto de la documentación de ESLint " Además de cualquier patrón en un archivo .eslintignore, ESLint siempre ignora los archivos en / node_modules / * y / bower_components / * " . Por lo tanto, no es necesario agregarlos /node_modules, /distsolo es suficiente para excluir ambos directorios. . También se admite el patrón glob al especificar (sub) directorios.
ozanmuyes

¿Hay alguna manera de hacerlo con vue.config.js o package.json?
Serge

3
¿Hay alguna forma de configurar qué directorios ignorar en el .eslintrc.jsonarchivo de configuración para que no necesitemos otro archivo .estlint y podamos heredar los valores de ignorar de una eslint-config-myconfigconfiguración compartida?
Joshua Pinter

1
Hay múltiples publicaciones similares sobre esto. Necesitaba: --ignore-pathy / o --ignore-pattern, y creo que eso también responde con precisión a esta pregunta.
Neil Guy Lindberg

50

Las respuestas anteriores estaban en el camino correcto, pero la respuesta completa para esto va a Deshabilitar reglas solo para un grupo de archivos , allí encontrará la documentación necesaria para deshabilitar / habilitar reglas para ciertas carpetas (porque en algunos casos no No quiero ignorar todo, solo deshabilitar ciertas reglas). Ejemplo:

{
    "env": {},
    "extends": [],
    "parser": "",
    "plugins": [],
    "rules": {},
    "overrides": [
      {
        "files": ["test/*.spec.js"], // Or *.test.js
        "rules": {
          "require-jsdoc": "off"
        }
      }
    ],
    "settings": {}
}

2
Esta respuesta es mejor porque puede desactivar una regla específica para un directorio dado. En lugar de simplemente desactivar todas las reglas para un directorio.
Storm Muller

1
Esto inicialmente no funcionó para mí. ¡Asegúrese de no tener un .eslintrc.jsen esa carpeta con un extends: "../.eslintrc.js"!
Florian Wendelborn

2

Versión YAML:

overrides:
  - files: *-tests.js
    rules:
      no-param-reassign: 0

Ejemplo de reglas específicas para pruebas de mocha:

También puede establecer un entorno específico para una carpeta, como este:

overrides:
  - files: test/*-tests.js
    env:
      mocha: true

Esta configuración reparará el mensaje de error sobre describey itno definido, solo para su carpeta de prueba:

/myproject/test/init-tests.js El error
6: 1 'describir' no está definido no-undef El error 9: 3 'no' no está definido no-undef

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.