apex-code-coverage-transformer 2.18.0 → 2.18.1
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 +7 -0
- package/README.md +20 -8
- package/lib/transformers/reportGenerator.js +51 -16
- package/lib/transformers/reportGenerator.js.map +1 -1
- package/oclif.lock +26 -46
- package/oclif.manifest.json +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@
|
|
|
5
5
|
|
|
6
6
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
7
7
|
|
|
8
|
+
## [2.18.1](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.18.0...v2.18.1) (2026-04-10)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **perf:** replace xmlbuilder2 with fast-xml-parser for xml formats ([#274](https://github.com/mcarvin8/apex-code-coverage-transformer/issues/274)) ([2952623](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/2952623405d357b07504a368a20acfae562bf068))
|
|
14
|
+
|
|
8
15
|
## [2.18.0](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.17.0...v2.18.0) (2026-03-12)
|
|
9
16
|
|
|
10
17
|
|
package/README.md
CHANGED
|
@@ -182,7 +182,7 @@ jobs:
|
|
|
182
182
|
- name: Install Salesforce CLI
|
|
183
183
|
run: npm install -g @salesforce/cli
|
|
184
184
|
- name: Install Coverage Transformer Plugin
|
|
185
|
-
run: sf plugins install apex-code-coverage-transformer
|
|
185
|
+
run: echo y | sf plugins install apex-code-coverage-transformer
|
|
186
186
|
- name: Authenticate to Salesforce
|
|
187
187
|
run: sf org login sfdx-url --sfdx-url-file ${{ secrets.SFDX_AUTH_URL }} --alias ci-org
|
|
188
188
|
- name: Run Apex Tests
|
|
@@ -231,7 +231,7 @@ jobs:
|
|
|
231
231
|
- name: Install Salesforce CLI
|
|
232
232
|
run: npm install -g @salesforce/cli
|
|
233
233
|
- name: Install Coverage Transformer Plugin
|
|
234
|
-
run: sf plugins install apex-code-coverage-transformer
|
|
234
|
+
run: echo y | sf plugins install apex-code-coverage-transformer
|
|
235
235
|
- name: Authenticate to Salesforce
|
|
236
236
|
run: sf org login sfdx-url --sfdx-url-file ${{ secrets.SFDX_AUTH_URL }} --alias ci-org
|
|
237
237
|
- name: Run Apex Tests
|
|
@@ -268,7 +268,7 @@ jobs:
|
|
|
268
268
|
- name: Install Salesforce CLI
|
|
269
269
|
run: npm install -g @salesforce/cli
|
|
270
270
|
- name: Install Coverage Transformer Plugin
|
|
271
|
-
run: sf plugins install apex-code-coverage-transformer
|
|
271
|
+
run: echo y | sf plugins install apex-code-coverage-transformer
|
|
272
272
|
- name: Authenticate to Salesforce
|
|
273
273
|
run: sf org login sfdx-url --sfdx-url-file ${{ secrets.SFDX_AUTH_URL }} --alias ci-org
|
|
274
274
|
- name: Run Apex Tests
|
|
@@ -303,20 +303,32 @@ apex-tests:
|
|
|
303
303
|
image: node:20
|
|
304
304
|
before_script:
|
|
305
305
|
- npm install -g @salesforce/cli
|
|
306
|
-
- sf plugins install apex-code-coverage-transformer
|
|
306
|
+
- echo y | sf plugins install apex-code-coverage-transformer
|
|
307
307
|
- echo $SFDX_AUTH_URL | sf org login sfdx-url --sfdx-url-stdin --alias ci-org
|
|
308
308
|
script:
|
|
309
309
|
- sf apex run test --code-coverage --output-dir coverage --target-org ci-org
|
|
310
310
|
- sf acc-transformer transform -j "coverage/test-result-codecoverage.json" -r "coverage.xml" -f "cobertura"
|
|
311
|
-
|
|
311
|
+
# Parse the coverage report and output the TOTAL coverage percentage (2 decimal places)
|
|
312
|
+
# to the job log. GitLab reads this line using the `coverage` keyword regex to track pipeline coverage.
|
|
313
|
+
- |
|
|
314
|
+
COVERAGE_FILE="coverage.xml"
|
|
315
|
+
if [ -s "$COVERAGE_FILE" ]; then
|
|
316
|
+
LINE_RATE="$(grep -oE '<coverage[^>]*\bline-rate="[^"]+"' "$COVERAGE_FILE" | head -1 | sed -E 's/.*line-rate="([^"]+)".*/\1/')"
|
|
317
|
+
if [ -n "$LINE_RATE" ]; then
|
|
318
|
+
PCT="$(awk -v r="$LINE_RATE" 'BEGIN { printf("%.2f%%", r*100) }')"
|
|
319
|
+
echo "TOTAL coverage: $PCT"
|
|
320
|
+
fi
|
|
321
|
+
fi
|
|
322
|
+
coverage: '/TOTAL.+ ([0-9]{1,3}(?:\.[0-9]+)?%)/'
|
|
312
323
|
artifacts:
|
|
324
|
+
when: always
|
|
325
|
+
paths:
|
|
326
|
+
- coverage.xml
|
|
327
|
+
expire_in: 2 weeks
|
|
313
328
|
reports:
|
|
314
329
|
coverage_report:
|
|
315
330
|
coverage_format: cobertura
|
|
316
331
|
path: coverage.xml
|
|
317
|
-
paths:
|
|
318
|
-
- coverage/
|
|
319
|
-
expire_in: 30 days
|
|
320
332
|
```
|
|
321
333
|
|
|
322
334
|
## Automatic Transformation (Hook)
|
|
@@ -1,7 +1,40 @@
|
|
|
1
1
|
import { writeFile } from 'node:fs/promises';
|
|
2
2
|
import { extname, basename, dirname, join } from 'node:path';
|
|
3
|
-
import {
|
|
3
|
+
import { XMLBuilder } from 'fast-xml-parser';
|
|
4
4
|
import { HandlerRegistry } from '../handlers/HandlerRegistry.js';
|
|
5
|
+
const JSON_PARSER_OPTION = {
|
|
6
|
+
commentPropName: '#comment',
|
|
7
|
+
ignoreAttributes: false,
|
|
8
|
+
ignoreNameSpace: false,
|
|
9
|
+
parseTagValue: false,
|
|
10
|
+
parseNodeValue: false,
|
|
11
|
+
parseAttributeValue: false,
|
|
12
|
+
trimValues: true,
|
|
13
|
+
processEntities: false,
|
|
14
|
+
format: true,
|
|
15
|
+
indentBy: ' ',
|
|
16
|
+
suppressBooleanAttributes: false,
|
|
17
|
+
suppressEmptyNode: true,
|
|
18
|
+
};
|
|
19
|
+
const XML_HEADER_CONFIG = {
|
|
20
|
+
cobertura: {
|
|
21
|
+
xmlDecl: '<?xml version="1.0" ?>',
|
|
22
|
+
doctype: '<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">',
|
|
23
|
+
},
|
|
24
|
+
clover: {
|
|
25
|
+
xmlDecl: '<?xml version="1.0" encoding="UTF-8"?>',
|
|
26
|
+
},
|
|
27
|
+
jacoco: {
|
|
28
|
+
xmlDecl: '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>',
|
|
29
|
+
doctype: '<!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd">',
|
|
30
|
+
},
|
|
31
|
+
opencover: {
|
|
32
|
+
xmlDecl: '<?xml version="1.0" encoding="utf-8"?>',
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
function isXmlReportFormat(format) {
|
|
36
|
+
return format in XML_HEADER_CONFIG;
|
|
37
|
+
}
|
|
5
38
|
export async function generateAndWriteReport(outputPath, coverageObj, format, formatAmount) {
|
|
6
39
|
const content = generateReportContent(coverageObj, format);
|
|
7
40
|
const extension = HandlerRegistry.getExtension(format);
|
|
@@ -22,9 +55,17 @@ function generateReportContent(coverageObj, format) {
|
|
|
22
55
|
if (format === 'json' || format === 'json-summary' || format === 'simplecov') {
|
|
23
56
|
return JSON.stringify(coverageObj, null, 2);
|
|
24
57
|
}
|
|
25
|
-
const isHeadless =
|
|
26
|
-
const
|
|
27
|
-
|
|
58
|
+
const isHeadless = isXmlReportFormat(format);
|
|
59
|
+
const builder = new XMLBuilder({
|
|
60
|
+
...JSON_PARSER_OPTION,
|
|
61
|
+
attributeNamePrefix: '@',
|
|
62
|
+
});
|
|
63
|
+
let xml = builder.build(coverageObj);
|
|
64
|
+
if (isHeadless) {
|
|
65
|
+
xml = xml.replace(/^<\?xml[^>]*>\s*/i, '');
|
|
66
|
+
}
|
|
67
|
+
const finalXml = prependXmlHeader(xml, format).trimEnd();
|
|
68
|
+
return finalXml;
|
|
28
69
|
}
|
|
29
70
|
function generateLcov(coverageObj) {
|
|
30
71
|
return coverageObj.files
|
|
@@ -46,18 +87,12 @@ function generateLcov(coverageObj) {
|
|
|
46
87
|
.join('\n');
|
|
47
88
|
}
|
|
48
89
|
function prependXmlHeader(xml, format) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.0//EN" "report.dtd">\n${xml}`;
|
|
56
|
-
case 'opencover':
|
|
57
|
-
return `<?xml version="1.0" encoding="utf-8"?>\n${xml}`;
|
|
58
|
-
default:
|
|
59
|
-
return xml;
|
|
60
|
-
}
|
|
90
|
+
// Remove any existing XML declaration to avoid duplicates
|
|
91
|
+
const stripped = xml.replace(/^<\?xml[^>]*>\s*/i, '');
|
|
92
|
+
const config = isXmlReportFormat(format) ? XML_HEADER_CONFIG[format] : undefined;
|
|
93
|
+
return [config?.xmlDecl ?? '<?xml version="1.0"?>', config?.doctype, stripped]
|
|
94
|
+
.filter(Boolean)
|
|
95
|
+
.join('\n');
|
|
61
96
|
}
|
|
62
97
|
export function getExtensionForFormat(format) {
|
|
63
98
|
return HandlerRegistry.getExtension(format);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reportGenerator.js","sourceRoot":"","sources":["../../src/transformers/reportGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"reportGenerator.js","sourceRoot":"","sources":["../../src/transformers/reportGenerator.ts"],"names":[],"mappings":"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"}
|
package/oclif.lock
CHANGED
|
@@ -2060,35 +2060,6 @@
|
|
|
2060
2060
|
strip-ansi "^7.1.2"
|
|
2061
2061
|
wrap-ansi "^9.0.2"
|
|
2062
2062
|
|
|
2063
|
-
"@oozcitak/dom@^2.0.2":
|
|
2064
|
-
version "2.0.2"
|
|
2065
|
-
resolved "https://registry.yarnpkg.com/@oozcitak/dom/-/dom-2.0.2.tgz#0f447f0b736aa6f36c5556ba811a44e56c71c26c"
|
|
2066
|
-
integrity sha512-GjpKhkSYC3Mj4+lfwEyI1dqnsKTgwGy48ytZEhm4A/xnH/8z9M3ZVXKr/YGQi3uCLs1AEBS+x5T2JPiueEDW8w==
|
|
2067
|
-
dependencies:
|
|
2068
|
-
"@oozcitak/infra" "^2.0.2"
|
|
2069
|
-
"@oozcitak/url" "^3.0.0"
|
|
2070
|
-
"@oozcitak/util" "^10.0.0"
|
|
2071
|
-
|
|
2072
|
-
"@oozcitak/infra@^2.0.2":
|
|
2073
|
-
version "2.0.2"
|
|
2074
|
-
resolved "https://registry.yarnpkg.com/@oozcitak/infra/-/infra-2.0.2.tgz#e2f1cc0eeca3ac5cd551f0326a5f66f00cf1138b"
|
|
2075
|
-
integrity sha512-2g+E7hoE2dgCz/APPOEK5s3rMhJvNxSMBrP+U+j1OWsIbtSpWxxlUjq1lU8RIsFJNYv7NMlnVsCuHcUzJW+8vA==
|
|
2076
|
-
dependencies:
|
|
2077
|
-
"@oozcitak/util" "^10.0.0"
|
|
2078
|
-
|
|
2079
|
-
"@oozcitak/url@^3.0.0":
|
|
2080
|
-
version "3.0.0"
|
|
2081
|
-
resolved "https://registry.yarnpkg.com/@oozcitak/url/-/url-3.0.0.tgz#a03c959c67e28aba9e29b2d35cd50d26cb5f2cc4"
|
|
2082
|
-
integrity sha512-ZKfET8Ak1wsLAiLWNfFkZc/BraDccuTJKR6svTYc7sVjbR+Iu0vtXdiDMY4o6jaFl5TW2TlS7jbLl4VovtAJWQ==
|
|
2083
|
-
dependencies:
|
|
2084
|
-
"@oozcitak/infra" "^2.0.2"
|
|
2085
|
-
"@oozcitak/util" "^10.0.0"
|
|
2086
|
-
|
|
2087
|
-
"@oozcitak/util@^10.0.0":
|
|
2088
|
-
version "10.0.0"
|
|
2089
|
-
resolved "https://registry.yarnpkg.com/@oozcitak/util/-/util-10.0.0.tgz#f6b40472d96c210094a556ee5ccb8e77f1bd30af"
|
|
2090
|
-
integrity sha512-hAX0pT/73190NLqBPPWSdBVGtbY6VOhWYK3qqHqtXQ1gK7kS2yz4+ivsN07hpJ6I3aeMtKP6J6npsEKOAzuTLA==
|
|
2091
|
-
|
|
2092
2063
|
"@pinojs/redact@^0.4.0":
|
|
2093
2064
|
version "0.4.0"
|
|
2094
2065
|
resolved "https://registry.yarnpkg.com/@pinojs/redact/-/redact-0.4.0.tgz#c3de060dd12640dcc838516aa2a6803cc7b2e9d6"
|
|
@@ -5128,6 +5099,13 @@ fast-uri@^3.0.1:
|
|
|
5128
5099
|
resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.0.tgz#66eecff6c764c0df9b762e62ca7edcfb53b4edfa"
|
|
5129
5100
|
integrity sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==
|
|
5130
5101
|
|
|
5102
|
+
fast-xml-builder@^1.1.4:
|
|
5103
|
+
version "1.1.4"
|
|
5104
|
+
resolved "https://registry.yarnpkg.com/fast-xml-builder/-/fast-xml-builder-1.1.4.tgz#0c407a1d9d5996336c0cd76f7ff785cac6413017"
|
|
5105
|
+
integrity sha512-f2jhpN4Eccy0/Uz9csxh3Nu6q4ErKxf0XIsasomfOihuSUa3/xw6w8dnOtCDgEItQFJG8KyXPzQXzcODDrrbOg==
|
|
5106
|
+
dependencies:
|
|
5107
|
+
path-expression-matcher "^1.1.3"
|
|
5108
|
+
|
|
5131
5109
|
fast-xml-parser@5.3.6:
|
|
5132
5110
|
version "5.3.6"
|
|
5133
5111
|
resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.3.6.tgz#85a69117ca156b1b3c52e426495b6de266cb6a4b"
|
|
@@ -5135,6 +5113,15 @@ fast-xml-parser@5.3.6:
|
|
|
5135
5113
|
dependencies:
|
|
5136
5114
|
strnum "^2.1.2"
|
|
5137
5115
|
|
|
5116
|
+
fast-xml-parser@^5.5.11:
|
|
5117
|
+
version "5.5.11"
|
|
5118
|
+
resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.5.11.tgz#406a888587aed0ba6b3e60382dfbb3b1f80692ad"
|
|
5119
|
+
integrity sha512-QL0eb0YbSTVWF6tTf1+LEMSgtCEjBYPpnAjoLC8SscESlAjXEIRJ7cHtLG0pLeDFaZLa4VKZLArtA/60ZS7vyA==
|
|
5120
|
+
dependencies:
|
|
5121
|
+
fast-xml-builder "^1.1.4"
|
|
5122
|
+
path-expression-matcher "^1.4.0"
|
|
5123
|
+
strnum "^2.2.3"
|
|
5124
|
+
|
|
5138
5125
|
fastest-levenshtein@^1.0.7:
|
|
5139
5126
|
version "1.0.16"
|
|
5140
5127
|
resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5"
|
|
@@ -6815,13 +6802,6 @@ js-yaml@^4.1.0:
|
|
|
6815
6802
|
dependencies:
|
|
6816
6803
|
argparse "^2.0.1"
|
|
6817
6804
|
|
|
6818
|
-
js-yaml@^4.1.1:
|
|
6819
|
-
version "4.1.1"
|
|
6820
|
-
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b"
|
|
6821
|
-
integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==
|
|
6822
|
-
dependencies:
|
|
6823
|
-
argparse "^2.0.1"
|
|
6824
|
-
|
|
6825
6805
|
js2xmlparser@^4.0.1:
|
|
6826
6806
|
version "4.0.2"
|
|
6827
6807
|
resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-4.0.2.tgz#2a1fdf01e90585ef2ae872a01bc169c6a8d5e60a"
|
|
@@ -7989,6 +7969,11 @@ path-exists@^5.0.0:
|
|
|
7989
7969
|
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7"
|
|
7990
7970
|
integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
|
|
7991
7971
|
|
|
7972
|
+
path-expression-matcher@^1.1.3, path-expression-matcher@^1.4.0:
|
|
7973
|
+
version "1.4.0"
|
|
7974
|
+
resolved "https://registry.yarnpkg.com/path-expression-matcher/-/path-expression-matcher-1.4.0.tgz#275730c9c21bbf2e124eba6d4c6453f02f3d331d"
|
|
7975
|
+
integrity sha512-s4DQMxIdhj3jLFWd9LxHOplj4p9yQ4ffMGowFf3cpEgrrJjEhN0V5nxw4Ye1EViAGDoL4/1AeO6qHpqYPOzE4Q==
|
|
7976
|
+
|
|
7992
7977
|
path-is-absolute@^1.0.0:
|
|
7993
7978
|
version "1.0.1"
|
|
7994
7979
|
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
|
|
@@ -9187,6 +9172,11 @@ strnum@^2.1.2:
|
|
|
9187
9172
|
resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.1.2.tgz#a5e00ba66ab25f9cafa3726b567ce7a49170937a"
|
|
9188
9173
|
integrity sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==
|
|
9189
9174
|
|
|
9175
|
+
strnum@^2.2.3:
|
|
9176
|
+
version "2.2.3"
|
|
9177
|
+
resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.2.3.tgz#0119fce02749a11bb126a4d686ac5dbdf6e57586"
|
|
9178
|
+
integrity sha512-oKx6RUCuHfT3oyVjtnrmn19H1SiCqgJSg+54XqURKp5aCMbrXrhLjRN9TjuwMjiYstZ0MzDrHqkGZ5dFTKd+zg==
|
|
9179
|
+
|
|
9190
9180
|
supports-color@^7, supports-color@^7.0.0, supports-color@^7.1.0:
|
|
9191
9181
|
version "7.2.0"
|
|
9192
9182
|
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
|
|
@@ -9960,16 +9950,6 @@ xml2js@^0.6.2:
|
|
|
9960
9950
|
sax ">=0.6.0"
|
|
9961
9951
|
xmlbuilder "~11.0.0"
|
|
9962
9952
|
|
|
9963
|
-
xmlbuilder2@^4.0.1:
|
|
9964
|
-
version "4.0.3"
|
|
9965
|
-
resolved "https://registry.yarnpkg.com/xmlbuilder2/-/xmlbuilder2-4.0.3.tgz#91660fa6d30f19d716f8b1194c567686d4402c63"
|
|
9966
|
-
integrity sha512-bx8Q1STctnNaaDymWnkfQLKofs0mGNN7rLLapJlGuV3VlvegD7Ls4ggMjE3aUSWItCCzU0PEv45lI87iSigiCA==
|
|
9967
|
-
dependencies:
|
|
9968
|
-
"@oozcitak/dom" "^2.0.2"
|
|
9969
|
-
"@oozcitak/infra" "^2.0.2"
|
|
9970
|
-
"@oozcitak/util" "^10.0.0"
|
|
9971
|
-
js-yaml "^4.1.1"
|
|
9972
|
-
|
|
9973
9953
|
xmlbuilder@~11.0.0:
|
|
9974
9954
|
version "11.0.1"
|
|
9975
9955
|
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apex-code-coverage-transformer",
|
|
3
3
|
"description": "Transform Salesforce Apex code coverage JSONs into other formats accepted by SonarQube, GitHub, GitLab, Azure, Bitbucket, etc.",
|
|
4
|
-
"version": "2.18.
|
|
4
|
+
"version": "2.18.1",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@oclif/core": "^4.8.3",
|
|
7
7
|
"@salesforce/core": "^8.26.3",
|
|
8
8
|
"@salesforce/sf-plugins-core": "^12.2.6",
|
|
9
9
|
"async": "^3.2.6",
|
|
10
|
-
"
|
|
10
|
+
"fast-xml-parser": "^5.5.11"
|
|
11
11
|
},
|
|
12
12
|
"devDependencies": {
|
|
13
13
|
"@commitlint/cli": "^19.8.1",
|