apex-code-coverage-transformer 1.6.0 → 1.6.1-beta.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.
@@ -2,7 +2,6 @@
2
2
  /* eslint-disable no-await-in-loop */
3
3
  import * as fs from 'node:fs';
4
4
  import * as path from 'node:path';
5
- import { findSubFolder } from './findSubFolder.js';
6
5
  import { getPackageDirectories } from './getPackageDirectories.js';
7
6
  export async function findFilePath(fileName, dxConfigFile) {
8
7
  const packageDirectories = await getPackageDirectories(dxConfigFile);
@@ -15,49 +14,40 @@ export async function findFilePath(fileName, dxConfigFile) {
15
14
  }
16
15
  return filePath;
17
16
  }
18
- async function findFilePathinDirectory(fileName, dxDirectory) {
19
- const fileExtension = fileName.split('.').slice(1).join('.');
20
- let relativeClassPath = await findSubFolder(dxDirectory, 'classes');
21
- let relativeTriggerPath = await findSubFolder(dxDirectory, 'triggers');
22
- let relativeFlowPath = await findSubFolder(dxDirectory, 'flows');
23
- let absoluteClassPath = '';
24
- let absoluteTriggerPath = '';
25
- let absoluteFlowPath = '';
26
- // if file extension is found, use that to determine paths
27
- if (fileExtension === 'cls' && relativeClassPath !== undefined) {
28
- absoluteClassPath = path.resolve(relativeClassPath, fileName);
29
- if (fs.existsSync(absoluteClassPath)) {
30
- return path.join(relativeClassPath, fileName);
31
- }
32
- }
33
- else if (fileExtension === 'trigger' && relativeTriggerPath !== undefined) {
34
- absoluteTriggerPath = path.resolve(relativeTriggerPath, fileName);
35
- if (fs.existsSync(absoluteTriggerPath)) {
36
- return path.join(relativeTriggerPath, fileName);
17
+ async function searchRecursively(fileName, dxDirectory) {
18
+ const files = await fs.promises.readdir(dxDirectory);
19
+ for (const file of files) {
20
+ const filePath = path.join(dxDirectory, file);
21
+ const stats = await fs.promises.stat(filePath);
22
+ if (stats.isDirectory()) {
23
+ const result = await searchRecursively(fileName, filePath);
24
+ if (result) {
25
+ return result;
26
+ }
37
27
  }
38
- }
39
- else if (fileExtension === 'flow-meta.xml' && relativeFlowPath !== undefined) {
40
- absoluteFlowPath = path.resolve(relativeFlowPath, fileName);
41
- if (fs.existsSync(absoluteFlowPath)) {
42
- return path.join(relativeFlowPath, fileName);
28
+ else if (file === fileName) {
29
+ return filePath;
43
30
  }
44
31
  }
45
- // if file extension is not found, add file extensions manually and test paths
46
- relativeClassPath = path.join(relativeClassPath, `${fileName}.cls`);
47
- relativeTriggerPath = path.join(relativeTriggerPath, `${fileName}.trigger`);
48
- relativeFlowPath = path.join(relativeFlowPath, `${fileName}.flow-meta.xml`);
49
- absoluteClassPath = path.resolve(relativeClassPath);
50
- absoluteTriggerPath = path.resolve(relativeTriggerPath);
51
- absoluteFlowPath = path.resolve(relativeFlowPath);
52
- if (fs.existsSync(absoluteClassPath)) {
53
- return relativeClassPath;
54
- }
55
- else if (fs.existsSync(absoluteTriggerPath)) {
56
- return relativeTriggerPath;
32
+ return undefined;
33
+ }
34
+ async function findFilePathinDirectory(fileName, dxDirectory) {
35
+ const fileExtension = fileName.split('.').slice(1).join('.');
36
+ let relativeFilePath;
37
+ if (fileExtension) {
38
+ // If file extension is defined, search recursively with that extension
39
+ relativeFilePath = await searchRecursively(fileName, dxDirectory);
57
40
  }
58
- else if (fs.existsSync(absoluteFlowPath)) {
59
- return relativeFlowPath;
41
+ else {
42
+ // If file extension is not defined, test each extension option
43
+ const fileExts = ['cls', 'trigger', 'flow-meta.xml'];
44
+ for (const ext of fileExts) {
45
+ relativeFilePath = await searchRecursively(`${fileName}.${ext}`, dxDirectory);
46
+ if (relativeFilePath !== undefined) {
47
+ break;
48
+ }
49
+ }
60
50
  }
61
- return undefined;
51
+ return relativeFilePath;
62
52
  }
63
53
  //# sourceMappingURL=findFilePath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"findFilePath.js","sourceRoot":"","sources":["../../src/helpers/findFilePath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findFilePath.js","sourceRoot":"","sources":["../../src/helpers/findFilePath.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AAErC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,YAAoB;IACvE,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAErE,IAAI,QAA4B,CAAC;IACjC,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;QAC3C,QAAQ,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAgB,EAAE,WAAmB;IACpE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,QAAgB,EAAE,WAAmB;IAC1E,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,gBAAoC,CAAC;IAEzC,IAAI,aAAa,EAAE,CAAC;QAClB,uEAAuE;QACvE,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,+DAA+D;QAC/D,MAAM,QAAQ,GAAa,CAAC,KAAK,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAC/D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;YAC9E,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
@@ -73,5 +73,5 @@
73
73
  ]
74
74
  }
75
75
  },
76
- "version": "1.6.0"
76
+ "version": "1.6.1-beta.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.6.0",
4
+ "version": "1.6.1-beta.1",
5
5
  "dependencies": {
6
6
  "@oclif/core": "^3.18.1",
7
7
  "@salesforce/core": "^6.4.7",
@@ -1 +0,0 @@
1
- export declare function findSubFolder(parentDirectory: string, subFolderName: string): Promise<string>;
@@ -1,25 +0,0 @@
1
- 'use strict';
2
- /* eslint-disable no-await-in-loop */
3
- import * as path from 'node:path';
4
- import * as promises from 'node:fs/promises';
5
- export async function findSubFolder(parentDirectory, subFolderName) {
6
- const files = await promises.readdir(parentDirectory);
7
- // Check if current directory contains the sub-folder
8
- if (files.includes(subFolderName)) {
9
- return path.join(parentDirectory, subFolderName);
10
- }
11
- // Recursively search sub-directories
12
- for (const file of files) {
13
- const filePath = path.join(parentDirectory, file);
14
- const stats = await promises.stat(filePath);
15
- if (stats.isDirectory()) {
16
- const subFolderPath = await findSubFolder(filePath, subFolderName);
17
- if (subFolderPath) {
18
- return subFolderPath;
19
- }
20
- }
21
- }
22
- // must be a string for the file-path check
23
- return 'undefined';
24
- }
25
- //# sourceMappingURL=findSubFolder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"findSubFolder.js","sourceRoot":"","sources":["../../src/helpers/findSubFolder.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AAErC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,eAAuB,EAAE,aAAqB;IAChF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAEtD,qDAAqD;IACrD,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC;IAED,qCAAqC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACnE,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,aAAa,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,OAAO,WAAW,CAAC;AACrB,CAAC"}