Linting & Code Style

A linter is a tool that analizes source code to flag programming errors, bugs, stylistic errors, and suspicious constructs. In particular, it helps teams to keep the code consistent between their members.

For example, with ESLint, the rule @typescript-eslint/quotes: single enforces the use of single quotes throughout the code.

// Valid
const foo = 'bar';
// Invalid
const foo = "bar";

ESLint & TypeScript

FoalTS offers a pre-configuration for the linter ESLint. It is the most commonly used in the JavaScript ecosystem and can work with TypeScript through the @typescript-eslint/parser and @typescript-eslint/eslint-plugin packages.

You can run the linting with this command:

npm run lint

And if the linting issues can be automatically fixed, you can also fix them with this command:

npm run lint:fix

Configuration with VSCode

Instructions to configure VSCode with ESLint and TypeScript can be found here.

Adding New Rules

The rules are specified in the .eslintrc configuration file located at the root of the project.

The list of available JavaScript rules can be found on the ESLint website. Some of them are compatible with TypeScript. Others are not and you will need to find equivalents here.

Migrating from TSLint

TSLint is a TypeScript linter that was previously used by FoalTS but has since been deprecated. This is why new versions of the framework use ESLint.

In order to migrate from TSLint to ESLint, you can refer to this page. It lists all TSLint rules along side rules from the ESLint ecosystem that are identical or similar.