/tslint

:vertical_traffic_light: An extensible linter for the TypeScript language

Primary LanguageTypeScriptApache License 2.0Apache-2.0

NPM version Downloads Circle CI Join the chat at https://gitter.im/palantir/tslint

TSLint

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:

  • custom lint rules
  • custom formatters (failure reporters)
  • inline disabling and enabling of rules with comment flags
  • configuration presets (tslint:latest, tslint-react, etc.) and plugin composition
  • automatic fixing of formatting & style violations
  • integration with msbuild, grunt, gulp, atom, eclipse, emacs, sublime, vim, visual studio, vscode, webstorm, and more

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:

Development

Requirements:

  • node v7
  • yarn v0.23+

Quick Start

git clone git@github.com:palantir/tslint.git --config core.autocrlf=input --config core.eol=lf
yarn
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
  3. yarn verify to build the latest sources from a clean state
  4. Commit with message Prepare release <version>
  5. Run npm publish
  6. Create a git tag for the new release and push it (see existing tags here)