@salesforce/plugin-apex 3.6.16 → 3.6.18
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 +6 -6
- package/oclif.manifest.json +342 -342
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -148,7 +148,7 @@ FLAG DESCRIPTIONS
|
|
|
148
148
|
directory.
|
|
149
149
|
```
|
|
150
150
|
|
|
151
|
-
_See code: [src/commands/apex/get/log.ts](https://github.com/salesforcecli/plugin-apex/blob/3.6.
|
|
151
|
+
_See code: [src/commands/apex/get/log.ts](https://github.com/salesforcecli/plugin-apex/blob/3.6.18/src/commands/apex/get/log.ts)_
|
|
152
152
|
|
|
153
153
|
## `sf apex get test`
|
|
154
154
|
|
|
@@ -208,7 +208,7 @@ EXAMPLES
|
|
|
208
208
|
me@myorg'
|
|
209
209
|
```
|
|
210
210
|
|
|
211
|
-
_See code: [src/commands/apex/get/test.ts](https://github.com/salesforcecli/plugin-apex/blob/3.6.
|
|
211
|
+
_See code: [src/commands/apex/get/test.ts](https://github.com/salesforcecli/plugin-apex/blob/3.6.18/src/commands/apex/get/test.ts)_
|
|
212
212
|
|
|
213
213
|
## `sf apex list log`
|
|
214
214
|
|
|
@@ -248,7 +248,7 @@ EXAMPLES
|
|
|
248
248
|
$ sf apex list log --target-org me@my.org
|
|
249
249
|
```
|
|
250
250
|
|
|
251
|
-
_See code: [src/commands/apex/list/log.ts](https://github.com/salesforcecli/plugin-apex/blob/3.6.
|
|
251
|
+
_See code: [src/commands/apex/list/log.ts](https://github.com/salesforcecli/plugin-apex/blob/3.6.18/src/commands/apex/list/log.ts)_
|
|
252
252
|
|
|
253
253
|
## `sf apex run`
|
|
254
254
|
|
|
@@ -295,7 +295,7 @@ EXAMPLES
|
|
|
295
295
|
$ sf apex run
|
|
296
296
|
```
|
|
297
297
|
|
|
298
|
-
_See code: [src/commands/apex/run.ts](https://github.com/salesforcecli/plugin-apex/blob/3.6.
|
|
298
|
+
_See code: [src/commands/apex/run.ts](https://github.com/salesforcecli/plugin-apex/blob/3.6.18/src/commands/apex/run.ts)_
|
|
299
299
|
|
|
300
300
|
## `sf apex run test`
|
|
301
301
|
|
|
@@ -438,7 +438,7 @@ FLAG DESCRIPTIONS
|
|
|
438
438
|
--tests Test1 --tests Test2
|
|
439
439
|
```
|
|
440
440
|
|
|
441
|
-
_See code: [src/commands/apex/run/test.ts](https://github.com/salesforcecli/plugin-apex/blob/3.6.
|
|
441
|
+
_See code: [src/commands/apex/run/test.ts](https://github.com/salesforcecli/plugin-apex/blob/3.6.18/src/commands/apex/run/test.ts)_
|
|
442
442
|
|
|
443
443
|
## `sf apex tail log`
|
|
444
444
|
|
|
@@ -481,6 +481,6 @@ EXAMPLES
|
|
|
481
481
|
$ sf apex tail log --color --skip-trace-flag
|
|
482
482
|
```
|
|
483
483
|
|
|
484
|
-
_See code: [src/commands/apex/tail/log.ts](https://github.com/salesforcecli/plugin-apex/blob/3.6.
|
|
484
|
+
_See code: [src/commands/apex/tail/log.ts](https://github.com/salesforcecli/plugin-apex/blob/3.6.18/src/commands/apex/tail/log.ts)_
|
|
485
485
|
|
|
486
486
|
<!-- commandsstop -->
|
package/oclif.manifest.json
CHANGED
|
@@ -106,18 +106,25 @@
|
|
|
106
106
|
"run:apex"
|
|
107
107
|
]
|
|
108
108
|
},
|
|
109
|
-
"apex:
|
|
109
|
+
"apex:run:test": {
|
|
110
110
|
"aliases": [
|
|
111
|
-
"force:apex:
|
|
111
|
+
"force:apex:test:run"
|
|
112
112
|
],
|
|
113
113
|
"args": {},
|
|
114
114
|
"deprecateAliases": true,
|
|
115
|
-
"description": "
|
|
115
|
+
"description": "Specify which tests to run by using the --class-names, --suite-names, or --tests flags. Alternatively, use the --test-level flag to run all the tests in your org, local tests, or specified tests.\n\nTo see code coverage results, use the --code-coverage flag with --result-format. The output displays a high-level summary of the test run and the code coverage values for classes in your org. If you specify human-readable result format, use the --detailed-coverage flag to see detailed coverage results for each test method run.\n\nBy default, Apex tests run asynchronously and immediately return a test run ID. You can use the --wait flag to specify the number of minutes to wait; if the tests finish in that timeframe, the command displays the results. If the tests haven't finished by the end of the wait time, the command displays a test run ID. Use the \"<%= config.bin %> apex get test --test-run-id\" command to get the results.\n\nYou must have the \"View All Data\" system permission to use this command. The permission is disabled by default and can be enabled only by a system administrator.\n\nNOTE: The testRunCoverage value (JSON and JUnit result formats) is a percentage of the covered lines and total lines from all the Apex classes evaluated by the tests in this run.",
|
|
116
116
|
"examples": [
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"
|
|
117
|
+
"Run all Apex tests and suites in your default org:\n<%= config.bin %> <%= command.id %>",
|
|
118
|
+
"Run the specified Apex test classes in your default org and display results in human-readable form:\n<%= config.bin %> <%= command.id %> --class-names MyClassTest --class-names MyOtherClassTest --result-format human",
|
|
119
|
+
"Run the specified Apex test suites in your default org and include code coverage results and additional details:\n<%= config.bin %> <%= command.id %> --suite-names MySuite --suite-names MyOtherSuite --code-coverage --detailed-coverage",
|
|
120
|
+
"Run the specified Apex tests in your default org and display results in human-readable output:\n<%= config.bin %> <%= command.id %> --tests MyClassTest.testCoolFeature --tests MyClassTest.testAwesomeFeature --tests AnotherClassTest --tests namespace.TheirClassTest.testThis --result-format human",
|
|
121
|
+
"Run all tests in the org with the specified username with the specified test level; save the output to the specified directory:\n<%= config.bin %> <%= command.id %> --test-level RunLocalTests --output-dir <path to outputdir> --target-org me@my.org",
|
|
122
|
+
"Run all tests in the org asynchronously:\n<%= config.bin %> <%= command.id %> --target-org myscratch",
|
|
123
|
+
"Run all tests synchronously; the command waits to display the test results until all tests finish:\n<%= config.bin %> <%= command.id %> --synchronous",
|
|
124
|
+
"Run specific tests using the --test-level flag:\n<%= config.bin %> <%= command.id %> --test-level RunLocalTests",
|
|
125
|
+
"Run Apex tests on all the methods in the specified class; output results in Test Anything Protocol (TAP) format and request code coverage results:\n<%= config.bin %> <%= command.id %> --class-names TestA --class-names TestB --result-format tap --code-coverage",
|
|
126
|
+
"Run Apex tests on methods specified using the standard Class.method notation; if you specify a test class without a method, the command runs all methods in the class:\n<%= config.bin %> <%= command.id %> --tests TestA.excitingMethod --tests TestA.boringMethod --tests TestB",
|
|
127
|
+
"Run Apex tests on methods specified using the standard Class.method notation with a namespace:\n<%= config.bin %> <%= command.id %> --tests ns.TestA.excitingMethod --tests ns.TestA.boringMethod --tests ns.TestB"
|
|
121
128
|
],
|
|
122
129
|
"flags": {
|
|
123
130
|
"json": {
|
|
@@ -171,105 +178,217 @@
|
|
|
171
178
|
"multiple": false,
|
|
172
179
|
"type": "option"
|
|
173
180
|
},
|
|
174
|
-
"
|
|
181
|
+
"code-coverage": {
|
|
175
182
|
"aliases": [
|
|
176
|
-
"
|
|
183
|
+
"codecoverage"
|
|
177
184
|
],
|
|
178
|
-
"char": "
|
|
185
|
+
"char": "c",
|
|
179
186
|
"deprecateAliases": true,
|
|
180
|
-
"name": "
|
|
181
|
-
"summary": "
|
|
187
|
+
"name": "code-coverage",
|
|
188
|
+
"summary": "Retrieve code coverage results.",
|
|
189
|
+
"allowNo": false,
|
|
190
|
+
"type": "boolean"
|
|
191
|
+
},
|
|
192
|
+
"output-dir": {
|
|
193
|
+
"aliases": [
|
|
194
|
+
"outputdir",
|
|
195
|
+
"output-directory"
|
|
196
|
+
],
|
|
197
|
+
"char": "d",
|
|
198
|
+
"deprecateAliases": true,
|
|
199
|
+
"name": "output-dir",
|
|
200
|
+
"summary": "Directory in which to store test run files.",
|
|
182
201
|
"hasDynamicHelp": false,
|
|
183
202
|
"multiple": false,
|
|
184
203
|
"type": "option"
|
|
185
204
|
},
|
|
186
|
-
"
|
|
205
|
+
"test-level": {
|
|
206
|
+
"aliases": [
|
|
207
|
+
"testlevel"
|
|
208
|
+
],
|
|
209
|
+
"char": "l",
|
|
210
|
+
"deprecateAliases": true,
|
|
211
|
+
"description": "Here's what the levels mean:\n\n- RunSpecifiedTests — Only the tests that you specify in the runTests option are run. Code coverage requirements differ from the default coverage requirements when using this test level. The executed tests must cover each class and trigger in the deployment package for a minimum of 75% code coverage. This coverage is computed for each class and triggers individually, and is different than the overall coverage percentage.\n- RunLocalTests — All local tests in your org, including tests that originate from no-namespaced unlocked packages, are run. The tests that originate from installed managed packages and namespaced unlocked packages aren't run. This test level is the default for production deployments that include Apex classes or triggers.\n- RunAllTestsInOrg — All tests are run. The tests include all tests in your org.",
|
|
212
|
+
"name": "test-level",
|
|
213
|
+
"summary": "Level of tests to run; default is RunLocalTests.",
|
|
214
|
+
"hasDynamicHelp": false,
|
|
215
|
+
"multiple": false,
|
|
216
|
+
"options": [
|
|
217
|
+
"RunLocalTests",
|
|
218
|
+
"RunAllTestsInOrg",
|
|
219
|
+
"RunSpecifiedTests"
|
|
220
|
+
],
|
|
221
|
+
"type": "option"
|
|
222
|
+
},
|
|
223
|
+
"class-names": {
|
|
224
|
+
"aliases": [
|
|
225
|
+
"classnames"
|
|
226
|
+
],
|
|
187
227
|
"char": "n",
|
|
188
|
-
"
|
|
189
|
-
"
|
|
228
|
+
"deprecateAliases": true,
|
|
229
|
+
"description": "If you select --class-names, you can't specify --suite-names or --tests.\nFor multiple classes, repeat the flag for each.\n--class-names Class1 --class-names Class2",
|
|
230
|
+
"exclusive": [
|
|
231
|
+
"suite-names",
|
|
232
|
+
"tests"
|
|
233
|
+
],
|
|
234
|
+
"name": "class-names",
|
|
235
|
+
"summary": "Apex test class names to run; default is all classes.",
|
|
236
|
+
"delimiter": ",",
|
|
237
|
+
"hasDynamicHelp": false,
|
|
238
|
+
"multiple": true,
|
|
239
|
+
"type": "option"
|
|
240
|
+
},
|
|
241
|
+
"result-format": {
|
|
242
|
+
"aliases": [
|
|
243
|
+
"resultformat"
|
|
244
|
+
],
|
|
245
|
+
"char": "r",
|
|
246
|
+
"deprecateAliases": true,
|
|
247
|
+
"name": "result-format",
|
|
248
|
+
"summary": "Format of the test results.",
|
|
249
|
+
"default": "human",
|
|
190
250
|
"hasDynamicHelp": false,
|
|
191
251
|
"multiple": false,
|
|
252
|
+
"options": [
|
|
253
|
+
"human",
|
|
254
|
+
"tap",
|
|
255
|
+
"junit",
|
|
256
|
+
"json"
|
|
257
|
+
],
|
|
192
258
|
"type": "option"
|
|
193
259
|
},
|
|
194
|
-
"
|
|
260
|
+
"suite-names": {
|
|
195
261
|
"aliases": [
|
|
196
|
-
"
|
|
197
|
-
"output-directory"
|
|
262
|
+
"suitenames"
|
|
198
263
|
],
|
|
199
|
-
"char": "
|
|
264
|
+
"char": "s",
|
|
200
265
|
"deprecateAliases": true,
|
|
201
|
-
"description": "
|
|
202
|
-
"
|
|
203
|
-
|
|
266
|
+
"description": "If you select --suite-names, you can't specify --class-names or --tests.\nFor multiple suites, repeat the flag for each.\n--suite-names Suite1 --suite-names Suite2",
|
|
267
|
+
"exclusive": [
|
|
268
|
+
"class-names",
|
|
269
|
+
"tests"
|
|
270
|
+
],
|
|
271
|
+
"name": "suite-names",
|
|
272
|
+
"summary": "Apex test suite names to run.",
|
|
273
|
+
"delimiter": ",",
|
|
274
|
+
"hasDynamicHelp": false,
|
|
275
|
+
"multiple": true,
|
|
276
|
+
"type": "option"
|
|
277
|
+
},
|
|
278
|
+
"tests": {
|
|
279
|
+
"char": "t",
|
|
280
|
+
"description": "If you specify --tests, you can't specify --class-names or --suite-names\nFor multiple tests, repeat the flag for each.\n--tests Test1 --tests Test2",
|
|
281
|
+
"exclusive": [
|
|
282
|
+
"class-names",
|
|
283
|
+
"suite-names"
|
|
284
|
+
],
|
|
285
|
+
"name": "tests",
|
|
286
|
+
"summary": "Apex test class names or IDs and, if applicable, test methods to run; default is all tests.",
|
|
287
|
+
"delimiter": ",",
|
|
204
288
|
"hasDynamicHelp": false,
|
|
289
|
+
"multiple": true,
|
|
290
|
+
"type": "option"
|
|
291
|
+
},
|
|
292
|
+
"wait": {
|
|
293
|
+
"char": "w",
|
|
294
|
+
"name": "wait",
|
|
295
|
+
"summary": "Sets the streaming client socket timeout in minutes; specify a longer wait time if timeouts occur frequently.",
|
|
296
|
+
"hasDynamicHelp": true,
|
|
205
297
|
"multiple": false,
|
|
206
298
|
"type": "option"
|
|
299
|
+
},
|
|
300
|
+
"synchronous": {
|
|
301
|
+
"char": "y",
|
|
302
|
+
"name": "synchronous",
|
|
303
|
+
"summary": "Runs test methods from a single Apex class synchronously; if not specified, tests are run asynchronously.",
|
|
304
|
+
"allowNo": false,
|
|
305
|
+
"type": "boolean"
|
|
306
|
+
},
|
|
307
|
+
"detailed-coverage": {
|
|
308
|
+
"aliases": [
|
|
309
|
+
"detailedcoverage"
|
|
310
|
+
],
|
|
311
|
+
"char": "v",
|
|
312
|
+
"dependsOn": [
|
|
313
|
+
"code-coverage"
|
|
314
|
+
],
|
|
315
|
+
"deprecateAliases": true,
|
|
316
|
+
"name": "detailed-coverage",
|
|
317
|
+
"summary": "Display detailed code coverage per test.",
|
|
318
|
+
"allowNo": false,
|
|
319
|
+
"type": "boolean"
|
|
320
|
+
},
|
|
321
|
+
"concise": {
|
|
322
|
+
"name": "concise",
|
|
323
|
+
"summary": "Display only failed test results; works with human-readable output only.",
|
|
324
|
+
"allowNo": false,
|
|
325
|
+
"type": "boolean"
|
|
207
326
|
}
|
|
208
327
|
},
|
|
209
328
|
"hasDynamicHelp": true,
|
|
210
329
|
"hiddenAliases": [],
|
|
211
|
-
"id": "apex:
|
|
330
|
+
"id": "apex:run:test",
|
|
212
331
|
"pluginAlias": "@salesforce/plugin-apex",
|
|
213
332
|
"pluginName": "@salesforce/plugin-apex",
|
|
214
333
|
"pluginType": "core",
|
|
215
334
|
"strict": true,
|
|
216
|
-
"summary": "
|
|
335
|
+
"summary": "Invoke Apex tests in an org.",
|
|
217
336
|
"enableJsonFlag": true,
|
|
218
337
|
"isESM": true,
|
|
219
338
|
"relativePath": [
|
|
220
339
|
"lib",
|
|
221
340
|
"commands",
|
|
222
341
|
"apex",
|
|
223
|
-
"
|
|
224
|
-
"
|
|
342
|
+
"run",
|
|
343
|
+
"test.js"
|
|
225
344
|
],
|
|
226
345
|
"aliasPermutations": [
|
|
227
|
-
"force:apex:
|
|
228
|
-
"apex:force:
|
|
229
|
-
"apex:
|
|
230
|
-
"apex:
|
|
231
|
-
"force:
|
|
232
|
-
"
|
|
233
|
-
"
|
|
234
|
-
"
|
|
235
|
-
"force:
|
|
236
|
-
"
|
|
237
|
-
"
|
|
238
|
-
"
|
|
239
|
-
"force:apex:
|
|
240
|
-
"apex:force:
|
|
241
|
-
"apex:
|
|
242
|
-
"apex:
|
|
243
|
-
"force:
|
|
244
|
-
"
|
|
245
|
-
"
|
|
246
|
-
"
|
|
247
|
-
"force:
|
|
248
|
-
"
|
|
249
|
-
"
|
|
250
|
-
"
|
|
346
|
+
"force:apex:test:run",
|
|
347
|
+
"apex:force:test:run",
|
|
348
|
+
"apex:test:force:run",
|
|
349
|
+
"apex:test:run:force",
|
|
350
|
+
"force:test:apex:run",
|
|
351
|
+
"test:force:apex:run",
|
|
352
|
+
"test:apex:force:run",
|
|
353
|
+
"test:apex:run:force",
|
|
354
|
+
"force:test:run:apex",
|
|
355
|
+
"test:force:run:apex",
|
|
356
|
+
"test:run:force:apex",
|
|
357
|
+
"test:run:apex:force",
|
|
358
|
+
"force:apex:run:test",
|
|
359
|
+
"apex:force:run:test",
|
|
360
|
+
"apex:run:force:test",
|
|
361
|
+
"apex:run:test:force",
|
|
362
|
+
"force:run:apex:test",
|
|
363
|
+
"run:force:apex:test",
|
|
364
|
+
"run:apex:force:test",
|
|
365
|
+
"run:apex:test:force",
|
|
366
|
+
"force:run:test:apex",
|
|
367
|
+
"run:force:test:apex",
|
|
368
|
+
"run:test:force:apex",
|
|
369
|
+
"run:test:apex:force"
|
|
251
370
|
],
|
|
252
371
|
"permutations": [
|
|
253
|
-
"apex:
|
|
254
|
-
"
|
|
255
|
-
"
|
|
256
|
-
"apex:
|
|
257
|
-
"
|
|
258
|
-
"
|
|
372
|
+
"apex:run:test",
|
|
373
|
+
"run:apex:test",
|
|
374
|
+
"run:test:apex",
|
|
375
|
+
"apex:test:run",
|
|
376
|
+
"test:apex:run",
|
|
377
|
+
"test:run:apex"
|
|
259
378
|
]
|
|
260
379
|
},
|
|
261
|
-
"apex:get:
|
|
380
|
+
"apex:get:log": {
|
|
262
381
|
"aliases": [
|
|
263
|
-
"force:apex:
|
|
382
|
+
"force:apex:log:get"
|
|
264
383
|
],
|
|
265
384
|
"args": {},
|
|
266
385
|
"deprecateAliases": true,
|
|
267
|
-
"description": "
|
|
386
|
+
"description": "To get the IDs for your debug logs, run \"<%= config.bin %> apex log list\". Executing this command without flags returns the most recent log.",
|
|
268
387
|
"examples": [
|
|
269
|
-
"
|
|
270
|
-
"
|
|
271
|
-
"
|
|
272
|
-
"
|
|
388
|
+
"Fetch the log in your default org using an ID:\n<%= config.bin %> <%= command.id %> --log-id <log id>",
|
|
389
|
+
"Fetch the log in the org with the specified username using an ID:\n<%= config.bin %> <%= command.id %> --log-id <log id> --target-org me@my.org",
|
|
390
|
+
"Fetch the two most recent logs in your default org:\n<%= config.bin %> <%= command.id %> --number 2",
|
|
391
|
+
"Similar to previous example, but save the two log files in the specified directory:\n<%= config.bin %> <%= command.id %> --output-dir /Users/sfdxUser/logs --number 2"
|
|
273
392
|
],
|
|
274
393
|
"flags": {
|
|
275
394
|
"json": {
|
|
@@ -323,21 +442,173 @@
|
|
|
323
442
|
"multiple": false,
|
|
324
443
|
"type": "option"
|
|
325
444
|
},
|
|
326
|
-
"
|
|
445
|
+
"log-id": {
|
|
327
446
|
"aliases": [
|
|
328
|
-
"
|
|
447
|
+
"logid"
|
|
329
448
|
],
|
|
330
449
|
"char": "i",
|
|
331
450
|
"deprecateAliases": true,
|
|
332
|
-
"name": "
|
|
333
|
-
"
|
|
334
|
-
"summary": "ID of the test run.",
|
|
451
|
+
"name": "log-id",
|
|
452
|
+
"summary": "ID of the specific log to display.",
|
|
335
453
|
"hasDynamicHelp": false,
|
|
336
454
|
"multiple": false,
|
|
337
455
|
"type": "option"
|
|
338
456
|
},
|
|
339
|
-
"
|
|
340
|
-
"
|
|
457
|
+
"number": {
|
|
458
|
+
"char": "n",
|
|
459
|
+
"name": "number",
|
|
460
|
+
"summary": "Number of the most recent logs to display.",
|
|
461
|
+
"hasDynamicHelp": false,
|
|
462
|
+
"multiple": false,
|
|
463
|
+
"type": "option"
|
|
464
|
+
},
|
|
465
|
+
"output-dir": {
|
|
466
|
+
"aliases": [
|
|
467
|
+
"outputdir",
|
|
468
|
+
"output-directory"
|
|
469
|
+
],
|
|
470
|
+
"char": "d",
|
|
471
|
+
"deprecateAliases": true,
|
|
472
|
+
"description": "The location can be an absolute path or relative to the current working directory. The default is the current directory.",
|
|
473
|
+
"name": "output-dir",
|
|
474
|
+
"summary": "Directory for saving the log files.",
|
|
475
|
+
"hasDynamicHelp": false,
|
|
476
|
+
"multiple": false,
|
|
477
|
+
"type": "option"
|
|
478
|
+
}
|
|
479
|
+
},
|
|
480
|
+
"hasDynamicHelp": true,
|
|
481
|
+
"hiddenAliases": [],
|
|
482
|
+
"id": "apex:get:log",
|
|
483
|
+
"pluginAlias": "@salesforce/plugin-apex",
|
|
484
|
+
"pluginName": "@salesforce/plugin-apex",
|
|
485
|
+
"pluginType": "core",
|
|
486
|
+
"strict": true,
|
|
487
|
+
"summary": "Fetch the specified log or given number of most recent logs from the org.",
|
|
488
|
+
"enableJsonFlag": true,
|
|
489
|
+
"isESM": true,
|
|
490
|
+
"relativePath": [
|
|
491
|
+
"lib",
|
|
492
|
+
"commands",
|
|
493
|
+
"apex",
|
|
494
|
+
"get",
|
|
495
|
+
"log.js"
|
|
496
|
+
],
|
|
497
|
+
"aliasPermutations": [
|
|
498
|
+
"force:apex:log:get",
|
|
499
|
+
"apex:force:log:get",
|
|
500
|
+
"apex:log:force:get",
|
|
501
|
+
"apex:log:get:force",
|
|
502
|
+
"force:log:apex:get",
|
|
503
|
+
"log:force:apex:get",
|
|
504
|
+
"log:apex:force:get",
|
|
505
|
+
"log:apex:get:force",
|
|
506
|
+
"force:log:get:apex",
|
|
507
|
+
"log:force:get:apex",
|
|
508
|
+
"log:get:force:apex",
|
|
509
|
+
"log:get:apex:force",
|
|
510
|
+
"force:apex:get:log",
|
|
511
|
+
"apex:force:get:log",
|
|
512
|
+
"apex:get:force:log",
|
|
513
|
+
"apex:get:log:force",
|
|
514
|
+
"force:get:apex:log",
|
|
515
|
+
"get:force:apex:log",
|
|
516
|
+
"get:apex:force:log",
|
|
517
|
+
"get:apex:log:force",
|
|
518
|
+
"force:get:log:apex",
|
|
519
|
+
"get:force:log:apex",
|
|
520
|
+
"get:log:force:apex",
|
|
521
|
+
"get:log:apex:force"
|
|
522
|
+
],
|
|
523
|
+
"permutations": [
|
|
524
|
+
"apex:get:log",
|
|
525
|
+
"get:apex:log",
|
|
526
|
+
"get:log:apex",
|
|
527
|
+
"apex:log:get",
|
|
528
|
+
"log:apex:get",
|
|
529
|
+
"log:get:apex"
|
|
530
|
+
]
|
|
531
|
+
},
|
|
532
|
+
"apex:get:test": {
|
|
533
|
+
"aliases": [
|
|
534
|
+
"force:apex:test:report"
|
|
535
|
+
],
|
|
536
|
+
"args": {},
|
|
537
|
+
"deprecateAliases": true,
|
|
538
|
+
"description": "Provide a test run ID to display test results for an enqueued or completed asynchronous test run. The test run ID is displayed after running the \"<%= config.bin %> apex test run\" command.\n\nTo see code coverage results, use the --code-coverage flag with --result-format. The output displays a high-level summary of the test run and the code coverage values for classes in your org. If you specify human-readable result format, use the --detailed-coverage flag to see detailed coverage results for each test method run.",
|
|
539
|
+
"examples": [
|
|
540
|
+
"Display test results for your default org using a test run ID:\n<%= config.bin %> <%= command.id %> --test-run-id <test run id>",
|
|
541
|
+
"Similar to previous example, but output the result in JUnit format:\n<%= config.bin %> <%= command.id %> --test-run-id <test run id> --result-format junit",
|
|
542
|
+
"Also retrieve code coverage results and output in JSON format:\n<%= config.bin %> <%= command.id %> --test-run-id <test run id> --code-coverage --json",
|
|
543
|
+
"Specify a directory in which to save the test results from the org with the specified username (rather than your default org):\n<%= config.bin %> <%= command.id %> --test-run-id <test run id> --code-coverage --output-dir <path to outputdir> --target-org me@myorg'"
|
|
544
|
+
],
|
|
545
|
+
"flags": {
|
|
546
|
+
"json": {
|
|
547
|
+
"description": "Format output as json.",
|
|
548
|
+
"helpGroup": "GLOBAL",
|
|
549
|
+
"name": "json",
|
|
550
|
+
"allowNo": false,
|
|
551
|
+
"type": "boolean"
|
|
552
|
+
},
|
|
553
|
+
"flags-dir": {
|
|
554
|
+
"helpGroup": "GLOBAL",
|
|
555
|
+
"name": "flags-dir",
|
|
556
|
+
"summary": "Import flag values from a directory.",
|
|
557
|
+
"hasDynamicHelp": false,
|
|
558
|
+
"multiple": false,
|
|
559
|
+
"type": "option"
|
|
560
|
+
},
|
|
561
|
+
"target-org": {
|
|
562
|
+
"aliases": [
|
|
563
|
+
"targetusername",
|
|
564
|
+
"u"
|
|
565
|
+
],
|
|
566
|
+
"char": "o",
|
|
567
|
+
"deprecateAliases": true,
|
|
568
|
+
"name": "target-org",
|
|
569
|
+
"noCacheDefault": true,
|
|
570
|
+
"required": true,
|
|
571
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
572
|
+
"hasDynamicHelp": true,
|
|
573
|
+
"multiple": false,
|
|
574
|
+
"type": "option"
|
|
575
|
+
},
|
|
576
|
+
"api-version": {
|
|
577
|
+
"aliases": [
|
|
578
|
+
"apiversion"
|
|
579
|
+
],
|
|
580
|
+
"deprecateAliases": true,
|
|
581
|
+
"description": "Override the api version used for api requests made by this command",
|
|
582
|
+
"name": "api-version",
|
|
583
|
+
"hasDynamicHelp": false,
|
|
584
|
+
"multiple": false,
|
|
585
|
+
"type": "option"
|
|
586
|
+
},
|
|
587
|
+
"loglevel": {
|
|
588
|
+
"deprecated": {
|
|
589
|
+
"message": "The loglevel flag is no longer in use on this command. You may use it without error, but it will be ignored.\nSet the log level using the `SFDX_LOG_LEVEL` environment variable."
|
|
590
|
+
},
|
|
591
|
+
"hidden": true,
|
|
592
|
+
"name": "loglevel",
|
|
593
|
+
"hasDynamicHelp": false,
|
|
594
|
+
"multiple": false,
|
|
595
|
+
"type": "option"
|
|
596
|
+
},
|
|
597
|
+
"test-run-id": {
|
|
598
|
+
"aliases": [
|
|
599
|
+
"testrunid"
|
|
600
|
+
],
|
|
601
|
+
"char": "i",
|
|
602
|
+
"deprecateAliases": true,
|
|
603
|
+
"name": "test-run-id",
|
|
604
|
+
"required": true,
|
|
605
|
+
"summary": "ID of the test run.",
|
|
606
|
+
"hasDynamicHelp": false,
|
|
607
|
+
"multiple": false,
|
|
608
|
+
"type": "option"
|
|
609
|
+
},
|
|
610
|
+
"code-coverage": {
|
|
611
|
+
"aliases": [
|
|
341
612
|
"codecoverage"
|
|
342
613
|
],
|
|
343
614
|
"char": "c",
|
|
@@ -563,277 +834,6 @@
|
|
|
563
834
|
"log:list:apex"
|
|
564
835
|
]
|
|
565
836
|
},
|
|
566
|
-
"apex:run:test": {
|
|
567
|
-
"aliases": [
|
|
568
|
-
"force:apex:test:run"
|
|
569
|
-
],
|
|
570
|
-
"args": {},
|
|
571
|
-
"deprecateAliases": true,
|
|
572
|
-
"description": "Specify which tests to run by using the --class-names, --suite-names, or --tests flags. Alternatively, use the --test-level flag to run all the tests in your org, local tests, or specified tests.\n\nTo see code coverage results, use the --code-coverage flag with --result-format. The output displays a high-level summary of the test run and the code coverage values for classes in your org. If you specify human-readable result format, use the --detailed-coverage flag to see detailed coverage results for each test method run.\n\nBy default, Apex tests run asynchronously and immediately return a test run ID. You can use the --wait flag to specify the number of minutes to wait; if the tests finish in that timeframe, the command displays the results. If the tests haven't finished by the end of the wait time, the command displays a test run ID. Use the \"<%= config.bin %> apex get test --test-run-id\" command to get the results.\n\nYou must have the \"View All Data\" system permission to use this command. The permission is disabled by default and can be enabled only by a system administrator.\n\nNOTE: The testRunCoverage value (JSON and JUnit result formats) is a percentage of the covered lines and total lines from all the Apex classes evaluated by the tests in this run.",
|
|
573
|
-
"examples": [
|
|
574
|
-
"Run all Apex tests and suites in your default org:\n<%= config.bin %> <%= command.id %>",
|
|
575
|
-
"Run the specified Apex test classes in your default org and display results in human-readable form:\n<%= config.bin %> <%= command.id %> --class-names MyClassTest --class-names MyOtherClassTest --result-format human",
|
|
576
|
-
"Run the specified Apex test suites in your default org and include code coverage results and additional details:\n<%= config.bin %> <%= command.id %> --suite-names MySuite --suite-names MyOtherSuite --code-coverage --detailed-coverage",
|
|
577
|
-
"Run the specified Apex tests in your default org and display results in human-readable output:\n<%= config.bin %> <%= command.id %> --tests MyClassTest.testCoolFeature --tests MyClassTest.testAwesomeFeature --tests AnotherClassTest --tests namespace.TheirClassTest.testThis --result-format human",
|
|
578
|
-
"Run all tests in the org with the specified username with the specified test level; save the output to the specified directory:\n<%= config.bin %> <%= command.id %> --test-level RunLocalTests --output-dir <path to outputdir> --target-org me@my.org",
|
|
579
|
-
"Run all tests in the org asynchronously:\n<%= config.bin %> <%= command.id %> --target-org myscratch",
|
|
580
|
-
"Run all tests synchronously; the command waits to display the test results until all tests finish:\n<%= config.bin %> <%= command.id %> --synchronous",
|
|
581
|
-
"Run specific tests using the --test-level flag:\n<%= config.bin %> <%= command.id %> --test-level RunLocalTests",
|
|
582
|
-
"Run Apex tests on all the methods in the specified class; output results in Test Anything Protocol (TAP) format and request code coverage results:\n<%= config.bin %> <%= command.id %> --class-names TestA --class-names TestB --result-format tap --code-coverage",
|
|
583
|
-
"Run Apex tests on methods specified using the standard Class.method notation; if you specify a test class without a method, the command runs all methods in the class:\n<%= config.bin %> <%= command.id %> --tests TestA.excitingMethod --tests TestA.boringMethod --tests TestB",
|
|
584
|
-
"Run Apex tests on methods specified using the standard Class.method notation with a namespace:\n<%= config.bin %> <%= command.id %> --tests ns.TestA.excitingMethod --tests ns.TestA.boringMethod --tests ns.TestB"
|
|
585
|
-
],
|
|
586
|
-
"flags": {
|
|
587
|
-
"json": {
|
|
588
|
-
"description": "Format output as json.",
|
|
589
|
-
"helpGroup": "GLOBAL",
|
|
590
|
-
"name": "json",
|
|
591
|
-
"allowNo": false,
|
|
592
|
-
"type": "boolean"
|
|
593
|
-
},
|
|
594
|
-
"flags-dir": {
|
|
595
|
-
"helpGroup": "GLOBAL",
|
|
596
|
-
"name": "flags-dir",
|
|
597
|
-
"summary": "Import flag values from a directory.",
|
|
598
|
-
"hasDynamicHelp": false,
|
|
599
|
-
"multiple": false,
|
|
600
|
-
"type": "option"
|
|
601
|
-
},
|
|
602
|
-
"target-org": {
|
|
603
|
-
"aliases": [
|
|
604
|
-
"targetusername",
|
|
605
|
-
"u"
|
|
606
|
-
],
|
|
607
|
-
"char": "o",
|
|
608
|
-
"deprecateAliases": true,
|
|
609
|
-
"name": "target-org",
|
|
610
|
-
"noCacheDefault": true,
|
|
611
|
-
"required": true,
|
|
612
|
-
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
613
|
-
"hasDynamicHelp": true,
|
|
614
|
-
"multiple": false,
|
|
615
|
-
"type": "option"
|
|
616
|
-
},
|
|
617
|
-
"api-version": {
|
|
618
|
-
"aliases": [
|
|
619
|
-
"apiversion"
|
|
620
|
-
],
|
|
621
|
-
"deprecateAliases": true,
|
|
622
|
-
"description": "Override the api version used for api requests made by this command",
|
|
623
|
-
"name": "api-version",
|
|
624
|
-
"hasDynamicHelp": false,
|
|
625
|
-
"multiple": false,
|
|
626
|
-
"type": "option"
|
|
627
|
-
},
|
|
628
|
-
"loglevel": {
|
|
629
|
-
"deprecated": {
|
|
630
|
-
"message": "The loglevel flag is no longer in use on this command. You may use it without error, but it will be ignored.\nSet the log level using the `SFDX_LOG_LEVEL` environment variable."
|
|
631
|
-
},
|
|
632
|
-
"hidden": true,
|
|
633
|
-
"name": "loglevel",
|
|
634
|
-
"hasDynamicHelp": false,
|
|
635
|
-
"multiple": false,
|
|
636
|
-
"type": "option"
|
|
637
|
-
},
|
|
638
|
-
"code-coverage": {
|
|
639
|
-
"aliases": [
|
|
640
|
-
"codecoverage"
|
|
641
|
-
],
|
|
642
|
-
"char": "c",
|
|
643
|
-
"deprecateAliases": true,
|
|
644
|
-
"name": "code-coverage",
|
|
645
|
-
"summary": "Retrieve code coverage results.",
|
|
646
|
-
"allowNo": false,
|
|
647
|
-
"type": "boolean"
|
|
648
|
-
},
|
|
649
|
-
"output-dir": {
|
|
650
|
-
"aliases": [
|
|
651
|
-
"outputdir",
|
|
652
|
-
"output-directory"
|
|
653
|
-
],
|
|
654
|
-
"char": "d",
|
|
655
|
-
"deprecateAliases": true,
|
|
656
|
-
"name": "output-dir",
|
|
657
|
-
"summary": "Directory in which to store test run files.",
|
|
658
|
-
"hasDynamicHelp": false,
|
|
659
|
-
"multiple": false,
|
|
660
|
-
"type": "option"
|
|
661
|
-
},
|
|
662
|
-
"test-level": {
|
|
663
|
-
"aliases": [
|
|
664
|
-
"testlevel"
|
|
665
|
-
],
|
|
666
|
-
"char": "l",
|
|
667
|
-
"deprecateAliases": true,
|
|
668
|
-
"description": "Here's what the levels mean:\n\n- RunSpecifiedTests — Only the tests that you specify in the runTests option are run. Code coverage requirements differ from the default coverage requirements when using this test level. The executed tests must cover each class and trigger in the deployment package for a minimum of 75% code coverage. This coverage is computed for each class and triggers individually, and is different than the overall coverage percentage.\n- RunLocalTests — All local tests in your org, including tests that originate from no-namespaced unlocked packages, are run. The tests that originate from installed managed packages and namespaced unlocked packages aren't run. This test level is the default for production deployments that include Apex classes or triggers.\n- RunAllTestsInOrg — All tests are run. The tests include all tests in your org.",
|
|
669
|
-
"name": "test-level",
|
|
670
|
-
"summary": "Level of tests to run; default is RunLocalTests.",
|
|
671
|
-
"hasDynamicHelp": false,
|
|
672
|
-
"multiple": false,
|
|
673
|
-
"options": [
|
|
674
|
-
"RunLocalTests",
|
|
675
|
-
"RunAllTestsInOrg",
|
|
676
|
-
"RunSpecifiedTests"
|
|
677
|
-
],
|
|
678
|
-
"type": "option"
|
|
679
|
-
},
|
|
680
|
-
"class-names": {
|
|
681
|
-
"aliases": [
|
|
682
|
-
"classnames"
|
|
683
|
-
],
|
|
684
|
-
"char": "n",
|
|
685
|
-
"deprecateAliases": true,
|
|
686
|
-
"description": "If you select --class-names, you can't specify --suite-names or --tests.\nFor multiple classes, repeat the flag for each.\n--class-names Class1 --class-names Class2",
|
|
687
|
-
"exclusive": [
|
|
688
|
-
"suite-names",
|
|
689
|
-
"tests"
|
|
690
|
-
],
|
|
691
|
-
"name": "class-names",
|
|
692
|
-
"summary": "Apex test class names to run; default is all classes.",
|
|
693
|
-
"delimiter": ",",
|
|
694
|
-
"hasDynamicHelp": false,
|
|
695
|
-
"multiple": true,
|
|
696
|
-
"type": "option"
|
|
697
|
-
},
|
|
698
|
-
"result-format": {
|
|
699
|
-
"aliases": [
|
|
700
|
-
"resultformat"
|
|
701
|
-
],
|
|
702
|
-
"char": "r",
|
|
703
|
-
"deprecateAliases": true,
|
|
704
|
-
"name": "result-format",
|
|
705
|
-
"summary": "Format of the test results.",
|
|
706
|
-
"default": "human",
|
|
707
|
-
"hasDynamicHelp": false,
|
|
708
|
-
"multiple": false,
|
|
709
|
-
"options": [
|
|
710
|
-
"human",
|
|
711
|
-
"tap",
|
|
712
|
-
"junit",
|
|
713
|
-
"json"
|
|
714
|
-
],
|
|
715
|
-
"type": "option"
|
|
716
|
-
},
|
|
717
|
-
"suite-names": {
|
|
718
|
-
"aliases": [
|
|
719
|
-
"suitenames"
|
|
720
|
-
],
|
|
721
|
-
"char": "s",
|
|
722
|
-
"deprecateAliases": true,
|
|
723
|
-
"description": "If you select --suite-names, you can't specify --class-names or --tests.\nFor multiple suites, repeat the flag for each.\n--suite-names Suite1 --suite-names Suite2",
|
|
724
|
-
"exclusive": [
|
|
725
|
-
"class-names",
|
|
726
|
-
"tests"
|
|
727
|
-
],
|
|
728
|
-
"name": "suite-names",
|
|
729
|
-
"summary": "Apex test suite names to run.",
|
|
730
|
-
"delimiter": ",",
|
|
731
|
-
"hasDynamicHelp": false,
|
|
732
|
-
"multiple": true,
|
|
733
|
-
"type": "option"
|
|
734
|
-
},
|
|
735
|
-
"tests": {
|
|
736
|
-
"char": "t",
|
|
737
|
-
"description": "If you specify --tests, you can't specify --class-names or --suite-names\nFor multiple tests, repeat the flag for each.\n--tests Test1 --tests Test2",
|
|
738
|
-
"exclusive": [
|
|
739
|
-
"class-names",
|
|
740
|
-
"suite-names"
|
|
741
|
-
],
|
|
742
|
-
"name": "tests",
|
|
743
|
-
"summary": "Apex test class names or IDs and, if applicable, test methods to run; default is all tests.",
|
|
744
|
-
"delimiter": ",",
|
|
745
|
-
"hasDynamicHelp": false,
|
|
746
|
-
"multiple": true,
|
|
747
|
-
"type": "option"
|
|
748
|
-
},
|
|
749
|
-
"wait": {
|
|
750
|
-
"char": "w",
|
|
751
|
-
"name": "wait",
|
|
752
|
-
"summary": "Sets the streaming client socket timeout in minutes; specify a longer wait time if timeouts occur frequently.",
|
|
753
|
-
"hasDynamicHelp": true,
|
|
754
|
-
"multiple": false,
|
|
755
|
-
"type": "option"
|
|
756
|
-
},
|
|
757
|
-
"synchronous": {
|
|
758
|
-
"char": "y",
|
|
759
|
-
"name": "synchronous",
|
|
760
|
-
"summary": "Runs test methods from a single Apex class synchronously; if not specified, tests are run asynchronously.",
|
|
761
|
-
"allowNo": false,
|
|
762
|
-
"type": "boolean"
|
|
763
|
-
},
|
|
764
|
-
"detailed-coverage": {
|
|
765
|
-
"aliases": [
|
|
766
|
-
"detailedcoverage"
|
|
767
|
-
],
|
|
768
|
-
"char": "v",
|
|
769
|
-
"dependsOn": [
|
|
770
|
-
"code-coverage"
|
|
771
|
-
],
|
|
772
|
-
"deprecateAliases": true,
|
|
773
|
-
"name": "detailed-coverage",
|
|
774
|
-
"summary": "Display detailed code coverage per test.",
|
|
775
|
-
"allowNo": false,
|
|
776
|
-
"type": "boolean"
|
|
777
|
-
},
|
|
778
|
-
"concise": {
|
|
779
|
-
"name": "concise",
|
|
780
|
-
"summary": "Display only failed test results; works with human-readable output only.",
|
|
781
|
-
"allowNo": false,
|
|
782
|
-
"type": "boolean"
|
|
783
|
-
}
|
|
784
|
-
},
|
|
785
|
-
"hasDynamicHelp": true,
|
|
786
|
-
"hiddenAliases": [],
|
|
787
|
-
"id": "apex:run:test",
|
|
788
|
-
"pluginAlias": "@salesforce/plugin-apex",
|
|
789
|
-
"pluginName": "@salesforce/plugin-apex",
|
|
790
|
-
"pluginType": "core",
|
|
791
|
-
"strict": true,
|
|
792
|
-
"summary": "Invoke Apex tests in an org.",
|
|
793
|
-
"enableJsonFlag": true,
|
|
794
|
-
"isESM": true,
|
|
795
|
-
"relativePath": [
|
|
796
|
-
"lib",
|
|
797
|
-
"commands",
|
|
798
|
-
"apex",
|
|
799
|
-
"run",
|
|
800
|
-
"test.js"
|
|
801
|
-
],
|
|
802
|
-
"aliasPermutations": [
|
|
803
|
-
"force:apex:test:run",
|
|
804
|
-
"apex:force:test:run",
|
|
805
|
-
"apex:test:force:run",
|
|
806
|
-
"apex:test:run:force",
|
|
807
|
-
"force:test:apex:run",
|
|
808
|
-
"test:force:apex:run",
|
|
809
|
-
"test:apex:force:run",
|
|
810
|
-
"test:apex:run:force",
|
|
811
|
-
"force:test:run:apex",
|
|
812
|
-
"test:force:run:apex",
|
|
813
|
-
"test:run:force:apex",
|
|
814
|
-
"test:run:apex:force",
|
|
815
|
-
"force:apex:run:test",
|
|
816
|
-
"apex:force:run:test",
|
|
817
|
-
"apex:run:force:test",
|
|
818
|
-
"apex:run:test:force",
|
|
819
|
-
"force:run:apex:test",
|
|
820
|
-
"run:force:apex:test",
|
|
821
|
-
"run:apex:force:test",
|
|
822
|
-
"run:apex:test:force",
|
|
823
|
-
"force:run:test:apex",
|
|
824
|
-
"run:force:test:apex",
|
|
825
|
-
"run:test:force:apex",
|
|
826
|
-
"run:test:apex:force"
|
|
827
|
-
],
|
|
828
|
-
"permutations": [
|
|
829
|
-
"apex:run:test",
|
|
830
|
-
"run:apex:test",
|
|
831
|
-
"run:test:apex",
|
|
832
|
-
"apex:test:run",
|
|
833
|
-
"test:apex:run",
|
|
834
|
-
"test:run:apex"
|
|
835
|
-
]
|
|
836
|
-
},
|
|
837
837
|
"apex:tail:log": {
|
|
838
838
|
"aliases": [
|
|
839
839
|
"force:apex:log:tail"
|
|
@@ -978,5 +978,5 @@
|
|
|
978
978
|
]
|
|
979
979
|
}
|
|
980
980
|
},
|
|
981
|
-
"version": "3.6.
|
|
981
|
+
"version": "3.6.18"
|
|
982
982
|
}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/plugin-apex",
|
|
3
3
|
"description": "Apex commands",
|
|
4
|
-
"version": "3.6.
|
|
4
|
+
"version": "3.6.18",
|
|
5
5
|
"author": "Salesforce",
|
|
6
6
|
"bugs": "https://github.com/forcedotcom/cli/issues",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@salesforce/apex-node": "^8.1.
|
|
8
|
+
"@salesforce/apex-node": "^8.1.26",
|
|
9
9
|
"@salesforce/core": "^8.10.1",
|
|
10
10
|
"@salesforce/kit": "^3.2.3",
|
|
11
11
|
"@salesforce/sf-plugins-core": "^12.2.1",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"@oclif/plugin-command-snapshot": "^5.2.37",
|
|
17
17
|
"@salesforce/cli-plugins-testkit": "^5.3.39",
|
|
18
18
|
"@salesforce/dev-scripts": "^10.2.11",
|
|
19
|
-
"@salesforce/plugin-command-reference": "^3.1.
|
|
20
|
-
"eslint-plugin-sf-plugin": "^1.20.
|
|
19
|
+
"@salesforce/plugin-command-reference": "^3.1.52",
|
|
20
|
+
"eslint-plugin-sf-plugin": "^1.20.22",
|
|
21
21
|
"oclif": "^4.17.46",
|
|
22
22
|
"ts-node": "^10.9.2",
|
|
23
23
|
"typescript": "^5.8.3"
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
"exports": "./lib/index.js",
|
|
218
218
|
"type": "module",
|
|
219
219
|
"sfdx": {
|
|
220
|
-
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-apex/3.6.
|
|
221
|
-
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-apex/3.6.
|
|
220
|
+
"publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-apex/3.6.18.crt",
|
|
221
|
+
"signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-apex/3.6.18.sig"
|
|
222
222
|
}
|
|
223
223
|
}
|