apex-code-coverage-transformer 2.4.0 → 2.5.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.
Files changed (47) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +123 -24
  3. package/lib/commands/acc-transformer/transform.d.ts +1 -1
  4. package/lib/commands/acc-transformer/transform.js +15 -8
  5. package/lib/commands/acc-transformer/transform.js.map +1 -1
  6. package/lib/handlers/cloverCoverageHandler.d.ts +7 -0
  7. package/lib/handlers/cloverCoverageHandler.js +77 -0
  8. package/lib/handlers/cloverCoverageHandler.js.map +1 -0
  9. package/lib/handlers/coberturaCoverageHandler.d.ts +8 -0
  10. package/lib/handlers/coberturaCoverageHandler.js +75 -0
  11. package/lib/handlers/coberturaCoverageHandler.js.map +1 -0
  12. package/lib/handlers/getCoverageHandler.d.ts +2 -0
  13. package/lib/handlers/getCoverageHandler.js +19 -0
  14. package/lib/handlers/getCoverageHandler.js.map +1 -0
  15. package/lib/handlers/lcovonlyCoverageHandler.d.ts +7 -0
  16. package/lib/handlers/lcovonlyCoverageHandler.js +37 -0
  17. package/lib/handlers/lcovonlyCoverageHandler.js.map +1 -0
  18. package/lib/handlers/sonarCoverageHandler.d.ts +7 -0
  19. package/lib/handlers/sonarCoverageHandler.js +38 -0
  20. package/lib/handlers/sonarCoverageHandler.js.map +1 -0
  21. package/lib/helpers/constants.js +1 -1
  22. package/lib/helpers/constants.js.map +1 -1
  23. package/lib/helpers/generateReport.d.ts +2 -0
  24. package/lib/helpers/generateReport.js +31 -0
  25. package/lib/helpers/generateReport.js.map +1 -0
  26. package/lib/helpers/setCoveredLinesClover.js +0 -9
  27. package/lib/helpers/setCoveredLinesClover.js.map +1 -1
  28. package/lib/helpers/setCoveredLinesLcov.d.ts +2 -0
  29. package/lib/helpers/setCoveredLinesLcov.js +24 -0
  30. package/lib/helpers/setCoveredLinesLcov.js.map +1 -0
  31. package/lib/helpers/transformDeployCoverageReport.js +8 -89
  32. package/lib/helpers/transformDeployCoverageReport.js.map +1 -1
  33. package/lib/helpers/transformTestCoverageReport.js +8 -88
  34. package/lib/helpers/transformTestCoverageReport.js.map +1 -1
  35. package/lib/helpers/types.d.ts +18 -1
  36. package/lib/hooks/postrun.js +4 -4
  37. package/lib/hooks/postrun.js.map +1 -1
  38. package/messages/transformer.transform.md +7 -6
  39. package/oclif.lock +523 -521
  40. package/oclif.manifest.json +12 -10
  41. package/package.json +5 -5
  42. package/lib/helpers/generateXml.d.ts +0 -2
  43. package/lib/helpers/generateXml.js +0 -14
  44. package/lib/helpers/generateXml.js.map +0 -1
  45. package/lib/helpers/initializeCoverageObject.d.ts +0 -5
  46. package/lib/helpers/initializeCoverageObject.js +0 -68
  47. package/lib/helpers/initializeCoverageObject.js.map +0 -1
@@ -3,11 +3,12 @@
3
3
  "acc-transformer:transform": {
4
4
  "aliases": [],
5
5
  "args": {},
6
- "description": "Transform the Apex code coverage JSON file created by the Salesforce CLI deploy and test command into SonarQube, Clover, or Cobertura format.",
6
+ "description": "Transform the Apex code coverage JSON file created by the Salesforce CLI deploy and test command into SonarQube, Clover, LCovOnly or Cobertura format.",
7
7
  "examples": [
8
- "`sf acc-transformer transform -j \"coverage.json\" -x \"coverage.xml\" -f \"sonar\"`",
9
- "`sf acc-transformer transform -j \"coverage.json\" -x \"coverage.xml\" -f \"cobertura\"`",
10
- "`sf acc-transformer transform -j \"coverage.json\" -x \"coverage.xml\" -f \"clover\"`"
8
+ "`sf acc-transformer transform -j \"coverage.json\" -r \"coverage.xml\" -f \"sonar\"`",
9
+ "`sf acc-transformer transform -j \"coverage.json\" -r \"coverage.xml\" -f \"cobertura\"`",
10
+ "`sf acc-transformer transform -j \"coverage.json\" -r \"coverage.xml\" -f \"clover\"`",
11
+ "`sf acc-transformer transform -j \"coverage.json\" -r \"coverage.info\" -f \"lcovonly\"`"
11
12
  ],
12
13
  "flags": {
13
14
  "json": {
@@ -34,11 +35,11 @@
34
35
  "multiple": false,
35
36
  "type": "option"
36
37
  },
37
- "xml": {
38
- "char": "x",
39
- "name": "xml",
38
+ "output-report": {
39
+ "char": "r",
40
+ "name": "output-report",
40
41
  "required": true,
41
- "summary": "Path to the code coverage XML file that will be created by this plugin.",
42
+ "summary": "Path to the code coverage file that will be created by this plugin.",
42
43
  "default": "coverage.xml",
43
44
  "hasDynamicHelp": false,
44
45
  "multiple": false,
@@ -55,7 +56,8 @@
55
56
  "options": [
56
57
  "sonar",
57
58
  "cobertura",
58
- "clover"
59
+ "clover",
60
+ "lcovonly"
59
61
  ],
60
62
  "type": "option"
61
63
  }
@@ -83,5 +85,5 @@
83
85
  ]
84
86
  }
85
87
  },
86
- "version": "2.4.0"
88
+ "version": "2.5.0"
87
89
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "apex-code-coverage-transformer",
3
- "description": "Transforms the Apex code coverage JSON created during Salesforce deployments and test runs into SonarQube, Clover, or Cobertura format.",
4
- "version": "2.4.0",
3
+ "description": "Transforms the Apex code coverage JSON created during Salesforce deployments and test runs into SonarQube, Clover, LCovOnly, or Cobertura format.",
4
+ "version": "2.5.0",
5
5
  "dependencies": {
6
6
  "@oclif/core": "^4.0.37",
7
7
  "@salesforce/core": "^8.8.0",
@@ -9,15 +9,15 @@
9
9
  "xmlbuilder2": "^3.1.1"
10
10
  },
11
11
  "devDependencies": {
12
- "@commitlint/cli": "^19.6.0",
12
+ "@commitlint/cli": "^19.6.1",
13
13
  "@commitlint/config-conventional": "^19.6.0",
14
- "@oclif/plugin-command-snapshot": "^5.2.23",
14
+ "@oclif/plugin-command-snapshot": "^5.2.24",
15
15
  "@salesforce/cli-plugins-testkit": "^5.3.39",
16
16
  "@salesforce/dev-scripts": "^10.2.11",
17
17
  "@types/node": "18",
18
18
  "eslint-plugin-sf-plugin": "^1.20.13",
19
19
  "husky": "^9.1.7",
20
- "oclif": "^4.16.2",
20
+ "oclif": "^4.17.7",
21
21
  "shx": "0.3.4",
22
22
  "ts-node": "^10.9.2",
23
23
  "typescript": "^5.7.2"
@@ -1,2 +0,0 @@
1
- import { SonarCoverageObject, CoberturaCoverageObject, CloverCoverageObject } from './types.js';
2
- export declare function generateXml(coverageObj: SonarCoverageObject | CoberturaCoverageObject | CloverCoverageObject, format: string): string;
@@ -1,14 +0,0 @@
1
- 'use strict';
2
- import { create } from 'xmlbuilder2';
3
- export function generateXml(coverageObj, format) {
4
- const isHeadless = format === 'cobertura' || format === 'clover';
5
- let xml = create(coverageObj).end({ prettyPrint: true, indent: ' ', headless: isHeadless });
6
- if (format === 'cobertura') {
7
- xml = `<?xml version="1.0" ?>\n<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">\n${xml}`;
8
- }
9
- else if (format === 'clover') {
10
- xml = `<?xml version="1.0" encoding="UTF-8"?>\n${xml}`;
11
- }
12
- return xml;
13
- }
14
- //# sourceMappingURL=generateXml.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateXml.js","sourceRoot":"","sources":["../../src/helpers/generateXml.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,MAAM,UAAU,WAAW,CACzB,WAAiF,EACjF,MAAc;IAEd,MAAM,UAAU,GAAG,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,CAAC;IACjE,IAAI,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAE7F,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,GAAG,GAAG,8GAA8G,GAAG,EAAE,CAAC;IAC5H,CAAC;SAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,GAAG,GAAG,2CAA2C,GAAG,EAAE,CAAC;IACzD,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,5 +0,0 @@
1
- import { SonarCoverageObject, CoberturaCoverageObject, CloverCoverageObject, CoberturaPackage } from './types.js';
2
- export declare function initializeCoverageObject(format: string): {
3
- coverageObj: SonarCoverageObject | CoberturaCoverageObject | CloverCoverageObject;
4
- packageObj: CoberturaPackage | null;
5
- };
@@ -1,68 +0,0 @@
1
- 'use strict';
2
- export function initializeCoverageObject(format) {
3
- let coverageObj;
4
- if (format === 'sonar') {
5
- coverageObj = {
6
- coverage: { '@version': '1', file: [] },
7
- };
8
- }
9
- else if (format === 'cobertura') {
10
- coverageObj = {
11
- coverage: {
12
- '@lines-valid': 0,
13
- '@lines-covered': 0,
14
- '@line-rate': 0,
15
- '@branches-valid': 0,
16
- '@branches-covered': 0,
17
- '@branch-rate': 1,
18
- '@timestamp': Date.now(),
19
- '@complexity': 0,
20
- '@version': '0.1',
21
- sources: { source: ['.'] },
22
- packages: { package: [] },
23
- },
24
- };
25
- }
26
- else {
27
- coverageObj = {
28
- coverage: {
29
- '@generated': Date.now(),
30
- '@clover': '3.2.0',
31
- project: {
32
- '@timestamp': Date.now(),
33
- '@name': 'All files',
34
- metrics: {
35
- '@statements': 0,
36
- '@coveredstatements': 0,
37
- '@conditionals': 0,
38
- '@coveredconditionals': 0,
39
- '@methods': 0,
40
- '@coveredmethods': 0,
41
- '@elements': 0,
42
- '@coveredelements': 0,
43
- '@complexity': 0,
44
- '@loc': 0,
45
- '@ncloc': 0,
46
- '@packages': 1,
47
- '@files': 0,
48
- '@classes': 0,
49
- },
50
- file: [],
51
- },
52
- },
53
- };
54
- }
55
- const packageObj = format === 'cobertura'
56
- ? {
57
- '@name': 'main',
58
- '@line-rate': 0,
59
- '@branch-rate': 1,
60
- classes: { class: [] },
61
- }
62
- : null;
63
- if (packageObj) {
64
- coverageObj.coverage.packages.package.push(packageObj);
65
- }
66
- return { coverageObj, packageObj };
67
- }
68
- //# sourceMappingURL=initializeCoverageObject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initializeCoverageObject.js","sourceRoot":"","sources":["../../src/helpers/initializeCoverageObject.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAUb,MAAM,UAAU,wBAAwB,CAAC,MAAc;IAIrD,IAAI,WAAiF,CAAC;IAEtF,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,WAAW,GAAG;YACZ,QAAQ,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;SACjB,CAAC;IAC3B,CAAC;SAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,WAAW,GAAG;YACZ,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;SACyB,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,WAAW,GAAG;YACZ,QAAQ,EAAE;gBACR,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;gBACxB,SAAS,EAAE,OAAO;gBAClB,OAAO,EAAE;oBACP,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;oBACxB,OAAO,EAAE,WAAW;oBACpB,OAAO,EAAE;wBACP,aAAa,EAAE,CAAC;wBAChB,oBAAoB,EAAE,CAAC;wBACvB,eAAe,EAAE,CAAC;wBAClB,sBAAsB,EAAE,CAAC;wBACzB,UAAU,EAAE,CAAC;wBACb,iBAAiB,EAAE,CAAC;wBACpB,WAAW,EAAE,CAAC;wBACd,kBAAkB,EAAE,CAAC;wBACrB,aAAa,EAAE,CAAC;wBAChB,MAAM,EAAE,CAAC;wBACT,QAAQ,EAAE,CAAC;wBACX,WAAW,EAAE,CAAC;wBACd,QAAQ,EAAE,CAAC;wBACX,UAAU,EAAE,CAAC;qBACd;oBACD,IAAI,EAAE,EAAE;iBACT;aACF;SACsB,CAAC;IAC5B,CAAC;IAED,MAAM,UAAU,GACd,MAAM,KAAK,WAAW;QACpB,CAAC,CAAE;YACC,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,EAAE,KAAK,EAAE,EAAsB,EAAE;SACtB;QACxB,CAAC,CAAC,IAAI,CAAC;IAEX,IAAI,UAAU,EAAE,CAAC;QACd,WAAuC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACrC,CAAC"}