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?

DevNebulae
fuente
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
YaTaras
fuente
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": {}
}
Alberto Perez
fuente
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

A-312
fuente