apex-code-coverage-transformer 1.2.0 → 1.3.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/README.md CHANGED
@@ -2,9 +2,11 @@
2
2
 
3
3
  [![NPM](https://img.shields.io/npm/v/apex-code-coverage-transformer.svg?label=apex-code-coverage-transformer)](https://www.npmjs.com/package/apex-code-coverage-transformer) [![Downloads/week](https://img.shields.io/npm/dw/apex-code-coverage-transformer.svg)](https://npmjs.org/package/apex-code-coverage-transformer) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://raw.githubusercontent.com/mcarvin8/apex-code-coverage-transformer/main/LICENSE.md)
4
4
 
5
- The `apex-code-coverage-transformer` is a simple plugin to transform the JSON file for Apex Code Coverage into Generic Test Coverage Format (XML). This format is accepted by static code analysis tools like SonarQube.
5
+ The `apex-code-coverage-transformer` is a simple Salesforce CLI plugin to transform the Apex Code Coverage JSON file into Generic Test Coverage Format (XML). This format is accepted by static code analysis tools like SonarQube.
6
6
 
7
- Here is how you can create the JSON file with the Salesforce CLI:
7
+ This plugin supports code coverage metrics created for Apex Classes, Apex Triggers, and Flows (if flows are deployed as active in your org).
8
+
9
+ To create the code coverage JSON during a Salesforce CLI deployment/validation, append `--coverage-formatters json --results-dir coverage` to the `sf project deploy` command:
8
10
 
9
11
  ```
10
12
  sf project deploy validate -x manifest/package.xml -l RunSpecifiedTests -t {testclasses} --verbose --coverage-formatters json --results-dir coverage
@@ -14,7 +16,7 @@ This will create a coverage JSON in this relative path - `coverage/coverage/cove
14
16
 
15
17
  This JSON isn't accepted by SonarQube automatically and needs to be converted using this plugin.
16
18
 
17
- Note: Until this [issue](https://github.com/forcedotcom/cli/issues/1813) is resolved in the Salesforce CLI, this will not work properly if there is an Apex class and trigger with the same name. Once this issue is resolved on the CLI, this plugin will be updated to account for the file extension additions.
19
+ **Note**: This has been tested and confirmed on code which meets 100% coverage.
18
20
 
19
21
  ## Install
20
22
 
@@ -200,6 +202,79 @@ A JSON created by the Salesforce CLI :
200
202
  "81": { "start": { "line": 81, "column": 0 }, "end": { "line": 81, "column": 0 } },
201
203
  "82": { "start": { "line": 82, "column": 0 }, "end": { "line": 82, "column": 0 } }
202
204
  }
205
+ },
206
+ "no-map/Get_Info": {
207
+ "fnMap": {},
208
+ "branchMap": {},
209
+ "path": "no-map/Get_Info",
210
+ "f": {},
211
+ "b": {},
212
+ "s": {
213
+ "52": 0,
214
+ "53": 0,
215
+ "54": 1,
216
+ "55": 1,
217
+ "56": 1,
218
+ "57": 1,
219
+ "58": 1,
220
+ "59": 0,
221
+ "60": 0,
222
+ "61": 1,
223
+ "62": 1,
224
+ "63": 1,
225
+ "64": 1,
226
+ "65": 1,
227
+ "66": 1,
228
+ "67": 1,
229
+ "68": 1,
230
+ "69": 1,
231
+ "70": 1,
232
+ "71": 1,
233
+ "72": 1,
234
+ "73": 1,
235
+ "74": 1,
236
+ "75": 1,
237
+ "76": 1,
238
+ "77": 1,
239
+ "78": 1,
240
+ "79": 1,
241
+ "80": 1,
242
+ "81": 1,
243
+ "82": 1
244
+ },
245
+ "statementMap": {
246
+ "52": { "start": { "line": 52, "column": 0 }, "end": { "line": 52, "column": 0 } },
247
+ "53": { "start": { "line": 53, "column": 0 }, "end": { "line": 53, "column": 0 } },
248
+ "54": { "start": { "line": 54, "column": 0 }, "end": { "line": 54, "column": 0 } },
249
+ "55": { "start": { "line": 55, "column": 0 }, "end": { "line": 55, "column": 0 } },
250
+ "56": { "start": { "line": 56, "column": 0 }, "end": { "line": 56, "column": 0 } },
251
+ "57": { "start": { "line": 57, "column": 0 }, "end": { "line": 57, "column": 0 } },
252
+ "58": { "start": { "line": 58, "column": 0 }, "end": { "line": 58, "column": 0 } },
253
+ "59": { "start": { "line": 59, "column": 0 }, "end": { "line": 59, "column": 0 } },
254
+ "60": { "start": { "line": 60, "column": 0 }, "end": { "line": 60, "column": 0 } },
255
+ "61": { "start": { "line": 61, "column": 0 }, "end": { "line": 61, "column": 0 } },
256
+ "62": { "start": { "line": 62, "column": 0 }, "end": { "line": 62, "column": 0 } },
257
+ "63": { "start": { "line": 63, "column": 0 }, "end": { "line": 63, "column": 0 } },
258
+ "64": { "start": { "line": 64, "column": 0 }, "end": { "line": 64, "column": 0 } },
259
+ "65": { "start": { "line": 65, "column": 0 }, "end": { "line": 65, "column": 0 } },
260
+ "66": { "start": { "line": 66, "column": 0 }, "end": { "line": 66, "column": 0 } },
261
+ "67": { "start": { "line": 67, "column": 0 }, "end": { "line": 67, "column": 0 } },
262
+ "68": { "start": { "line": 68, "column": 0 }, "end": { "line": 68, "column": 0 } },
263
+ "69": { "start": { "line": 69, "column": 0 }, "end": { "line": 69, "column": 0 } },
264
+ "70": { "start": { "line": 70, "column": 0 }, "end": { "line": 70, "column": 0 } },
265
+ "71": { "start": { "line": 71, "column": 0 }, "end": { "line": 71, "column": 0 } },
266
+ "72": { "start": { "line": 72, "column": 0 }, "end": { "line": 72, "column": 0 } },
267
+ "73": { "start": { "line": 73, "column": 0 }, "end": { "line": 73, "column": 0 } },
268
+ "74": { "start": { "line": 74, "column": 0 }, "end": { "line": 74, "column": 0 } },
269
+ "75": { "start": { "line": 75, "column": 0 }, "end": { "line": 75, "column": 0 } },
270
+ "76": { "start": { "line": 76, "column": 0 }, "end": { "line": 76, "column": 0 } },
271
+ "77": { "start": { "line": 77, "column": 0 }, "end": { "line": 77, "column": 0 } },
272
+ "78": { "start": { "line": 78, "column": 0 }, "end": { "line": 78, "column": 0 } },
273
+ "79": { "start": { "line": 79, "column": 0 }, "end": { "line": 79, "column": 0 } },
274
+ "80": { "start": { "line": 80, "column": 0 }, "end": { "line": 80, "column": 0 } },
275
+ "81": { "start": { "line": 81, "column": 0 }, "end": { "line": 81, "column": 0 } },
276
+ "82": { "start": { "line": 82, "column": 0 }, "end": { "line": 82, "column": 0 } }
277
+ }
203
278
  }
204
279
  }
205
280
  ```
@@ -221,5 +296,11 @@ will be converted to:
221
296
  <lineToCover lineNumber="59" covered="false"/>
222
297
  <lineToCover lineNumber="60" covered="false"/>
223
298
  </file>
299
+ <file path="force-app/main/default/flows/Get_Info.flow-meta.xml">
300
+ <lineToCover lineNumber="52" covered="false"/>
301
+ <lineToCover lineNumber="53" covered="false"/>
302
+ <lineToCover lineNumber="59" covered="false"/>
303
+ <lineToCover lineNumber="60" covered="false"/>
304
+ </file>
224
305
  </coverage>
225
306
  ```
@@ -10,10 +10,11 @@ export default class TransformerTransform extends SfCommand {
10
10
  static description = messages.getMessage('description');
11
11
  static examples = messages.getMessages('examples');
12
12
  static flags = {
13
- 'dx-directory': Flags.string({
13
+ 'dx-directory': Flags.directory({
14
14
  summary: messages.getMessage('flags.dx-directory.summary'),
15
15
  char: 'd',
16
16
  required: true,
17
+ exists: true,
17
18
  default: 'force-app/main/default',
18
19
  }),
19
20
  'coverage-json': Flags.file({
@@ -60,16 +61,21 @@ export default class TransformerTransform extends SfCommand {
60
61
  function findFilePath(className, dxDirectory) {
61
62
  const relativeClassPath = `${dxDirectory}/classes/${className}.cls`;
62
63
  const relativeTriggerPath = `${dxDirectory}/triggers/${className}.trigger`;
64
+ const relativeFlowPath = `${dxDirectory}/flows/${className}.flow-meta.xml`;
63
65
  const absoluteClassPath = path.resolve(relativeClassPath);
64
66
  const absoluteTriggerPath = path.resolve(relativeTriggerPath);
67
+ const absoluteFlowPath = path.resolve(relativeFlowPath);
65
68
  if (fs.existsSync(absoluteClassPath)) {
66
69
  return relativeClassPath;
67
70
  }
68
71
  else if (fs.existsSync(absoluteTriggerPath)) {
69
72
  return relativeTriggerPath;
70
73
  }
74
+ else if (fs.existsSync(absoluteFlowPath)) {
75
+ return relativeFlowPath;
76
+ }
71
77
  else {
72
- throw Error(`The file name ${className} was not found in the classes or triggers directory.`);
78
+ throw Error(`The file name ${className} was not found in the classes, triggers, or flows directory.`);
73
79
  }
74
80
  }
75
81
  function convertToGenericTestReport(data, dxDirectory) {
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../src/commands/apex-code-coverage/transformer/transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../src/commands/apex-code-coverage/transformer/transform.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ This plugin will convert the JSON file created by the Salesforce CLI during Apex
8
8
 
9
9
  # examples
10
10
 
11
- - `sf apex-code-coverage transformer transform --json "path-to-cli-coverage.json"`
11
+ - `sf apex-code-coverage transformer transform --coverage-json "path-to-cli-coverage.json"`
12
12
 
13
13
  # flags.dx-directory.summary
14
14
 
@@ -5,7 +5,7 @@
5
5
  "args": {},
6
6
  "description": "This plugin will convert the JSON file created by the Salesforce CLI during Apex deployments",
7
7
  "examples": [
8
- "`sf apex-code-coverage transformer transform --json \"path-to-cli-coverage.json\"`"
8
+ "`sf apex-code-coverage transformer transform --coverage-json \"path-to-cli-coverage.json\"`"
9
9
  ],
10
10
  "flags": {
11
11
  "json": {
@@ -73,5 +73,5 @@
73
73
  ]
74
74
  }
75
75
  },
76
- "version": "1.2.0"
76
+ "version": "1.3.1"
77
77
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "apex-code-coverage-transformer",
3
3
  "description": "Transforms the Apex Code Coverage JSON into the Generic Test Data Report.",
4
- "version": "1.2.0",
4
+ "version": "1.3.1",
5
5
  "dependencies": {
6
6
  "@oclif/core": "^3.18.1",
7
7
  "@salesforce/core": "^6.4.7",
@@ -45,7 +45,8 @@
45
45
  "sfdx",
46
46
  "sfdx-plugin",
47
47
  "xml",
48
- "json"
48
+ "json",
49
+ "sonarqube"
49
50
  ],
50
51
  "license": "MIT",
51
52
  "oclif": {
@@ -182,5 +183,12 @@
182
183
  },
183
184
  "exports": "./lib/index.js",
184
185
  "type": "module",
185
- "author": "Matt Carvin"
186
+ "author": "Matt Carvin",
187
+ "repository": {
188
+ "type": "git",
189
+ "url": "git+https://github.com/mcarvin8/apex-code-coverage-transformer.git"
190
+ },
191
+ "bugs": {
192
+ "url": "https://github.com/mcarvin8/apex-code-coverage-transformer/issues"
193
+ }
186
194
  }