@airhelp/ts-utils-lint
ts-utils-lint wraps ESLint/Prettier-related packages and exposes a single command to lint TypeScript files under src
directory of your application respecting its .eslintrc
and .prettierrc
files.
Setup
./a-lib ➜ yarn add @airhelp/ts-utils-lint
{
"scripts": {
"lint": "ts-utils-lint"
}
}
How it works
ts-utils-lint is a simple wrapper around CLIEngine
API exposed by ESLint. Given lib-a
directory, executing ts-utils-lint
inside means going through the following steps:
- Read
.eslintrc
configuration in lib-a
- Set
ts-utils-lint
as a current working directory for ESLint in order to resolve the dependencies (namely, ESLint plugins) correctly. - Lint all TypeScript files under
lib-a/src
directory. - Fix errors automatically and print the report.
Roadmap
ts-utils-lint has been created to address the needs of two applications developed by a single team within AirHelp. In the next few releases, we will improve its configurability so that others could benefit from it as well. But, in terms of features not much is going to change. ts-utils-lint will stay as a single command to lint TypeScript files respecting .eslintrc and .prettierrc files of your application.
Code editors integration
Please, make sure to setup your code editor so that you get instant feedback and auto fixes when you code. Too long line or unused variable errors making you CI pipeline red and being the very last thing preventing you from an important release suck. Don't go that way!
VSCode
-
Install ESLint (dbaeumer.vscode-eslint
) extension.
-
View > Command Pallette...
(⇧ + ⌘ + P)
-
Go to > Preferences: Open Settings (JSON)
-
Append the following configuration:
{
"files.autoSave": "onFocusChange",
"eslint.autoFixOnSave": true,
"eslint.validate": [
{"language": "typescript", "autoFix": true },
{"language": "typescriptreact", "autoFix": true }
]
}
WebStorm
To do
Sublime Text
To do