¿Cómo ignorar un directorio o archivo en particular para tslint?

135

El IDE que se usa es WebStorm 11.0.3, tslint está configurado y funciona, pero se bloquea porque intenta analizar archivos de biblioteca grandes * .d.ts.

¿Hay alguna manera de ignorar un archivo o directorio en particular?

usuario3330840
fuente

Respuestas:

200

Actualización para tslint v5.8.0

Como mencionó Saugat Acharya , ahora puede actualizar las opciones de la CLI tslint.json :

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

Más información en esta solicitud de extracción .


Esta característica se ha introducido con tslint 3.6

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

Ahora puede agregar --excluir (o -e) ver PR aquí.

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

estás buscando usar

-e, --exclude         exclude globs from path expansion
Miguel
fuente
¿Sabes cómo excluir múltiples rutas?
Juan Henao
44
repita el argumento de exclusión varias veces
Markus Wagner
44
Pequeña corrección a la actualización: debería ser linterOptionsy nocliOptions
JeB
44
También vale la pena mencionar que los patrones globales dentro del directorio de exclusión serán relativos a latslint.json
JeB
64

Actualmente usa Visual Studio Code y el comando para deshabilitar tslint es

/* tslint:disable */

trabajó para mi. Echa un vistazo a esta página, a unos 3/4 del camino hay algunos comandos de desactivación https://c9.io/lijunle/tslint

Algo a tener en cuenta. La desactivación anterior desactiva TODAS las reglas de tslint en esa página. Si desea deshabilitar una regla específica a la mitad de la página, hay una lista de reglas. Para que pueda desactivar cosas específicas como

/* tslint:disable comment-format */
Cámaras mortales
fuente
1
de todas las respuestas, esta es la única que funcionó. ¡Gracias!
Oz Lodriguez
27

Además de la respuesta de Michael, considere una segunda forma: agregar linterOptions.exclude a tslint.json

Por ejemplo, puede tener tslint.jsoncon las siguientes líneas:

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

A partir de tslint v5.8.0usted puede establecer una excludepropiedad bajo su linterOptionsclave en su tslint.jsonarchivo:

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

Más información sobre esto aquí .

Saugat
fuente
2
Esto debe marcarse como la respuesta correcta (y actualizada en noviembre de 2017).
Andres Elizondo
La forma correcta de hacer esto es reemplazar cliOptionscon linterOptions.
Saugat
7

Tuve que usar la sintaxis ** / * para excluir los archivos en una carpeta:

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

Actualmente, linterOptions solo es manejado por la CLI. Si no está usando CLI, entonces, dependiendo de la base de código que esté usando, deberá configurar la opción ignorar en otro lugar. webpack, tsconfig, etc.

Kris
fuente
3

Puede confirmar que en la versión tslint 5.11.0 funciona modificando el script lint en package.json definiendo el argumento de exclusión:

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

¡¡Salud!!

Sanid Sa
fuente
1
¿Se refería a alguna otra respuesta, o simplemente quería proporcionar una respuesta alternativa a la pregunta?
Dharman
1

Como una adición

Para deshabilitar todas las reglas para la siguiente línea // tslint:disable-next-line

Para deshabilitar reglas específicas para la siguiente línea :// tslint:disable-next-line:rule1 rule2...

Para deshabilitar todas las reglas para la línea actual :someCode(); // tslint:disable-line

Para deshabilitar reglas específicas para la línea actual :someCode(); // tslint:disable-line:rule1

AlbertK
fuente