-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintrc.yml
125 lines (119 loc) · 3.34 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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
root: true
parserOptions:
ecmaVersion: 2021
sourceType: module
project:
- ./tsconfig.json
- ./shared/tsconfig.json
- ./backend/tsconfig.json
- ./frontend/tsconfig.json
settings:
typescript: true
node: true
extends:
- eslint:recommended
- plugin:import/recommended
- plugin:import/typescript
- plugin:@typescript-eslint/recommended
- plugin:@typescript-eslint/recommended-requiring-type-checking
- plugin:@typescript-eslint/strict
- plugin:unicorn/recommended
- plugin:sonarjs/recommended
plugins:
- simple-import-sort
rules:
no-restricted-syntax:
- error
- selector: SwitchCase > *.consequent[type!="BlockStatement"]
message: Switch cases without blocks are forbidden.
- selector: ExportAllDeclaration,ImportAllDeclaration
message: Export/Import all (*) is forbidden.
- selector: ExportNamedDeclaration[declaration!=null]
message: Exports should be at the end of the file.
- selector: ImportDeclaration[importKind=type],ExportNamedDeclaration[exportKind=type]
message: Avoid import/export type { Type } from './module'. Prefer import/export { type Type } from './module'.
no-console:
- error
max-params:
- error
- 3
no-multiple-empty-lines:
- error
- max: 1
curly:
- error
- all
unicorn/no-null:
- off
'@typescript-eslint/padding-line-between-statements':
- error
- blankLine: never
prev: export
next: export
- blankLine: always
prev:
- const
- class
next: export
simple-import-sort/imports:
- error
simple-import-sort/exports:
- error
import/no-unresolved:
- off
import/extensions:
- error
- always
- ignorePackages: true
import/newline-after-import:
- error
import/no-default-export:
- error
import/no-duplicates:
- error
'@typescript-eslint/consistent-type-definitions':
- off
'@typescript-eslint/non-nullable-type-assertion-style':
- off
'@typescript-eslint/return-await':
- off
'@typescript-eslint/quotes':
- error
- single
'@typescript-eslint/consistent-type-imports':
- error
'@typescript-eslint/consistent-type-exports':
- error
'@typescript-eslint/explicit-function-return-type':
- error
- allowTypedFunctionExpressions: true
'@typescript-eslint/no-empty-interface':
- error
- allowSingleExtends: true
'@typescript-eslint/explicit-member-accessibility':
- error
'@typescript-eslint/object-curly-spacing':
- error
- always
'@typescript-eslint/semi':
- error
- always
'@typescript-eslint/no-unsafe-member-access':
- off
'@typescript-eslint/no-unsafe-assignment':
- off
'@typescript-eslint/no-unsafe-call':
- off
'@typescript-eslint/no-unsafe-return':
- off
'@typescript-eslint/no-unsafe-argument':
- off
'@typescript-eslint/restrict-template-expressions':
- off
overrides:
- files:
- commitlint.config.ts
- dangerfile.ts
rules:
'import/no-default-export':
- off