![Circle CI](https://circleci.com/gh/palantir/tslint.svg?style=svg)
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:
- an extensive set of core rules
- custom lint rules
- custom formatters (failure reporters)
- inline disabling and enabling of rules with comment flags in source code
- 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 2015, Visual Studio 2017, Visual Studio code, 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
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
Prerequisites:
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
- Bump the version number in
package.json
and src/linter.ts
- 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.
- Commit with message
Prepare release <version>
- Push your branch to GitHub and make a PR
- Once your PR is merged, wait for the tests to pass on CircleCI for develop
- 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
- Run
yarn run publish:local