apex-code-coverage-transformer 2.5.1 → 2.5.2

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,15 @@
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.5.2](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.5.1...v2.5.2) (2025-01-10)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * confirm deploy report lines are sorted before covered line adjustment ([9ffb7f5](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/9ffb7f55343c45b876006015ebc11818c63174ce))
14
+ * only set uncovered and covered lines when needed ([45f77ae](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/45f77aed39fbb1cac8329c0502cc9de8253be666))
15
+ * warn instead of fail when json is not found ([7445801](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/744580187ca9ed67964f13e80f26a207d45a62bf))
16
+
8
17
  ## [2.5.1](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.5.0...v2.5.1) (2025-01-09)
9
18
 
10
19
 
@@ -18,13 +18,11 @@ export default class TransformerTransform extends SfCommand {
18
18
  summary: messages.getMessage('flags.coverage-json.summary'),
19
19
  char: 'j',
20
20
  required: true,
21
- exists: true,
22
21
  }),
23
22
  'output-report': Flags.file({
24
23
  summary: messages.getMessage('flags.output-report.summary'),
25
24
  char: 'r',
26
25
  required: true,
27
- exists: false,
28
26
  default: 'coverage.xml',
29
27
  }),
30
28
  format: Flags.string({
@@ -41,7 +39,14 @@ export default class TransformerTransform extends SfCommand {
41
39
  const jsonFilePath = resolve(flags['coverage-json']);
42
40
  let outputReportPath = resolve(flags['output-report']);
43
41
  const format = flags['format'];
44
- const jsonData = await readFile(jsonFilePath, 'utf-8');
42
+ let jsonData;
43
+ try {
44
+ jsonData = await readFile(jsonFilePath, 'utf-8');
45
+ }
46
+ catch (error) {
47
+ this.warn(`Failed to read ${jsonFilePath}. Confirm file exists.`);
48
+ return { path: jsonFilePath };
49
+ }
45
50
  let xmlData;
46
51
  let warnings = [];
47
52
  let filesProcessed = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/commands/acc-transformer/transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/commands/acc-transformer/transform.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,6 @@ import { CloverCoverageObject, CoverageHandler } from '../helpers/types.js';
2
2
  export declare class CloverCoverageHandler implements CoverageHandler {
3
3
  private readonly coverageObj;
4
4
  constructor();
5
- processFile(filePath: string, fileName: string, lines: Record<string, number>, uncoveredLines: number[], coveredLines: number[]): void;
5
+ processFile(filePath: string, fileName: string, lines: Record<string, number>): void;
6
6
  finalize(): CloverCoverageObject;
7
7
  }
@@ -30,7 +30,13 @@ export class CloverCoverageHandler {
30
30
  },
31
31
  };
32
32
  }
33
- processFile(filePath, fileName, lines, uncoveredLines, coveredLines) {
33
+ processFile(filePath, fileName, lines) {
34
+ const uncoveredLines = Object.keys(lines)
35
+ .filter((lineNumber) => lines[lineNumber] === 0)
36
+ .map(Number);
37
+ const coveredLines = Object.keys(lines)
38
+ .filter((lineNumber) => lines[lineNumber] === 1)
39
+ .map(Number);
34
40
  const fileObj = {
35
41
  '@name': fileName,
36
42
  '@path': filePath,
@@ -1 +1 @@
1
- {"version":3,"file":"cloverCoverageHandler.js","sourceRoot":"","sources":["../../src/handlers/cloverCoverageHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAIb,MAAM,OAAO,qBAAqB;IACf,WAAW,CAAuB;IAEnD;QACE,IAAI,CAAC,WAAW,GAAG;YACjB,QAAQ,EAAE;gBACR,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;gBACxB,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE;oBACP,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;oBACxB,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE;wBACP,aAAa,EAAE,CAAC;wBAChB,oBAAoB,EAAE,CAAC;wBACvB,eAAe,EAAE,CAAC;wBAClB,sBAAsB,EAAE,CAAC;wBACzB,UAAU,EAAE,CAAC;wBACb,iBAAiB,EAAE,CAAC;wBACpB,WAAW,EAAE,CAAC;wBACd,kBAAkB,EAAE,CAAC;wBACrB,aAAa,EAAE,CAAC;wBAChB,MAAM,EAAE,CAAC;wBACT,QAAQ,EAAE,CAAC;wBACX,WAAW,EAAE,CAAC;wBACd,QAAQ,EAAE,CAAC;wBACX,UAAU,EAAE,CAAC;qBACd;oBACD,IAAI,EAAE,EAAE;iBACT;aACF;SACF,CAAC;IACJ,CAAC;IAEM,WAAW,CAChB,QAAgB,EAChB,QAAgB,EAChB,KAA6B,EAC7B,cAAwB,EACxB,YAAsB;QAEtB,MAAM,OAAO,GAAe;YAC1B,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE;gBACP,aAAa,EAAE,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM;gBAC1D,oBAAoB,EAAE,YAAY,CAAC,MAAM;gBACzC,eAAe,EAAE,CAAC;gBAClB,sBAAsB,EAAE,CAAC;gBACzB,UAAU,EAAE,CAAC;gBACb,iBAAiB,EAAE,CAAC;aACrB;YACD,IAAI,EAAE,EAAE;SACT,CAAC;QACF,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChB,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC;gBAC1B,QAAQ,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;QAEjE,cAAc,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAC7E,cAAc,CAAC,oBAAoB,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC;QAC5D,cAAc,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAC3E,cAAc,CAAC,kBAAkB,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC;QAC1D,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,cAAc,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QACtE,cAAc,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAC1E,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"cloverCoverageHandler.js","sourceRoot":"","sources":["../../src/handlers/cloverCoverageHandler.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@ export declare class CoberturaCoverageHandler implements CoverageHandler {
3
3
  private readonly coverageObj;
4
4
  private packageObj;
5
5
  constructor();
6
- processFile(filePath: string, fileName: string, lines: Record<string, number>, uncoveredLines: number[], coveredLines: number[]): void;
6
+ processFile(filePath: string, fileName: string, lines: Record<string, number>): void;
7
7
  finalize(): CoberturaCoverageObject;
8
8
  }
@@ -26,7 +26,7 @@ export class CoberturaCoverageHandler {
26
26
  };
27
27
  this.coverageObj.coverage.packages.package.push(this.packageObj);
28
28
  }
29
- processFile(filePath, fileName, lines, uncoveredLines, coveredLines) {
29
+ processFile(filePath, fileName, lines) {
30
30
  const classObj = {
31
31
  '@name': fileName,
32
32
  '@filename': filePath,
@@ -35,6 +35,12 @@ export class CoberturaCoverageHandler {
35
35
  methods: {},
36
36
  lines: { line: [] },
37
37
  };
38
+ const uncoveredLines = Object.keys(lines)
39
+ .filter((lineNumber) => lines[lineNumber] === 0)
40
+ .map(Number);
41
+ const coveredLines = Object.keys(lines)
42
+ .filter((lineNumber) => lines[lineNumber] === 1)
43
+ .map(Number);
38
44
  const totalLines = uncoveredLines.length + coveredLines.length;
39
45
  const coveredLineCount = coveredLines.length;
40
46
  for (const [lineNumber, isCovered] of Object.entries(lines)) {
@@ -1 +1 @@
1
- {"version":3,"file":"coberturaCoverageHandler.js","sourceRoot":"","sources":["../../src/handlers/coberturaCoverageHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coberturaCoverageHandler.js","sourceRoot":"","sources":["../../src/handlers/coberturaCoverageHandler.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,6 @@ import { CoverageHandler, LcovCoverageObject } from '../helpers/types.js';
2
2
  export declare class LcovCoverageHandler implements CoverageHandler {
3
3
  private readonly coverageObj;
4
4
  constructor();
5
- processFile(filePath: string, fileName: string, lines: Record<string, number>, uncoveredLines: number[], coveredLines: number[]): void;
5
+ processFile(filePath: string, fileName: string, lines: Record<string, number>): void;
6
6
  finalize(): LcovCoverageObject;
7
7
  }
@@ -4,7 +4,13 @@ export class LcovCoverageHandler {
4
4
  constructor() {
5
5
  this.coverageObj = { files: [] };
6
6
  }
7
- processFile(filePath, fileName, lines, uncoveredLines, coveredLines) {
7
+ processFile(filePath, fileName, lines) {
8
+ const uncoveredLines = Object.keys(lines)
9
+ .filter((lineNumber) => lines[lineNumber] === 0)
10
+ .map(Number);
11
+ const coveredLines = Object.keys(lines)
12
+ .filter((lineNumber) => lines[lineNumber] === 1)
13
+ .map(Number);
8
14
  const lcovFile = {
9
15
  sourceFile: filePath,
10
16
  lines: [],
@@ -1 +1 @@
1
- {"version":3,"file":"lcovCoverageHandler.js","sourceRoot":"","sources":["../../src/handlers/lcovCoverageHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAIb,MAAM,OAAO,mBAAmB;IACb,WAAW,CAAqB;IAEjD;QACE,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;IAEM,WAAW,CAChB,QAAgB,EAChB,QAAgB,EAChB,KAA6B,EAC7B,cAAwB,EACxB,YAAsB;QAEtB,MAAM,QAAQ,GAAa;YACzB,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM;YACvD,YAAY,EAAE,YAAY,CAAC,MAAM;SAClC,CAAC;QAEF,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAClB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;gBAC9B,QAAQ,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"lcovCoverageHandler.js","sourceRoot":"","sources":["../../src/handlers/lcovCoverageHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAIb,MAAM,OAAO,mBAAmB;IACb,WAAW,CAAqB;IAEjD;QACE,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;IAEM,WAAW,CAChB,QAAgB,EAChB,QAAgB,EAChB,KAA6B;QAE7B,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aACtC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAC/C,GAAG,CAAC,MAAM,CAAC,CAAC;QACf,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;aACpC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAC/C,GAAG,CAAC,MAAM,CAAC,CAAC;QAEf,MAAM,QAAQ,GAAa;YACzB,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM;YACvD,YAAY,EAAE,YAAY,CAAC,MAAM;SAClC,CAAC;QAEF,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAClB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;gBAC9B,QAAQ,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
@@ -1 +1 @@
1
- export declare function renumberLines(filePath: string, repoRoot: string, lines: Record<string, number>): Promise<Record<string, number>>;
1
+ export declare function setCoveredLines(filePath: string, repoRoot: string, lines: Record<string, number>): Promise<Record<string, number>>;
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
  import { join } from 'node:path';
3
3
  import { getTotalLines } from './getTotalLines.js';
4
- export async function renumberLines(filePath, repoRoot, lines) {
4
+ export async function setCoveredLines(filePath, repoRoot, lines) {
5
5
  const totalLines = await getTotalLines(join(repoRoot, filePath));
6
6
  const updatedLines = {};
7
7
  const usedLines = new Set();
8
- for (const [line, status] of Object.entries(lines)) {
8
+ const sortedLines = Object.entries(lines).sort(([lineA], [lineB]) => parseInt(lineA, 10) - parseInt(lineB, 10));
9
+ for (const [line, status] of sortedLines) {
9
10
  const lineNumber = parseInt(line, 10);
10
11
  if (status === 1 && lineNumber > totalLines) {
11
- // Find the first valid line number not already used
12
12
  for (let randomLine = 1; randomLine <= totalLines; randomLine++) {
13
13
  if (!usedLines.has(randomLine)) {
14
14
  updatedLines[randomLine.toString()] = status;
@@ -1 +1 @@
1
- {"version":3,"file":"setCoveredLines.js","sourceRoot":"","sources":["../../src/helpers/setCoveredLines.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAgB,EAChB,QAAgB,EAChB,KAA6B;IAE7B,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEtC,IAAI,MAAM,KAAK,CAAC,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;YAC5C,oDAAoD;YACpD,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,IAAI,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;gBAChE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/B,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC;oBAC7C,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC1B,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YAC5B,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"setCoveredLines.js","sourceRoot":"","sources":["../../src/helpers/setCoveredLines.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,QAAgB,EAChB,KAA6B;IAE7B,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAClE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAC1C,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEtC,IAAI,MAAM,KAAK,CAAC,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;YAC5C,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,IAAI,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;gBAChE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/B,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC;oBAC7C,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC1B,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YAC5B,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -4,7 +4,7 @@ import { getCoverageHandler } from '../handlers/getCoverageHandler.js';
4
4
  import { getPackageDirectories } from './getPackageDirectories.js';
5
5
  import { findFilePath } from './findFilePath.js';
6
6
  import { generateReport } from './generateReport.js';
7
- import { renumberLines } from './setCoveredLines.js';
7
+ import { setCoveredLines } from './setCoveredLines.js';
8
8
  export async function transformDeployCoverageReport(data, format) {
9
9
  const warnings = [];
10
10
  let filesProcessed = 0;
@@ -20,15 +20,9 @@ export async function transformDeployCoverageReport(data, format) {
20
20
  warnings.push(`The file name ${formattedFileName} was not found in any package directory.`);
21
21
  continue;
22
22
  }
23
- const uncoveredLines = Object.keys(fileInfo.s)
24
- .filter((lineNumber) => fileInfo.s[lineNumber] === 0)
25
- .map(Number);
26
- const coveredLines = Object.keys(fileInfo.s)
27
- .filter((lineNumber) => fileInfo.s[lineNumber] === 1)
28
- .map(Number);
29
- const updatedLines = await renumberLines(relativeFilePath, repoRoot, fileInfo.s);
30
- fileInfo.s = updatedLines; // Safe reassignment outside the function
31
- handler.processFile(relativeFilePath, formattedFileName, fileInfo.s, uncoveredLines, coveredLines);
23
+ const updatedLines = await setCoveredLines(relativeFilePath, repoRoot, fileInfo.s);
24
+ fileInfo.s = updatedLines;
25
+ handler.processFile(relativeFilePath, formattedFileName, fileInfo.s);
32
26
  filesProcessed++;
33
27
  }
34
28
  const coverageObj = handler.finalize();
@@ -1 +1 @@
1
- {"version":3,"file":"transformDeployCoverageReport.js","sourceRoot":"","sources":["../../src/helpers/transformDeployCoverageReport.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,IAAwB,EACxB,MAAc;IAEd,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACvE,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE3C,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,SAAS;QAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC/D,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAE7F,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,iBAAiB,0CAA0C,CAAC,CAAC;YAC5F,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC3C,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,MAAM,CAAC,CAAC;QACf,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;aACzC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,MAAM,CAAC,CAAC;QAEf,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjF,QAAQ,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,yCAAyC;QAGpE,OAAO,CAAC,WAAW,CACjB,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,CAAC,CAAC,EACV,cAAc,EACd,YAAY,CACb,CAAC;QACF,cAAc,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEhD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"transformDeployCoverageReport.js","sourceRoot":"","sources":["../../src/helpers/transformDeployCoverageReport.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,IAAwB,EACxB,MAAc;IAEd,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACvE,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE3C,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,SAAS;QAE7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC/D,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAE7F,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,iBAAiB,0CAA0C,CAAC,CAAC;YAC5F,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnF,QAAQ,CAAC,CAAC,GAAG,YAAY,CAAC;QAE1B,OAAO,CAAC,WAAW,CACjB,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,CAAC,CAAC,CACX,CAAC;QACF,cAAc,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEhD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AAC3C,CAAC"}
@@ -24,13 +24,7 @@ export async function transformTestCoverageReport(testCoverageData, format) {
24
24
  warnings.push(`The file name ${formattedFileName} was not found in any package directory.`);
25
25
  continue;
26
26
  }
27
- const uncoveredLines = Object.entries(lines)
28
- .filter(([, isCovered]) => isCovered === 0)
29
- .map(([lineNumber]) => Number(lineNumber));
30
- const coveredLines = Object.entries(lines)
31
- .filter(([, isCovered]) => isCovered === 1)
32
- .map(([lineNumber]) => Number(lineNumber));
33
- handler.processFile(relativeFilePath, formattedFileName, lines, uncoveredLines, coveredLines);
27
+ handler.processFile(relativeFilePath, formattedFileName, lines);
34
28
  filesProcessed++;
35
29
  }
36
30
  const coverageObj = handler.finalize();
@@ -1 +1 @@
1
- {"version":3,"file":"transformTestCoverageReport.js","sourceRoot":"","sources":["../../src/helpers/transformTestCoverageReport.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,gBAAoC,EACpC,MAAc;IAEd,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACvE,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE3C,IAAI,YAAY,GAAG,gBAAgB,CAAC;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,YAAY,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,8BAA8B;IAC/D,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC;QAE1B,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;YAAE,SAAS;QAE9B,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAE7F,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,iBAAiB,0CAA0C,CAAC,CAAC;YAC5F,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAE7C,OAAO,CAAC,WAAW,CACjB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,EACL,cAAc,EACd,YAAY,CACb,CAAC;QAEF,cAAc,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEhD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"transformTestCoverageReport.js","sourceRoot":"","sources":["../../src/helpers/transformTestCoverageReport.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,gBAAoC,EACpC,MAAc;IAEd,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACvE,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE3C,IAAI,YAAY,GAAG,gBAAgB,CAAC;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,YAAY,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,8BAA8B;IAC/D,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC;QAE1B,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;YAAE,SAAS;QAE9B,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAE7F,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,iBAAiB,0CAA0C,CAAC,CAAC;YAC5F,SAAS;QACX,CAAC;QAED,OAAO,CAAC,WAAW,CACjB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,CACN,CAAC;QACF,cAAc,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEhD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AAC3C,CAAC"}
@@ -144,7 +144,7 @@ export type CloverCoverageObject = {
144
144
  };
145
145
  };
146
146
  export type CoverageHandler = {
147
- processFile(filePath: string, fileName: string, lines: Record<string, number>, uncoveredLines: number[], coveredLines: number[]): void;
147
+ processFile(filePath: string, fileName: string, lines: Record<string, number>): void;
148
148
  finalize(): SonarCoverageObject | CoberturaCoverageObject | CloverCoverageObject | LcovCoverageObject;
149
149
  };
150
150
  type LcovLine = {
@@ -85,5 +85,5 @@
85
85
  ]
86
86
  }
87
87
  },
88
- "version": "2.5.1"
88
+ "version": "2.5.2"
89
89
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "apex-code-coverage-transformer",
3
3
  "description": "Transforms the Apex code coverage JSON created during Salesforce deployments and test runs into SonarQube, Clover, LCovOnly, or Cobertura format.",
4
- "version": "2.5.1",
4
+ "version": "2.5.2",
5
5
  "dependencies": {
6
6
  "@oclif/core": "^4.0.37",
7
7
  "@salesforce/core": "^8.8.0",