How to ignore a particular directory or file for tslint?
Asked Answered
R

10

169

The IDE being used is WebStorm 11.0.3, the tslint is configured and works, but, it hangs because it tries to parse large *.d.ts library files.

Is there a way to ignore a particular file or directory?

Recidivism answered 3/1, 2016 at 16:16 Comment(0)
S
239

Update for tslint v5.8.0

As mentioned by Saugat Acharya, you can now update tslint.json CLI Options:

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

More information in this pull request.


This feature has been introduced with tslint 3.6

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

You can now add --exclude (or -e) see PR here.

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

you are looking at using

-e, --exclude         exclude globs from path expansion
Swell answered 1/6, 2016 at 16:17 Comment(4)
do you know how to exclude multiple paths?Boyd
repeat the exclude argument several timesBoondoggle
Small correction to the update: it should be linterOptions and not cliOptionsFlyte
It's also worth to mention that the glob patterns inside the exclude directory shall be relative to the tslint.jsonFlyte
G
93

Currently using Visual Studio Code and the command to disable tslint is

/* tslint:disable */

Something to note. The disable above disables ALL tslint rules on that page. If you want to disable a specific rule you can specify one/multiple rules.

/* tslint:disable comment-format */
/* tslint:disable:rule1 rule2 rule3 etc.. */

Or enable a rule

/* tslint:enable comment-format */

More in depth on TSLint rule flags

Gris answered 27/9, 2017 at 13:28 Comment(3)
from all of the answers, this is the only one that worked. thanks!Menology
For example, /* tslint:disable:TS2322 */ did not work. Are you sure that you can ignore rules with your second code block?Gayton
You might need // instald of /* */ that link has some in depth rule, rulesGris
Y
27

In addition to Michael's answer, consider a second way: adding linterOptions.exclude to tslint.json

For example, you may have tslint.json with following lines:

{
  "linterOptions": {
    "exclude": [
      "someDirectory/*.d.ts"
    ]
  }
}
Yield answered 31/10, 2017 at 11:44 Comment(0)
F
19

Starting from tslint v5.8.0 you can set an exclude property under your linterOptions key in your tslint.json file:

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

More information on this here.

Flournoy answered 31/10, 2017 at 16:8 Comment(2)
This should be marked as the correct (and updated Nov-2017) answer.Pereira
The correct way to do this is to replace cliOptions with linterOptions.Flournoy
F
15

I had to use the **/* syntax to exclude the files in a folder:

    "linterOptions": {
        "exclude": [
          "src/auto-generated/**/*",
          "src/app/auto-generated/**/*"
        ]
    },
Frans answered 28/8, 2019 at 21:28 Comment(0)
I
10

As an addition

To disable all rules for the next line // tslint:disable-next-line

To disable specific rules for the next line: // tslint:disable-next-line:rule1 rule2...

To disable all rules for the current line: someCode(); // tslint:disable-line

To disable specific rules for the current line: someCode(); // tslint:disable-line:rule1

Idaliaidalina answered 29/11, 2019 at 14:57 Comment(0)
M
9

There are others who encountered the problem. Unfortunately, there is only an open issue for excluding files: https://github.com/palantir/tslint/issues/73

So I'm afraid the answer is no.

Miscount answered 3/1, 2016 at 18:11 Comment(0)
R
6

linterOptions is currently only handled by the CLI. If you're not using CLI then depending on the code base you're using you'll need to set the ignore somewhere else. webpack, tsconfig, etc

Ryurik answered 18/10, 2018 at 15:29 Comment(0)
R
4

Can confirm that on version tslint 5.11.0 it works by modifying lint script in package.json by defining exclude argument:

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

Cheers!!

Russon answered 24/9, 2019 at 14:25 Comment(1)
Were you referring to some other answer, or did you simply wanted to provide an alternative answer to the question?Queenhood
V
4

add the section in your code example

"linterOptions": {
  "exclude": [
    "node_modules/**/*.",
    "db/**/*.",
    "integrations/**/*."
  ]
},
Vixen answered 12/11, 2020 at 5:14 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.