1
- const path = require ( ' path' ) ;
1
+ const path = require ( " path" ) ;
2
2
3
3
module . exports = {
4
4
parser : "@typescript-eslint/parser" ,
5
5
plugins : [ "@typescript-eslint" , "unused-imports" ] ,
6
6
env : {
7
7
es6 : true ,
8
- node : true
8
+ node : true ,
9
9
} ,
10
10
parserOptions : {
11
11
ecmaVersion : 6 ,
12
12
sourceType : "module" ,
13
13
ecmaFeatures : {
14
- modules : true
14
+ modules : true ,
15
15
} ,
16
16
project : path . resolve ( __dirname , "./tsconfig.json" ) ,
17
- tsconfigRootDir : __dirname
18
- } ,
19
- extends : [
20
- "eslint:recommended" ,
21
- "plugin:@typescript-eslint/recommended"
22
- ] ,
23
- rules : {
24
- quotes : [ "error" , "double" ] ,
25
- semi : [ "error" , "always" ] ,
26
- "@typescript-eslint/no-non-null-assertion" : 0 ,
27
- "@typescript-eslint/ban-types" : [
28
- "error" ,
29
- {
30
- "extendDefaults" : true ,
31
- "types" : {
32
- "{}" : false
33
- }
34
- }
35
- ] ,
36
- "unused-imports/no-unused-imports" : "warn" ,
17
+ tsconfigRootDir : __dirname ,
37
18
} ,
38
19
overrides : [
20
+ // Override for src/typings/**/*.ts — only unused-imports
39
21
{
40
- files : [ "*.ts" ] ,
22
+ files : [ "src/typings/**/ *.ts" ] ,
41
23
rules : {
42
- "no-dupe-class-members" : "off"
43
- }
44
- }
45
- ]
46
- }
24
+ "unused-imports/no-unused-imports" : "warn" ,
25
+ } ,
26
+ } ,
27
+ // Default rule set for everything else
28
+ {
29
+ files : [ "*.ts" , "**/*.ts" ] ,
30
+ excludedFiles : [ "src/typings/**/*.ts" ] ,
31
+ rules : {
32
+ quotes : [ "error" , "double" ] ,
33
+ semi : [ "error" , "always" ] ,
34
+ "@typescript-eslint/no-non-null-assertion" : 0 ,
35
+ "@typescript-eslint/ban-types" : [
36
+ "error" ,
37
+ {
38
+ extendDefaults : true ,
39
+ types : {
40
+ "{}" : false ,
41
+ } ,
42
+ } ,
43
+ ] ,
44
+ "unused-imports/no-unused-imports" : "warn" ,
45
+ "no-dupe-class-members" : "off" ,
46
+ } ,
47
+ } ,
48
+ ] ,
49
+ } ;
0 commit comments