grammarly-tslint-config
This repository contains a configuration for TSLint that is shared between our TypeScript projects. This configuration can be considered a recommended set of rules for any TypeScript project. However, you can still extend this configuration (see this article) for custom, per-project settings.
Apart from built-in set of rules (see more docs here), we also use some third-party TSLint rules:
We have also implemented a couple of custom rules.
Usage
Install in a new project:
$ yarn add typescript tslint @grammarly/tslint-config
$ cp ./node_modules/@grammarly/tslint-config/default-tslint.json ./tslint.json
OR
$ npm i -D typescript tslint @grammarly/tslint-config
$ cp ./node_modules/@grammarly/tslint-config/default-tslint.json ./tslint.json
Use:
$ ./node_modules/bin/tslint ./src/**/*.ts*
Or in an npm script:
{
...
"scripts": {
"lint": "tslint ./src/**/*.ts*"
}
...
}
It is also recommended to run TSLint on every build, so you can detect and fix problems earlier:
{
...
"scripts": {
"build": "tsc && tslint ./src/**/*.ts*"
}
...
}
Contributing
As usual, pull-requests are welcome. Constructive discussions are welcome too. If you want to discuss, add or change this configuration, please file an issue.