@grammarly/tslint-config

TSLint configuration for Grammarly TypeScript projects

Usage no npm install needed!

<script type="module">
  import grammarlyTslintConfig from 'https://cdn.skypack.dev/@grammarly/tslint-config';
</script>

README

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.