.eslintrc.json
{
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2020,
"sourceType": "module",
"project": "./tsconfig.test.json"
},
"plugins": ["@typescript-eslint", "@stylistic/ts", "prettier", "sonarjs", "deprecation"],
"extends": [
"standard",
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/stylistic-type-checked",
"plugin:prettier/recommended",
"plugin:sonarjs/recommended"
],
"root": true,
"rules": {
"camelcase": 1,
"quotes": ["error", "single", {"avoidEscape": true}],
"@typescript-eslint/no-this-alias": [
"warn",
{
"allowedNames": ["self"]
}
],
"sort-imports": ["warn", {"ignoreCase": true}],
"sort-keys": [
"warn",
"asc",
{
"caseSensitive": false,
"natural": true,
"minKeys": 5
}
],
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": [
"warn", // or "error"
{
"argsIgnorePattern": "^_",
"varsIgnorePattern": "^_",
"caughtErrorsIgnorePattern": "^_"
}
],
"deprecation/deprecation": "warn",
"lines-between-class-members": "off",
"@stylistic/ts/lines-between-class-members": [
"warn",
"always",
{
"exceptAfterOverload": true,
"exceptAfterSingleLine": true
}
],
"@typescript-eslint/no-misused-promises": [
"error",
{
"checksVoidReturn": false
}
],
"@typescript-eslint/consistent-type-definitions": "off",
"@typescript-eslint/consistent-type-imports": ["error", {"prefer": "type-imports", "fixStyle": "inline-type-imports"}]
}
}