-
Notifications
You must be signed in to change notification settings - Fork 49
/
.eslintrc.yml
71 lines (71 loc) · 2.35 KB
/
.eslintrc.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
plugins:
- import
- jsdoc
- node
- "@typescript-eslint/eslint-plugin"
- "eslint-plugin-tsdoc"
extends:
- plugin:node/recommended
- plugin:import/errors
- plugin:import/warnings
- plugin:import/typescript
- airbnb-typescript/base
- plugin:@typescript-eslint/recommended
settings:
import/resolver:
node:
extensions: [".js", ".jsx", ".ts", ".tsx"]
parser: "@typescript-eslint/parser"
parserOptions:
sourceType: "module"
ecmaVersion: 2020
project: "./tsconfig.json"
projectFolderIgnoreList:
- ".*/node_modules/.*"
- "/db/"
- ".*/coverage/.*"
- ".*/dist/.*"
- ".*/built/.*"
env:
node: true
es6: true
rules:
"@typescript-eslint/ban-types": "off"
"@typescript-eslint/indent": ["error", 2, { "ignoredNodes": ["PropertyDefinition"], "SwitchCase": 1 }]
no-restricted-syntax: ["error", "LabeledStatement", "WithStatement"]
class-methods-use-this: "off"
no-underscore-dangle: "off"
"@typescript-eslint/no-floating-promises": ["error"]
require-jsdoc: ["warn"]
tsdoc/syntax: ["error"]
no-await-in-loop: ["off"]
object-curly-newline: ["off"]
no-plusplus: ["off"]
prefer-destructuring:
- error
- array: false
object: true
- enforceForRenamedProperties: false
node/no-unsupported-features/es-syntax: "off"
node/no-missing-import: ["error", { tryExtensions: [".ts", ".js"] }]
"@typescript-eslint/no-explicit-any": "error"
"@typescript-eslint/explicit-function-return-type": "error"
"@typescript-eslint/no-unused-vars": ["error", { varsIgnorePattern: "^_", argsIgnorePattern: "^_" }]
"@typescript-eslint/naming-convention": [
"error",
{ leadingUnderscore: "allow", trailingUnderscore: "allow",
format: ["camelCase", "PascalCase", "snake_case", "UPPER_CASE"], selector: "default" },
{ selector: "objectLiteralProperty", format: [] }]
overrides:
- files: [ "services/**/test/**/*", "packages/**/test/**/*" ]
rules:
import/no-extraneous-dependencies: ["error", {
devDependencies: ["test/**", "**/test/**"]
}]
node/no-unpublished-require: ["off"]
node/no-unpublished-import: ["off"]
"@typescript-eslint/no-unused-expressions": ["off"]
# These overrides let us use anonymous functions for Mocha instead of lambdas, which is
# the preferred method described in the Mocha docs
prefer-arrow-callback: "off"
func-names: "off"