apex-code-coverage-transformer 2.9.0 → 2.11.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 +26 -0
- package/README.md +67 -56
- package/lib/handlers/coberturaCoverageHandler.d.ts +1 -1
- package/lib/handlers/coberturaCoverageHandler.js +26 -20
- package/lib/handlers/coberturaCoverageHandler.js.map +1 -1
- package/lib/helpers/types.d.ts +1 -0
- package/lib/hooks/postrun.js +16 -1
- package/lib/hooks/postrun.js.map +1 -1
- package/oclif.lock +99 -66
- package/oclif.manifest.json +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,32 @@
|
|
|
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.11.0](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.10.0...v2.11.0) (2025-03-07)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* include ignore package directories flag in hook ([fded594](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/fded594ccb229035aecfa426da972c5819a212a5))
|
|
14
|
+
* include ignore package directories flag in hook ([a7294a4](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/a7294a47a85141d4b1d0e21854ac14d4f19b9e14))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **deps:** bump @salesforce/sf-plugins-core from 12.1.4 to 12.2.0 ([b96e83c](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/b96e83cc28c5f3ae82422c069fa157caa5e805b1))
|
|
20
|
+
|
|
21
|
+
## [2.10.0](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.9.0...v2.10.0) (2025-02-26)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Features
|
|
25
|
+
|
|
26
|
+
* dynamically determine cobertura package names from file paths ([cbf63df](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/cbf63dfc44ec79c9ec4e58bdc68bb9458f925e4f))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Bug Fixes
|
|
30
|
+
|
|
31
|
+
* **deps:** bump @oclif/core from 4.2.6 to 4.2.8 ([b838b3f](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/b838b3f6a47eb8fee04d6d8a1321fc82c949cfe4))
|
|
32
|
+
* **deps:** bump @salesforce/core from 8.8.2 to 8.8.3 ([c395e9c](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/c395e9cf8e38fdd606b594589376b9670e7f220c))
|
|
33
|
+
|
|
8
34
|
## [2.9.0](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.8.7...v2.9.0) (2025-02-16)
|
|
9
35
|
|
|
10
36
|
|
package/README.md
CHANGED
|
@@ -7,21 +7,21 @@
|
|
|
7
7
|
<summary>Table of Contents</summary>
|
|
8
8
|
|
|
9
9
|
- [Install](#install)
|
|
10
|
-
- [
|
|
11
|
-
- [
|
|
12
|
-
- [
|
|
13
|
-
- [
|
|
10
|
+
- [Usage](#usage)
|
|
11
|
+
- [Salesforce CLI](#salesforce-cli)
|
|
12
|
+
- [SFDX Hardis](#sfdx-hardis)
|
|
13
|
+
- [Fixes and Enhancements](#fixes-and-enhancements)
|
|
14
14
|
- [Command](#command)
|
|
15
15
|
- [`sf acc-transformer transform`](#sf-acc-transformer-transform)
|
|
16
16
|
- [Coverage Report Formats](#coverage-report-formats)
|
|
17
17
|
- [Hook](#hook)
|
|
18
|
-
- [
|
|
19
|
-
- [Contributing](#contributing)
|
|
18
|
+
- [Troubleshooting](#troubleshooting)
|
|
20
19
|
- [Issues](#issues)
|
|
20
|
+
- [Contributing](#contributing)
|
|
21
21
|
- [License](#license)
|
|
22
22
|
</details>
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Transform the Salesforce Apex code coverage JSON files created during deployments and test runs into other [formats](#coverage-report-formats) accepted by SonarQube, GitHub, GitLab, Azure, Bitbucket, etc.
|
|
25
25
|
|
|
26
26
|
If there's a coverage format not yet supported by this plugin, feel free to provide a pull request or issue for the coverage format.
|
|
27
27
|
|
|
@@ -31,22 +31,22 @@ 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
|
-
##
|
|
34
|
+
## Usage
|
|
35
35
|
|
|
36
|
-
This plugin is
|
|
36
|
+
This plugin is designed for users deploying Apex or running Apex tests within Salesforce DX projects (`sfdx-project.json`). It transforms Salesforce CLI JSON coverage reports into formats recognized by external tools.
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
The plugin ensures that coverage data is only reported for files found in your package directories, preventing mismatches in tools like SonarQube. If Apex files are missing from your project (i.e. Apex from managed or unlocked packages), they will be excluded from the transformed report with a [warning](#troubleshooting).
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
To automate coverage transformation after deployments or test executions, see [Hook](#hook).
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
### Salesforce CLI
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
> This plugin will only support the "json" coverage format from the Salesforce CLI. Do not use other coverage formats from the Salesforce CLI.
|
|
45
45
|
|
|
46
46
|
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
47
|
|
|
48
48
|
```
|
|
49
|
-
sf project deploy [start/validate] --coverage-formatters json --results-dir "coverage"
|
|
49
|
+
sf project deploy [start/validate/report/resume] --coverage-formatters json --results-dir "coverage"
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
To create the code coverage JSON when running tests directly in the org, append `--code-coverage --output-dir "coverage"` to the `sf apex run test` or `sf apex get test` command. This will create the code coverage JSON in this relative path - `coverage/test-result-codecoverage.json`
|
|
@@ -56,26 +56,28 @@ sf apex run test --code-coverage --output-dir "coverage"
|
|
|
56
56
|
sf apex get test --test-run-id <test run id> --code-coverage --output-dir "coverage"
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
### SFDX Hardis
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
This plugin can be used after running the below [sfdx-hardis](https://github.com/hardisgroupcom/sfdx-hardis) commands:
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
- `sf hardis project deploy smart` (only if `COVERAGE_FORMATTER_JSON=true` environment variable is defined)
|
|
64
|
+
- `sf hardis org test apex`
|
|
64
65
|
|
|
65
|
-
Both hardis commands will create the code coverage JSON to transform here: `hardis-report/apex-coverage-results.json`.
|
|
66
|
+
Both hardis commands will create the code coverage JSON to transform here: `hardis-report/apex-coverage-results.json`.
|
|
66
67
|
|
|
67
|
-
|
|
68
|
+
### Fixes and Enhancements
|
|
68
69
|
|
|
69
|
-
-
|
|
70
|
-
- Normalizes
|
|
71
|
-
-
|
|
72
|
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
- To
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
70
|
+
- **Maps Apex file names** in the original coverage report (e.g., `no-map/AccountTriggerHandler`) to their corresponding relative file paths in the Salesforce DX project (e.g., `force-app/main/default/classes/AccountTriggerHandler.cls`).
|
|
71
|
+
- **Normalizes coverage reports** across both deploy and test commands, improving compatibility with external tools.
|
|
72
|
+
- **Adds additional coverage formats** not available in the default Salesforce CLI deploy and test commands.
|
|
73
|
+
- **"Fixes" inaccuracies** in Salesforce CLI deploy command coverage reports, such as:
|
|
74
|
+
- Out-of-range covered lines (e.g., line 100 reported as "covered" in a 98-line Apex class).
|
|
75
|
+
- Incorrect total line counts (e.g., 120 lines reported for a 100-line Apex class).
|
|
76
|
+
- To address these inaccuracies, the plugin includes a **re-numbering function** that only applies to deploy coverage reports. This function reassigns out-of-range `covered` lines to unused lines, ensuring reports are accepted by external tools.
|
|
77
|
+
- The `uncovered` lines are always correctly reported by the deploy command.
|
|
78
|
+
- Once Salesforce resolves the issue with the API that affects deploy command coverage reports, the re-numbering function will be removed in a future **breaking** release.
|
|
79
|
+
- See issues [5511](https://github.com/forcedotcom/salesforcedx-vscode/issues/5511) and [1568](https://github.com/forcedotcom/cli/issues/1568) for more details.
|
|
80
|
+
- **Note**: This does not affect coverage reports generated by the Salesforce CLI test commands.
|
|
79
81
|
|
|
80
82
|
## Command
|
|
81
83
|
|
|
@@ -95,7 +97,7 @@ FLAGS
|
|
|
95
97
|
[default: "coverage.[xml/info]"]
|
|
96
98
|
-f, --format=<value> Output format for the code coverage format.
|
|
97
99
|
[default: "sonar"]
|
|
98
|
-
-i, --ignore-package-directory=<value> Package
|
|
100
|
+
-i, --ignore-package-directory=<value> Package directory to ignore when looking for matching files in the coverage report.
|
|
99
101
|
Should be as they appear in the "sfdx-project.json".
|
|
100
102
|
Can be declared multiple times.
|
|
101
103
|
|
|
@@ -106,41 +108,51 @@ DESCRIPTION
|
|
|
106
108
|
Transform the Apex code coverage JSON file created by the Salesforce CLI deploy and test command into other formats accepted by SonarQube, GitHub, GitLab, Azure, Bitbucket, etc.
|
|
107
109
|
|
|
108
110
|
EXAMPLES
|
|
111
|
+
Transform the JSON into Sonar format:
|
|
112
|
+
|
|
109
113
|
$ sf acc-transformer transform -j "coverage.json" -r "coverage.xml" -f "sonar"
|
|
110
114
|
|
|
115
|
+
Transform the JSON into Cobertura format:
|
|
116
|
+
|
|
111
117
|
$ sf acc-transformer transform -j "coverage.json" -r "coverage.xml" -f "cobertura"
|
|
112
118
|
|
|
119
|
+
Transform the JSON into Clover format:
|
|
120
|
+
|
|
113
121
|
$ sf acc-transformer transform -j "coverage.json" -r "coverage.xml" -f "clover"
|
|
114
122
|
|
|
123
|
+
Transform the JSON into LCovOnly format:
|
|
124
|
+
|
|
115
125
|
$ sf acc-transformer transform -j "coverage.json" -r "coverage.info" -f "lcovonly"
|
|
116
126
|
|
|
127
|
+
Transform the JSON into Sonar format, ignoring Apex in the "force-app" directory:
|
|
128
|
+
|
|
117
129
|
$ sf acc-transformer transform -j "coverage.json" -i "force-app"
|
|
118
130
|
```
|
|
119
131
|
|
|
120
132
|
## Coverage Report Formats
|
|
121
133
|
|
|
122
|
-
The `-f`/`--format` flag allows you to specify the format of the coverage report.
|
|
134
|
+
The `-f`/`--format` flag allows you to specify the format of the transformed coverage report.
|
|
123
135
|
|
|
124
|
-
| Flag Option | Description | Example
|
|
125
|
-
| ----------- | ----------------------------------------------------------------------------------- |
|
|
126
|
-
| `sonar` | Generates a SonarQube-compatible coverage report. This is the default option. | [
|
|
127
|
-
| `clover` | Produces a Clover XML report format, commonly used with Atlassian tools. | [
|
|
128
|
-
| `lcovonly` | Outputs coverage data in LCOV format, useful for integrating with LCOV-based tools. | [
|
|
129
|
-
| `cobertura` | Creates a Cobertura XML report, a widely used format for coverage reporting. | [
|
|
130
|
-
| `jacoco` | Creates a JaCoCo XML report, the standard for Java projects. | [
|
|
136
|
+
| Flag Option | Description | Example |
|
|
137
|
+
| ----------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
138
|
+
| `sonar` | Generates a SonarQube-compatible coverage report. This is the default option. | [example](https://raw.githubusercontent.com/mcarvin8/apex-code-coverage-transformer/main/test/sonar_baseline.xml) |
|
|
139
|
+
| `clover` | Produces a Clover XML report format, commonly used with Atlassian tools. | [example](https://raw.githubusercontent.com/mcarvin8/apex-code-coverage-transformer/main/test/clover_baseline.xml) |
|
|
140
|
+
| `lcovonly` | Outputs coverage data in LCOV format, useful for integrating with LCOV-based tools. | [example](https://raw.githubusercontent.com/mcarvin8/apex-code-coverage-transformer/main/test/lcov_baseline.info) |
|
|
141
|
+
| `cobertura` | Creates a Cobertura XML report, a widely used format for coverage reporting. | [example](https://raw.githubusercontent.com/mcarvin8/apex-code-coverage-transformer/main/test/cobertura_baseline.xml) |
|
|
142
|
+
| `jacoco` | Creates a JaCoCo XML report, the standard for Java projects. | [example](https://raw.githubusercontent.com/mcarvin8/apex-code-coverage-transformer/main/test/jacoco_baseline.xml) |
|
|
131
143
|
|
|
132
144
|
## Hook
|
|
133
145
|
|
|
134
|
-
|
|
146
|
+
To enable automatic transformation after the below `sf` commands complete, create `.apexcodecovtransformer.config.json` in your project’s root directory.
|
|
135
147
|
|
|
136
|
-
- `sf project deploy start`
|
|
137
|
-
- `sf project deploy validate`
|
|
138
|
-
- `sf project deploy report`
|
|
139
|
-
- `sf project deploy resume`
|
|
148
|
+
- `sf project deploy [start/validate/report/resume]`
|
|
140
149
|
- `sf apex run test`
|
|
141
150
|
- `sf apex get test`
|
|
142
|
-
- `sf hardis project deploy smart`
|
|
143
|
-
-
|
|
151
|
+
- `sf hardis project deploy smart`
|
|
152
|
+
- only if `sfdx-hardis` is installed
|
|
153
|
+
- `COVERAGE_FORMATTER_JSON=true` must be set in the environment variables
|
|
154
|
+
- `sf hardis org test apex`
|
|
155
|
+
- only if `sfdx-hardis` is installed
|
|
144
156
|
|
|
145
157
|
You can copy the sample [Salesforce CLI .apexcodecovtransformer.config.json](https://raw.githubusercontent.com/mcarvin8/apex-code-coverage-transformer/main/defaults/salesforce-cli/.apexcodecovtransformer.config.json), which assumes you are running the Salesforce CLI commands and specifying the `--results-dir`/`--output-dir` directory as "coverage". Update this sample with your desired output report path and format.
|
|
146
158
|
|
|
@@ -151,21 +163,20 @@ The `.apexcodecovtransformer.config.json` follows this structure:
|
|
|
151
163
|
- `deployCoverageJsonPath` is required to use the hook after deploy commands and should be the path to the code coverage JSON created by the Salesforce CLI/SFDX Hardis deploy command. Recommend using a relative path.
|
|
152
164
|
- `testCoverageJsonPath` is required to use the hook after test commands and should be the path to the code coverage JSON created by the Salesforce CLI/SFDX Hardis test command. Recommend using a relative path.
|
|
153
165
|
- `outputReportPath` is optional and should be the path to the code coverage file created by this plugin. Recommend using a relative path. If this isn't provided, it will default to `coverage.[xml/info]` in the working directory.
|
|
154
|
-
- `format` is optional and should be the intended coverage report format created by this plugin. If this isn't provided, it will default to "sonar".
|
|
166
|
+
- `format` is optional and should be the intended coverage report [format](#coverage-report-formats) created by this plugin. If this isn't provided, it will default to "sonar".
|
|
167
|
+
- `ignorePackageDirectories` is optional and should be a comma-separated string of package directories to ignore when looking for matching files in the coverage report. Package directories should match how they appear in the `sfdx-project.json` file.
|
|
155
168
|
|
|
156
|
-
If
|
|
169
|
+
If `.apexcodecovtransformer.config.json` is missing, the hook will not run.
|
|
157
170
|
|
|
158
|
-
##
|
|
171
|
+
## Troubleshooting
|
|
159
172
|
|
|
160
|
-
Any file in the coverage JSON that isn't found in any package directory will result in this warning:
|
|
173
|
+
Any file in the coverage JSON that isn't found in any package directory will result in this warning and will not be added to the transformed report:
|
|
161
174
|
|
|
162
175
|
```
|
|
163
176
|
Warning: The file name AccountTrigger was not found in any package directory.
|
|
164
177
|
```
|
|
165
178
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
If none of the files listed in the coverage JSON were found in a package directory, the plugin will print an additional warning stating no files were processed. In this case, the output coverage report generated will be an empty file.
|
|
179
|
+
If none of the files listed in the coverage JSON were found in a package directory, the plugin will print an additional warning stating no files were processed. In this case, the transformed report generated will be an empty file.
|
|
169
180
|
|
|
170
181
|
```
|
|
171
182
|
Warning: The file name AccountTrigger was not found in any package directory.
|
|
@@ -191,13 +202,13 @@ Any ENOENT failures indicate that the plugin had issues finding one of the packa
|
|
|
191
202
|
Error (1): ENOENT: no such file or directory: {packageDirPath}
|
|
192
203
|
```
|
|
193
204
|
|
|
194
|
-
##
|
|
205
|
+
## Issues
|
|
195
206
|
|
|
196
|
-
|
|
207
|
+
If you encounter any issues or would like to suggest features, please create an [issue](https://github.com/mcarvin8/apex-code-coverage-transformer/issues).
|
|
197
208
|
|
|
198
|
-
##
|
|
209
|
+
## Contributing
|
|
199
210
|
|
|
200
|
-
|
|
211
|
+
Contributions are welcome! See [Contributing](https://github.com/mcarvin8/apex-code-coverage-transformer/blob/main/CONTRIBUTING.md).
|
|
201
212
|
|
|
202
213
|
## License
|
|
203
214
|
|
|
@@ -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
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
61
|
-
this.
|
|
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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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,
|
|
1
|
+
{"version":3,"file":"coberturaCoverageHandler.js","sourceRoot":"","sources":["../../src/handlers/coberturaCoverageHandler.ts"],"names":[],"mappings":"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"}
|
package/lib/helpers/types.d.ts
CHANGED
package/lib/hooks/postrun.js
CHANGED
|
@@ -7,7 +7,13 @@ import { getRepoRoot } from '../helpers/getRepoRoot.js';
|
|
|
7
7
|
export const postrun = async function (options) {
|
|
8
8
|
let commandType;
|
|
9
9
|
let coverageJson;
|
|
10
|
-
if ([
|
|
10
|
+
if ([
|
|
11
|
+
'project:deploy:validate',
|
|
12
|
+
'project:deploy:start',
|
|
13
|
+
'project:deploy:report',
|
|
14
|
+
'project:deploy:resume',
|
|
15
|
+
'hardis:project:deploy:smart',
|
|
16
|
+
].includes(options.Command.id)) {
|
|
11
17
|
commandType = 'deploy';
|
|
12
18
|
}
|
|
13
19
|
else if (['apex:run:test', 'apex:get:test', 'hardis:org:test:apex'].includes(options.Command.id)) {
|
|
@@ -31,6 +37,7 @@ export const postrun = async function (options) {
|
|
|
31
37
|
}
|
|
32
38
|
const outputReport = configFile.outputReportPath || 'coverage.xml';
|
|
33
39
|
const coverageFormat = configFile.format || 'sonar';
|
|
40
|
+
const ignorePackageDirs = configFile.ignorePackageDirectories || '';
|
|
34
41
|
if (commandType === 'deploy') {
|
|
35
42
|
coverageJson = configFile.deployCoverageJsonPath || '.';
|
|
36
43
|
}
|
|
@@ -52,6 +59,14 @@ export const postrun = async function (options) {
|
|
|
52
59
|
commandArgs.push(outputReportPath);
|
|
53
60
|
commandArgs.push('--format');
|
|
54
61
|
commandArgs.push(coverageFormat);
|
|
62
|
+
if (ignorePackageDirs.trim() !== '') {
|
|
63
|
+
const ignorePackageDirArray = ignorePackageDirs.split(',');
|
|
64
|
+
for (const dirs of ignorePackageDirArray) {
|
|
65
|
+
const sanitizedDir = dirs.replace(/,/g, '');
|
|
66
|
+
commandArgs.push('--ignore-package-directory');
|
|
67
|
+
commandArgs.push(sanitizedDir);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
55
70
|
await TransformerTransform.run(commandArgs);
|
|
56
71
|
};
|
|
57
72
|
//# 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,
|
|
1
|
+
{"version":3,"file":"postrun.js","sourceRoot":"","sources":["../../src/hooks/postrun.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.
|
|
1462
|
-
version "3.6.
|
|
1463
|
-
resolved "https://registry.yarnpkg.com/@jsforce/jsforce-node/-/jsforce-node-3.6.
|
|
1464
|
-
integrity sha512-
|
|
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.
|
|
1499
|
-
version "4.2.
|
|
1500
|
-
resolved "https://registry.yarnpkg.com/@oclif/core/-/core-4.2.
|
|
1501
|
-
integrity sha512-
|
|
1498
|
+
"@oclif/core@^4", "@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.
|
|
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.
|
|
1523
|
-
version "5.2.
|
|
1524
|
-
resolved "https://registry.yarnpkg.com/@oclif/plugin-command-snapshot/-/plugin-command-snapshot-5.2.
|
|
1525
|
-
integrity sha512-
|
|
1522
|
+
"@oclif/plugin-command-snapshot@^5.2.36":
|
|
1523
|
+
version "5.2.36"
|
|
1524
|
+
resolved "https://registry.yarnpkg.com/@oclif/plugin-command-snapshot/-/plugin-command-snapshot-5.2.36.tgz#83b4ff3fcb0be14416a486405a15d29867a081d1"
|
|
1525
|
+
integrity sha512-NM8up8CGfybXPVESMaeubBqY5jMtIzZYGVrzhMI92Du46O46Ld1IX4jSdnNMjwnTRzTYdz3Br57d5IpnfpEcKw==
|
|
1526
1526
|
dependencies:
|
|
1527
1527
|
"@oclif/core" "^4"
|
|
1528
|
-
ansis "^3.
|
|
1529
|
-
globby "^14.0
|
|
1528
|
+
ansis "^3.16.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.
|
|
1659
|
-
resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.8.
|
|
1660
|
-
integrity sha512-
|
|
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.
|
|
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"
|
|
@@ -1732,10 +1732,10 @@
|
|
|
1732
1732
|
resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.9.0.tgz#ba477a112653a20b4edcf989c61c57bdff9aa3ca"
|
|
1733
1733
|
integrity sha512-LiN37zG5ODT6z70sL1fxF7BQwtCX9JOWofSU8iliSNIM+WDEeinnoFtVqPInRSNt8I0RiJxIKCrqstsmQRBNvA==
|
|
1734
1734
|
|
|
1735
|
-
"@salesforce/sf-plugins-core@^12.
|
|
1736
|
-
version "12.
|
|
1737
|
-
resolved "https://registry.yarnpkg.com/@salesforce/sf-plugins-core/-/sf-plugins-core-12.
|
|
1738
|
-
integrity sha512-
|
|
1735
|
+
"@salesforce/sf-plugins-core@^12.2.0":
|
|
1736
|
+
version "12.2.0"
|
|
1737
|
+
resolved "https://registry.yarnpkg.com/@salesforce/sf-plugins-core/-/sf-plugins-core-12.2.0.tgz#c53f5342841cc490752b78f2707e84d8946dd740"
|
|
1738
|
+
integrity sha512-aGNk74rMt8I+HTP7hRsX6kxiGTuun9ONrWkX7JvWDdtIoO9TsEbNVZENH8GFxHFalWPFCj31IMUQD/bGbxMFbg==
|
|
1739
1739
|
dependencies:
|
|
1740
1740
|
"@inquirer/confirm" "^3.1.22"
|
|
1741
1741
|
"@inquirer/password" "^2.2.0"
|
|
@@ -2474,9 +2474,9 @@
|
|
|
2474
2474
|
undici-types "~6.20.0"
|
|
2475
2475
|
|
|
2476
2476
|
"@types/node@18", "@types/node@^18.19.41":
|
|
2477
|
-
version "18.19.
|
|
2478
|
-
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.
|
|
2479
|
-
integrity sha512-
|
|
2477
|
+
version "18.19.78"
|
|
2478
|
+
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.78.tgz#29f5e7b947840c7aa9050ecac920fe6b1c7646a0"
|
|
2479
|
+
integrity sha512-m1ilZCTwKLkk9rruBJXFeYN0Bc5SbjirwYX/Td3MqPfioYbgun3IvK/m8dQxMCnrPGZPg1kvXjp3SIekCN/ynw==
|
|
2480
2480
|
dependencies:
|
|
2481
2481
|
undici-types "~5.26.4"
|
|
2482
2482
|
|
|
@@ -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.
|
|
2821
|
-
resolved "https://registry.yarnpkg.com/ansis/-/ansis-3.
|
|
2822
|
-
integrity sha512-
|
|
2809
|
+
ansis@^3.10.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
|
|
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
|
|
4932
|
-
version "14.0
|
|
4933
|
-
resolved "https://registry.yarnpkg.com/globby/-/globby-14.0.
|
|
4934
|
-
integrity sha512-
|
|
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.
|
|
4938
|
-
ignore "^
|
|
4939
|
-
path-type "^
|
|
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.
|
|
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"
|
|
@@ -6748,17 +6776,17 @@ object.values@^1.2.0:
|
|
|
6748
6776
|
define-properties "^1.2.1"
|
|
6749
6777
|
es-object-atoms "^1.0.0"
|
|
6750
6778
|
|
|
6751
|
-
oclif@^4.17.
|
|
6752
|
-
version "4.17.
|
|
6753
|
-
resolved "https://registry.yarnpkg.com/oclif/-/oclif-4.17.
|
|
6754
|
-
integrity sha512-
|
|
6779
|
+
oclif@^4.17.32:
|
|
6780
|
+
version "4.17.32"
|
|
6781
|
+
resolved "https://registry.yarnpkg.com/oclif/-/oclif-4.17.32.tgz#73786c41873252a3a78e19010506e52b361a3713"
|
|
6782
|
+
integrity sha512-OKdEMhDNSHn/4NYdyM4b8VfVEbnB4VuzZwvDc24AuoyhZFQBTfQaE+mqoPOGh5wb4eF74cWBlSKOLsrLCPbN0w==
|
|
6755
6783
|
dependencies:
|
|
6756
6784
|
"@aws-sdk/client-cloudfront" "^3.749.0"
|
|
6757
6785
|
"@aws-sdk/client-s3" "^3.749.0"
|
|
6758
6786
|
"@inquirer/confirm" "^3.1.22"
|
|
6759
6787
|
"@inquirer/input" "^2.2.4"
|
|
6760
6788
|
"@inquirer/select" "^2.5.0"
|
|
6761
|
-
"@oclif/core" "^4.2.
|
|
6789
|
+
"@oclif/core" "^4.2.8"
|
|
6762
6790
|
"@oclif/plugin-help" "^6.2.25"
|
|
6763
6791
|
"@oclif/plugin-not-found" "^3.2.32"
|
|
6764
6792
|
"@oclif/plugin-warn-if-update-available" "^3.1.31"
|
|
@@ -6773,7 +6801,7 @@ oclif@^4.17.30:
|
|
|
6773
6801
|
got "^13"
|
|
6774
6802
|
lodash "^4.17.21"
|
|
6775
6803
|
normalize-package-data "^6"
|
|
6776
|
-
semver "^7.7.
|
|
6804
|
+
semver "^7.7.1"
|
|
6777
6805
|
sort-package-json "^2.14.0"
|
|
6778
6806
|
tiny-jsonc "^1.0.1"
|
|
6779
6807
|
validate-npm-package-name "^5.0.1"
|
|
@@ -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@^
|
|
7005
|
-
version "
|
|
7006
|
-
resolved "https://registry.yarnpkg.com/path-type/-/path-type-
|
|
7007
|
-
integrity sha512-
|
|
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"
|
|
@@ -7589,7 +7617,7 @@ semver@^6.0.0, semver@^6.3.1:
|
|
|
7589
7617
|
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
|
|
7590
7618
|
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
|
7591
7619
|
|
|
7592
|
-
semver@^7.3.4, semver@^7.3.5, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3, semver@^7.7.
|
|
7620
|
+
semver@^7.3.4, semver@^7.3.5, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3, semver@^7.7.1:
|
|
7593
7621
|
version "7.7.1"
|
|
7594
7622
|
resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f"
|
|
7595
7623
|
integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==
|
|
@@ -8500,10 +8528,10 @@ typedoc@^0.26.5:
|
|
|
8500
8528
|
shiki "^1.16.2"
|
|
8501
8529
|
yaml "^2.5.1"
|
|
8502
8530
|
|
|
8503
|
-
"typescript@^4.6.4 || ^5.2.2", typescript@^5.5.4, typescript@^5.
|
|
8504
|
-
version "5.
|
|
8505
|
-
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.
|
|
8506
|
-
integrity sha512-
|
|
8531
|
+
"typescript@^4.6.4 || ^5.2.2", typescript@^5.5.4, typescript@^5.8.2:
|
|
8532
|
+
version "5.8.2"
|
|
8533
|
+
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.2.tgz#8170b3702f74b79db2e5a96207c15e65807999e4"
|
|
8534
|
+
integrity sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==
|
|
8507
8535
|
|
|
8508
8536
|
typescript@~5.4.2:
|
|
8509
8537
|
version "5.4.5"
|
|
@@ -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"
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
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.
|
|
4
|
+
"version": "2.11.0",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@oclif/core": "^4.2.
|
|
7
|
-
"@salesforce/core": "^8.8.
|
|
8
|
-
"@salesforce/sf-plugins-core": "^12.
|
|
6
|
+
"@oclif/core": "^4.2.8",
|
|
7
|
+
"@salesforce/core": "^8.8.3",
|
|
8
|
+
"@salesforce/sf-plugins-core": "^12.2.0",
|
|
9
9
|
"async": "^3.2.6",
|
|
10
10
|
"xmlbuilder2": "^3.1.1"
|
|
11
11
|
},
|
|
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.
|
|
15
|
+
"@oclif/plugin-command-snapshot": "^5.2.36",
|
|
16
16
|
"@salesforce/cli-plugins-testkit": "^5.3.39",
|
|
17
17
|
"@salesforce/dev-scripts": "^10.2.11",
|
|
18
18
|
"@types/async": "^3.2.24",
|
|
19
19
|
"@types/node": "18",
|
|
20
20
|
"eslint-plugin-sf-plugin": "^1.20.14",
|
|
21
21
|
"husky": "^9.1.7",
|
|
22
|
-
"oclif": "^4.17.
|
|
22
|
+
"oclif": "^4.17.32",
|
|
23
23
|
"shx": "0.3.4",
|
|
24
24
|
"ts-node": "^10.9.2",
|
|
25
|
-
"typescript": "^5.
|
|
25
|
+
"typescript": "^5.8.2"
|
|
26
26
|
},
|
|
27
27
|
"engines": {
|
|
28
28
|
"node": ">=18.0.0"
|