@@ -18,16 +18,31 @@ export function convertConfig(rulesConfig: ESLintRulesConfig) {
18
18
rules : Record < string , ESLint . Rule . RuleModule > ;
19
19
} > = { } ;
20
20
for ( const [ rule , severityOrOptions ] of Object . entries ( rulesConfig ) ) {
21
- let severity : 'error' | 'warn' | 'suggestion' | 'off' ;
21
+ let rawSeverity : 'error' | 'warn' | 'suggestion' | 'off' | 0 | 1 | 2 ;
22
22
let options : any [ ] ;
23
- if ( typeof severityOrOptions === 'string' ) {
24
- severity = severityOrOptions ;
25
- options = [ ] ;
23
+ if ( Array . isArray ( severityOrOptions ) ) {
24
+ [ rawSeverity , ...options ] = severityOrOptions ;
26
25
}
27
26
else {
28
- [ severity , ...options ] = severityOrOptions ;
27
+ rawSeverity = severityOrOptions ;
28
+ options = [ ] ;
29
+ }
30
+ let tsSeverity : ts . DiagnosticCategory | undefined ;
31
+ if ( rawSeverity === 'off' || rawSeverity === 0 ) {
32
+ tsSeverity = undefined ;
33
+ }
34
+ else if ( rawSeverity === 'warn' || rawSeverity === 1 ) {
35
+ tsSeverity = 0 satisfies ts . DiagnosticCategory . Warning ;
36
+ }
37
+ else if ( rawSeverity === 'error' || rawSeverity === 2 ) {
38
+ tsSeverity = 1 satisfies ts . DiagnosticCategory . Error ;
39
+ }
40
+ else if ( rawSeverity === 'suggestion' ) {
41
+ tsSeverity = 2 satisfies ts . DiagnosticCategory . Suggestion ;
42
+ } else {
43
+ tsSeverity = 3 satisfies ts . DiagnosticCategory . Message ;
29
44
}
30
- if ( severity === 'off' ) {
45
+ if ( tsSeverity === undefined ) {
31
46
continue ;
32
47
}
33
48
let _rule : TSSLint . Rule | undefined ;
@@ -58,17 +73,7 @@ export function convertConfig(rulesConfig: ESLintRulesConfig) {
58
73
ruleModule = require ( `./node_modules/eslint/lib/rules/${ rule } .js` ) ;
59
74
}
60
75
}
61
- _rule = rules [ rule ] = convertRule (
62
- ruleModule ,
63
- options ,
64
- severity === 'error'
65
- ? 1 satisfies ts . DiagnosticCategory . Error
66
- : severity === 'warn'
67
- ? 0 satisfies ts . DiagnosticCategory . Warning
68
- : severity === 'suggestion'
69
- ? 2 satisfies ts . DiagnosticCategory . Suggestion
70
- : 3 satisfies ts . DiagnosticCategory . Message
71
- ) ;
76
+ _rule = rules [ rule ] = convertRule ( ruleModule , options , tsSeverity ) ;
72
77
}
73
78
return _rule ( ...args ) ;
74
79
} ;
0 commit comments