176 lines
5.6 KiB
JSON
176 lines
5.6 KiB
JSON
{
|
|
"env":{
|
|
"es2021":true,
|
|
"node":true
|
|
},
|
|
"extends":[
|
|
"eslint:recommended",
|
|
"plugin:@typescript-eslint/eslint-recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"plugin:promise/recommended",
|
|
"plugin:import/recommended",
|
|
"plugin:import/typescript"
|
|
],
|
|
"parser":"@typescript-eslint/parser",
|
|
"parserOptions":{
|
|
"project":"./tsconfig.json",
|
|
"ecmaVersion":"latest",
|
|
"sourceType":"module"
|
|
},
|
|
"plugins":[
|
|
"@typescript-eslint",
|
|
"unused-imports",
|
|
"promise"
|
|
],
|
|
"rules":{
|
|
"no-console":[
|
|
"error"
|
|
],
|
|
"semi":"off",
|
|
"@typescript-eslint/semi":[
|
|
"error",
|
|
"always"
|
|
],
|
|
"quotes":[
|
|
"error",
|
|
"double"
|
|
],
|
|
"no-multiple-empty-lines":[
|
|
"error",
|
|
{
|
|
"max":1,
|
|
"maxEOF":1
|
|
}
|
|
],
|
|
"spaced-comment":[
|
|
"error",
|
|
"always"
|
|
],
|
|
"padding-line-between-statements":[
|
|
"error",
|
|
{
|
|
"blankLine":"always",
|
|
"prev":"import",
|
|
"next":"*"
|
|
},
|
|
{
|
|
"blankLine":"never",
|
|
"prev":"import",
|
|
"next":"import"
|
|
},
|
|
{
|
|
"blankLine":"always",
|
|
"prev":"class",
|
|
"next":"*"
|
|
}
|
|
],
|
|
"lines-between-class-members":"off",
|
|
"@typescript-eslint/lines-between-class-members":[
|
|
"error",
|
|
"always",
|
|
{
|
|
"exceptAfterSingleLine":true
|
|
}
|
|
],
|
|
"@typescript-eslint/await-thenable":"error",
|
|
"@typescript-eslint/no-for-in-array":"error",
|
|
"@typescript-eslint/no-misused-promises":"error",
|
|
"@typescript-eslint/explicit-function-return-type":"error",
|
|
"@typescript-eslint/no-unnecessary-type-assertion":"error",
|
|
"@typescript-eslint/prefer-includes":"error",
|
|
"@typescript-eslint/prefer-regexp-exec":"error",
|
|
"@typescript-eslint/prefer-string-starts-ends-with":"error",
|
|
"@typescript-eslint/explicit-member-accessibility":"error",
|
|
"require-await":"off",
|
|
"@typescript-eslint/require-await":"error",
|
|
"@typescript-eslint/unbound-method":"error",
|
|
"no-var":"error",
|
|
"prefer-const":"error",
|
|
"prefer-rest-params":"error",
|
|
"prefer-spread":"error",
|
|
"no-use-before-define":"off",
|
|
"@typescript-eslint/no-use-before-define":"error",
|
|
"no-useless-constructor":"off",
|
|
"@typescript-eslint/no-useless-constructor":"error",
|
|
"@typescript-eslint/no-var-requires":"error",
|
|
"@typescript-eslint/no-misused-new":"error",
|
|
"@typescript-eslint/no-non-null-asserted-optional-chain":"error",
|
|
"@typescript-eslint/no-non-null-assertion":"error",
|
|
"@typescript-eslint/no-parameter-properties":"error",
|
|
"@typescript-eslint/no-require-imports":"error",
|
|
"@typescript-eslint/no-this-alias":"error",
|
|
"@typescript-eslint/no-throw-literal":"error",
|
|
"@typescript-eslint/no-type-alias":[
|
|
"error",
|
|
{
|
|
"allowAliases":"always"
|
|
}
|
|
],
|
|
"@typescript-eslint/no-unsafe-call":"error",
|
|
"@typescript-eslint/no-unsafe-member-access":"error",
|
|
"@typescript-eslint/no-unsafe-return":"error",
|
|
"no-unused-expressions":"off",
|
|
"@typescript-eslint/no-unused-expressions":"error",
|
|
"no-extra-semi":"off",
|
|
"@typescript-eslint/no-extra-semi":"error",
|
|
"@typescript-eslint/no-extraneous-class":"error",
|
|
"@typescript-eslint/no-floating-promises":"error",
|
|
"@typescript-eslint/no-implied-eval":"error",
|
|
"comma-spacing":"off",
|
|
"@typescript-eslint/comma-spacing":"error",
|
|
"func-call-spacing":"off",
|
|
"@typescript-eslint/func-call-spacing":"error",
|
|
"space-before-function-paren":"off",
|
|
"@typescript-eslint/space-before-function-paren":"error",
|
|
"@typescript-eslint/type-annotation-spacing":"error",
|
|
"no-magic-numbers":"off",
|
|
"@typescript-eslint/no-magic-numbers":[
|
|
"error",
|
|
{
|
|
"ignoreArrayIndexes":true,
|
|
"ignore":[
|
|
-1,
|
|
1,
|
|
0,
|
|
2,
|
|
3
|
|
]
|
|
}
|
|
],
|
|
"@typescript-eslint/no-unnecessary-boolean-literal-compare":"warn",
|
|
"@typescript-eslint/no-unnecessary-condition":"warn",
|
|
"@typescript-eslint/no-unnecessary-qualifier":"warn",
|
|
"@typescript-eslint/no-unnecessary-type-arguments":"warn",
|
|
"@typescript-eslint/member-ordering":"warn",
|
|
"@typescript-eslint/strict-boolean-expressions":"off",
|
|
"@typescript-eslint/prefer-as-const":"warn",
|
|
"@typescript-eslint/prefer-for-of":"warn",
|
|
"@typescript-eslint/prefer-function-type":"warn",
|
|
"@typescript-eslint/prefer-namespace-keyword":"warn",
|
|
"@typescript-eslint/prefer-nullish-coalescing":"warn",
|
|
"@typescript-eslint/prefer-optional-chain":"warn",
|
|
"@typescript-eslint/prefer-readonly":"warn",
|
|
"@typescript-eslint/prefer-readonly-parameter-types":"off",
|
|
"@typescript-eslint/no-explicit-any":1,
|
|
"@typescript-eslint/no-inferrable-types":[
|
|
"warn",
|
|
{
|
|
"ignoreParameters":true
|
|
}
|
|
],
|
|
"no-unused-vars":"off",
|
|
"unused-imports/no-unused-imports":"error",
|
|
"unused-imports/no-unused-vars":[
|
|
"warn",
|
|
{
|
|
"vars":"all",
|
|
"varsIgnorePattern":"^_",
|
|
"args":"after-used",
|
|
"argsIgnorePattern":"^_"
|
|
}
|
|
],
|
|
"indent": "off",
|
|
"@typescript-eslint/indent": ["error", 2],
|
|
"import/no-unresolved": [2, { "ignore": ["^@.+$"] }]
|
|
}
|
|
} |