Linter

A linter is the equivalent of a grammar check for code. It doesn't mean the code is correct, but it helps maintain consistency across the code base.

For this project, we will be using TSLintarrow-up-right for Typescript.

Let's start by adding typescript and tslint and creating a tslint.json file at the root of the project.

$ yarn add tslint typescript
$ tslint --init

Create a file in packages/api/index.ts with invalid code structure:

packages/api/index.ts
var test = function () {
    return 'hello world'
}
$ tslint packages/api/index.ts

ERROR: packages/api/index.ts:1:1 - Forbidden 'var' keyword, use 'let' or 'const' instead
ERROR: packages/api/index.ts:1:12 - non-arrow functions are forbidden
ERROR: packages/api/index.ts:1:20 - Spaces before function parens are disallowed
ERROR: packages/api/index.ts:2:12 - ' should be "
ERROR: packages/api/index.ts:2:25 - Missing semicolon
ERROR: packages/api/index.ts:3:2 - file should end with a newline
ERROR: packages/api/index.ts:3:2 - Missing semicolon

Have a look at all the available rulesarrow-up-right.

Project specific configuration

The Node API and React app tslint.json configuration could be different. We can share common rules between the project from the root.

Replace the content of packages/api/tslint.json with:

You can do the same with web but we'll come back to it later.

circle-info

linterarrow-up-right branch available on GitHub.

Last updated