.eslintrc.json
/*
Rules Severity
- 0 = off
- 1 = warn
- 2 = error
*/
{
"env": {
"node": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"impliedStrict": true
},
"ecmaVersion": "latest",
"project": "./tsconfig.json",
"sourceType": "module"
},
"plugins": [
"@typescript-eslint"
],
"rules": {
// Javscript Specific Rules That Are Applied To Typescript Too
"max-len": [
"error",
{
"code": 80,
"ignoreComments": true,
"ignorePattern": "^(import)|(it\\()",
"ignoreTemplateLiterals": true
}
],
"no-console": 1,
"quotes": [
2,
"single"
],
"semi": 2,
"sort-keys": [
2,
"asc",
{
"caseSensitive": true,
"natural": false,
"minKeys": 2
}
],
// Typescript Specific Rules From This Point On
"typescript-sort-keys/string-enum": 0,
"@typescript-eslint/explicit-function-return-type": 2,
"@typescript-eslint/no-explicit-any": 2,
"@typescript-eslint/no-inferrable-types": 2,
"@typescript-eslint/no-misused-promises": [
"error",
{
"checksVoidReturn": false
}
],
"@typescript-eslint/no-non-null-assertion": 2,
"@typescript-eslint/no-unsafe-call": 2,
"@typescript-eslint/no-unsafe-member-access": 2,
"@typescript-eslint/no-unused-vars": [
2,
{
"argsIgnorePattern": "_",
"ignoreRestSiblings": true
}
],
"@typescript-eslint/no-var-requires": 2,
"@typescript-eslint/require-await": 2
}
}