Disabilita le regole eslint per la cartella


182

C'è un modo per disabilitare regole specifiche per una cartella? Ad esempio, non voglio aver richiesto i commenti JSDoc per tutti i miei file di test nella testcartella. C'è un modo per fare questo?


eslint-babel sembra ignorare qualsiasi file e impostazioni .eslint-ignore.
Ivanixmobile,

Risposte:


304

Per ignorare alcune cartelle dalle regole eslint potremmo creare il file .eslintignorenella directory principale e aggiungere lì il percorso della cartella che vogliamo omettere (allo stesso modo di per .gitignore).

Ecco l'esempio dei documenti ESLint su Ignorare file e directory :

# 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

34
Questa soluzione in realtà non risponde alla domanda originale, che chiede come disabilitare regole specifiche per una particolare directory. Qui stai disabilitando tutte le regole per le directory indicate. Meglio risposta è qui: stackoverflow.com/a/41316801/882638
ericgio

3
Estratto dalla documentazione di ESLint " Oltre a qualsiasi modello in un file .eslintignore, ESLint ignora sempre i file in / node_modules / * e / bower_components / *. " Quindi non è necessario aggiungere /node_modules, /distda solo è sufficiente per escludere entrambe le directory . Anche il modello glob è supportato mentre si specificano (sotto) directory.
ozanmuyes,

C'è un modo per farlo con vue.config.js o package.json?
Serge

3
Esiste un modo per configurare quali directory ignorare nel .eslintrc.jsonfile di configurazione stesso, quindi non abbiamo bisogno di un altro file .estlint e possiamo ereditare i valori ignorati da una eslint-config-myconfigconfigurazione condivisa?
Joshua Pinter

1
Ci sono più post simili su questo. Avevo bisogno: --ignore-pathe / o --ignore-pattern, e penso che anche risponde con precisione a questa domanda.
Neil Guy Lindberg,

50

Le risposte precedenti erano sulla buona strada, ma la risposta completa per questo è Disabilitare le regole solo per un gruppo di file , lì troverai la documentazione necessaria per disabilitare / abilitare le regole per determinate cartelle (Perché in alcuni casi non voglio ignorare tutto, disabilitare solo determinate regole). Esempio:

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

2
Questa risposta è migliore perché è possibile disattivare una regola specifica per una determinata directory. Invece di disattivare tutte le regole per una directory.
Storm Muller,

1
Questo inizialmente non ha funzionato per me. Assicurati di non avere un .eslintrc.jsin quella cartella con un extends: "../.eslintrc.js"!
Florian Wendelborn,

2

Versione YAML:

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

Esempio di regole specifiche per i test di moka:

Puoi anche impostare un env specifico per una cartella, in questo modo:

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

Questa configurazione risolverà il messaggio di errore circa describee itnon definito, solo per la cartella di test:

/myproject/test/init-tests.js L' errore
6: 1 'descrivi' non è definito no-undef L' errore 9: 3 'esso' non è definito no-undef

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.