apex-code-coverage-transformer 2.8.3 → 2.8.4

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 CHANGED
@@ -5,6 +5,13 @@
5
5
 
6
6
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
7
7
 
8
+ ## [2.8.4](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.8.3...v2.8.4) (2025-02-08)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * jacoco structuring per package directory ([5efc698](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/5efc69853d6f5498e0a20bb3f94b3e4068b3d528))
14
+
8
15
  ## [2.8.3](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.8.2...v2.8.3) (2025-02-08)
9
16
 
10
17
 
@@ -1,8 +1,9 @@
1
1
  import { JaCoCoCoverageObject, CoverageHandler } from '../helpers/types.js';
2
2
  export declare class JaCoCoCoverageHandler implements CoverageHandler {
3
3
  private readonly coverageObj;
4
- private packageObj;
4
+ private packageMap;
5
5
  constructor();
6
6
  processFile(filePath: string, fileName: string, lines: Record<string, number>): void;
7
7
  finalize(): JaCoCoCoverageObject;
8
+ private getOrCreatePackage;
8
9
  }
@@ -1,26 +1,24 @@
1
1
  'use strict';
2
2
  export class JaCoCoCoverageHandler {
3
3
  coverageObj;
4
- packageObj;
4
+ packageMap;
5
5
  constructor() {
6
6
  this.coverageObj = {
7
7
  report: {
8
8
  '@name': 'JaCoCo Coverage Report',
9
- sessionInfo: [],
10
- packages: { package: [] },
9
+ package: [], // List of packages
10
+ counter: [], // Report-level counters
11
11
  },
12
12
  };
13
- this.packageObj = {
14
- '@name': 'main',
15
- classes: { class: [] },
16
- };
17
- this.coverageObj.report.packages.package.push(this.packageObj);
13
+ this.packageMap = {}; // Stores packages by directory
18
14
  }
19
15
  processFile(filePath, fileName, lines) {
16
+ const packageName = filePath.split('/')[0]; // Extract root directory as package name
17
+ const packageObj = this.getOrCreatePackage(packageName);
20
18
  const sourceFileObj = {
21
19
  '@name': filePath,
22
- lines: { line: [] },
23
- counters: { counter: [] },
20
+ line: [],
21
+ counter: [],
24
22
  };
25
23
  let coveredLines = 0;
26
24
  let totalLines = 0;
@@ -32,39 +30,63 @@ export class JaCoCoCoverageHandler {
32
30
  '@nr': Number(lineNumber),
33
31
  '@mi': isCovered === 0 ? 1 : 0,
34
32
  '@ci': isCovered === 1 ? 1 : 0,
33
+ '@mb': 0,
34
+ '@cb': 0,
35
35
  };
36
- sourceFileObj.lines.line.push(lineObj);
36
+ sourceFileObj.line.push(lineObj);
37
37
  }
38
- sourceFileObj.counters.counter.push({
38
+ sourceFileObj.counter.push({
39
39
  '@type': 'LINE',
40
40
  '@missed': totalLines - coveredLines,
41
41
  '@covered': coveredLines,
42
+ }, {
43
+ '@type': 'CLASS',
44
+ '@missed': coveredLines === 0 ? 1 : 0,
45
+ '@covered': coveredLines > 0 ? 1 : 0,
42
46
  });
47
+ packageObj.sourcefile.push(sourceFileObj);
43
48
  const classObj = {
44
- '@name': fileName,
45
- sourcefile: sourceFileObj,
49
+ '@name': fileName.replace('.cls', ''), // Remove .cls to match SFDX output
50
+ '@sourcefilename': filePath,
46
51
  };
47
- this.packageObj.classes.class.push(classObj);
52
+ packageObj.class.push(classObj);
48
53
  }
49
54
  finalize() {
50
- if (this.coverageObj.report?.packages?.package) {
51
- this.coverageObj.report.packages.package.sort((a, b) => a['@name'].localeCompare(b['@name']));
52
- for (const pkg of this.coverageObj.report.packages.package) {
53
- if (pkg.classes?.class) {
54
- pkg.classes.class.sort((a, b) => a.sourcefile['@name'].localeCompare(b.sourcefile['@name']));
55
- }
56
- }
57
- const totalCovered = this.packageObj.classes.class.reduce((acc, classObj) => acc + classObj.sourcefile.counters.counter[0]['@covered'], 0);
58
- const totalMissed = this.packageObj.classes.class.reduce((acc, classObj) => acc + classObj.sourcefile.counters.counter[0]['@missed'], 0);
59
- this.packageObj.counters = {
60
- counter: [{
61
- '@type': 'PACKAGE',
62
- '@missed': totalMissed,
63
- '@covered': totalCovered,
64
- }],
65
- };
55
+ for (const packageObj of Object.values(this.packageMap)) {
56
+ packageObj.class.sort((a, b) => a['@name'].localeCompare(b['@name']));
57
+ packageObj.sourcefile.sort((a, b) => a['@name'].localeCompare(b['@name']));
58
+ const totalCovered = packageObj.sourcefile.reduce((acc, sf) => acc + sf.counter[0]['@covered'], 0);
59
+ const totalMissed = packageObj.sourcefile.reduce((acc, sf) => acc + sf.counter[0]['@missed'], 0);
60
+ packageObj.counter.push({
61
+ '@type': 'LINE',
62
+ '@missed': totalMissed,
63
+ '@covered': totalCovered,
64
+ }, {
65
+ '@type': 'CLASS',
66
+ '@missed': totalCovered === 0 ? 1 : 0,
67
+ '@covered': totalCovered > 0 ? 1 : 0,
68
+ });
66
69
  }
70
+ const overallCovered = Object.values(this.packageMap).reduce((acc, pkg) => acc + pkg.counter[0]['@covered'], 0);
71
+ const overallMissed = Object.values(this.packageMap).reduce((acc, pkg) => acc + pkg.counter[0]['@missed'], 0);
72
+ this.coverageObj.report.counter.push({
73
+ '@type': 'LINE',
74
+ '@missed': overallMissed,
75
+ '@covered': overallCovered,
76
+ });
67
77
  return this.coverageObj;
68
78
  }
79
+ getOrCreatePackage(packageName) {
80
+ if (!this.packageMap[packageName]) {
81
+ this.packageMap[packageName] = {
82
+ '@name': packageName,
83
+ class: [],
84
+ sourcefile: [],
85
+ counter: [],
86
+ };
87
+ this.coverageObj.report.package.push(this.packageMap[packageName]);
88
+ }
89
+ return this.packageMap[packageName];
90
+ }
69
91
  }
70
92
  //# sourceMappingURL=jacocoCoverageHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jacocoCoverageHandler.js","sourceRoot":"","sources":["../../src/handlers/jacocoCoverageHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jacocoCoverageHandler.js","sourceRoot":"","sources":["../../src/handlers/jacocoCoverageHandler.ts"],"names":[],"mappings":"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"}
@@ -160,50 +160,38 @@ export type LcovFile = {
160
160
  export type LcovCoverageObject = {
161
161
  files: LcovFile[];
162
162
  };
163
- type JaCoCoCounter = {
164
- '@type': 'INSTRUCTION' | 'BRANCH' | 'LINE' | 'METHOD' | 'CLASS' | 'PACKAGE';
165
- '@missed': number;
166
- '@covered': number;
167
- };
168
- export type JaCoCoLine = {
169
- '@nr': number;
170
- '@mi': number;
171
- '@ci': number;
172
- };
173
- export type JaCoCoSourceFile = {
174
- '@name': string;
175
- lines: {
176
- line: JaCoCoLine[];
177
- };
178
- counters: {
163
+ export type JaCoCoCoverageObject = {
164
+ report: {
165
+ '@name': string;
166
+ package: JaCoCoPackage[];
179
167
  counter: JaCoCoCounter[];
180
168
  };
181
169
  };
170
+ export type JaCoCoPackage = {
171
+ '@name': string;
172
+ class: JaCoCoClass[];
173
+ sourcefile: JaCoCoSourceFile[];
174
+ counter: JaCoCoCounter[];
175
+ };
182
176
  export type JaCoCoClass = {
183
177
  '@name': string;
184
- sourcefile: JaCoCoSourceFile;
178
+ '@sourcefilename': string;
185
179
  };
186
- export type JaCoCoPackage = {
180
+ export type JaCoCoSourceFile = {
187
181
  '@name': string;
188
- classes: {
189
- class: JaCoCoClass[];
190
- };
191
- counters?: {
192
- counter: JaCoCoCounter[];
193
- };
182
+ line: JaCoCoLine[];
183
+ counter: JaCoCoCounter[];
194
184
  };
195
- type JaCoCoSessionInfo = {
196
- '@id': string;
197
- '@start': number;
198
- '@dump': number;
185
+ export type JaCoCoLine = {
186
+ '@nr': number;
187
+ '@mi': number;
188
+ '@ci': number;
189
+ '@mb'?: number;
190
+ '@cb'?: number;
199
191
  };
200
- export type JaCoCoCoverageObject = {
201
- report: {
202
- '@name': string;
203
- sessionInfo: JaCoCoSessionInfo[];
204
- packages: {
205
- package: JaCoCoPackage[];
206
- };
207
- };
192
+ export type JaCoCoCounter = {
193
+ '@type': 'INSTRUCTION' | 'BRANCH' | 'LINE' | 'METHOD' | 'CLASS' | 'PACKAGE';
194
+ '@missed': number;
195
+ '@covered': number;
208
196
  };
209
197
  export {};
@@ -86,5 +86,5 @@
86
86
  ]
87
87
  }
88
88
  },
89
- "version": "2.8.3"
89
+ "version": "2.8.4"
90
90
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "apex-code-coverage-transformer",
3
3
  "description": "Transform Salesforce Apex code coverage JSONs created during deployments and test runs into other formats accepted by SonarQube, GitHub, GitLab, Azure, Bitbucket, etc.",
4
- "version": "2.8.3",
4
+ "version": "2.8.4",
5
5
  "dependencies": {
6
6
  "@oclif/core": "^4.0.37",
7
7
  "@salesforce/core": "^8.8.0",