Come ignorare una directory o un file particolare per tslint?


135

L'IDE in uso è WebStorm 11.0.3, tslint è configurato e funziona, ma si blocca perché tenta di analizzare file di libreria * .d.ts di grandi dimensioni.

C'è un modo per ignorare un determinato file o directory?

Risposte:


200

Aggiornamento per tslint v5.8.0

Come accennato da Saugat Acharya , ora puoi aggiornare le opzioni della CLI di tslint.json :

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

Maggiori informazioni in questa richiesta pull .


Questa funzione è stata introdotta con tslint 3.6

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

Ora puoi aggiungere --exclude (o -e) vedi PR qui.

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

stai cercando di usare

-e, --exclude         exclude globs from path expansion

sai come escludere più percorsi?
Juan Henao,

4
Ripeti più volte l'argomento exclude
Markus Wagner,

4
Piccola correzione all'aggiornamento: dovrebbe essere linterOptionse noncliOptions
JeB

4
Vale anche la pena ricordare che i modelli glob all'interno della directory exclude devono essere relativi altslint.json
JeB

64

Attualmente si utilizza Visual Studio Code e il comando per disabilitare tslint è

/* tslint:disable */

ha funzionato per me. Dai un'occhiata a questa pagina, a circa 3/4 della strada ci sono alcuni comandi di disabilitazione https://c9.io/lijunle/tslint

Qualcosa da notare. La disabilitazione sopra disabilita TUTTE le regole tslint su quella pagina. Se si desidera disabilitare una regola specifica a metà pagina, è presente un elenco di regole. Quindi puoi disattivare cose specifiche come

/* tslint:disable comment-format */

1
da tutte le risposte, questa è l'unica che ha funzionato. Grazie!
Oz Lodriguez,

27

Oltre alla risposta di Michael, considera un secondo modo: aggiungere linterOptions.exclude a tslint.json

Ad esempio, potresti avere tslint.jsoncon le seguenti righe:

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

17

A partire da tslint v5.8.0puoi impostare una excludeproprietà sotto la tua linterOptionschiave nel tuo tslint.jsonfile:

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

Maggiori informazioni su questo qui .


2
Questo dovrebbe essere contrassegnato come la risposta corretta (e aggiornata a novembre 2017).
Andres Elizondo,

Il modo corretto per farlo è sostituire cliOptionscon linterOptions.
Saugat


7

Ho dovuto usare la sintassi ** / * per escludere i file in una cartella:

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

5

linterOptions è attualmente gestito solo dalla CLI. Se non stai usando la CLI, a seconda della base di codice che stai usando dovrai impostare l'ignore da qualche altra parte. webpack, tsconfig, ecc


3

Può confermare che sulla versione tslint 5.11.0 funziona modificando lo script lint in package.json definendo l'argomento exclude:

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

Saluti!!


1
Ti riferivi a qualche altra risposta o volevi semplicemente fornire una risposta alternativa alla domanda?
Dharman,

1

Come aggiunta

Per disabilitare tutte le regole per la riga successiva // tslint:disable-next-line

Per disabilitare regole specifiche per la riga successiva :// tslint:disable-next-line:rule1 rule2...

Per disabilitare tutte le regole per la riga corrente :someCode(); // tslint:disable-line

Per disabilitare regole specifiche per la riga corrente :someCode(); // tslint:disable-line:rule1

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.