Deaktivieren Sie die Eslint-Regeln für Ordner

179

Gibt es eine Möglichkeit, bestimmte Regeln für einen Ordner zu deaktivieren? Zum Beispiel möchte ich nicht, dass JSDoc-Kommentare für alle meine Testdateien im testOrdner erforderlich sind . Gibt es eine Möglichkeit, dies zu tun?

DevNebulae
quelle
eslint-babel scheint alle .eslint-ignore-Dateien und -Einstellungen zu ignorieren.
ivanixmobile

Antworten:

299

Um einige Ordner aus den Eslint-Regeln zu ignorieren, können wir die Datei .eslintignoreim Stammverzeichnis erstellen und dort den Pfad zu dem Ordner hinzufügen, den wir weglassen möchten (auf die gleiche Weise wie für .gitignore).

Hier ist das Beispiel aus den ESLint-Dokumenten zum Ignorieren von Dateien und Verzeichnissen :

# 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
quelle
34
Diese Lösung beantwortet nicht wirklich die ursprüngliche Frage, wie bestimmte Regeln für ein bestimmtes Verzeichnis deaktiviert werden sollen . Hier deaktivieren Sie alle Regeln für die angegebenen Verzeichnisse. Bessere Antwort ist hier: stackoverflow.com/a/41316801/882638
ericgio
3
Auszug aus der ESLint DokumentationZusätzlich zu den Mustern in einer .eslintignore Datei, ESLint ignoriert immer Dateien in / node_modules / * und / bower_components / *. “ So gibt es keine Notwendigkeit zu fügen /node_modules, /distallein ist genug , um die beide der Verzeichnisse ausschließen . Bei der Angabe von (Unter-) Verzeichnissen wird auch das Glob-Muster unterstützt.
Ozanmuyes
Gibt es eine Möglichkeit, dies mit vue.config.js oder package.json zu tun?
Serge
3
Gibt es überhaupt eine Konfiguration, welche Verzeichnisse in der .eslintrc.jsonKonfigurationsdatei selbst ignoriert werden sollen, damit wir keine weitere .estlint-Datei benötigen und Ignorierwerte von einer eslint-config-myconfiggemeinsam genutzten Konfiguration erben können ?
Joshua Pinter
1
Es gibt mehrere ähnliche Beiträge dazu. Ich brauchte: --ignore-pathund / oder --ignore-pattern, und ich denke , dass auch genau diese Frage beantwortet.
Neil Guy Lindberg
49

Die vorherigen Antworten waren auf dem richtigen Weg, aber die vollständige Antwort hierfür lautet " Regeln nur für eine Gruppe von Dateien deaktivieren". Dort finden Sie die Dokumentation, die zum Deaktivieren / Aktivieren von Regeln für bestimmte Ordner erforderlich ist (da Sie in einigen Fällen dies nicht tun) Ich möchte das Ganze nicht ignorieren, sondern nur bestimmte Regeln deaktivieren. Beispiel:

{
    "env": {},
    "extends": [],
    "parser": "",
    "plugins": [],
    "rules": {},
    "overrides": [
      {
        "files": ["test/*.spec.js"], // Or *.test.js
        "rules": {
          "require-jsdoc": "off"
        }
      }
    ],
    "settings": {}
}
Alberto Perez
quelle
2
Diese Antwort ist besser, da Sie eine bestimmte Regel für ein bestimmtes Verzeichnis deaktivieren können. Anstatt nur alle Regeln für ein Verzeichnis auszuschalten.
Storm Muller
1
Das hat bei mir zunächst nicht funktioniert. Stellen Sie sicher, dass Sie .eslintrc.jsin diesem Ordner keine mit einem extends: "../.eslintrc.js"!
Florian Wendelborn
2

YAML-Version:

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

Beispiel für spezifische Regeln für Mokka-Tests:

Sie können auch eine bestimmte Umgebung für einen Ordner wie folgt festlegen:

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

Diese Konfiguration behebt eine Fehlermeldung über describeund ist itnicht definiert, nur für Ihren Testordner:

/myproject/test/init-tests.js
6: 1 Fehler 'beschreiben' ist nicht definiert no-undef
9: 3 Fehler 'es' ist nicht definiert no-undef

A-312
quelle