apex-code-coverage-transformer 2.18.0 → 2.18.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 +14 -0
- package/README.md +20 -8
- package/lib/transformers/reportGenerator.js +49 -16
- package/lib/transformers/reportGenerator.js.map +1 -1
- package/oclif.lock +12 -46
- package/oclif.manifest.json +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,20 @@
|
|
|
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.2](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.18.1...v2.18.2) (2026-04-10)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **perf:** switch from fast-xml-parser to fast-xml-builder ([#276](https://github.com/mcarvin8/apex-code-coverage-transformer/issues/276)) ([265682d](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/265682d8e16b6da87ca151ef69df1f93753a3e16))
|
|
14
|
+
|
|
15
|
+
## [2.18.1](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.18.0...v2.18.1) (2026-04-10)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* **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))
|
|
21
|
+
|
|
8
22
|
## [2.18.0](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.17.0...v2.18.0) (2026-03-12)
|
|
9
23
|
|
|
10
24
|
|
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-builder';
|
|
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,10 @@ function generateLcov(coverageObj) {
|
|
|
46
87
|
.join('\n');
|
|
47
88
|
}
|
|
48
89
|
function prependXmlHeader(xml, format) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return `<?xml version="1.0" encoding="UTF-8"?>\n${xml}`;
|
|
54
|
-
case 'jacoco':
|
|
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].filter(Boolean).join('\n');
|
|
61
94
|
}
|
|
62
95
|
export function getExtensionForFormat(format) {
|
|
63
96
|
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,
|
|
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"
|
|
@@ -6815,13 +6793,6 @@ js-yaml@^4.1.0:
|
|
|
6815
6793
|
dependencies:
|
|
6816
6794
|
argparse "^2.0.1"
|
|
6817
6795
|
|
|
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
6796
|
js2xmlparser@^4.0.1:
|
|
6826
6797
|
version "4.0.2"
|
|
6827
6798
|
resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-4.0.2.tgz#2a1fdf01e90585ef2ae872a01bc169c6a8d5e60a"
|
|
@@ -7989,6 +7960,11 @@ path-exists@^5.0.0:
|
|
|
7989
7960
|
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7"
|
|
7990
7961
|
integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
|
|
7991
7962
|
|
|
7963
|
+
path-expression-matcher@^1.1.3:
|
|
7964
|
+
version "1.4.0"
|
|
7965
|
+
resolved "https://registry.yarnpkg.com/path-expression-matcher/-/path-expression-matcher-1.4.0.tgz#275730c9c21bbf2e124eba6d4c6453f02f3d331d"
|
|
7966
|
+
integrity sha512-s4DQMxIdhj3jLFWd9LxHOplj4p9yQ4ffMGowFf3cpEgrrJjEhN0V5nxw4Ye1EViAGDoL4/1AeO6qHpqYPOzE4Q==
|
|
7967
|
+
|
|
7992
7968
|
path-is-absolute@^1.0.0:
|
|
7993
7969
|
version "1.0.1"
|
|
7994
7970
|
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
|
|
@@ -9960,16 +9936,6 @@ xml2js@^0.6.2:
|
|
|
9960
9936
|
sax ">=0.6.0"
|
|
9961
9937
|
xmlbuilder "~11.0.0"
|
|
9962
9938
|
|
|
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
9939
|
xmlbuilder@~11.0.0:
|
|
9974
9940
|
version "11.0.1"
|
|
9975
9941
|
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.2",
|
|
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-builder": "^1.1.4"
|
|
11
11
|
},
|
|
12
12
|
"devDependencies": {
|
|
13
13
|
"@commitlint/cli": "^19.8.1",
|