How to ignore a particular directory or file for tslint?

How to ignore a particular directory or file for tslint?

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?

Solutions/Answers:

Solution 1:

UPDATE USING TSLINT v5.8.0

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

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

More informations here


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

Solution 2:

I am using Visual Studio Code and this

/* tslint:disable */

worked for me. Check out this page, about 3/4 of the way down there are some disable commands https://c9.io/lijunle/tslint

Something to note. The disable above disables ALL tslint rules on that page. If you want to disable a specific rule half way down the page there is a list of rules. So you can turn off specific things such as

/* tslint:disable comment-format */

Solution 3:

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

Solution 4:

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.

Solution 5:

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.

Solution 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