apex-code-coverage-transformer 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/README.md +124 -20
- package/lib/commands/acc-transformer/transform.d.ts +3 -2
- package/lib/commands/acc-transformer/transform.js +11 -2
- package/lib/commands/acc-transformer/transform.js.map +1 -1
- package/lib/helpers/setCoveredLinesCobertura.d.ts +2 -0
- package/lib/helpers/setCoveredLinesCobertura.js +34 -0
- package/lib/helpers/setCoveredLinesCobertura.js.map +1 -0
- package/lib/helpers/setCoveredLinesSonar.d.ts +2 -0
- package/lib/helpers/{setCoveredLines.js → setCoveredLinesSonar.js} +2 -2
- package/lib/helpers/setCoveredLinesSonar.js.map +1 -0
- package/lib/helpers/transformDeployCoverageReport.d.ts +1 -1
- package/lib/helpers/transformDeployCoverageReport.js +104 -30
- package/lib/helpers/transformDeployCoverageReport.js.map +1 -1
- package/lib/helpers/transformTestCoverageReport.d.ts +1 -1
- package/lib/helpers/transformTestCoverageReport.js +106 -27
- package/lib/helpers/transformTestCoverageReport.js.map +1 -1
- package/lib/helpers/types.d.ts +43 -0
- package/lib/hooks/postrun.js +3 -0
- package/lib/hooks/postrun.js.map +1 -1
- package/messages/transformer.transform.md +10 -5
- package/oclif.lock +3771 -4298
- package/oclif.manifest.json +29 -6
- package/package.json +17 -15
- package/lib/helpers/setCoveredLines.d.ts +0 -2
- package/lib/helpers/setCoveredLines.js.map +0 -1
|
@@ -4,40 +4,119 @@ import { create } from 'xmlbuilder2';
|
|
|
4
4
|
import { getPackageDirectories } from './getPackageDirectories.js';
|
|
5
5
|
import { findFilePath } from './findFilePath.js';
|
|
6
6
|
import { normalizePathToUnix } from './normalizePathToUnix.js';
|
|
7
|
-
export async function transformTestCoverageReport(testCoverageData) {
|
|
8
|
-
const coverageObj = { coverage: { '@version': '1', file: [] } };
|
|
7
|
+
export async function transformTestCoverageReport(testCoverageData, format) {
|
|
9
8
|
const warnings = [];
|
|
10
9
|
let filesProcessed = 0;
|
|
11
10
|
const { repoRoot, packageDirectories } = await getPackageDirectories();
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
let coverageData = testCoverageData;
|
|
12
|
+
if (!Array.isArray(coverageData)) {
|
|
13
|
+
coverageData = [coverageData];
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
if (format === 'sonar') {
|
|
16
|
+
const coverageObj = { coverage: { '@version': '1', file: [] } };
|
|
17
|
+
for (const data of coverageData) {
|
|
18
|
+
const name = data?.name;
|
|
19
|
+
const lines = data?.lines;
|
|
20
|
+
if (!name || !lines)
|
|
21
|
+
continue;
|
|
22
|
+
const formattedFileName = name.replace(/no-map[\\/]+/, '');
|
|
23
|
+
const relativeFilePath = await findFilePath(formattedFileName, packageDirectories, repoRoot);
|
|
24
|
+
if (relativeFilePath === undefined) {
|
|
25
|
+
warnings.push(`The file name ${formattedFileName} was not found in any package directory.`);
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
const fileObj = {
|
|
29
|
+
'@path': normalizePathToUnix(relativeFilePath),
|
|
30
|
+
lineToCover: [],
|
|
31
|
+
};
|
|
32
|
+
for (const [lineNumber, isCovered] of Object.entries(lines)) {
|
|
33
|
+
fileObj.lineToCover.push({
|
|
34
|
+
'@lineNumber': Number(lineNumber),
|
|
35
|
+
'@covered': `${isCovered === 1}`,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
filesProcessed++;
|
|
39
|
+
coverageObj.coverage.file.push(fileObj);
|
|
20
40
|
}
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
41
|
+
const xml = create(coverageObj).end({ prettyPrint: true, indent: ' ' });
|
|
42
|
+
return { xml, warnings, filesProcessed };
|
|
43
|
+
}
|
|
44
|
+
else if (format === 'cobertura') {
|
|
45
|
+
const coberturaObj = {
|
|
46
|
+
coverage: {
|
|
47
|
+
'@lines-valid': 0,
|
|
48
|
+
'@lines-covered': 0,
|
|
49
|
+
'@line-rate': 0,
|
|
50
|
+
'@branches-valid': 0,
|
|
51
|
+
'@branches-covered': 0,
|
|
52
|
+
'@branch-rate': 1,
|
|
53
|
+
'@timestamp': Date.now(),
|
|
54
|
+
'@complexity': 0,
|
|
55
|
+
'@version': '0.1',
|
|
56
|
+
sources: { source: ['.'] },
|
|
57
|
+
packages: { package: [] },
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
// Single package for all classes
|
|
61
|
+
const packageObj = {
|
|
62
|
+
'@name': 'main',
|
|
63
|
+
'@line-rate': 0,
|
|
64
|
+
'@branch-rate': 1,
|
|
65
|
+
classes: { class: [] },
|
|
30
66
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
67
|
+
coberturaObj.coverage.packages.package.push(packageObj);
|
|
68
|
+
for (const data of coverageData) {
|
|
69
|
+
const name = data?.name;
|
|
70
|
+
const lines = data?.lines;
|
|
71
|
+
if (!name || !lines)
|
|
72
|
+
continue;
|
|
73
|
+
const formattedFileName = name.replace(/no-map[\\/]+/, '');
|
|
74
|
+
const relativeFilePath = await findFilePath(formattedFileName, packageDirectories, repoRoot);
|
|
75
|
+
if (relativeFilePath === undefined) {
|
|
76
|
+
warnings.push(`The file name ${formattedFileName} was not found in any package directory.`);
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
const uncoveredLines = Object.entries(lines)
|
|
80
|
+
.filter(([, isCovered]) => isCovered === 0)
|
|
81
|
+
.map(([lineNumber]) => Number(lineNumber));
|
|
82
|
+
const coveredLines = Object.entries(lines)
|
|
83
|
+
.filter(([, isCovered]) => isCovered === 1)
|
|
84
|
+
.map(([lineNumber]) => Number(lineNumber));
|
|
85
|
+
const classObj = {
|
|
86
|
+
'@name': formattedFileName,
|
|
87
|
+
'@filename': normalizePathToUnix(relativeFilePath),
|
|
88
|
+
'@line-rate': (coveredLines.length / (coveredLines.length + uncoveredLines.length)).toFixed(4),
|
|
89
|
+
'@branch-rate': '1',
|
|
90
|
+
methods: {},
|
|
91
|
+
lines: {
|
|
92
|
+
line: [
|
|
93
|
+
...uncoveredLines.map((lineNumber) => ({
|
|
94
|
+
'@number': lineNumber,
|
|
95
|
+
'@hits': 0,
|
|
96
|
+
'@branch': 'false',
|
|
97
|
+
})),
|
|
98
|
+
...coveredLines.map((lineNumber) => ({
|
|
99
|
+
'@number': lineNumber,
|
|
100
|
+
'@hits': 1,
|
|
101
|
+
'@branch': 'false',
|
|
102
|
+
})),
|
|
103
|
+
],
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
// Update package and overall coverage metrics
|
|
107
|
+
coberturaObj.coverage['@lines-valid'] += uncoveredLines.length + coveredLines.length;
|
|
108
|
+
coberturaObj.coverage['@lines-covered'] += coveredLines.length;
|
|
109
|
+
packageObj.classes.class.push(classObj);
|
|
110
|
+
filesProcessed++;
|
|
36
111
|
}
|
|
37
|
-
|
|
38
|
-
|
|
112
|
+
// Update overall line-rate for the package
|
|
113
|
+
packageObj['@line-rate'] = parseFloat((coberturaObj.coverage['@lines-covered'] / coberturaObj.coverage['@lines-valid']).toFixed(4));
|
|
114
|
+
coberturaObj.coverage['@line-rate'] = packageObj['@line-rate'];
|
|
115
|
+
let xml = create(coberturaObj).end({ prettyPrint: true, indent: ' ', headless: true });
|
|
116
|
+
// Add DOCTYPE declaration at the beginning of the XML
|
|
117
|
+
xml = `<?xml version="1.0" ?>\n<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">\n${xml}`;
|
|
118
|
+
return { xml, warnings, filesProcessed };
|
|
39
119
|
}
|
|
40
|
-
|
|
41
|
-
return { xml, warnings, filesProcessed };
|
|
120
|
+
throw new Error(`Unsupported format: ${format}`);
|
|
42
121
|
}
|
|
43
122
|
//# sourceMappingURL=transformTestCoverageReport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformTestCoverageReport.js","sourceRoot":"","sources":["../../src/helpers/transformTestCoverageReport.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"transformTestCoverageReport.js","sourceRoot":"","sources":["../../src/helpers/transformTestCoverageReport.ts"],"names":[],"mappings":"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"}
|
package/lib/helpers/types.d.ts
CHANGED
|
@@ -52,5 +52,48 @@ export type ConfigFile = {
|
|
|
52
52
|
deployCoverageJsonPath: string;
|
|
53
53
|
testCoverageJsonPath: string;
|
|
54
54
|
coverageXmlPath: string;
|
|
55
|
+
format: string;
|
|
56
|
+
};
|
|
57
|
+
export type CoberturaLine = {
|
|
58
|
+
'@number': number;
|
|
59
|
+
'@hits': number;
|
|
60
|
+
'@branch': string;
|
|
61
|
+
};
|
|
62
|
+
export type CoberturaClass = {
|
|
63
|
+
'@name': string;
|
|
64
|
+
'@filename': string;
|
|
65
|
+
'@line-rate': string;
|
|
66
|
+
'@branch-rate': string;
|
|
67
|
+
methods: Record<string, never>;
|
|
68
|
+
lines: {
|
|
69
|
+
line: CoberturaLine[];
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
type CoberturaPackage = {
|
|
73
|
+
'@name': string;
|
|
74
|
+
'@line-rate': number;
|
|
75
|
+
'@branch-rate': number;
|
|
76
|
+
classes: {
|
|
77
|
+
class: CoberturaClass[];
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
export type CoberturaCoverageObject = {
|
|
81
|
+
coverage: {
|
|
82
|
+
'@lines-valid': number;
|
|
83
|
+
'@lines-covered': number;
|
|
84
|
+
'@line-rate': number;
|
|
85
|
+
'@branches-valid': number;
|
|
86
|
+
'@branches-covered': number;
|
|
87
|
+
'@branch-rate': number | string;
|
|
88
|
+
'@timestamp': number;
|
|
89
|
+
'@complexity': number;
|
|
90
|
+
'@version': string;
|
|
91
|
+
sources: {
|
|
92
|
+
source: string[];
|
|
93
|
+
};
|
|
94
|
+
packages: {
|
|
95
|
+
package: CoberturaPackage[];
|
|
96
|
+
};
|
|
97
|
+
};
|
|
55
98
|
};
|
|
56
99
|
export {};
|
package/lib/hooks/postrun.js
CHANGED
|
@@ -30,6 +30,7 @@ export const postrun = async function (options) {
|
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
32
32
|
const coverageXml = configFile.coverageXmlPath || 'coverage.xml';
|
|
33
|
+
const coverageFormat = configFile.format || 'sonar';
|
|
33
34
|
if (commandType === 'deploy') {
|
|
34
35
|
coverageJson = configFile.deployCoverageJsonPath || '.';
|
|
35
36
|
}
|
|
@@ -49,6 +50,8 @@ export const postrun = async function (options) {
|
|
|
49
50
|
commandArgs.push(coverageJsonPath);
|
|
50
51
|
commandArgs.push('--xml');
|
|
51
52
|
commandArgs.push(coverageXmlPath);
|
|
53
|
+
commandArgs.push('--format');
|
|
54
|
+
commandArgs.push(coverageFormat);
|
|
52
55
|
await TransformerTransform.run(commandArgs);
|
|
53
56
|
};
|
|
54
57
|
//# sourceMappingURL=postrun.js.map
|
package/lib/hooks/postrun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postrun.js","sourceRoot":"","sources":["../../src/hooks/postrun.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,CAAC,MAAM,OAAO,GAAoB,KAAK,WAAW,OAAO;IAC7D,IAAI,WAAmB,CAAC;IACxB,IAAI,YAAoB,CAAC;IACzB,IACE,CAAC,yBAAyB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,uBAAuB,CAAC,CAAC,QAAQ,CAC5G,OAAO,CAAC,OAAO,CAAC,EAAE,CACnB,EACD,CAAC;QACD,WAAW,GAAG,QAAQ,CAAC;IACzB,CAAC;SAAM,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3E,WAAW,GAAG,MAAM,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,OAAO;IACT,CAAC;IACD,IAAI,UAAsB,CAAC;IAC3B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,qCAAqC,CAAC,CAAC;IAE5E,IAAI,CAAC;QACH,MAAM,UAAU,GAAW,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC/D,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAe,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAW,UAAU,CAAC,eAAe,IAAI,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"postrun.js","sourceRoot":"","sources":["../../src/hooks/postrun.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,CAAC,MAAM,OAAO,GAAoB,KAAK,WAAW,OAAO;IAC7D,IAAI,WAAmB,CAAC;IACxB,IAAI,YAAoB,CAAC;IACzB,IACE,CAAC,yBAAyB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,uBAAuB,CAAC,CAAC,QAAQ,CAC5G,OAAO,CAAC,OAAO,CAAC,EAAE,CACnB,EACD,CAAC;QACD,WAAW,GAAG,QAAQ,CAAC;IACzB,CAAC;SAAM,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3E,WAAW,GAAG,MAAM,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,OAAO;IACT,CAAC;IACD,IAAI,UAAsB,CAAC;IAC3B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,qCAAqC,CAAC,CAAC;IAE5E,IAAI,CAAC;QACH,MAAM,UAAU,GAAW,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC/D,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAe,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAW,UAAU,CAAC,eAAe,IAAI,cAAc,CAAC;IACzE,MAAM,cAAc,GAAW,UAAU,CAAC,MAAM,IAAI,OAAO,CAAC;IAE5D,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC7B,YAAY,GAAG,UAAU,CAAC,sBAAsB,IAAI,GAAG,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,UAAU,CAAC,oBAAoB,IAAI,GAAG,CAAC;IACxD,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE7C,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACpC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACnC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAClC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7B,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjC,MAAM,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC9C,CAAC,CAAC"}
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
# summary
|
|
2
2
|
|
|
3
|
-
Transforms the Code Coverage JSON into
|
|
3
|
+
Transforms the Code Coverage JSON into SonarQube or Cobertura format.
|
|
4
4
|
|
|
5
5
|
# description
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Transform the Apex code coverage JSON file created by the Salesforce CLI deploy and test command into SonarQube or Cobertura format.
|
|
8
8
|
|
|
9
9
|
# examples
|
|
10
10
|
|
|
11
|
-
- `sf acc-transformer transform -j "coverage.json" -x "coverage.xml"`
|
|
11
|
+
- `sf acc-transformer transform -j "coverage.json" -x "coverage.xml" -f "sonar"`
|
|
12
|
+
- `sf acc-transformer transform -j "coverage.json" -x "coverage.xml" -f "cobertura"`
|
|
12
13
|
|
|
13
14
|
# flags.coverage-json.summary
|
|
14
15
|
|
|
15
|
-
Path to the code coverage JSON file created by the Salesforce CLI
|
|
16
|
+
Path to the code coverage JSON file created by the Salesforce CLI deploy or test command.
|
|
16
17
|
|
|
17
18
|
# flags.xml.summary
|
|
18
19
|
|
|
19
|
-
Path to code coverage XML file that will be created by this plugin.
|
|
20
|
+
Path to the code coverage XML file that will be created by this plugin.
|
|
21
|
+
|
|
22
|
+
# flags.format.summary
|
|
23
|
+
|
|
24
|
+
Output format for the coverage report.
|