114 lines
2.7 KiB
JSON
114 lines
2.7 KiB
JSON
{
|
|
"root": true,
|
|
"parser": "@typescript-eslint/parser",
|
|
"plugins": ["@typescript-eslint"],
|
|
"extends": [
|
|
"eslint:recommended",
|
|
"plugin:@typescript-eslint/eslint-recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
|
|
"plugin:import/recommended",
|
|
"plugin:import/typescript"
|
|
],
|
|
"rules": {
|
|
"@typescript-eslint/no-explicit-any": 0,
|
|
"@typescript-eslint/no-unused-vars": 1,
|
|
"@typescript-eslint/no-empty-interface": 0,
|
|
"@typescript-eslint/no-namespace": 0,
|
|
"@typescript-eslint/func-call-spacing": 2,
|
|
"@typescript-eslint/quotes": ["warn", "single"],
|
|
"@typescript-eslint/brace-style": ["warn", "1tbs"],
|
|
"@typescript-eslint/naming-convention": [
|
|
"warn",
|
|
{
|
|
"selector": "default",
|
|
"format": ["camelCase"],
|
|
"leadingUnderscore": "allow"
|
|
},
|
|
{
|
|
"selector": "typeLike",
|
|
"format": ["PascalCase"]
|
|
},
|
|
{
|
|
"selector": "objectLiteralProperty",
|
|
"format": ["PascalCase", "camelCase"],
|
|
"leadingUnderscore": "allow"
|
|
},
|
|
{
|
|
"selector": "typeProperty",
|
|
"format": ["PascalCase", "camelCase"],
|
|
"leadingUnderscore": "allow"
|
|
},
|
|
{
|
|
"selector": "enumMember",
|
|
"format": ["UPPER_CASE"]
|
|
}
|
|
],
|
|
"@typescript-eslint/indent": ["warn", 2],
|
|
"@typescript-eslint/no-unused-expressions": [
|
|
"warn",
|
|
{
|
|
"allowShortCircuit": false,
|
|
"allowTernary": false
|
|
}
|
|
],
|
|
"@typescript-eslint/keyword-spacing": [
|
|
"warn",
|
|
{
|
|
"before": true,
|
|
"after": true
|
|
}
|
|
],
|
|
"@typescript-eslint/explicit-module-boundary-types": [
|
|
"warn",
|
|
{
|
|
"allowArgumentsExplicitlyTypedAsAny": true
|
|
}
|
|
],
|
|
"sort-imports": [
|
|
"error",
|
|
{
|
|
"ignoreCase": false,
|
|
"ignoreDeclarationSort": true, // don"t want to sort import lines, use eslint-plugin-import instead
|
|
"ignoreMemberSort": false,
|
|
"memberSyntaxSortOrder": ["none", "all", "multiple", "single"],
|
|
"allowSeparatedGroups": true
|
|
}
|
|
],
|
|
"import/no-unresolved": "error",
|
|
"import/order": [
|
|
"error",
|
|
{
|
|
"groups": [
|
|
"builtin",
|
|
"external",
|
|
"internal",
|
|
["sibling", "parent"],
|
|
"index",
|
|
"unknown"
|
|
],
|
|
"newlines-between": "always",
|
|
"alphabetize": {
|
|
"order": "asc",
|
|
"caseInsensitive": true
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"settings": {
|
|
"import/resolver": {
|
|
"typescript": {
|
|
"project": "./tsconfig.json"
|
|
}
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": ["*.mjs", "*.ts"],
|
|
"env": {
|
|
"node": true
|
|
}
|
|
}
|
|
]
|
|
}
|