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 TSLint 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
vartest=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