apex-code-coverage-transformer 2.8.7 → 2.9.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 +7 -0
- package/README.md +11 -6
- package/lib/commands/acc-transformer/transform.d.ts +1 -0
- package/lib/commands/acc-transformer/transform.js +9 -2
- package/lib/commands/acc-transformer/transform.js.map +1 -1
- package/lib/helpers/getPackageDirectories.d.ts +1 -1
- package/lib/helpers/getPackageDirectories.js +4 -2
- package/lib/helpers/getPackageDirectories.js.map +1 -1
- package/lib/helpers/transformDeployCoverageReport.d.ts +1 -1
- package/lib/helpers/transformDeployCoverageReport.js +2 -2
- package/lib/helpers/transformDeployCoverageReport.js.map +1 -1
- package/lib/helpers/transformTestCoverageReport.d.ts +1 -1
- package/lib/helpers/transformTestCoverageReport.js +2 -2
- package/lib/helpers/transformTestCoverageReport.js.map +1 -1
- package/messages/transformer.transform.md +5 -0
- package/oclif.lock +795 -882
- package/oclif.manifest.json +12 -2
- package/package.json +3 -3
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.9.0](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.8.7...v2.9.0) (2025-02-16)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* add ignore package directories flag ([3666c59](https://github.com/mcarvin8/apex-code-coverage-transformer/commit/3666c59bdd675c1610c2409bddbd11fe4ed03719))
|
|
14
|
+
|
|
8
15
|
## [2.8.7](https://github.com/mcarvin8/apex-code-coverage-transformer/compare/v2.8.6...v2.8.7) (2025-02-13)
|
|
9
16
|
|
|
10
17
|
|
package/README.md
CHANGED
|
@@ -87,14 +87,17 @@ The `apex-code-coverage-transformer` has 1 command:
|
|
|
87
87
|
|
|
88
88
|
```
|
|
89
89
|
USAGE
|
|
90
|
-
$ sf acc-transformer transform -j <value> -r <value> -f <value> [--json]
|
|
90
|
+
$ sf acc-transformer transform -j <value> -r <value> -f <value> -i <value> [--json]
|
|
91
91
|
|
|
92
92
|
FLAGS
|
|
93
|
-
-j, --coverage-json=<value>
|
|
94
|
-
-r, --output-report=<value>
|
|
95
|
-
|
|
96
|
-
-f, --format=<value>
|
|
97
|
-
|
|
93
|
+
-j, --coverage-json=<value> Path to the code coverage JSON file created by the Salesforce CLI deploy or test command.
|
|
94
|
+
-r, --output-report=<value> Path to the code coverage file that will be created by this plugin.
|
|
95
|
+
[default: "coverage.[xml/info]"]
|
|
96
|
+
-f, --format=<value> Output format for the code coverage format.
|
|
97
|
+
[default: "sonar"]
|
|
98
|
+
-i, --ignore-package-directory=<value> Package directories to ignore when looking for matching files in the coverage report.
|
|
99
|
+
Should be as they appear in the "sfdx-project.json".
|
|
100
|
+
Can be declared multiple times.
|
|
98
101
|
|
|
99
102
|
GLOBAL FLAGS
|
|
100
103
|
--json Format output as json.
|
|
@@ -110,6 +113,8 @@ EXAMPLES
|
|
|
110
113
|
$ sf acc-transformer transform -j "coverage.json" -r "coverage.xml" -f "clover"
|
|
111
114
|
|
|
112
115
|
$ sf acc-transformer transform -j "coverage.json" -r "coverage.info" -f "lcovonly"
|
|
116
|
+
|
|
117
|
+
$ sf acc-transformer transform -j "coverage.json" -i "force-app"
|
|
113
118
|
```
|
|
114
119
|
|
|
115
120
|
## Coverage Report Formats
|
|
@@ -8,6 +8,7 @@ export default class TransformerTransform extends SfCommand<TransformerTransform
|
|
|
8
8
|
'coverage-json': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
9
|
'output-report': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
10
|
format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
'ignore-package-directory': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
12
|
};
|
|
12
13
|
run(): Promise<TransformerTransformResult>;
|
|
13
14
|
}
|
|
@@ -33,11 +33,18 @@ export default class TransformerTransform extends SfCommand {
|
|
|
33
33
|
default: 'sonar',
|
|
34
34
|
options: formatOptions,
|
|
35
35
|
}),
|
|
36
|
+
'ignore-package-directory': Flags.directory({
|
|
37
|
+
summary: messages.getMessage('flags.ignore-package-directory.summary'),
|
|
38
|
+
char: 'i',
|
|
39
|
+
required: false,
|
|
40
|
+
multiple: true,
|
|
41
|
+
}),
|
|
36
42
|
};
|
|
37
43
|
async run() {
|
|
38
44
|
const { flags } = await this.parse(TransformerTransform);
|
|
39
45
|
const jsonFilePath = resolve(flags['coverage-json']);
|
|
40
46
|
let outputReportPath = resolve(flags['output-report']);
|
|
47
|
+
const ignoreDirs = flags['ignore-package-directory'] ?? [];
|
|
41
48
|
const format = flags['format'];
|
|
42
49
|
let jsonData;
|
|
43
50
|
try {
|
|
@@ -54,13 +61,13 @@ export default class TransformerTransform extends SfCommand {
|
|
|
54
61
|
const commandType = checkCoverageDataType(parsedData);
|
|
55
62
|
// Determine the type of coverage data using type guards
|
|
56
63
|
if (commandType === 'TestCoverageData') {
|
|
57
|
-
const result = await transformTestCoverageReport(parsedData, format);
|
|
64
|
+
const result = await transformTestCoverageReport(parsedData, format, ignoreDirs);
|
|
58
65
|
xmlData = result.xml;
|
|
59
66
|
warnings = result.warnings;
|
|
60
67
|
filesProcessed = result.filesProcessed;
|
|
61
68
|
}
|
|
62
69
|
else if (commandType === 'DeployCoverageData') {
|
|
63
|
-
const result = await transformDeployCoverageReport(parsedData, format);
|
|
70
|
+
const result = await transformDeployCoverageReport(parsedData, format, ignoreDirs);
|
|
64
71
|
xmlData = result.xml;
|
|
65
72
|
warnings = result.warnings;
|
|
66
73
|
filesProcessed = result.filesProcessed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/commands/acc-transformer/transform.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,gCAAgC,EAAE,uBAAuB,CAAC,CAAC;AAElG,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,SAAqC;IAC9E,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE5D,MAAM,CAAU,KAAK,GAAG;QAC7B,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,6BAA6B,CAAC;YAC3D,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,6BAA6B,CAAC;YAC3D,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,cAAc;SACxB,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC;YACpD,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,aAAa;SACvB,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACrD,IAAI,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,kBAAkB,YAAY,wBAAwB,CAAC,
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/commands/acc-transformer/transform.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
import { readFile } from 'node:fs/promises';
|
|
3
3
|
import { resolve } from 'node:path';
|
|
4
4
|
import { getRepoRoot } from './getRepoRoot.js';
|
|
5
|
-
export async function getPackageDirectories() {
|
|
5
|
+
export async function getPackageDirectories(ignoreDirectories = []) {
|
|
6
6
|
const { repoRoot, dxConfigFilePath } = await getRepoRoot();
|
|
7
7
|
if (!repoRoot || !dxConfigFilePath) {
|
|
8
8
|
throw new Error('Failed to retrieve repository root or sfdx-project.json path.');
|
|
9
9
|
}
|
|
10
10
|
const sfdxProjectRaw = await readFile(dxConfigFilePath, 'utf-8');
|
|
11
11
|
const sfdxProject = JSON.parse(sfdxProjectRaw);
|
|
12
|
-
const packageDirectories = sfdxProject.packageDirectories
|
|
12
|
+
const packageDirectories = sfdxProject.packageDirectories
|
|
13
|
+
.filter((directory) => !ignoreDirectories.includes(directory.path)) // Ignore exact folder names
|
|
14
|
+
.map((directory) => resolve(repoRoot, directory.path));
|
|
13
15
|
return { repoRoot, packageDirectories };
|
|
14
16
|
}
|
|
15
17
|
//# sourceMappingURL=getPackageDirectories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPackageDirectories.js","sourceRoot":"","sources":["../../src/helpers/getPackageDirectories.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,qBAAqB;
|
|
1
|
+
{"version":3,"file":"getPackageDirectories.js","sourceRoot":"","sources":["../../src/helpers/getPackageDirectories.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,oBAA8B,EAAE;IAEhC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;IAE3D,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,cAAc,GAAW,MAAM,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACzE,MAAM,WAAW,GAAgB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAgB,CAAC;IAE3E,MAAM,kBAAkB,GAAG,WAAW,CAAC,kBAAkB;SACtD,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,4BAA4B;SAC/F,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DeployCoverageData } from './types.js';
|
|
2
|
-
export declare function transformDeployCoverageReport(data: DeployCoverageData, format: string): Promise<{
|
|
2
|
+
export declare function transformDeployCoverageReport(data: DeployCoverageData, format: string, ignoreDirs: string[]): Promise<{
|
|
3
3
|
xml: string;
|
|
4
4
|
warnings: string[];
|
|
5
5
|
filesProcessed: number;
|
|
@@ -6,10 +6,10 @@ import { findFilePath } from './findFilePath.js';
|
|
|
6
6
|
import { generateReport } from './generateReport.js';
|
|
7
7
|
import { setCoveredLines } from './setCoveredLines.js';
|
|
8
8
|
import { getConcurrencyThreshold } from './getConcurrencyThreshold.js';
|
|
9
|
-
export async function transformDeployCoverageReport(data, format) {
|
|
9
|
+
export async function transformDeployCoverageReport(data, format, ignoreDirs) {
|
|
10
10
|
const warnings = [];
|
|
11
11
|
let filesProcessed = 0;
|
|
12
|
-
const { repoRoot, packageDirectories } = await getPackageDirectories();
|
|
12
|
+
const { repoRoot, packageDirectories } = await getPackageDirectories(ignoreDirs);
|
|
13
13
|
const handler = getCoverageHandler(format);
|
|
14
14
|
const processFile = async (fileName) => {
|
|
15
15
|
const fileInfo = data[fileName];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformDeployCoverageReport.js","sourceRoot":"","sources":["../../src/helpers/transformDeployCoverageReport.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,IAAwB,EACxB,MAAc;
|
|
1
|
+
{"version":3,"file":"transformDeployCoverageReport.js","sourceRoot":"","sources":["../../src/helpers/transformDeployCoverageReport.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,IAAwB,EACxB,MAAc,EACd,UAAoB;IAEpB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,MAAM,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE3C,MAAM,WAAW,GAAG,KAAK,EAAE,QAAgB,EAAoB,EAAE;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC/D,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAE7F,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,iBAAiB,0CAA0C,CAAC,CAAC;YAC5F,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnF,QAAQ,CAAC,CAAC,GAAG,YAAY,CAAC;QAE1B,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;IACnD,MAAM,QAAQ,CACZ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EACrE,gBAAgB,EAChB,KAAK,EAAE,QAAgB,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,MAAM,EAAE,CAAC;YACX,cAAc,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEhD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AAC3C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TestCoverageData } from './types.js';
|
|
2
|
-
export declare function transformTestCoverageReport(testCoverageData: TestCoverageData[], format: string): Promise<{
|
|
2
|
+
export declare function transformTestCoverageReport(testCoverageData: TestCoverageData[], format: string, ignoreDirs: string[]): Promise<{
|
|
3
3
|
xml: string;
|
|
4
4
|
warnings: string[];
|
|
5
5
|
filesProcessed: number;
|
|
@@ -5,10 +5,10 @@ import { getPackageDirectories } from './getPackageDirectories.js';
|
|
|
5
5
|
import { findFilePath } from './findFilePath.js';
|
|
6
6
|
import { generateReport } from './generateReport.js';
|
|
7
7
|
import { getConcurrencyThreshold } from './getConcurrencyThreshold.js';
|
|
8
|
-
export async function transformTestCoverageReport(testCoverageData, format) {
|
|
8
|
+
export async function transformTestCoverageReport(testCoverageData, format, ignoreDirs) {
|
|
9
9
|
const warnings = [];
|
|
10
10
|
let filesProcessed = 0;
|
|
11
|
-
const { repoRoot, packageDirectories } = await getPackageDirectories();
|
|
11
|
+
const { repoRoot, packageDirectories } = await getPackageDirectories(ignoreDirs);
|
|
12
12
|
const handler = getCoverageHandler(format);
|
|
13
13
|
// Ensure testCoverageData is an array
|
|
14
14
|
const coverageData = Array.isArray(testCoverageData) ? testCoverageData : [testCoverageData];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformTestCoverageReport.js","sourceRoot":"","sources":["../../src/helpers/transformTestCoverageReport.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,gBAAoC,EACpC,MAAc;
|
|
1
|
+
{"version":3,"file":"transformTestCoverageReport.js","sourceRoot":"","sources":["../../src/helpers/transformTestCoverageReport.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,gBAAoC,EACpC,MAAc,EACd,UAAoB;IAEpB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,MAAM,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE3C,sCAAsC;IACtC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAE7F,MAAM,WAAW,GAAG,KAAK,EAAE,IAAsB,EAAoB,EAAE;QACrE,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC;QAE1B,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAElC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAE7F,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,iBAAiB,0CAA0C,CAAC,CAAC;YAC5F,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,WAAW,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,uBAAuB,EAAE,CAAC;IACnD,MAAM,QAAQ,CAAC,YAAY,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAsB,EAAE,EAAE;QAC9E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,cAAc,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEhD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AAC3C,CAAC"}
|
|
@@ -12,6 +12,7 @@ Transform Salesforce Apex code coverage JSONs created during deployments and tes
|
|
|
12
12
|
- `sf acc-transformer transform -j "coverage.json" -r "coverage.xml" -f "cobertura"`
|
|
13
13
|
- `sf acc-transformer transform -j "coverage.json" -r "coverage.xml" -f "clover"`
|
|
14
14
|
- `sf acc-transformer transform -j "coverage.json" -r "coverage.info" -f "lcovonly"`
|
|
15
|
+
- `sf acc-transformer transform -j "coverage.json" -i "force-app"`
|
|
15
16
|
|
|
16
17
|
# flags.coverage-json.summary
|
|
17
18
|
|
|
@@ -24,3 +25,7 @@ Path to the code coverage file that will be created by this plugin.
|
|
|
24
25
|
# flags.format.summary
|
|
25
26
|
|
|
26
27
|
Output format for the coverage report.
|
|
28
|
+
|
|
29
|
+
# flags.ignore-package-directory.summary
|
|
30
|
+
|
|
31
|
+
Ignore a package directory when looking for matching files in the coverage report.
|