¿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?

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

¿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 */

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"
    ]
  }
}

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í .


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/**/*"
        ]
    },

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.


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!!


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.