apex-code-coverage-transformer 2.9.0 → 2.10.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 CHANGED
@@ -5,6 +5,19 @@
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.10.0](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.9.0...v2.10.0) (2025-02-26)
9
+
10
+
11
+ ### Features
12
+
13
+ * dynamically determine cobertura package names from file paths ([cbf63df](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/cbf63dfc44ec79c9ec4e58bdc68bb9458f925e4f))
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * **deps:** bump @oclif/core from 4.2.6 to 4.2.8 ([b838b3f](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/b838b3f6a47eb8fee04d6d8a1321fc82c949cfe4))
19
+ * **deps:** bump @salesforce/core from 8.8.2 to 8.8.3 ([c395e9c](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/c395e9cf8e38fdd606b594589376b9670e7f220c))
20
+
8
21
  ## [2.9.0](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.8.7...v2.9.0) (2025-02-16)
9
22
 
10
23
 
package/README.md CHANGED
@@ -7,10 +7,10 @@
7
7
  <summary>Table of Contents</summary>
8
8
 
9
9
  - [Install](#install)
10
- - [Who is the Plugin For?](#who-is-the-plugin-for)
11
- - [Creating Code Coverage Files with the Salesforce CLI](#creating-code-coverage-files-with-the-salesforce-cli)
12
- - [Creating Code Coverage Files with SFDX Hardis](#creating-code-coverage-files-with-sfdx-hardis)
13
- - [What this Plugin fixes in the Salesforce CLI Coverage Reports](#what-this-plugin-fixes-in-the-salesforce-cli-coverage-reports)
10
+ - [Usage](#usage)
11
+ - [Salesforce CLI](#salesforce-cli)
12
+ - [SFDX Hardis](#sfdx-hardis)
13
+ - [What This Fixes](#what-this-fixes)
14
14
  - [Command](#command)
15
15
  - [`sf acc-transformer transform`](#sf-acc-transformer-transform)
16
16
  - [Coverage Report Formats](#coverage-report-formats)
@@ -31,17 +31,19 @@ If there's a coverage format not yet supported by this plugin, feel free to prov
31
31
  sf plugins install apex-code-coverage-transformer@x.y.z
32
32
  ```
33
33
 
34
- ## Who is the Plugin For?
34
+ ## Usage
35
35
 
36
- This plugin is intended for users who deploy their Apex classes and triggers from any Salesforce DX project (`sfdx-project.json` file). You should be running this plugin somewhere inside your Salesforce DX project. This plugin searches for your project's `sfdx-project.json` file to know which package directories to search into.
36
+ This plugin is intended for users who deploy their Apex or invoke Apex tests in their orgs from any Salesforce DX project (`sfdx-project.json` file) and would like to import the code coverage reports into external tools. The code coverage reports created by the Salesforce CLI aren't accepted automatically by external tools and needs to be transformed using this plugin.
37
37
 
38
38
  This plugin will work regardless of your testing strategy (running all tests, running specified tests, running all local tests). The files in the original coverage JSON has to be found in one of the package directories to be added to the final report. This ensures external tools like SonarQube can match files in the coverage report to a file in the project.
39
39
 
40
40
  When the plugin is unable to find a matching Apex file in your project (i.e. Apex from managed and unlocked packages), it will print a warning and not add that file's coverage data to the final coverage report. See [Debugging](#debugging) for more information.
41
41
 
42
- ## Creating Code Coverage Files with the Salesforce CLI
42
+ You should run this plugin after you deploy or invoke Apex tests in your org either using the Salesforce CLI or sfdx-hardis. See [Hook](#hook) if you'd like to automatically transform the coverage JSON after you run Salesforce CLI or sfdx-hardis commands.
43
43
 
44
- **This tool will only support the "json" coverage format from the Salesforce CLI. Do not use other coverage formats from the Salesforce CLI.**
44
+ ### Salesforce CLI
45
+
46
+ **This plugin will only support the "json" coverage format from the Salesforce CLI. Do not use other coverage formats from the Salesforce CLI.**
45
47
 
46
48
  To create the code coverage JSON when deploying or validating, append `--coverage-formatters json --results-dir "coverage"` to the `sf project deploy` command. This will create a coverage JSON in this relative path - `coverage/coverage/coverage.json`.
47
49
 
@@ -56,15 +58,13 @@ sf apex run test --code-coverage --output-dir "coverage"
56
58
  sf apex get test --test-run-id <test run id> --code-coverage --output-dir "coverage"
57
59
  ```
58
60
 
59
- The code coverage JSONs created by the Salesforce CLI aren't accepted automatically for Salesforce DX projects and needs to be converted using this plugin.
60
-
61
- ## Creating Code Coverage Files with SFDX Hardis
61
+ ### SFDX Hardis
62
62
 
63
63
  This plugin can be used after running [sfdx-hardis](https://github.com/hardisgroupcom/sfdx-hardis) commands `hardis:project:deploy:smart` (only if `COVERAGE_FORMATTER_JSON=true` environment variable is defined) and `hardis:org:test:apex` assuming you have sfdx-hardis and this plugin installed.
64
64
 
65
65
  Both hardis commands will create the code coverage JSON to transform here: `hardis-report/apex-coverage-results.json`. Provide this relative path as the `--coverage-json`/`-j` input for this plugin.
66
66
 
67
- ## What this Plugin fixes in the Salesforce CLI Coverage Reports
67
+ ## What this fixes
68
68
 
69
69
  - The coverage reports created by this plugin will add correct file-paths per your Salesforce DX project. Salesforce CLI coverage reports have the `no-map/` prefix hard-coded into their coverage reports. The coverage report created in this plugin will only contain Apex coverage results against files found in your Salesforce DX project, allowing you to use these reports in external code quality tools like SonarQube.
70
70
  - Normalizes the coverage reports created by the Salesforce CLI deploy and test command. The coverage reports created by both CLI commands follow different formats and have different coverage format options. These differences cause issues when trying to have external tools like SonarQube parse the coverage reports. This plugin handles parsing both command coverage reports and converting them into common formats accepted by external tools like SonarQube and GitLab.
@@ -95,7 +95,7 @@ FLAGS
95
95
  [default: "coverage.[xml/info]"]
96
96
  -f, --format=<value> Output format for the code coverage format.
97
97
  [default: "sonar"]
98
- -i, --ignore-package-directory=<value> Package directories to ignore when looking for matching files in the coverage report.
98
+ -i, --ignore-package-directory=<value> Package directory to ignore when looking for matching files in the coverage report.
99
99
  Should be as they appear in the "sfdx-project.json".
100
100
  Can be declared multiple times.
101
101
 
@@ -1,7 +1,7 @@
1
1
  import { CoberturaCoverageObject, CoverageHandler } from '../helpers/types.js';
2
2
  export declare class CoberturaCoverageHandler 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(): CoberturaCoverageObject;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  export class CoberturaCoverageHandler {
3
3
  coverageObj;
4
- packageObj;
4
+ packageMap;
5
5
  constructor() {
6
6
  this.coverageObj = {
7
7
  coverage: {
@@ -18,15 +18,19 @@ export class CoberturaCoverageHandler {
18
18
  packages: { package: [] },
19
19
  },
20
20
  };
21
- this.packageObj = {
22
- '@name': 'main',
23
- '@line-rate': 0,
24
- '@branch-rate': 1,
25
- classes: { class: [] },
26
- };
27
- this.coverageObj.coverage.packages.package.push(this.packageObj);
21
+ this.packageMap = new Map();
28
22
  }
29
23
  processFile(filePath, fileName, lines) {
24
+ const packageName = filePath.split('/')[0]; // Extract root directory as package name
25
+ if (!this.packageMap.has(packageName)) {
26
+ this.packageMap.set(packageName, {
27
+ '@name': packageName,
28
+ '@line-rate': 0,
29
+ '@branch-rate': 1,
30
+ classes: { class: [] },
31
+ });
32
+ }
33
+ const packageObj = this.packageMap.get(packageName);
30
34
  const classObj = {
31
35
  '@name': fileName,
32
36
  '@filename': filePath,
@@ -50,24 +54,26 @@ export class CoberturaCoverageHandler {
50
54
  '@branch': 'false',
51
55
  });
52
56
  }
53
- // Calculate and set the line rate for this class
54
57
  if (totalLines > 0) {
55
- const lineRate = (coveredLineCount / totalLines).toFixed(4);
56
- classObj['@line-rate'] = lineRate;
58
+ classObj['@line-rate'] = (coveredLineCount / totalLines).toFixed(4);
57
59
  }
58
60
  this.coverageObj.coverage['@lines-valid'] += totalLines;
59
61
  this.coverageObj.coverage['@lines-covered'] += coveredLineCount;
60
- this.packageObj['@line-rate'] = Number((this.coverageObj.coverage['@lines-covered'] / this.coverageObj.coverage['@lines-valid']).toFixed(4));
61
- this.coverageObj.coverage['@line-rate'] = this.packageObj['@line-rate'];
62
- this.packageObj.classes.class.push(classObj);
62
+ packageObj.classes.class.push(classObj);
63
+ this.packageMap.set(packageName, packageObj);
63
64
  }
64
65
  finalize() {
65
- if (this.coverageObj.coverage?.packages?.package) {
66
- this.coverageObj.coverage.packages.package.sort((a, b) => a['@name'].localeCompare(b['@name']));
67
- for (const pkg of this.coverageObj.coverage.packages.package) {
68
- if (pkg.classes?.class) {
69
- pkg.classes.class.sort((a, b) => a['@filename'].localeCompare(b['@filename']));
70
- }
66
+ this.coverageObj.coverage.packages.package = Array.from(this.packageMap.values());
67
+ for (const pkg of this.coverageObj.coverage.packages.package) {
68
+ const totalLines = pkg.classes.class.reduce((sum, cls) => sum + parseFloat(cls['@line-rate']) * cls.lines.line.length, 0);
69
+ const totalClasses = pkg.classes.class.reduce((sum, cls) => sum + cls.lines.line.length, 0);
70
+ pkg['@line-rate'] = totalClasses > 0 ? parseFloat((totalLines / totalClasses).toFixed(4)) : 0;
71
+ }
72
+ this.coverageObj.coverage['@line-rate'] = parseFloat((this.coverageObj.coverage['@lines-covered'] / this.coverageObj.coverage['@lines-valid']).toFixed(4));
73
+ this.coverageObj.coverage.packages.package.sort((a, b) => a['@name'].localeCompare(b['@name']));
74
+ for (const pkg of this.coverageObj.coverage.packages.package) {
75
+ if (pkg.classes?.class) {
76
+ pkg.classes.class.sort((a, b) => a['@filename'].localeCompare(b['@filename']));
71
77
  }
72
78
  }
73
79
  return this.coverageObj;
@@ -1 +1 @@
1
- {"version":3,"file":"coberturaCoverageHandler.js","sourceRoot":"","sources":["../../src/handlers/coberturaCoverageHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAIb,MAAM,OAAO,wBAAwB;IAClB,WAAW,CAA0B;IAC9C,UAAU,CAAmB;IAErC;QACE,IAAI,CAAC,WAAW,GAAG;YACjB,QAAQ,EAAE;gBACR,cAAc,EAAE,CAAC;gBACjB,gBAAgB,EAAE,CAAC;gBACnB,YAAY,EAAE,CAAC;gBACf,iBAAiB,EAAE,CAAC;gBACpB,mBAAmB,EAAE,CAAC;gBACtB,cAAc,EAAE,CAAC;gBACjB,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;gBACxB,aAAa,EAAE,CAAC;gBAChB,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE;gBAC1B,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;aAC1B;SACF,CAAC;QACF,IAAI,CAAC,UAAU,GAAG;YAChB,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;SACvB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAEM,WAAW,CAChB,QAAgB,EAChB,QAAgB,EAChB,KAA6B;QAE7B,MAAM,QAAQ,GAAmB;YAC/B,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,QAAQ;YACrB,YAAY,EAAE,GAAG;YACjB,cAAc,EAAE,GAAG;YACnB,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;SACpB,CAAC;QAEF,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,UAAU,GAAG,cAAc,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAC/D,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC;QAE7C,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvB,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC;gBAC7B,OAAO,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,SAAS,EAAE,OAAO;aACnB,CAAC,CAAC;QACL,CAAC;QAED,iDAAiD;QACjD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,CAAC,gBAAgB,GAAG,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5D,QAAQ,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC;QAEhE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,MAAM,CACpC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACrG,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAExE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAEM,QAAQ;QACb,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YACjD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACvD,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CACrC,CAAC;YACF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC7D,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;oBACvB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC9B,CAAC,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAC7C,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"coberturaCoverageHandler.js","sourceRoot":"","sources":["../../src/handlers/coberturaCoverageHandler.ts"],"names":[],"mappings":"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"}
package/oclif.lock CHANGED
@@ -1458,10 +1458,10 @@
1458
1458
  "@jridgewell/resolve-uri" "^3.1.0"
1459
1459
  "@jridgewell/sourcemap-codec" "^1.4.14"
1460
1460
 
1461
- "@jsforce/jsforce-node@^3.6.1":
1462
- version "3.6.2"
1463
- resolved "https://registry.yarnpkg.com/@jsforce/jsforce-node/-/jsforce-node-3.6.2.tgz#5d8509aaeb161f1d6658e4ce737948a04d3ce3a6"
1464
- integrity sha512-bBWRCZl4kVRnYLHRSzl4piqowM3GeTW2yBoKo+WnMGAw36uGjyMq/9z9yAaA+0AmpHFaI4po7/0PrAMdEU/AGA==
1461
+ "@jsforce/jsforce-node@^3.6.5":
1462
+ version "3.6.5"
1463
+ resolved "https://registry.yarnpkg.com/@jsforce/jsforce-node/-/jsforce-node-3.6.5.tgz#d8a4097b46348b6b5001da66d616b3e9c7efb59f"
1464
+ integrity sha512-XqYOCgqET9XYhwI3wmrg4oMRzKkTqy0ua8aopMQRMGT2QVuq2IBfRTSrfoMa129lqJvNy7XXA4ntXQJkKI/VqQ==
1465
1465
  dependencies:
1466
1466
  "@sindresorhus/is" "^4"
1467
1467
  base64url "^3.0.1"
@@ -1495,13 +1495,13 @@
1495
1495
  "@nodelib/fs.scandir" "2.1.5"
1496
1496
  fastq "^1.6.0"
1497
1497
 
1498
- "@oclif/core@^4", "@oclif/core@^4.2.3", "@oclif/core@^4.2.4", "@oclif/core@^4.2.6":
1499
- version "4.2.6"
1500
- resolved "https://registry.yarnpkg.com/@oclif/core/-/core-4.2.6.tgz#f2f1696be03a815a4c391504312f90fce29fbb4e"
1501
- integrity sha512-agk1Tlm7qMemWx+qq5aNgkYwX2JCkoVP4M0ruFveJrarmdUPbKZTMW1j/eg8lNKZh1sp68ytZyKhYXYEfRPcww==
1498
+ "@oclif/core@^4", "@oclif/core@^4.2.3", "@oclif/core@^4.2.4", "@oclif/core@^4.2.8":
1499
+ version "4.2.8"
1500
+ resolved "https://registry.yarnpkg.com/@oclif/core/-/core-4.2.8.tgz#6e71c76b8ea91064ffc8390a3fd2502c5d32a3db"
1501
+ integrity sha512-OWv4Va6bERxIhrYcnUGzyhGRqktc64lJO6cZ3UwkzJDpfR8ZrbCxRfKRBBah1i8kzUlOAeAXnpbMBMah3skKwA==
1502
1502
  dependencies:
1503
1503
  ansi-escapes "^4.3.2"
1504
- ansis "^3.10.0"
1504
+ ansis "^3.16.0"
1505
1505
  clean-stack "^3.0.1"
1506
1506
  cli-spinners "^2.9.2"
1507
1507
  debug "^4.4.0"
@@ -1519,14 +1519,14 @@
1519
1519
  wordwrap "^1.0.0"
1520
1520
  wrap-ansi "^7.0.0"
1521
1521
 
1522
- "@oclif/plugin-command-snapshot@^5.2.33":
1523
- version "5.2.33"
1524
- resolved "https://registry.yarnpkg.com/@oclif/plugin-command-snapshot/-/plugin-command-snapshot-5.2.33.tgz#98211b0eebe3f38095b15ee064d38c278728f9ae"
1525
- integrity sha512-jDTg0zVVm7FPnB7tdmAAh8IxGc1MOa5RzNkIbt5jykGx8mTDjELKHy97624QjSn0LafOXvhFGIv44lRr0zWkOA==
1522
+ "@oclif/plugin-command-snapshot@^5.2.35":
1523
+ version "5.2.35"
1524
+ resolved "https://registry.yarnpkg.com/@oclif/plugin-command-snapshot/-/plugin-command-snapshot-5.2.35.tgz#19eacd8180772d9f172606edf3d6c99522fecbb3"
1525
+ integrity sha512-8A7iJ7tg2ZvyMG63sBOvdPIPq7RmggIdeACA0p6NfwzDI9mRL94v78m/6whqJKTUuzcERIIO+L2hwxPbBKwdGw==
1526
1526
  dependencies:
1527
1527
  "@oclif/core" "^4"
1528
- ansis "^3.10.0"
1529
- globby "^14.0.2"
1528
+ ansis "^3.14.0"
1529
+ globby "^14.1.0"
1530
1530
  just-diff "^5.2.0"
1531
1531
  lodash.difference "^4.5.0"
1532
1532
  lodash.get "^4.4.2"
@@ -1654,12 +1654,12 @@
1654
1654
  strip-ansi "6.0.1"
1655
1655
  ts-retry-promise "^0.8.1"
1656
1656
 
1657
- "@salesforce/core@^8.5.1", "@salesforce/core@^8.8.0", "@salesforce/core@^8.8.2":
1658
- version "8.8.2"
1659
- resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.8.2.tgz#0fc1632cc183b8c62e333f1f884bf3ee0f4aee6e"
1660
- integrity sha512-EOH75R2Nr2tg7b3gbyzRNwZPfZ/dZOpmMKmFHKL9oCtUI59+N4IkVljg6dpKYypVKuJJTzjI7T2ibnA8/cluZg==
1657
+ "@salesforce/core@^8.5.1", "@salesforce/core@^8.8.0", "@salesforce/core@^8.8.2", "@salesforce/core@^8.8.3":
1658
+ version "8.8.3"
1659
+ resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.8.3.tgz#a764f1cf5f07b0a57d68c80d0d0a94bc95a7c97a"
1660
+ integrity sha512-2yzDs+qGIFCeUtXcB6rOCZbBftqFH3492CfAlP1KSK8xY16wH38SAvW0RsuepetA2UBOZhwx7R4uyHKDn26Png==
1661
1661
  dependencies:
1662
- "@jsforce/jsforce-node" "^3.6.1"
1662
+ "@jsforce/jsforce-node" "^3.6.5"
1663
1663
  "@salesforce/kit" "^3.2.2"
1664
1664
  "@salesforce/schemas" "^1.9.0"
1665
1665
  "@salesforce/ts-types" "^2.0.10"
@@ -2741,17 +2741,7 @@ ajv@^6.12.4:
2741
2741
  json-schema-traverse "^0.4.1"
2742
2742
  uri-js "^4.2.2"
2743
2743
 
2744
- ajv@^8.11.0:
2745
- version "8.12.0"
2746
- resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz"
2747
- integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
2748
- dependencies:
2749
- fast-deep-equal "^3.1.1"
2750
- json-schema-traverse "^1.0.0"
2751
- require-from-string "^2.0.2"
2752
- uri-js "^4.2.2"
2753
-
2754
- ajv@^8.17.1:
2744
+ ajv@^8.11.0, ajv@^8.17.1:
2755
2745
  version "8.17.1"
2756
2746
  resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6"
2757
2747
  integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==
@@ -2816,10 +2806,10 @@ ansi-styles@^6.0.0, ansi-styles@^6.1.0, ansi-styles@^6.2.1:
2816
2806
  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
2817
2807
  integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
2818
2808
 
2819
- ansis@^3.10.0, ansis@^3.3.2, ansis@^3.5.2:
2820
- version "3.12.0"
2821
- resolved "https://registry.yarnpkg.com/ansis/-/ansis-3.12.0.tgz#e86e869e000426b0ce523f118ffa8b4fbfa74d86"
2822
- integrity sha512-SxhlInpMkv9QCyI2yHyrhVrTF8dH93M/S86DT5f9brFgr92uJLOCg0RNmtx3YKWKcRmNAaU+gyUfHMdUiqxvFw==
2809
+ ansis@^3.10.0, ansis@^3.14.0, ansis@^3.16.0, ansis@^3.3.2, ansis@^3.5.2:
2810
+ version "3.16.0"
2811
+ resolved "https://registry.yarnpkg.com/ansis/-/ansis-3.16.0.tgz#5e365fd173133756a01199c77fc9146bb22fb5eb"
2812
+ integrity sha512-sU7d/tfZiYrsIAXbdL/CNZld5bCkruzwT5KmqmadCJYxuLxHAOBjidxD5+iLmN/6xEfjcQq1l7OpsiCBlc4LzA==
2823
2813
 
2824
2814
  anymatch@~3.1.2:
2825
2815
  version "3.1.3"
@@ -3078,6 +3068,13 @@ braces@^3.0.2, braces@~3.0.2:
3078
3068
  dependencies:
3079
3069
  fill-range "^7.0.1"
3080
3070
 
3071
+ braces@^3.0.3:
3072
+ version "3.0.3"
3073
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
3074
+ integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
3075
+ dependencies:
3076
+ fill-range "^7.1.1"
3077
+
3081
3078
  browser-stdout@^1.3.1:
3082
3079
  version "1.3.1"
3083
3080
  resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60"
@@ -4437,7 +4434,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
4437
4434
  resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
4438
4435
  integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
4439
4436
 
4440
- fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.2:
4437
+ fast-glob@^3.2.11, fast-glob@^3.2.9:
4441
4438
  version "3.3.2"
4442
4439
  resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz"
4443
4440
  integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==
@@ -4448,6 +4445,17 @@ fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.2:
4448
4445
  merge2 "^1.3.0"
4449
4446
  micromatch "^4.0.4"
4450
4447
 
4448
+ fast-glob@^3.3.3:
4449
+ version "3.3.3"
4450
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818"
4451
+ integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
4452
+ dependencies:
4453
+ "@nodelib/fs.stat" "^2.0.2"
4454
+ "@nodelib/fs.walk" "^1.2.3"
4455
+ glob-parent "^5.1.2"
4456
+ merge2 "^1.3.0"
4457
+ micromatch "^4.0.8"
4458
+
4451
4459
  fast-json-stable-stringify@^2.0.0:
4452
4460
  version "2.1.0"
4453
4461
  resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
@@ -4544,6 +4552,13 @@ fill-range@^7.0.1:
4544
4552
  dependencies:
4545
4553
  to-regex-range "^5.0.1"
4546
4554
 
4555
+ fill-range@^7.1.1:
4556
+ version "7.1.1"
4557
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
4558
+ integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
4559
+ dependencies:
4560
+ to-regex-range "^5.0.1"
4561
+
4547
4562
  find-cache-dir@^3.2.0:
4548
4563
  version "3.3.2"
4549
4564
  resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz"
@@ -4928,17 +4943,17 @@ globby@^11.1.0:
4928
4943
  merge2 "^1.4.1"
4929
4944
  slash "^3.0.0"
4930
4945
 
4931
- globby@^14.0.2:
4932
- version "14.0.2"
4933
- resolved "https://registry.yarnpkg.com/globby/-/globby-14.0.2.tgz#06554a54ccfe9264e5a9ff8eded46aa1e306482f"
4934
- integrity sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==
4946
+ globby@^14.1.0:
4947
+ version "14.1.0"
4948
+ resolved "https://registry.yarnpkg.com/globby/-/globby-14.1.0.tgz#138b78e77cf5a8d794e327b15dce80bf1fb0a73e"
4949
+ integrity sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==
4935
4950
  dependencies:
4936
4951
  "@sindresorhus/merge-streams" "^2.1.0"
4937
- fast-glob "^3.3.2"
4938
- ignore "^5.2.4"
4939
- path-type "^5.0.0"
4952
+ fast-glob "^3.3.3"
4953
+ ignore "^7.0.3"
4954
+ path-type "^6.0.0"
4940
4955
  slash "^5.1.0"
4941
- unicorn-magic "^0.1.0"
4956
+ unicorn-magic "^0.3.0"
4942
4957
 
4943
4958
  gopd@^1.0.1:
4944
4959
  version "1.0.1"
@@ -5245,6 +5260,11 @@ ignore@^5.3.0:
5245
5260
  resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
5246
5261
  integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
5247
5262
 
5263
+ ignore@^7.0.3:
5264
+ version "7.0.3"
5265
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.3.tgz#397ef9315dfe0595671eefe8b633fec6943ab733"
5266
+ integrity sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==
5267
+
5248
5268
  immediate@~3.0.5:
5249
5269
  version "3.0.6"
5250
5270
  resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz"
@@ -6399,6 +6419,14 @@ micromatch@^4.0.2, micromatch@^4.0.4:
6399
6419
  braces "^3.0.2"
6400
6420
  picomatch "^2.3.1"
6401
6421
 
6422
+ micromatch@^4.0.8:
6423
+ version "4.0.8"
6424
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202"
6425
+ integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
6426
+ dependencies:
6427
+ braces "^3.0.3"
6428
+ picomatch "^2.3.1"
6429
+
6402
6430
  mime-db@1.52.0:
6403
6431
  version "1.52.0"
6404
6432
  resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
@@ -7001,10 +7029,10 @@ path-type@^4.0.0:
7001
7029
  resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
7002
7030
  integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
7003
7031
 
7004
- path-type@^5.0.0:
7005
- version "5.0.0"
7006
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-5.0.0.tgz#14b01ed7aea7ddf9c7c3f46181d4d04f9c785bb8"
7007
- integrity sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==
7032
+ path-type@^6.0.0:
7033
+ version "6.0.0"
7034
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-6.0.0.tgz#2f1bb6791a91ce99194caede5d6c5920ed81eb51"
7035
+ integrity sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==
7008
7036
 
7009
7037
  pathval@^1.1.1:
7010
7038
  version "1.1.1"
@@ -8540,6 +8568,11 @@ unicorn-magic@^0.1.0:
8540
8568
  resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4"
8541
8569
  integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==
8542
8570
 
8571
+ unicorn-magic@^0.3.0:
8572
+ version "0.3.0"
8573
+ resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz#4efd45c85a69e0dd576d25532fbfa22aa5c8a104"
8574
+ integrity sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==
8575
+
8543
8576
  unist-util-is@^6.0.0:
8544
8577
  version "6.0.0"
8545
8578
  resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424"
@@ -96,5 +96,5 @@
96
96
  ]
97
97
  }
98
98
  },
99
- "version": "2.9.0"
99
+ "version": "2.10.0"
100
100
  }
package/package.json CHANGED
@@ -1,10 +1,10 @@
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.9.0",
4
+ "version": "2.10.0",
5
5
  "dependencies": {
6
- "@oclif/core": "^4.2.6",
7
- "@salesforce/core": "^8.8.0",
6
+ "@oclif/core": "^4.2.8",
7
+ "@salesforce/core": "^8.8.3",
8
8
  "@salesforce/sf-plugins-core": "^12.1.4",
9
9
  "async": "^3.2.6",
10
10
  "xmlbuilder2": "^3.1.1"
@@ -12,7 +12,7 @@
12
12
  "devDependencies": {
13
13
  "@commitlint/cli": "^19.7.1",
14
14
  "@commitlint/config-conventional": "^19.7.1",
15
- "@oclif/plugin-command-snapshot": "^5.2.33",
15
+ "@oclif/plugin-command-snapshot": "^5.2.35",
16
16
  "@salesforce/cli-plugins-testkit": "^5.3.39",
17
17
  "@salesforce/dev-scripts": "^10.2.11",
18
18
  "@types/async": "^3.2.24",