Skip to content

Commit 7baf5fc

Browse files
authored
chore: remove custom coverage typings (#7967)
1 parent 3e4dfd5 commit 7baf5fc

File tree

4 files changed

+20
-79
lines changed

4 files changed

+20
-79
lines changed

.eslintrc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ module.exports = {
6464
},
6565
},
6666
{
67-
files: 'types/**/*',
67+
files: ['types/**/*', 'packages/jest-types/**/*'],
6868
rules: {
6969
'import/no-extraneous-dependencies': 0,
7070
},

packages/jest-phabricator/src/index.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,24 @@
77

88
import {TestResult} from '@jest/types';
99

10-
function summarize(coverageMap: TestResult.CoverageMap) {
10+
type AggregatedResult = TestResult.AggregatedResult;
11+
type CoverageMap = AggregatedResult['coverageMap'];
12+
13+
function summarize(coverageMap: CoverageMap): CoverageMap {
14+
if (!coverageMap) {
15+
return coverageMap;
16+
}
17+
1118
const summaries = Object.create(null);
1219

1320
coverageMap.files().forEach(file => {
1421
const covered = [];
1522
const lineCoverage = coverageMap.fileCoverageFor(file).getLineCoverage();
1623

1724
Object.keys(lineCoverage).forEach(lineNumber => {
25+
const number = parseInt(lineNumber, 10);
1826
// Line numbers start at one
19-
const number = parseInt(lineNumber, 10) - 1;
20-
covered[number] = lineCoverage[lineNumber] ? 'C' : 'U';
27+
covered[number - 1] = lineCoverage[number] ? 'C' : 'U';
2128
});
2229

2330
for (let i = 0; i < covered.length; i++) {
@@ -32,11 +39,6 @@ function summarize(coverageMap: TestResult.CoverageMap) {
3239
return summaries;
3340
}
3441

35-
export = function(
36-
results: TestResult.AggregatedResult,
37-
): TestResult.AggregatedResult {
38-
return {
39-
...results,
40-
coverageMap: results.coverageMap && summarize(results.coverageMap),
41-
};
42+
export = function(results: AggregatedResult): AggregatedResult {
43+
return {...results, coverageMap: summarize(results.coverageMap)};
4244
};

packages/jest-types/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,8 @@
1111
},
1212
"license": "MIT",
1313
"main": "build/index.js",
14-
"types": "build/index.d.ts"
14+
"types": "build/index.d.ts",
15+
"dependencies": {
16+
"@types/istanbul-lib-coverage": "^1.1.0"
17+
}
1518
}

packages/jest-types/src/TestResult.ts

Lines changed: 3 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -5,73 +5,9 @@
55
* LICENSE file in the root directory of this source tree.
66
*/
77

8+
import {CoverageMap, CoverageMapData} from 'istanbul-lib-coverage';
89
import {ConsoleBuffer} from './Console';
910

10-
export type RawFileCoverage = {
11-
path: string;
12-
s: {
13-
[statementId: number]: number;
14-
};
15-
b: {
16-
[branchId: number]: number;
17-
};
18-
f: {
19-
[functionId: number]: number;
20-
};
21-
l: {
22-
[lineId: number]: number;
23-
};
24-
fnMap: {
25-
[functionId: number]: any;
26-
};
27-
statementMap: {
28-
[statementId: number]: any;
29-
};
30-
branchMap: {
31-
[branchId: number]: any;
32-
};
33-
inputSourceMap?: Object;
34-
};
35-
36-
export type RawCoverage = {
37-
[filePath: string]: RawFileCoverage;
38-
};
39-
type FileCoverageTotal = {
40-
total: number;
41-
covered: number;
42-
skipped: number;
43-
pct: number;
44-
};
45-
46-
export type CoverageSummary = {
47-
lines: FileCoverageTotal;
48-
statements: FileCoverageTotal;
49-
branches: FileCoverageTotal;
50-
functions: FileCoverageTotal;
51-
merge: (other: CoverageSummary) => undefined;
52-
};
53-
54-
export type FileCoverage = {
55-
getLineCoverage: () => {[line: string]: string};
56-
getUncoveredLines: () => Array<number>;
57-
getBranchCoverageByLine: () => {[line: string]: string};
58-
toJSON: () => {[line: string]: string};
59-
merge: (other: Object) => undefined;
60-
computeSimpleTotals: (property: string) => FileCoverageTotal;
61-
computeBranchTotals: () => FileCoverageTotal;
62-
resetHits: () => undefined;
63-
toSummary: () => CoverageSummary;
64-
};
65-
66-
export type CoverageMap = {
67-
merge: (data: Object) => undefined;
68-
getCoverageSummary: () => FileCoverage;
69-
data: RawCoverage;
70-
addFileCoverage: (fileCoverage: RawFileCoverage) => undefined;
71-
files: () => Array<string>;
72-
fileCoverageFor: (file: string) => FileCoverage;
73-
};
74-
7511
export type SerializableError = {
7612
code?: unknown;
7713
message: string;
@@ -162,7 +98,7 @@ export type Suite = {
16298

16399
export type TestResult = {
164100
console?: ConsoleBuffer | null;
165-
coverage?: RawCoverage;
101+
coverage?: CoverageMapData;
166102
displayName?: string | null;
167103
failureMessage?: string | null;
168104
leaks: boolean;
@@ -226,7 +162,7 @@ export type FormattedTestResults = {
226162
export type CodeCoverageReporter = any;
227163

228164
export type CodeCoverageFormatter = (
229-
coverage: RawCoverage | null | undefined,
165+
coverage: CoverageMapData | null | undefined,
230166
reporter: CodeCoverageReporter,
231167
) => Object | null | undefined;
232168

0 commit comments

Comments
 (0)