apextestlist 1.10.2 → 1.11.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/CHANGELOG.md +14 -0
- package/README.md +27 -1
- package/lib/commands/apextests/list.d.ts +1 -0
- package/lib/commands/apextests/list.js +37 -27
- package/lib/commands/apextests/list.js.map +1 -1
- package/lib/helpers/readers.js +23 -25
- package/lib/helpers/readers.js.map +1 -1
- package/lib/helpers/types.d.ts +1 -0
- package/lib/helpers/validateTests.js +1 -1
- package/lib/helpers/validateTests.js.map +1 -1
- package/messages/apextests.list.md +8 -0
- package/oclif.lock +27 -37
- package/oclif.manifest.json +10 -1
- package/package.json +1 -1
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
|
+
## [1.11.1](https://github.com/renatoliveira/apex-test-list/compare/v1.11.0...v1.11.1) (2025-04-19)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **deps:** bump @salesforce/core from 8.8.7 to 8.9.1 ([#195](https://github.com/renatoliveira/apex-test-list/issues/195)) ([28d633e](https://github.com/renatoliveira/apex-test-list/commit/28d633e1646c3ffb90b42318aa0098b3098d8446))
|
|
14
|
+
|
|
15
|
+
## [1.11.0](https://github.com/renatoliveira/apex-test-list/compare/v1.10.2...v1.11.0) (2025-04-07)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
* provide warnings for missing annotations ([#186](https://github.com/renatoliveira/apex-test-list/issues/186)) ([6df6cb9](https://github.com/renatoliveira/apex-test-list/commit/6df6cb9e9a9ea12db87339436579b95746364a25))
|
|
21
|
+
|
|
8
22
|
## [1.10.2](https://github.com/renatoliveira/apex-test-list/compare/v1.10.1...v1.10.2) (2025-04-06)
|
|
9
23
|
|
|
10
24
|
|
package/README.md
CHANGED
|
@@ -15,6 +15,7 @@ A plugin that generates a list of tests that your automated process should run,
|
|
|
15
15
|
- [3. `@isTest` (Apex Annotation)](#3-istest-apex-annotation)
|
|
16
16
|
- [Running the Tool](#running-the-tool)
|
|
17
17
|
- [Handling Missing Tests](#handling-missing-tests)
|
|
18
|
+
- [Handling Missing Annotations](#handling-missing-annotations)
|
|
18
19
|
- [Command Reference](#command-reference)
|
|
19
20
|
- [Issues](#issues)
|
|
20
21
|
- [License](#license)
|
|
@@ -95,6 +96,12 @@ The final deployment command would look like:
|
|
|
95
96
|
sf project deploy start --tests SampleTest SuperSampleTest Sample2Test SuperSample2Test SampleTriggerTest
|
|
96
97
|
```
|
|
97
98
|
|
|
99
|
+
If no annotations are found, the command output will be empty and will present this warning:
|
|
100
|
+
|
|
101
|
+
```sh
|
|
102
|
+
No test methods found
|
|
103
|
+
```
|
|
104
|
+
|
|
98
105
|
### Handling Missing Tests
|
|
99
106
|
|
|
100
107
|
By default, this tool does **not** verify if the tests specified in `@Tests:` or `@TestSuites:` exist in the project. To enable warnings for missing tests, use:
|
|
@@ -105,11 +112,25 @@ sf apextests list --ignore-missing-tests
|
|
|
105
112
|
|
|
106
113
|
This will print warnings for missing tests and exclude them from the output.
|
|
107
114
|
|
|
115
|
+
### Handling Missing Annotations
|
|
116
|
+
|
|
117
|
+
By default, the tool will print a warning for each file scanned that is missing any annotation.
|
|
118
|
+
|
|
119
|
+
```sh
|
|
120
|
+
File "Sample.cls" does not contain @tests, @testsuites, or @istest annotations
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
To remove these warnings from the terminal, use:
|
|
124
|
+
|
|
125
|
+
```sh
|
|
126
|
+
sf apextests list --no-warnings
|
|
127
|
+
```
|
|
128
|
+
|
|
108
129
|
## Command Reference
|
|
109
130
|
|
|
110
131
|
```
|
|
111
132
|
USAGE
|
|
112
|
-
$ sf apextests list -f <value> -x <value> -s -d <value> [--json]
|
|
133
|
+
$ sf apextests list -f <value> -x <value> -s -n -d <value> [--json]
|
|
113
134
|
|
|
114
135
|
FLAGS
|
|
115
136
|
-f, --format=<value> Output format. Available options:
|
|
@@ -117,6 +138,7 @@ FLAGS
|
|
|
117
138
|
- `csv`: Comma-separated values
|
|
118
139
|
-x, --manifest=<value> Manifest XML file (package.xml) to filter test annotations.
|
|
119
140
|
-s, --ignore-missing-tests [default: false] Ignore test methods that are not found in any local package directories.
|
|
141
|
+
-n, --no-warnings [default: false] Do not print warnings for each file missing annotations.
|
|
120
142
|
-d, --ignore-package-directory Ignore a package directory when looking for test annotations.
|
|
121
143
|
Should match how they are declared in "sfdx-project.json".
|
|
122
144
|
Can be declared multiple times.
|
|
@@ -144,6 +166,10 @@ EXAMPLES
|
|
|
144
166
|
Exclude annotations found in the "force-app" directory:
|
|
145
167
|
|
|
146
168
|
$ sf apextests list -d "force-app"
|
|
169
|
+
|
|
170
|
+
List test annotations without printing warnings for each file missing annotations:
|
|
171
|
+
|
|
172
|
+
$ sf apextests list -n
|
|
147
173
|
```
|
|
148
174
|
|
|
149
175
|
## Issues
|
|
@@ -12,6 +12,7 @@ export default class ApextestsList extends SfCommand<ApextestsListResult> {
|
|
|
12
12
|
manifest: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
13
|
'ignore-missing-tests': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
14
|
'ignore-package-directory': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'no-warnings': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
16
|
};
|
|
16
17
|
run(): Promise<ApextestsListResult>;
|
|
17
18
|
}
|
|
@@ -41,6 +41,13 @@ export default class ApextestsList extends SfCommand {
|
|
|
41
41
|
required: false,
|
|
42
42
|
multiple: true,
|
|
43
43
|
}),
|
|
44
|
+
'no-warnings': Flags.boolean({
|
|
45
|
+
summary: messages.getMessage('flags.no-warnings.summary'),
|
|
46
|
+
description: messages.getMessage('flags.no-warnings.description'),
|
|
47
|
+
char: 'n',
|
|
48
|
+
required: false,
|
|
49
|
+
default: false,
|
|
50
|
+
}),
|
|
44
51
|
};
|
|
45
52
|
async run() {
|
|
46
53
|
const { flags } = await this.parse(ApextestsList);
|
|
@@ -48,57 +55,60 @@ export default class ApextestsList extends SfCommand {
|
|
|
48
55
|
const manifest = flags.manifest ?? undefined;
|
|
49
56
|
const ignoreMissingTests = flags['ignore-missing-tests'] ?? false;
|
|
50
57
|
const ignoreDirs = flags['ignore-package-directory'] ?? [];
|
|
51
|
-
|
|
58
|
+
const noWarnings = flags['no-warnings'];
|
|
52
59
|
let testClassesNames = null;
|
|
53
60
|
const testSuitesNames = [];
|
|
61
|
+
const allTestClasses = [];
|
|
62
|
+
const warnings = [];
|
|
54
63
|
// Get package directories full paths
|
|
55
64
|
const packageDirectories = await getPackageDirectories(ignoreDirs);
|
|
56
65
|
if (manifest) {
|
|
57
|
-
const
|
|
58
|
-
testClassesNames =
|
|
66
|
+
const manifestMetadata = await extractTypeNamesFromManifestFile(manifest);
|
|
67
|
+
testClassesNames = manifestMetadata.filter((name) => !name.endsWith('testSuite-meta.xml'));
|
|
59
68
|
}
|
|
60
|
-
const allTestClasses = [];
|
|
61
69
|
// Loop through each directory and search for test classes
|
|
62
70
|
for (const directory of packageDirectories) {
|
|
63
71
|
const searchResult = await searchDirectoryForTestClasses(directory, testClassesNames);
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
allTestClasses.push(...searchResult.classes);
|
|
73
|
+
testSuitesNames.push(...searchResult.testSuites);
|
|
74
|
+
if (searchResult.warnings?.length) {
|
|
75
|
+
warnings.push(...searchResult.warnings);
|
|
76
|
+
}
|
|
68
77
|
}
|
|
69
78
|
if (testSuitesNames.length > 0) {
|
|
70
|
-
// read the testSuite directory again to get the classes listed on them
|
|
71
79
|
for (const directory of packageDirectories.filter((dir) => dir.includes('testSuites'))) {
|
|
72
80
|
const testNames = await searchDirectoryForTestNamesInTestSuites(directory, packageDirectories);
|
|
73
81
|
allTestClasses.push(...testNames);
|
|
74
82
|
}
|
|
75
83
|
}
|
|
76
|
-
// Ensure all test methods are unique by using a Set
|
|
77
84
|
let finalTestMethods = Array.from(new Set(allTestClasses.map((test) => test.trim())));
|
|
78
85
|
// If ignore-missing-tests is true, validate the test methods
|
|
79
86
|
if (ignoreMissingTests) {
|
|
80
|
-
const { validatedTests, warnings } = await validateTests(finalTestMethods, packageDirectories);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
else {
|
|
85
|
-
throw new Error('No test methods declared in your annotations were found in your package directories.');
|
|
87
|
+
const { validatedTests, warnings: validationWarnings } = await validateTests(finalTestMethods, packageDirectories);
|
|
88
|
+
finalTestMethods = validatedTests;
|
|
89
|
+
if (validationWarnings.length > 0) {
|
|
90
|
+
warnings.push(...validationWarnings);
|
|
86
91
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
warnings.forEach((warning) => {
|
|
90
|
-
this.warn(warning);
|
|
91
|
-
});
|
|
92
|
+
if (validatedTests.length === 0) {
|
|
93
|
+
warnings.push('No test methods declared in your annotations were found in your package directories');
|
|
92
94
|
}
|
|
93
95
|
}
|
|
94
|
-
|
|
95
|
-
if (
|
|
96
|
-
|
|
96
|
+
// Print all collected warnings
|
|
97
|
+
if (!noWarnings && warnings.length > 0) {
|
|
98
|
+
warnings.forEach((warning) => {
|
|
99
|
+
this.warn(warning);
|
|
100
|
+
});
|
|
97
101
|
}
|
|
98
|
-
|
|
99
|
-
|
|
102
|
+
finalTestMethods.sort((a, b) => a.localeCompare(b));
|
|
103
|
+
if (finalTestMethods.length === 0) {
|
|
104
|
+
this.warn('No test methods found');
|
|
105
|
+
return {
|
|
106
|
+
tests: [],
|
|
107
|
+
command: '',
|
|
108
|
+
};
|
|
100
109
|
}
|
|
101
|
-
|
|
110
|
+
const result = await formatList(format, finalTestMethods);
|
|
111
|
+
this.log(result.command);
|
|
102
112
|
return result;
|
|
103
113
|
}
|
|
104
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/apextests/list.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,YAAY,CAAC;AACb,qCAAqC;AAErC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,uCAAuC,EAAE,MAAM,0BAA0B,CAAC;AAGlH,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAQzE,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,SAA8B;IAChE,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,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC;YACpD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;YAC5D,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;YACtD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,4BAA4B,CAAC;YAC9D,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC;YACpC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oCAAoC,CAAC;YAClE,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,wCAAwC,CAAC;YAC1E,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,KAAK;SACf,CAAC;QACF,0BAA0B,EAAE,KAAK,CAAC,SAAS,CAAC;YAC1C,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,wCAAwC,CAAC;YACtE,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,4CAA4C,CAAC;YAC9E,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC7C,MAAM,kBAAkB,GAAG,KAAK,CAAC,sBAAsB,CAAC,IAAI,KAAK,CAAC;QAClE,MAAM,UAAU,GAAG,KAAK,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/apextests/list.ts"],"names":[],"mappings":"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"}
|
package/lib/helpers/readers.js
CHANGED
|
@@ -92,6 +92,7 @@ export function matchWildcard(wildcard, test) {
|
|
|
92
92
|
export async function searchDirectoryForTestClasses(directory, names) {
|
|
93
93
|
const testClassesNames = new Set();
|
|
94
94
|
const testSuitesNames = new Set();
|
|
95
|
+
const warnings = [];
|
|
95
96
|
let readDir;
|
|
96
97
|
try {
|
|
97
98
|
readDir = readdirSync(directory, { recursive: true });
|
|
@@ -113,48 +114,45 @@ export async function searchDirectoryForTestClasses(directory, names) {
|
|
|
113
114
|
return names.includes(formattedName);
|
|
114
115
|
}
|
|
115
116
|
});
|
|
116
|
-
// Function that handles the parsing of test classes and helps to build the
|
|
117
|
-
// list of test classes
|
|
118
117
|
const testClassNameHandler = (fileName) => {
|
|
119
118
|
const path = `${directory}/${fileName}`;
|
|
120
119
|
const data = readFileSync(path, 'utf-8');
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
120
|
+
const testNameMatches = Array.from(data.matchAll(TEST_NAME_REGEX));
|
|
121
|
+
const testSuiteMatches = Array.from(data.matchAll(TEST_SUITE_NAME_REGEX));
|
|
122
|
+
const testClassAnnotationMatches = data.match(TEST_CLASS_ANNOTATION_REGEX);
|
|
123
|
+
let hasAnnotation = false;
|
|
124
|
+
if (testNameMatches.length > 0) {
|
|
125
|
+
hasAnnotation = true;
|
|
126
|
+
for (const match of testNameMatches) {
|
|
127
|
+
parseTestsNames(match).forEach((testMethod) => testClassesNames.add(testMethod));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (testSuiteMatches.length > 0) {
|
|
131
|
+
hasAnnotation = true;
|
|
132
|
+
for (const match of testSuiteMatches) {
|
|
133
|
+
parseTestSuitesNames(match).forEach((testMethod) => testSuitesNames.add(testMethod));
|
|
127
134
|
}
|
|
128
135
|
}
|
|
129
|
-
// check if the class is itself a test class, if it is, add it to the list
|
|
130
|
-
const testClassAnnotationMatches = data.match(TEST_CLASS_ANNOTATION_REGEX);
|
|
131
136
|
if (testClassAnnotationMatches && testClassAnnotationMatches.length > 0) {
|
|
137
|
+
hasAnnotation = true;
|
|
132
138
|
testClassesNames.add(fileName.split('.').shift());
|
|
133
139
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const path = `${directory}/${fileName}`;
|
|
137
|
-
const data = readFileSync(path, 'utf-8');
|
|
138
|
-
const matches = data.matchAll(TEST_SUITE_NAME_REGEX);
|
|
139
|
-
for (const match of matches) {
|
|
140
|
-
parseTestSuitesNames(match).forEach((testMethod) => {
|
|
141
|
-
testSuitesNames.add(testMethod);
|
|
142
|
-
});
|
|
140
|
+
if (!hasAnnotation) {
|
|
141
|
+
warnings.push(`File "${fileName}" does not contain @tests, @testsuites, or @istest annotations`);
|
|
143
142
|
}
|
|
144
143
|
};
|
|
145
|
-
// initialize the processor with the names of files we want to process
|
|
146
144
|
const testClassNameProcessor = queue((f, cb) => {
|
|
147
145
|
testClassNameHandler(f);
|
|
148
|
-
testSuiteNameHandler(f);
|
|
149
146
|
cb();
|
|
150
147
|
}, getConcurrencyThreshold());
|
|
151
|
-
// initialize the processor with the names of files we want to process
|
|
152
148
|
await testClassNameProcessor.push(apexFiles);
|
|
153
|
-
// make sure no dangling process is left before continuing
|
|
154
149
|
if (testClassNameProcessor.length() > 0) {
|
|
155
150
|
await testClassNameProcessor.drain();
|
|
156
151
|
}
|
|
157
|
-
|
|
158
|
-
|
|
152
|
+
return {
|
|
153
|
+
classes: Array.from(testClassesNames),
|
|
154
|
+
testSuites: Array.from(testSuitesNames),
|
|
155
|
+
warnings,
|
|
156
|
+
};
|
|
159
157
|
}
|
|
160
158
|
//# sourceMappingURL=readers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readers.js","sourceRoot":"","sources":["../../src/helpers/readers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"readers.js","sourceRoot":"","sources":["../../src/helpers/readers.ts"],"names":[],"mappings":"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"}
|
package/lib/helpers/types.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export async function validateTests(unvalidatedTests, packageDirectories) {
|
|
|
11
11
|
}));
|
|
12
12
|
for (const { test, testPath } of results) {
|
|
13
13
|
if (testPath === undefined) {
|
|
14
|
-
warnings.push(`The test method ${test}.cls was not found in any package directory
|
|
14
|
+
warnings.push(`The test method ${test}.cls was not found in any package directory`);
|
|
15
15
|
}
|
|
16
16
|
else {
|
|
17
17
|
validatedTests.push(test);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateTests.js","sourceRoot":"","sources":["../../src/helpers/validateTests.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,gBAA0B,EAC1B,kBAA4B;IAE5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,8CAA8C;IAC9C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE;QAC7C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,eAAe,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAClF,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;IAC7C,CAAC,CAAC,CACH,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,OAAO,EAAE,CAAC;QACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,mBAAmB,IAAI,
|
|
1
|
+
{"version":3,"file":"validateTests.js","sourceRoot":"","sources":["../../src/helpers/validateTests.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,gBAA0B,EAC1B,kBAA4B;IAE5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,8CAA8C;IAC9C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE;QAC7C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,eAAe,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAClF,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;IAC7C,CAAC,CAAC,CACH,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,OAAO,EAAE,CAAC;QACzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,mBAAmB,IAAI,6CAA6C,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,kBAA4B;IAC/E,yDAAyD;IACzD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAC9E,CAAC;IAEF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,QAAgB,EAAE,WAAmB;IACpE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzC,oEAAoE;IACpE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,OAAO,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -38,6 +38,14 @@ Ignore a package directory.
|
|
|
38
38
|
|
|
39
39
|
If provided, do not search the package directory for test annotations.
|
|
40
40
|
|
|
41
|
+
# flags.no-warnings.summary
|
|
42
|
+
|
|
43
|
+
Do not print warnings for each Apex file missing annotations.
|
|
44
|
+
|
|
45
|
+
# flags.no-warnings.description
|
|
46
|
+
|
|
47
|
+
Do not print warnings for each Apex file missing annotations.
|
|
48
|
+
|
|
41
49
|
# examples
|
|
42
50
|
|
|
43
51
|
- <%= config.bin %> <%= command.id %> --format csv
|
package/oclif.lock
CHANGED
|
@@ -1355,8 +1355,8 @@
|
|
|
1355
1355
|
wrap-ansi "^7.0.0"
|
|
1356
1356
|
|
|
1357
1357
|
"@oclif/plugin-command-snapshot@^5.2.23":
|
|
1358
|
-
version "5.2.
|
|
1359
|
-
resolved "https://registry.yarnpkg.com/@oclif/plugin-command-snapshot/-/plugin-command-snapshot-5.2.
|
|
1358
|
+
version "5.2.38"
|
|
1359
|
+
resolved "https://registry.yarnpkg.com/@oclif/plugin-command-snapshot/-/plugin-command-snapshot-5.2.38.tgz#a297c129b97c82de99d854b42304ef5b45c126d9"
|
|
1360
1360
|
dependencies:
|
|
1361
1361
|
"@oclif/core" "^4"
|
|
1362
1362
|
ansis "^3.17.0"
|
|
@@ -1436,8 +1436,8 @@
|
|
|
1436
1436
|
ts-retry-promise "^0.8.1"
|
|
1437
1437
|
|
|
1438
1438
|
"@salesforce/core@^8.5.1", "@salesforce/core@^8.8.0", "@salesforce/core@^8.8.7":
|
|
1439
|
-
version "8.
|
|
1440
|
-
resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.
|
|
1439
|
+
version "8.9.1"
|
|
1440
|
+
resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.9.1.tgz#e31d307d495cc0b916c0b9312fba751714034e0a"
|
|
1441
1441
|
dependencies:
|
|
1442
1442
|
"@jsforce/jsforce-node" "^3.7.0"
|
|
1443
1443
|
"@salesforce/kit" "^3.2.2"
|
|
@@ -2150,8 +2150,8 @@
|
|
|
2150
2150
|
"@types/node" "*"
|
|
2151
2151
|
|
|
2152
2152
|
"@types/node@*", "@types/node@^22.10.2", "@types/node@^22.5.5":
|
|
2153
|
-
version "22.14.
|
|
2154
|
-
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.14.
|
|
2153
|
+
version "22.14.1"
|
|
2154
|
+
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.14.1.tgz#53b54585cec81c21eee3697521e31312d6ca1e6f"
|
|
2155
2155
|
dependencies:
|
|
2156
2156
|
undici-types "~6.21.0"
|
|
2157
2157
|
|
|
@@ -3631,7 +3631,7 @@ execa@^4.1.0:
|
|
|
3631
3631
|
signal-exit "^3.0.2"
|
|
3632
3632
|
strip-final-newline "^2.0.0"
|
|
3633
3633
|
|
|
3634
|
-
execa@^5.0.0
|
|
3634
|
+
execa@^5.0.0:
|
|
3635
3635
|
version "5.1.1"
|
|
3636
3636
|
resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
|
|
3637
3637
|
dependencies:
|
|
@@ -3665,17 +3665,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
|
|
|
3665
3665
|
version "3.1.3"
|
|
3666
3666
|
resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
|
|
3667
3667
|
|
|
3668
|
-
fast-glob@^3.2.11, fast-glob@^3.2.9:
|
|
3669
|
-
version "3.3.2"
|
|
3670
|
-
resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz"
|
|
3671
|
-
dependencies:
|
|
3672
|
-
"@nodelib/fs.stat" "^2.0.2"
|
|
3673
|
-
"@nodelib/fs.walk" "^1.2.3"
|
|
3674
|
-
glob-parent "^5.1.2"
|
|
3675
|
-
merge2 "^1.3.0"
|
|
3676
|
-
micromatch "^4.0.4"
|
|
3677
|
-
|
|
3678
|
-
fast-glob@^3.3.3:
|
|
3668
|
+
fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.3:
|
|
3679
3669
|
version "3.3.3"
|
|
3680
3670
|
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818"
|
|
3681
3671
|
dependencies:
|
|
@@ -5104,7 +5094,7 @@ micromark-util-types@^2.0.0:
|
|
|
5104
5094
|
version "2.0.0"
|
|
5105
5095
|
resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz"
|
|
5106
5096
|
|
|
5107
|
-
micromatch@^4.0.2, micromatch@^4.0.
|
|
5097
|
+
micromatch@^4.0.2, micromatch@^4.0.8:
|
|
5108
5098
|
version "4.0.8"
|
|
5109
5099
|
resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz"
|
|
5110
5100
|
dependencies:
|
|
@@ -5619,9 +5609,9 @@ pathval@^1.1.1:
|
|
|
5619
5609
|
version "1.1.1"
|
|
5620
5610
|
resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz"
|
|
5621
5611
|
|
|
5622
|
-
picocolors@^1.0.0, picocolors@^1.0.1:
|
|
5623
|
-
version "1.1.
|
|
5624
|
-
resolved "https://registry.
|
|
5612
|
+
picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.1:
|
|
5613
|
+
version "1.1.1"
|
|
5614
|
+
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
|
|
5625
5615
|
|
|
5626
5616
|
picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
|
|
5627
5617
|
version "2.3.1"
|
|
@@ -5720,16 +5710,16 @@ pretty-quick@^3.3.1:
|
|
|
5720
5710
|
tslib "^2.6.2"
|
|
5721
5711
|
|
|
5722
5712
|
pretty-quick@^4.0.0:
|
|
5723
|
-
version "4.
|
|
5724
|
-
resolved "https://registry.
|
|
5713
|
+
version "4.1.1"
|
|
5714
|
+
resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-4.1.1.tgz#8a0c883e4beeb0eddbe7eda50d7b1251d4f72968"
|
|
5725
5715
|
dependencies:
|
|
5726
|
-
execa "^5.1.1"
|
|
5727
5716
|
find-up "^5.0.0"
|
|
5728
|
-
ignore "^
|
|
5717
|
+
ignore "^7.0.3"
|
|
5729
5718
|
mri "^1.2.0"
|
|
5730
|
-
picocolors "^1.
|
|
5731
|
-
picomatch "^
|
|
5732
|
-
|
|
5719
|
+
picocolors "^1.1.1"
|
|
5720
|
+
picomatch "^4.0.2"
|
|
5721
|
+
tinyexec "^0.3.2"
|
|
5722
|
+
tslib "^2.8.1"
|
|
5733
5723
|
|
|
5734
5724
|
process-nextick-args@~2.0.0:
|
|
5735
5725
|
version "2.0.1"
|
|
@@ -6466,9 +6456,9 @@ tiny-jsonc@^1.0.2:
|
|
|
6466
6456
|
version "1.0.2"
|
|
6467
6457
|
resolved "https://registry.yarnpkg.com/tiny-jsonc/-/tiny-jsonc-1.0.2.tgz#208df4c437684199cc724f31c2b91ee39c349678"
|
|
6468
6458
|
|
|
6469
|
-
tinyexec@^0.3.0:
|
|
6470
|
-
version "0.3.
|
|
6471
|
-
resolved "https://registry.
|
|
6459
|
+
tinyexec@^0.3.0, tinyexec@^0.3.2:
|
|
6460
|
+
version "0.3.2"
|
|
6461
|
+
resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.2.tgz#941794e657a85e496577995c6eef66f53f42b3d2"
|
|
6472
6462
|
|
|
6473
6463
|
tinyglobby@^0.2.9:
|
|
6474
6464
|
version "0.2.10"
|
|
@@ -6568,9 +6558,9 @@ tsconfig-paths@^3.15.0:
|
|
|
6568
6558
|
minimist "^1.2.6"
|
|
6569
6559
|
strip-bom "^3.0.0"
|
|
6570
6560
|
|
|
6571
|
-
tslib@^2.0.3, tslib@^2.6.2:
|
|
6572
|
-
version "2.
|
|
6573
|
-
resolved "https://registry.
|
|
6561
|
+
tslib@^2.0.3, tslib@^2.6.2, tslib@^2.8.1:
|
|
6562
|
+
version "2.8.1"
|
|
6563
|
+
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
|
|
6574
6564
|
|
|
6575
6565
|
tunnel-agent@*, tunnel-agent@^0.6.0:
|
|
6576
6566
|
version "0.6.0"
|
|
@@ -6880,8 +6870,8 @@ widest-line@^3.1.0:
|
|
|
6880
6870
|
string-width "^4.0.0"
|
|
6881
6871
|
|
|
6882
6872
|
wireit@^0.14.5, wireit@^0.14.9:
|
|
6883
|
-
version "0.14.
|
|
6884
|
-
resolved "https://registry.yarnpkg.com/wireit/-/wireit-0.14.
|
|
6873
|
+
version "0.14.12"
|
|
6874
|
+
resolved "https://registry.yarnpkg.com/wireit/-/wireit-0.14.12.tgz#c35788b4be4a796a8d05d204ec7d3f5c4b355d71"
|
|
6885
6875
|
dependencies:
|
|
6886
6876
|
brace-expansion "^4.0.0"
|
|
6887
6877
|
chokidar "^3.5.3"
|
package/oclif.manifest.json
CHANGED
|
@@ -65,6 +65,15 @@
|
|
|
65
65
|
"hasDynamicHelp": false,
|
|
66
66
|
"multiple": true,
|
|
67
67
|
"type": "option"
|
|
68
|
+
},
|
|
69
|
+
"no-warnings": {
|
|
70
|
+
"char": "n",
|
|
71
|
+
"description": "Do not print warnings for each Apex file missing annotations.",
|
|
72
|
+
"name": "no-warnings",
|
|
73
|
+
"required": false,
|
|
74
|
+
"summary": "Do not print warnings for each Apex file missing annotations.",
|
|
75
|
+
"allowNo": false,
|
|
76
|
+
"type": "boolean"
|
|
68
77
|
}
|
|
69
78
|
},
|
|
70
79
|
"hasDynamicHelp": false,
|
|
@@ -90,5 +99,5 @@
|
|
|
90
99
|
]
|
|
91
100
|
}
|
|
92
101
|
},
|
|
93
|
-
"version": "1.
|
|
102
|
+
"version": "1.11.1"
|
|
94
103
|
}
|
package/package.json
CHANGED