Wie ignoriere ich ein bestimmtes Verzeichnis oder eine bestimmte Datei für tslint?

135

Die verwendete IDE ist WebStorm 11.0.3, der tslint ist konfiguriert und funktioniert, hängt jedoch, weil versucht wird, große * .d.ts-Bibliotheksdateien zu analysieren.

Gibt es eine Möglichkeit, eine bestimmte Datei oder ein bestimmtes Verzeichnis zu ignorieren?

user3330840
quelle

Antworten:

200

Update für tslint v5.8.0

Wie durch erwähnt Saugat Acharya , können Sie jetzt aktualisieren tslint.json CLI - Optionen:

{
  "extends": "tslint:latest",
  "linterOptions": {
      "exclude": [
          "bin",
          "lib/*generated.js"
      ]
  }
}

Weitere Informationen in dieser Pull-Anfrage .


Diese Funktion wurde mit tslint 3.6 eingeführt

tslint \"src/**/*.ts\" -e \"**/__test__/**\"

Sie können jetzt --exclude (oder -e) hinzufügen, siehe PR hier.

CLI

usage: tslint [options] file ...

Options:

-c, --config          configuration file
--force               return status code 0 even if there are lint errors
-h, --help            display detailed help
-i, --init            generate a tslint.json config file in the current working directory
-o, --out             output file
-r, --rules-dir       rules directory
-s, --formatters-dir  formatters directory
-e, --exclude         exclude globs from path expansion
-t, --format          output format (prose, json, verbose, pmd, msbuild, checkstyle)  [default: "prose"]
--test                test that tslint produces the correct output for the specified directory
-v, --version         current version

Sie suchen mit

-e, --exclude         exclude globs from path expansion
Michael
quelle
Wissen Sie, wie Sie mehrere Pfade ausschließen können?
Juan Henao
4
Wiederholen Sie das Ausschlussargument mehrmals
Markus Wagner
4
Kleine Korrektur des Updates: Es sollte sein linterOptionsund nichtcliOptions
JeB
4
Es ist auch erwähnenswert, dass die Glob-Muster im Ausschlussverzeichnis relativ zutslint.json
JeB
64

Derzeit wird Visual Studio Code verwendet und der Befehl zum Deaktivieren von tslint lautet

/* tslint:disable */

arbeitete für mich. Schauen Sie sich diese Seite an, ungefähr 3/4 des Weges nach unten gibt es einige Deaktivierungsbefehle https://c9.io/lijunle/tslint

Etwas zu beachten. Durch die obige Deaktivierung werden ALLE tslint-Regeln auf dieser Seite deaktiviert. Wenn Sie eine bestimmte Regel auf halber Strecke deaktivieren möchten, finden Sie eine Liste mit Regeln. So können Sie bestimmte Dinge wie z

/* tslint:disable comment-format */
DeadlyChambers
quelle
1
Von allen Antworten ist dies die einzige, die funktioniert hat. Vielen Dank!
Oz Lodriguez
27

Betrachten Sie zusätzlich zu Michaels Antwort einen zweiten Weg: Hinzufügen von linterOptions.exclude zu tslint.json

Zum Beispiel können Sie tslint.jsonmit folgenden Zeilen haben:

{
  "linterOptions": {
    "exclude": [
      "someDirectory/*.d.ts"
    ]
  }
}
arkhwise
quelle
17

Ausgehend von können tslint v5.8.0Sie eine excludeEigenschaft unter Ihrem linterOptionsSchlüssel in Ihrer tslint.jsonDatei festlegen :

{
  "extends": "tslint:latest",
  "linterOptions": {
      "exclude": [
          "bin",
          "**/__test__",
          "lib/*generated.js"
      ]
  }
}

Weitere Informationen dazu hier .

Saugat
quelle
2
Dies sollte als die richtige (und aktualisierte Antwort vom November 2017) markiert werden.
Andres Elizondo
Der richtige Weg , dies zu tun ist , zu ersetzen , cliOptionsmit linterOptions.
Saugat
7

Ich musste die ** / * -Syntax verwenden, um die Dateien in einem Ordner auszuschließen:

    "linterOptions": {
        "exclude": [
          "src/auto-generated/**/*",
          "src/app/auto-generated/**/*"
        ]
    },
techguy2000
quelle
5

linterOptions wird derzeit nur von der CLI verarbeitet. Wenn Sie keine CLI verwenden, müssen Sie die Ignorierung abhängig von der verwendeten Codebasis an einer anderen Stelle festlegen. Webpack, tsconfig usw.

Kris
quelle
3

Kann bestätigen, dass es in Version tslint 5.11.0 funktioniert, indem das Lint-Skript in package.json geändert wird, indem das Ausschlussargument definiert wird:

"lint": "ng lint --exclude src/models/** --exclude package.json"

Prost!!

Sanid Sa.
quelle
1
Haben Sie sich auf eine andere Antwort bezogen oder wollten Sie einfach eine alternative Antwort auf die Frage geben?
Dharman
1

Als Ergänzung

So deaktivieren Sie alle Regeln für die nächste Zeile // tslint:disable-next-line

So deaktivieren Sie bestimmte Regeln für die nächste Zeile :// tslint:disable-next-line:rule1 rule2...

So deaktivieren Sie alle Regeln für die aktuelle Zeile :someCode(); // tslint:disable-line

So deaktivieren Sie bestimmte Regeln für die aktuelle Zeile :someCode(); // tslint:disable-line:rule1

AlbertK
quelle