@@ -3,42 +3,40 @@ import type { ESLint, Linter } from "eslint";
3
3
export const mergeResults = (
4
4
results : ESLint . LintResult [ ] ,
5
5
) : ESLint . LintResult [ ] => {
6
- const mergedResults : ESLint . LintResult [ ] = [ ] ;
6
+ const mergedResults : Record < string , ESLint . LintResult > = { } ;
7
7
8
8
for ( const result of results ) {
9
- const prev = mergedResults . find ( ( res ) => res . filePath === result . filePath ) ;
10
-
11
- if ( ! prev ) {
12
- mergedResults . push ( result ) ;
13
-
9
+ const filePath = result . filePath ;
10
+ if ( ! mergedResults [ filePath ] ) {
11
+ mergedResults [ filePath ] = { ...result } ;
14
12
continue ;
15
13
}
16
14
17
- mergedResults [ mergedResults . indexOf ( prev ) ] = {
18
- fatalErrorCount : prev . fatalErrorCount + result . fatalErrorCount ,
19
- errorCount : prev . errorCount + result . errorCount ,
20
- warningCount : prev . warningCount + result . warningCount ,
21
- fixableErrorCount : prev . fixableErrorCount + result . fixableErrorCount ,
22
- fixableWarningCount :
23
- prev . fixableWarningCount + result . fixableWarningCount ,
24
- filePath : prev . filePath ,
25
- suppressedMessages : [
26
- ...prev . suppressedMessages ,
27
- ...result . suppressedMessages ,
28
- ] ,
29
- messages : [ ...prev . messages , ...result . messages ] ,
30
- usedDeprecatedRules : [
31
- ...prev . usedDeprecatedRules ,
32
- ...result . usedDeprecatedRules ,
33
- ] ,
15
+ const existingResult = mergedResults [ filePath ] ;
16
+
17
+ existingResult . fatalErrorCount += result . fatalErrorCount ;
18
+ existingResult . errorCount += result . errorCount ;
19
+ existingResult . warningCount += result . warningCount ;
20
+ existingResult . fixableErrorCount += result . fixableErrorCount ;
21
+ existingResult . fixableWarningCount += result . fixableWarningCount ;
22
+
23
+ existingResult . suppressedMessages = [
24
+ ...existingResult . suppressedMessages ,
25
+ ...result . suppressedMessages ,
26
+ ] ;
27
+
28
+ existingResult . messages = [ ...existingResult . messages , ...result . messages ] ;
29
+ existingResult . usedDeprecatedRules = [
30
+ ...existingResult . usedDeprecatedRules ,
31
+ ...result . usedDeprecatedRules ,
32
+ ] ;
34
33
35
- output : result . output ?? prev . output ,
36
- source : result . source ?? prev . source ,
37
- stats : result . stats ?? prev . stats ,
38
- } ;
34
+ existingResult . output = result . output ?? existingResult . output ;
35
+ existingResult . source = result . source ?? existingResult . source ;
36
+ existingResult . stats = result . stats ?? existingResult . stats ;
39
37
}
40
38
41
- return mergedResults ;
39
+ return Object . values ( mergedResults ) ;
42
40
} ;
43
41
44
42
export const overrideConfig : Linter . Config < Linter . RulesRecord > [ ] = [
0 commit comments