🚦 An extensible linter for the TypeScript language
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Changes the node version from 4 to 6 for TS 2.1 tests. (#4282) Dec 11, 2018
.github Add issue templates (#4028) Jul 25, 2018
.vscode Fix typo in launch.json (#4287) Nov 13, 2018
bin [New rule] add fileNameCasing rule (#3978) Jun 26, 2018
docs [README] Update link for Webstorm (#4450) Jan 10, 2019
scripts Update 'json-stringify-pretty-compact' to 1.2.0 and remove unnecessar… Dec 12, 2018
src [bugfix] `no-unsafe-any`: allow implicitly downcasting `any` to `unkn… Jan 11, 2019
test [bugfix] `no-unsafe-any`: allow implicitly downcasting `any` to `unkn… Jan 11, 2019
.editorconfig completed-docs: Limit variable checking to module/file-level variable… Jul 23, 2017
.gitattributes object-literal-sort-keys: don't consider \r\n as two line breaks (#3427) Oct 31, 2017
.gitignore Prettier (#4012) Jul 23, 2018
.npmignore Use CircleCI 2.0 (#3490) Nov 15, 2017
.nycrc Add test coverage report (#2449) Apr 5, 2017
.prettierignore Re-ran Prettier on source files again, with some more ignores (#4270) Nov 5, 2018
.prettierrc.json Re-ran Prettier on source files again, with some more ignores (#4270) Nov 5, 2018
CHANGELOG.md Add v5.12.1 changelog Jan 10, 2019
LICENSE Update LICENSE (#1705) Nov 10, 2016
README.md Modified the link of Emacs (#4432) Jan 3, 2019
appveyor.yml Re-ran Prettier on source files again, with some more ignores (#4270) Nov 5, 2018
package.json Merge 5.12.x release branch (#4455) Jan 10, 2019
tslint.json New rule: no-unnecessary-bind (#3588) Dec 12, 2018
yarn.lock Bump tslint dev dependency to 5.12.0 (#4452) Jan 10, 2019


NPM version Downloads Dependency Status devDependency Status peerDependency Status Circle CI


TSLint is an extensible static analysis tool that checks TypeScript code for readability, maintainability, and functionality errors. It is widely supported across modern editors & build systems and can be customized with your own lint rules, configurations, and formatters.

TSLint supports:

Installation & Usage

Please refer to the full installation & usage documentation on the TSLint website. There, you'll find information about

Custom Rules & Plugins

Custom rule sets from Palantir

Custom rule sets from the community

If we don't have all the rules you're looking for, you can either write your own custom rules or use rules implementations developed by the community. The repos below are a good source of custom rules:



  • node v7+
  • yarn v1.0+

Quick Start

git clone git@github.com:palantir/tslint.git --config core.autocrlf=input --config core.eol=lf
yarn compile
yarn test

Creating a new release

  1. Bump the version number in package.json and src/linter.ts
  2. Add release notes in CHANGELOG.md
    • Use ./scripts/generate-changelog.js (after building it with tsc -p scripts) to generate the changelog diff. This script expects a Github.com personal access token to exist at ~/github_token.txt with "repo" permissions.
  3. Commit with message Prepare release <version>
  4. Push your branch to GitHub and make a PR
  5. Once your PR is merged, wait for the tests to pass on CircleCI for develop
  6. Create a "Release" on GitHub with the proper tag version and notes from the changelog.
    • The tag should be identical to the version in package.json
  7. Run yarn run publish:local