@simplysf/simply 3.1.0 → 3.2.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/LICENSE.txt +205 -205
- package/README.md +3189 -1274
- package/package.json +13 -10
package/README.md
CHANGED
|
@@ -1,1274 +1,3189 @@
|
|
|
1
|
-
# simply
|
|
2
|
-
|
|
3
|
-
[](https://www.npmjs.com/package/@simplysf/simply) [](https://npmjs.org/package/@simplysf/simply) [](https://raw.githubusercontent.com/SimplySF/simply-node/main/LICENSE.txt)
|
|
4
|
-
|
|
5
|
-
## Install1
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
sf plugins install @simplysf/simply
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Issues
|
|
12
|
-
|
|
13
|
-
Please report any issues at https://github.com/SimplySF/simply-node/issues
|
|
14
|
-
|
|
15
|
-
## Contributing
|
|
16
|
-
|
|
17
|
-
This package is part of the [`@simplysf/simply`](https://github.com/SimplySF/simply-node) monorepo. See [CONTRIBUTING.md](CONTRIBUTING.md) for what's specific to this package, and the repo's [root CONTRIBUTING.md](https://github.com/SimplySF/simply-node/blob/main/CONTRIBUTING.md) for repo structure, setup, commit conventions, and how to submit a pull request. Please also read our [Code of Conduct](https://github.com/SimplySF/simply-node/blob/main/CODE_OF_CONDUCT.md).
|
|
18
|
-
|
|
19
|
-
## Commands
|
|
20
|
-
|
|
21
|
-
<!-- commands -->
|
|
22
|
-
|
|
23
|
-
- [`sf simply
|
|
24
|
-
- [`sf simply
|
|
25
|
-
- [`sf simply
|
|
26
|
-
- [`sf simply
|
|
27
|
-
- [`sf simply
|
|
28
|
-
- [`sf simply
|
|
29
|
-
- [`sf simply
|
|
30
|
-
- [`sf simply
|
|
31
|
-
- [`sf simply
|
|
32
|
-
- [`sf simply
|
|
33
|
-
- [`sf simply
|
|
34
|
-
- [`sf simply
|
|
35
|
-
- [`sf simply
|
|
36
|
-
- [`sf simply
|
|
37
|
-
- [`sf simply
|
|
38
|
-
- [`sf simply
|
|
39
|
-
- [`sf simply
|
|
40
|
-
- [`sf simply
|
|
41
|
-
- [`sf simply
|
|
42
|
-
- [`sf simply
|
|
43
|
-
- [`sf simply
|
|
44
|
-
- [`sf simply
|
|
45
|
-
- [`sf simply
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
--json
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
--
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
--
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
--
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
--
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
EXAMPLES
|
|
229
|
-
$ sf simply
|
|
230
|
-
|
|
231
|
-
$ sf simply
|
|
232
|
-
|
|
233
|
-
$ sf simply
|
|
234
|
-
|
|
235
|
-
$ sf simply
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
--
|
|
276
|
-
--
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
--
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
--
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
--
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
--
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
--
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
$ sf simply
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
--
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
```
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
--
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
--
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
--
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
--
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
--
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
--
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
--
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
$ sf simply
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
$ sf simply
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
--
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1
|
+
# simply
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@simplysf/simply) [](https://npmjs.org/package/@simplysf/simply) [](https://raw.githubusercontent.com/SimplySF/simply-node/main/LICENSE.txt)
|
|
4
|
+
|
|
5
|
+
## Install1
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
sf plugins install @simplysf/simply
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Issues
|
|
12
|
+
|
|
13
|
+
Please report any issues at https://github.com/SimplySF/simply-node/issues
|
|
14
|
+
|
|
15
|
+
## Contributing
|
|
16
|
+
|
|
17
|
+
This package is part of the [`@simplysf/simply`](https://github.com/SimplySF/simply-node) monorepo. See [CONTRIBUTING.md](CONTRIBUTING.md) for what's specific to this package, and the repo's [root CONTRIBUTING.md](https://github.com/SimplySF/simply-node/blob/main/CONTRIBUTING.md) for repo structure, setup, commit conventions, and how to submit a pull request. Please also read our [Code of Conduct](https://github.com/SimplySF/simply-node/blob/main/CODE_OF_CONDUCT.md).
|
|
18
|
+
|
|
19
|
+
## Commands
|
|
20
|
+
|
|
21
|
+
<!-- commands -->
|
|
22
|
+
|
|
23
|
+
- [`sf simply aep at4dx binding list`](#sf-simply-aep-at4dx-binding-list)
|
|
24
|
+
- [`sf simply aep at4dx domain-process-binding create`](#sf-simply-aep-at4dx-domain-process-binding-create)
|
|
25
|
+
- [`sf simply aep at4dx domain-process-binding list`](#sf-simply-aep-at4dx-domain-process-binding-list)
|
|
26
|
+
- [`sf simply aep at4dx domain-process-binding set`](#sf-simply-aep-at4dx-domain-process-binding-set)
|
|
27
|
+
- [`sf simply aep at4dx domain-process-binding validate`](#sf-simply-aep-at4dx-domain-process-binding-validate)
|
|
28
|
+
- [`sf simply apex execute`](#sf-simply-apex-execute)
|
|
29
|
+
- [`sf simply apex logs purge`](#sf-simply-apex-logs-purge)
|
|
30
|
+
- [`sf simply apex trace setup`](#sf-simply-apex-trace-setup)
|
|
31
|
+
- [`sf simply apex trace silence`](#sf-simply-apex-trace-silence)
|
|
32
|
+
- [`sf simply community publish`](#sf-simply-community-publish)
|
|
33
|
+
- [`sf simply community url set`](#sf-simply-community-url-set)
|
|
34
|
+
- [`sf simply data file upload`](#sf-simply-data-file-upload)
|
|
35
|
+
- [`sf simply data files download`](#sf-simply-data-files-download)
|
|
36
|
+
- [`sf simply data files upload`](#sf-simply-data-files-upload)
|
|
37
|
+
- [`sf simply document diff`](#sf-simply-document-diff)
|
|
38
|
+
- [`sf simply document generate`](#sf-simply-document-generate)
|
|
39
|
+
- [`sf simply flow delete`](#sf-simply-flow-delete)
|
|
40
|
+
- [`sf simply flow version prune`](#sf-simply-flow-version-prune)
|
|
41
|
+
- [`sf simply package dependencies install`](#sf-simply-package-dependencies-install)
|
|
42
|
+
- [`sf simply package dependencies manage`](#sf-simply-package-dependencies-manage)
|
|
43
|
+
- [`sf simply package version cleanup`](#sf-simply-package-version-cleanup)
|
|
44
|
+
- [`sf simply package version get`](#sf-simply-package-version-get)
|
|
45
|
+
- [`sf simply permissions analyze`](#sf-simply-permissions-analyze)
|
|
46
|
+
- [`sf simply permissions assignment delete`](#sf-simply-permissions-assignment-delete)
|
|
47
|
+
- [`sf simply permissions build`](#sf-simply-permissions-build)
|
|
48
|
+
- [`sf simply project update api-version`](#sf-simply-project-update-api-version)
|
|
49
|
+
- [`sf simply schema generate`](#sf-simply-schema-generate)
|
|
50
|
+
- [`sf simply schema visualize`](#sf-simply-schema-visualize)
|
|
51
|
+
- [`sf simply sobject backup`](#sf-simply-sobject-backup)
|
|
52
|
+
- [`sf simply sobject deduplicate`](#sf-simply-sobject-deduplicate)
|
|
53
|
+
- [`sf simply sobject history export`](#sf-simply-sobject-history-export)
|
|
54
|
+
- [`sf simply sobject history query`](#sf-simply-sobject-history-query)
|
|
55
|
+
- [`sf simply sobject history schema`](#sf-simply-sobject-history-schema)
|
|
56
|
+
|
|
57
|
+
## `sf simply aep at4dx binding list`
|
|
58
|
+
|
|
59
|
+
List the AT4DX Application Factory bindings configured in an org or local source, resolved to show which record wins for each binding key.
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
USAGE
|
|
63
|
+
$ sf simply aep at4dx binding list [--json] [--flags-dir <value>] [-o <value>] [--api-version <value>] [-d <value>...] [-t
|
|
64
|
+
service|selector|domain|unit-of-work...] [--effective-only]
|
|
65
|
+
|
|
66
|
+
FLAGS
|
|
67
|
+
-d, --source-dir=<value>... One or more paths to directories containing Salesforce DX source. Use this for
|
|
68
|
+
local-source discovery.
|
|
69
|
+
-o, --target-org=<value> Username or alias of the org to read bindings from. Use this for live-org discovery.
|
|
70
|
+
-t, --type=<option>... Binding type(s) to include: service, selector, domain, unit-of-work.
|
|
71
|
+
<options: service|selector|domain|unit-of-work>
|
|
72
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
73
|
+
--effective-only Only show the bindings that actually win for their key; hide shadowed/non-winning
|
|
74
|
+
records.
|
|
75
|
+
|
|
76
|
+
GLOBAL FLAGS
|
|
77
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
78
|
+
--json Format output as json.
|
|
79
|
+
|
|
80
|
+
DESCRIPTION
|
|
81
|
+
List the AT4DX Application Factory bindings configured in an org or local source, resolved to show which record wins
|
|
82
|
+
for each binding key.
|
|
83
|
+
|
|
84
|
+
Reads the four AT4DX Application Factory Custom Metadata Types — `ApplicationFactory_ServiceBinding__mdt`,
|
|
85
|
+
`ApplicationFactory_SelectorBinding__mdt`, `ApplicationFactory_DomainBinding__mdt`, and
|
|
86
|
+
`ApplicationFactory_UnitOfWorkBinding__mdt` — either from a live org or from local Salesforce DX source, and
|
|
87
|
+
reproduces the resolution rules AT4DX applies at runtime so you can see which record actually wins for a given
|
|
88
|
+
interface or SObject, and which ones are shadowed. Exactly one of `--target-org` or `--source-dir` must be specified.
|
|
89
|
+
|
|
90
|
+
Service and Selector bindings resolve deterministically on `Priority__c` (highest wins). Domain bindings have no
|
|
91
|
+
priority field, so a duplicated key is flagged `ambiguous` rather than reporting a guessed winner. UnitOfWork bindings
|
|
92
|
+
have no winner concept at all — every record contributes to one ordered registration list.
|
|
93
|
+
|
|
94
|
+
EXAMPLES
|
|
95
|
+
$ sf simply aep at4dx binding list --target-org myOrg
|
|
96
|
+
|
|
97
|
+
$ sf simply aep at4dx binding list --source-dir sfdx-source/core --source-dir sfdx-source/app
|
|
98
|
+
|
|
99
|
+
$ sf simply aep at4dx binding list --target-org myOrg --type service,selector
|
|
100
|
+
|
|
101
|
+
$ sf simply aep at4dx binding list --target-org myOrg --effective-only --json
|
|
102
|
+
|
|
103
|
+
FLAG DESCRIPTIONS
|
|
104
|
+
-t, --type=service|selector|domain|unit-of-work...
|
|
105
|
+
|
|
106
|
+
Binding type(s) to include: service, selector, domain, unit-of-work.
|
|
107
|
+
|
|
108
|
+
Comma-separated list of binding types to include. If not specified, all four are included.
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
_See code: [@simplysf/simply-aep](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-aep@0.6.1/packages/simply-aep/lib/commands/simply/aep/at4dx/binding/list.js)_
|
|
112
|
+
|
|
113
|
+
## `sf simply aep at4dx domain-process-binding create`
|
|
114
|
+
|
|
115
|
+
Create a new AT4DX Trigger Action Framework binding (DomainProcessBinding__mdt) in local source and/or a connected org.
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
USAGE
|
|
119
|
+
$ sf simply aep at4dx domain-process-binding create -n <value> -s <value> --process-context TriggerExecution|DomainMethodExecution -t
|
|
120
|
+
Action|Criteria -c <value> --order <value> [--json] [--flags-dir <value>] [-d <value>] [-o <value>] [--api-version
|
|
121
|
+
<value>] [--wait <value>] [--label <value>] [--sobject-alternate] [--trigger-operation
|
|
122
|
+
Before_Insert|After_Insert|Before_Update|After_Update|Before_Delete|After_Delete|After_Undelete]
|
|
123
|
+
[--domain-method-token <value>] [--active] [--execute-asynchronous] [--logical-inverse] [--prevent-recursive]
|
|
124
|
+
[--description <value>] [--force]
|
|
125
|
+
|
|
126
|
+
FLAGS
|
|
127
|
+
-c, --class-to-inject=<value> (required) The Apex class this binding wires in.
|
|
128
|
+
-d, --source-dir=<value> The package directory to create
|
|
129
|
+
customMetadata/DomainProcessBinding.<name>.md-meta.xml under. Created if the
|
|
130
|
+
customMetadata folder doesn't exist yet.
|
|
131
|
+
-n, --developer-name=<value> (required) The binding's DeveloperName. Must start with a letter, contain only
|
|
132
|
+
letters, numbers, and single underscores, not end with an underscore, and be 40
|
|
133
|
+
characters or fewer.
|
|
134
|
+
-o, --target-org=<value> Deploy the generated binding to this org after writing it.
|
|
135
|
+
-s, --sobject=<value> (required) The SObject API name to bind against.
|
|
136
|
+
-t, --type=<option> (required) Whether this binding contributes a Criteria filter or an Action.
|
|
137
|
+
<options: Action|Criteria>
|
|
138
|
+
--[no-]active IsActive__c.
|
|
139
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
140
|
+
--description=<value> Description__c.
|
|
141
|
+
--domain-method-token=<value> The domain method's process token this binding matches. Required, and only allowed,
|
|
142
|
+
when --process-context is DomainMethodExecution.
|
|
143
|
+
--execute-asynchronous ExecuteAsynchronous__c.
|
|
144
|
+
--force Write (and deploy) even if validation finds an error-severity issue. Validation
|
|
145
|
+
still runs and its issues are still printed and returned.
|
|
146
|
+
--label=<value> The binding's label. Defaults to --developer-name. Must be 40 characters or fewer.
|
|
147
|
+
--logical-inverse LogicalInverse__c.
|
|
148
|
+
--order=<value> (required) OrderOfExecution__c. Numeric; decimals are allowed.
|
|
149
|
+
--prevent-recursive PreventRecursive__c.
|
|
150
|
+
--process-context=<option> (required) What kind of process invokes this binding: TriggerExecution or
|
|
151
|
+
DomainMethodExecution.
|
|
152
|
+
<options: TriggerExecution|DomainMethodExecution>
|
|
153
|
+
--[no-]sobject-alternate Write --sobject to RelatedDomainBindingSObjectAlternate__c instead of
|
|
154
|
+
RelatedDomainBindingSObject__c. Use this for a SObject that can't be referenced
|
|
155
|
+
through an EntityDefinition field at all (for example ServiceResource and other
|
|
156
|
+
Setup objects).
|
|
157
|
+
--trigger-operation=<option> The trigger event this binding fires on. Required, and only allowed, when
|
|
158
|
+
--process-context is TriggerExecution.
|
|
159
|
+
<options: Before_Insert|After_Insert|Before_Update|After_Update|Before_Delete|After
|
|
160
|
+
_Delete|After_Undelete>
|
|
161
|
+
--wait=<value> [default: 33] Deploy poll timeout, in minutes. Only meaningful with --target-org.
|
|
162
|
+
|
|
163
|
+
GLOBAL FLAGS
|
|
164
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
165
|
+
--json Format output as json.
|
|
166
|
+
|
|
167
|
+
DESCRIPTION
|
|
168
|
+
Create a new AT4DX Trigger Action Framework binding (DomainProcessBinding__mdt) in local source and/or a connected
|
|
169
|
+
org.
|
|
170
|
+
|
|
171
|
+
Generates a `DomainProcessBinding.<DeveloperName>.md-meta.xml` file from the given flags and writes it under
|
|
172
|
+
--source-dir, deploys it to --target-org, or both. Validates the resulting binding — alongside everything else already
|
|
173
|
+
in scope — with the same rules `simply aep at4dx domain-process-binding validate` uses, and refuses to write if that
|
|
174
|
+
introduces an error-severity issue unless --force is passed. At least one of --source-dir/--target-org is required;
|
|
175
|
+
unlike `list`/`validate`, both may be given at once (write to source and deploy it live in the same run). Given
|
|
176
|
+
--target-org alone, the file is written to a temporary directory, deployed, and discarded — no working-tree footprint.
|
|
177
|
+
|
|
178
|
+
Writes RelatedDomainBindingSObject__c by default. Pass --sobject-alternate to write
|
|
179
|
+
RelatedDomainBindingSObjectAlternate__c instead, for a SObject (such as ServiceResource and other Setup objects) that
|
|
180
|
+
can't be referenced through an EntityDefinition field at all.
|
|
181
|
+
|
|
182
|
+
EXAMPLES
|
|
183
|
+
$ sf simply aep at4dx domain-process-binding create --source-dir sfdx-source/core --developer-name Account_Before_Insert_Assign_Owner --sobject Account --process-context TriggerExecution --trigger-operation Before_Insert --type Action --class-to-inject AccountAssignOwnerAction --order 10
|
|
184
|
+
|
|
185
|
+
$ sf simply aep at4dx domain-process-binding create --target-org myOrg --developer-name Account_Before_Insert_Assign_Owner --sobject Account --process-context TriggerExecution --trigger-operation Before_Insert --type Action --class-to-inject AccountAssignOwnerAction --order 10
|
|
186
|
+
|
|
187
|
+
$ sf simply aep at4dx domain-process-binding create --source-dir sfdx-source/core --target-org myOrg --developer-name Account_Before_Insert_Assign_Owner --sobject Account --process-context TriggerExecution --trigger-operation Before_Insert --type Action --class-to-inject AccountAssignOwnerAction --order 10
|
|
188
|
+
|
|
189
|
+
$ sf simply aep at4dx domain-process-binding create --source-dir sfdx-source/core --developer-name ServiceResource_Before_Update_Sync --sobject ServiceResource --sobject-alternate --process-context TriggerExecution --trigger-operation Before_Update --type Action --class-to-inject ServiceResourceSyncAction --order 10
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
_See code: [@simplysf/simply-aep](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-aep@0.6.1/packages/simply-aep/lib/commands/simply/aep/at4dx/domain-process-binding/create.js)_
|
|
193
|
+
|
|
194
|
+
## `sf simply aep at4dx domain-process-binding list`
|
|
195
|
+
|
|
196
|
+
List the AT4DX Trigger Action Framework bindings configured in an org or local source, in execution order.
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
USAGE
|
|
200
|
+
$ sf simply aep at4dx domain-process-binding list [--json] [--flags-dir <value>] [-o <value>] [--api-version <value>] [-d <value>...] [-s
|
|
201
|
+
<value>...] [--active-only]
|
|
202
|
+
|
|
203
|
+
FLAGS
|
|
204
|
+
-d, --source-dir=<value>... One or more paths to directories containing Salesforce DX source. Use this for
|
|
205
|
+
local-source discovery.
|
|
206
|
+
-o, --target-org=<value> Username or alias of the org to read bindings from. Use this for live-org discovery.
|
|
207
|
+
-s, --sobject=<value>... SObject API name(s) to filter to. If not specified, bindings for every SObject are
|
|
208
|
+
included.
|
|
209
|
+
--active-only Only show active bindings; hide inactive records.
|
|
210
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
211
|
+
|
|
212
|
+
GLOBAL FLAGS
|
|
213
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
214
|
+
--json Format output as json.
|
|
215
|
+
|
|
216
|
+
DESCRIPTION
|
|
217
|
+
List the AT4DX Trigger Action Framework bindings configured in an org or local source, in execution order.
|
|
218
|
+
|
|
219
|
+
Reads AT4DX's Trigger Action Framework Custom Metadata Type — `DomainProcessBinding__mdt` — either from a live org or
|
|
220
|
+
from local Salesforce DX source, showing which criteria/action classes are bound to each SObject's trigger events (or
|
|
221
|
+
domain method tokens), and the order they run in. Exactly one of `--target-org` or `--source-dir` must be specified.
|
|
222
|
+
|
|
223
|
+
Unlike `simply aep at4dx binding list`, there's no "winner" here — every active record in a group (same SObject,
|
|
224
|
+
process context, and trigger operation or domain method token) runs, in `OrderOfExecution__c` order. Two active
|
|
225
|
+
records sharing the same order within a group are flagged as a collision, since AT4DX doesn't guarantee which one runs
|
|
226
|
+
first in that case.
|
|
227
|
+
|
|
228
|
+
EXAMPLES
|
|
229
|
+
$ sf simply aep at4dx domain-process-binding list --target-org myOrg
|
|
230
|
+
|
|
231
|
+
$ sf simply aep at4dx domain-process-binding list --source-dir sfdx-source/core --source-dir sfdx-source/app
|
|
232
|
+
|
|
233
|
+
$ sf simply aep at4dx domain-process-binding list --target-org myOrg --sobject Account
|
|
234
|
+
|
|
235
|
+
$ sf simply aep at4dx domain-process-binding list --target-org myOrg --active-only --json
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
_See code: [@simplysf/simply-aep](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-aep@0.6.1/packages/simply-aep/lib/commands/simply/aep/at4dx/domain-process-binding/list.js)_
|
|
239
|
+
|
|
240
|
+
## `sf simply aep at4dx domain-process-binding set`
|
|
241
|
+
|
|
242
|
+
Update an existing AT4DX Trigger Action Framework binding (DomainProcessBinding__mdt) in local source and/or a connected org.
|
|
243
|
+
|
|
244
|
+
```
|
|
245
|
+
USAGE
|
|
246
|
+
$ sf simply aep at4dx domain-process-binding set -n <value> [--json] [--flags-dir <value>] [-d <value>...] [-o <value>] [--api-version <value>]
|
|
247
|
+
[--wait <value>] [--label <value>] [-s <value>] [--sobject-alternate] [--process-context
|
|
248
|
+
TriggerExecution|DomainMethodExecution] [--trigger-operation
|
|
249
|
+
Before_Insert|After_Insert|Before_Update|After_Update|Before_Delete|After_Delete|After_Undelete]
|
|
250
|
+
[--domain-method-token <value>] [-t Action|Criteria] [-c <value>] [--order <value>] [--active]
|
|
251
|
+
[--execute-asynchronous] [--logical-inverse] [--prevent-recursive] [--description <value>] [--force]
|
|
252
|
+
|
|
253
|
+
FLAGS
|
|
254
|
+
-c, --class-to-inject=<value> The Apex class this binding wires in. If not given, the existing value is kept.
|
|
255
|
+
-d, --source-dir=<value>... One or more paths to directories containing Salesforce DX source, searched for the
|
|
256
|
+
binding to update.
|
|
257
|
+
-n, --developer-name=<value> (required) The DeveloperName of the binding to update.
|
|
258
|
+
-o, --target-org=<value> Locate (when --source-dir isn't given) and/or deploy the binding to this org.
|
|
259
|
+
-s, --sobject=<value> The SObject API name to bind against. If not given, the existing value is kept.
|
|
260
|
+
-t, --type=<option> Whether this binding contributes a Criteria filter or an Action. If not given, the
|
|
261
|
+
existing value is kept.
|
|
262
|
+
<options: Action|Criteria>
|
|
263
|
+
--[no-]active IsActive__c. If not given, the existing value is kept.
|
|
264
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
265
|
+
--description=<value> Description__c. If not given, the existing value is kept.
|
|
266
|
+
--domain-method-token=<value> The domain method's process token this binding matches. If you change
|
|
267
|
+
--process-context to DomainMethodExecution, pass this too.
|
|
268
|
+
--[no-]execute-asynchronous ExecuteAsynchronous__c. If not given, the existing value is kept.
|
|
269
|
+
--force Write (and deploy) even if validation finds an error-severity issue. Validation
|
|
270
|
+
still runs and its issues are still printed and returned.
|
|
271
|
+
--label=<value> The binding's label. If not given, the existing label is kept.
|
|
272
|
+
--[no-]logical-inverse LogicalInverse__c. If not given, the existing value is kept.
|
|
273
|
+
--order=<value> OrderOfExecution__c. Numeric; decimals are allowed. If not given, the existing
|
|
274
|
+
value is kept.
|
|
275
|
+
--[no-]prevent-recursive PreventRecursive__c. If not given, the existing value is kept.
|
|
276
|
+
--process-context=<option> What kind of process invokes this binding: TriggerExecution or
|
|
277
|
+
DomainMethodExecution. If not given, the existing value is kept.
|
|
278
|
+
<options: TriggerExecution|DomainMethodExecution>
|
|
279
|
+
--[no-]sobject-alternate Write --sobject to RelatedDomainBindingSObjectAlternate__c instead of
|
|
280
|
+
RelatedDomainBindingSObject__c, for a SObject that can't be referenced through an
|
|
281
|
+
EntityDefinition field at all (for example ServiceResource and other Setup
|
|
282
|
+
objects). If not given, the binding keeps whichever field it already uses — this
|
|
283
|
+
flag only needs to be passed to change it.
|
|
284
|
+
--trigger-operation=<option> The trigger event this binding fires on. If you change --process-context to
|
|
285
|
+
TriggerExecution, pass this too.
|
|
286
|
+
<options: Before_Insert|After_Insert|Before_Update|After_Update|Before_Delete|After
|
|
287
|
+
_Delete|After_Undelete>
|
|
288
|
+
--wait=<value> [default: 33] Deploy poll timeout, in minutes. Only meaningful with --target-org.
|
|
289
|
+
|
|
290
|
+
GLOBAL FLAGS
|
|
291
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
292
|
+
--json Format output as json.
|
|
293
|
+
|
|
294
|
+
DESCRIPTION
|
|
295
|
+
Update an existing AT4DX Trigger Action Framework binding (DomainProcessBinding__mdt) in local source and/or a
|
|
296
|
+
connected org.
|
|
297
|
+
|
|
298
|
+
Finds the binding named --developer-name in local source and/or a connected org, applies only the fields given as
|
|
299
|
+
flags — everything else, including which SObject reference field the binding uses, is preserved from the found record
|
|
300
|
+
— and rewrites the `DomainProcessBinding.<DeveloperName>.md-meta.xml` file. Validates the resulting binding —
|
|
301
|
+
alongside everything else already in scope — with the same rules `simply aep at4dx domain-process-binding validate`
|
|
302
|
+
uses, and refuses to write if that introduces an error-severity issue unless --force is passed.
|
|
303
|
+
|
|
304
|
+
When --source-dir is given, the binding is located there (searched across every directory given, same as
|
|
305
|
+
`list`/`validate`) and that exact file is rewritten; the found file is also deployed if --target-org is given. When
|
|
306
|
+
only --target-org is given, the binding is located and updated directly in the org via a temporary file, deployed,
|
|
307
|
+
then discarded — no working-tree footprint.
|
|
308
|
+
|
|
309
|
+
--developer-name identifies the binding to update and can't itself be changed by this command.
|
|
310
|
+
|
|
311
|
+
EXAMPLES
|
|
312
|
+
$ sf simply aep at4dx domain-process-binding set --source-dir sfdx-source/core --source-dir sfdx-source/app --developer-name Account_Before_Insert_Assign_Owner --order 20 --no-active
|
|
313
|
+
|
|
314
|
+
$ sf simply aep at4dx domain-process-binding set --target-org myOrg --developer-name Account_Before_Insert_Assign_Owner --class-to-inject AccountAssignOwnerActionV2
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
_See code: [@simplysf/simply-aep](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-aep@0.6.1/packages/simply-aep/lib/commands/simply/aep/at4dx/domain-process-binding/set.js)_
|
|
318
|
+
|
|
319
|
+
## `sf simply aep at4dx domain-process-binding validate`
|
|
320
|
+
|
|
321
|
+
Validate the AT4DX Trigger Action Framework bindings configured in an org or local source, failing when a wiring problem is found.
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
USAGE
|
|
325
|
+
$ sf simply aep at4dx domain-process-binding validate [--json] [--flags-dir <value>] [-o <value>] [--api-version <value>] [-d <value>...] [-s
|
|
326
|
+
<value>...]
|
|
327
|
+
|
|
328
|
+
FLAGS
|
|
329
|
+
-d, --source-dir=<value>... One or more paths to directories containing Salesforce DX source. Use this for
|
|
330
|
+
local-source discovery.
|
|
331
|
+
-o, --target-org=<value> Username or alias of the org to read bindings from. Use this for live-org discovery.
|
|
332
|
+
-s, --sobject=<value>... SObject API name(s) to filter to. Applies only to issues that name an SObject; issues
|
|
333
|
+
that span the whole scan (a duplicate DeveloperName, or a binding with no resolvable
|
|
334
|
+
SObject) are always reported, since filtering could hide the exact conflict they exist to
|
|
335
|
+
catch. If not specified, every issue is included.
|
|
336
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
337
|
+
|
|
338
|
+
GLOBAL FLAGS
|
|
339
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
340
|
+
--json Format output as json.
|
|
341
|
+
|
|
342
|
+
DESCRIPTION
|
|
343
|
+
Validate the AT4DX Trigger Action Framework bindings configured in an org or local source, failing when a wiring
|
|
344
|
+
problem is found.
|
|
345
|
+
|
|
346
|
+
Reads AT4DX's Trigger Action Framework Custom Metadata Type — `DomainProcessBinding__mdt` — either from a live org or
|
|
347
|
+
from local Salesforce DX source, and checks it for problems `simply aep at4dx domain-process-binding list` doesn't
|
|
348
|
+
fail on: two active records silently fighting over the same execution slot, a binding with no resolvable SObject, a
|
|
349
|
+
binding whose declared process context doesn't match the field that's actually populated (so it never runs), the same
|
|
350
|
+
DeveloperName defined more than once, and an ambiguous SObject reference. Exactly one of `--target-org` or
|
|
351
|
+
`--source-dir` must be specified.
|
|
352
|
+
|
|
353
|
+
Prints a table of every issue found. When --sobject is specified, scan-wide issues (a duplicate DeveloperName, or a
|
|
354
|
+
binding with no resolvable SObject) print in their own section below the filtered table, since they can't be
|
|
355
|
+
attributed to one SObject. Exits non-zero when any issue is an error (a warning alone doesn't fail the command) — use
|
|
356
|
+
this in CI to gate on AT4DX wiring problems before they reach an org.
|
|
357
|
+
|
|
358
|
+
EXAMPLES
|
|
359
|
+
$ sf simply aep at4dx domain-process-binding validate --target-org myOrg
|
|
360
|
+
|
|
361
|
+
$ sf simply aep at4dx domain-process-binding validate --source-dir sfdx-source/core --source-dir sfdx-source/app
|
|
362
|
+
|
|
363
|
+
$ sf simply aep at4dx domain-process-binding validate --target-org myOrg --sobject Account
|
|
364
|
+
|
|
365
|
+
$ sf simply aep at4dx domain-process-binding validate --target-org myOrg --json
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
_See code: [@simplysf/simply-aep](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-aep@0.6.1/packages/simply-aep/lib/commands/simply/aep/at4dx/domain-process-binding/validate.js)_
|
|
369
|
+
|
|
370
|
+
## `sf simply apex execute`
|
|
371
|
+
|
|
372
|
+
Execute anonymous Apex code.
|
|
373
|
+
|
|
374
|
+
```
|
|
375
|
+
USAGE
|
|
376
|
+
$ sf simply apex execute -o <value> -f <value> [--json] [--flags-dir <value>] [--api-version <value>]
|
|
377
|
+
|
|
378
|
+
FLAGS
|
|
379
|
+
-f, --file=<value> (required) Path to Apex file
|
|
380
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
381
|
+
configuration variable is already set.
|
|
382
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
383
|
+
|
|
384
|
+
GLOBAL FLAGS
|
|
385
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
386
|
+
--json Format output as json.
|
|
387
|
+
|
|
388
|
+
DESCRIPTION
|
|
389
|
+
Execute anonymous Apex code.
|
|
390
|
+
|
|
391
|
+
Executes an anonymous block of Apex code from a local .apex file against a target org and reports the compile and
|
|
392
|
+
execution results, including any debug logs produced.
|
|
393
|
+
|
|
394
|
+
EXAMPLES
|
|
395
|
+
$ sf simply apex execute --target-org myOrg --file scripts/apex/data-fix.apex
|
|
396
|
+
|
|
397
|
+
FLAG DESCRIPTIONS
|
|
398
|
+
-f, --file=<value> Path to Apex file
|
|
399
|
+
|
|
400
|
+
The path to the local .apex file containing the anonymous Apex code to execute.
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
_See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.6/packages/simply-apex/lib/commands/simply/apex/execute.js)_
|
|
404
|
+
|
|
405
|
+
## `sf simply apex logs purge`
|
|
406
|
+
|
|
407
|
+
Purge Apex debug logs.
|
|
408
|
+
|
|
409
|
+
```
|
|
410
|
+
USAGE
|
|
411
|
+
$ sf simply apex logs purge -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-w <value>] [-b] [--wait
|
|
412
|
+
<value>]
|
|
413
|
+
|
|
414
|
+
FLAGS
|
|
415
|
+
-b, --use-bulk-api Use Bulk API v2 to query and delete the logs.
|
|
416
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
417
|
+
configuration variable is already set.
|
|
418
|
+
-w, --where=<value> SOQL WHERE clause
|
|
419
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
420
|
+
--wait=<value> Number of minutes to wait for the Bulk API jobs to finish.
|
|
421
|
+
|
|
422
|
+
GLOBAL FLAGS
|
|
423
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
424
|
+
--json Format output as json.
|
|
425
|
+
|
|
426
|
+
DESCRIPTION
|
|
427
|
+
Purge Apex debug logs.
|
|
428
|
+
|
|
429
|
+
Deletes ApexLog records from the target org. By default all logs are purged; use --where to scope the deletion to a
|
|
430
|
+
subset of logs.
|
|
431
|
+
|
|
432
|
+
EXAMPLES
|
|
433
|
+
$ sf simply apex logs purge --target-org myOrg
|
|
434
|
+
|
|
435
|
+
$ sf simply apex logs purge --target-org myOrg --where "Status = 'Success'"
|
|
436
|
+
|
|
437
|
+
$ sf simply apex logs purge --target-org myOrg --use-bulk-api
|
|
438
|
+
|
|
439
|
+
$ sf simply apex logs purge --target-org myOrg --use-bulk-api --wait 60
|
|
440
|
+
|
|
441
|
+
FLAG DESCRIPTIONS
|
|
442
|
+
-b, --use-bulk-api Use Bulk API v2 to query and delete the logs.
|
|
443
|
+
|
|
444
|
+
Runs the whole purge as two Bulk API v2 jobs instead of a Tooling API query followed by chunked REST deletes. Bulk
|
|
445
|
+
API processes the deletion asynchronously and does not consume the org's REST API request limit, which suits purges
|
|
446
|
+
of tens of thousands of logs. For small purges the default REST path is faster, since it avoids the overhead of
|
|
447
|
+
creating, uploading, and polling a job.
|
|
448
|
+
|
|
449
|
+
-w, --where=<value> SOQL WHERE clause
|
|
450
|
+
|
|
451
|
+
A WHERE clause used to filter which ApexLog records are purged (e.g. "Status = 'Success'").
|
|
452
|
+
|
|
453
|
+
--wait=<value> Number of minutes to wait for the Bulk API jobs to finish.
|
|
454
|
+
|
|
455
|
+
Only applies with --use-bulk-api. The command polls the query and delete jobs until they complete or this timeout
|
|
456
|
+
elapses, then throws.
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
_See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.6/packages/simply-apex/lib/commands/simply/apex/logs/purge.js)_
|
|
460
|
+
|
|
461
|
+
## `sf simply apex trace setup`
|
|
462
|
+
|
|
463
|
+
Configure a debug log trace flag for the current user, or another user.
|
|
464
|
+
|
|
465
|
+
```
|
|
466
|
+
USAGE
|
|
467
|
+
$ sf simply apex trace setup -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [--on-behalf-of <value>]
|
|
468
|
+
[--log-level <value>] [--start-date <value>] [--end-date <value>]
|
|
469
|
+
|
|
470
|
+
FLAGS
|
|
471
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
472
|
+
configuration variable is already set.
|
|
473
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
474
|
+
--end-date=<value> Expiration date/time of the trace flag, as an ISO 8601 date-time.
|
|
475
|
+
--log-level=<value> Developer name of an existing debug level to use for the trace flag.
|
|
476
|
+
--on-behalf-of=<value> Configure the trace flag for another user, identified by a "Field:Value" pair.
|
|
477
|
+
--start-date=<value> Start date/time of the trace flag, as an ISO 8601 date-time.
|
|
478
|
+
|
|
479
|
+
GLOBAL FLAGS
|
|
480
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
481
|
+
--json Format output as json.
|
|
482
|
+
|
|
483
|
+
DESCRIPTION
|
|
484
|
+
Configure a debug log trace flag for the current user, or another user.
|
|
485
|
+
|
|
486
|
+
Creates or updates a DEVELOPER_LOG trace flag for the target user, using the FINEST/FINER "ReplayDebuggerLevels" debug
|
|
487
|
+
level suitable for the Apex Replay Debugger and running for 24 hours starting now, by default. Use --on-behalf-of to
|
|
488
|
+
configure the trace flag for a different user instead; --log-level, --start-date, and --end-date override the other
|
|
489
|
+
defaults.
|
|
490
|
+
|
|
491
|
+
EXAMPLES
|
|
492
|
+
$ sf simply apex trace setup --target-org myOrg
|
|
493
|
+
|
|
494
|
+
$ sf simply apex trace setup --target-org myOrg --on-behalf-of Username:someuser@example.com
|
|
495
|
+
|
|
496
|
+
$ sf simply apex trace setup --target-org myOrg --on-behalf-of FederationIdentifier:123456
|
|
497
|
+
|
|
498
|
+
$ sf simply apex trace setup --target-org myOrg --log-level MyCustomDebugLevel --start-date 2026-08-18T09:00:00Z --end-date 2026-08-19T09:00:00Z
|
|
499
|
+
|
|
500
|
+
FLAG DESCRIPTIONS
|
|
501
|
+
--end-date=<value> Expiration date/time of the trace flag, as an ISO 8601 date-time.
|
|
502
|
+
|
|
503
|
+
Defaults to 24 hours after the start date/time.
|
|
504
|
+
|
|
505
|
+
--log-level=<value> Developer name of an existing debug level to use for the trace flag.
|
|
506
|
+
|
|
507
|
+
Must already exist in the org; it's looked up but never created or modified. Defaults to the "ReplayDebuggerLevels"
|
|
508
|
+
debug level, which is created automatically if it doesn't exist.
|
|
509
|
+
|
|
510
|
+
--on-behalf-of=<value> Configure the trace flag for another user, identified by a "Field:Value" pair.
|
|
511
|
+
|
|
512
|
+
Any unique User field can be used, for example "Username:someuser@example.com" or "FederationIdentifier:123456".
|
|
513
|
+
|
|
514
|
+
--start-date=<value> Start date/time of the trace flag, as an ISO 8601 date-time.
|
|
515
|
+
|
|
516
|
+
Defaults to the current date/time.
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
_See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.6/packages/simply-apex/lib/commands/simply/apex/trace/setup.js)_
|
|
520
|
+
|
|
521
|
+
## `sf simply apex trace silence`
|
|
522
|
+
|
|
523
|
+
Silence debug logs for specific Apex classes.
|
|
524
|
+
|
|
525
|
+
```
|
|
526
|
+
USAGE
|
|
527
|
+
$ sf simply apex trace silence -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-c <value> | --classes-file
|
|
528
|
+
<value>] [--fflib] [--at4dx] [--force-di]
|
|
529
|
+
|
|
530
|
+
FLAGS
|
|
531
|
+
-c, --classes=<value> Comma-separated Apex class names
|
|
532
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
533
|
+
configuration variable is already set.
|
|
534
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
535
|
+
--at4dx Silence at4dx base classes
|
|
536
|
+
--classes-file=<value> Path to a JSON file listing classes to silence
|
|
537
|
+
--fflib Silence fflib base classes
|
|
538
|
+
--force-di Silence force-di base classes
|
|
539
|
+
|
|
540
|
+
GLOBAL FLAGS
|
|
541
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
542
|
+
--json Format output as json.
|
|
543
|
+
|
|
544
|
+
DESCRIPTION
|
|
545
|
+
Silence debug logs for specific Apex classes.
|
|
546
|
+
|
|
547
|
+
Creates or updates a 24-hour CLASS_TRACING trace flag with a fully suppressed (NONE) debug level for each specified
|
|
548
|
+
Apex class, preventing those classes from generating debug log output. If a class already has a trace flag, its
|
|
549
|
+
expiration is extended instead of creating a duplicate.
|
|
550
|
+
|
|
551
|
+
EXAMPLES
|
|
552
|
+
$ sf simply apex trace silence --target-org myOrg --classes NoisyClass,ChattyTrigger
|
|
553
|
+
|
|
554
|
+
$ sf simply apex trace silence --target-org myOrg --classes-file classesToSilence.json
|
|
555
|
+
|
|
556
|
+
$ sf simply apex trace silence --target-org myOrg --fflib --at4dx --force-di
|
|
557
|
+
|
|
558
|
+
$ sf simply apex trace silence --target-org myOrg --classes NoisyClass --fflib
|
|
559
|
+
|
|
560
|
+
FLAG DESCRIPTIONS
|
|
561
|
+
-c, --classes=<value> Comma-separated Apex class names
|
|
562
|
+
|
|
563
|
+
A comma-separated list of Apex class names to silence.
|
|
564
|
+
|
|
565
|
+
--at4dx Silence at4dx base classes
|
|
566
|
+
|
|
567
|
+
Adds ApplicationSObjectDomain to the classes to silence.
|
|
568
|
+
|
|
569
|
+
--classes-file=<value> Path to a JSON file listing classes to silence
|
|
570
|
+
|
|
571
|
+
The path to a JSON file with the shape { "classes": ["ClassOne", "ClassTwo"] } listing the Apex class names to
|
|
572
|
+
silence.
|
|
573
|
+
|
|
574
|
+
--fflib Silence fflib base classes
|
|
575
|
+
|
|
576
|
+
Adds fflib_SObjectDescribe and fflib_SObjectDomain to the classes to silence.
|
|
577
|
+
|
|
578
|
+
--force-di Silence force-di base classes
|
|
579
|
+
|
|
580
|
+
Adds di_Binding, di_Module, di_PlatformCache, and di_Injector to the classes to silence.
|
|
581
|
+
```
|
|
582
|
+
|
|
583
|
+
_See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.6/packages/simply-apex/lib/commands/simply/apex/trace/silence.js)_
|
|
584
|
+
|
|
585
|
+
## `sf simply community publish`
|
|
586
|
+
|
|
587
|
+
Publish a Salesforce Community (Experience Cloud site), waiting until the publish completes.
|
|
588
|
+
|
|
589
|
+
```
|
|
590
|
+
USAGE
|
|
591
|
+
$ sf simply community publish -o <value> --name <value> [--json] [--flags-dir <value>] [--api-version <value>] [--wait
|
|
592
|
+
<value>] [--retry-attempts <value>] [--retry-backoff <value>] [--ignore-errors]
|
|
593
|
+
|
|
594
|
+
FLAGS
|
|
595
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
596
|
+
configuration variable is already set.
|
|
597
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
598
|
+
--ignore-errors Log a warning and exit successfully if the publish fails, instead of throwing an error.
|
|
599
|
+
--name=<value> (required) Name of the community (Experience Cloud site) to publish.
|
|
600
|
+
--retry-attempts=<value> Number of additional attempts to make if the initial publish request fails, before
|
|
601
|
+
giving up. Defaults to 0 (no retries). Does not apply to polling for the publish job's
|
|
602
|
+
completion, which already retries until --wait elapses.
|
|
603
|
+
--retry-backoff=<value> [default: 2] Factor the delay between publish request retries grows by after each failed
|
|
604
|
+
attempt (e.g. 2 doubles the delay each time). Only relevant when --retry-attempts is
|
|
605
|
+
greater than 0.
|
|
606
|
+
--wait=<value> [default: 15] Minutes to wait for the publish to complete before giving up. Salesforce's
|
|
607
|
+
own publish jobs time out after 15 minutes server-side, so waiting longer than that has
|
|
608
|
+
no effect.
|
|
609
|
+
|
|
610
|
+
GLOBAL FLAGS
|
|
611
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
612
|
+
--json Format output as json.
|
|
613
|
+
|
|
614
|
+
DESCRIPTION
|
|
615
|
+
Publish a Salesforce Community (Experience Cloud site), waiting until the publish completes.
|
|
616
|
+
|
|
617
|
+
Looks up the community by `--name`, triggers a publish via the Connect REST API, then polls until the publish job
|
|
618
|
+
reaches a terminal state — throwing an error if it fails, rather than returning as soon as the publish request is
|
|
619
|
+
accepted. The Salesforce CLI's own `sf community publish` command does not wait for completion; this command exists to
|
|
620
|
+
fill that gap for pipelines that need to know publishing actually succeeded before continuing.
|
|
621
|
+
|
|
622
|
+
EXAMPLES
|
|
623
|
+
$ sf simply community publish --target-org my-org --name "My Community"
|
|
624
|
+
|
|
625
|
+
$ sf simply community publish --target-org my-org --name "My Community" --wait 20
|
|
626
|
+
|
|
627
|
+
$ sf simply community publish --target-org my-org --name "My Community" --retry-attempts 3 --retry-backoff 2
|
|
628
|
+
|
|
629
|
+
$ sf simply community publish --target-org my-org --name "My Community" --ignore-errors
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
_See code: [@simplysf/simply-community](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-community@0.6.2/packages/simply-community/lib/commands/simply/community/publish.js)_
|
|
633
|
+
|
|
634
|
+
## `sf simply community url set`
|
|
635
|
+
|
|
636
|
+
Set an Experience Cloud site's custom domain (and optionally its URL path prefix) by patching the site's metadata in place.
|
|
637
|
+
|
|
638
|
+
```
|
|
639
|
+
USAGE
|
|
640
|
+
$ sf simply community url set -s <value> -d <value> [--json] [--flags-dir <value>] [-p <value>] [--primary] [--directory
|
|
641
|
+
<value>] [--deploy] [--publish] [-o <value>] [--api-version <value>] [-w <value>] [--ignore-missing-domain]
|
|
642
|
+
|
|
643
|
+
FLAGS
|
|
644
|
+
-d, --domain=<value> (required) Fully qualified custom domain to set, e.g. `partners.acme.com`. Must already
|
|
645
|
+
be registered in the target org (Setup → Custom URLs); this command cannot register one.
|
|
646
|
+
-o, --target-org=<value> Username or alias of the target org.
|
|
647
|
+
-p, --path-prefix=<value> URL path prefix. When given, written to both the site file and the `Network` metadata
|
|
648
|
+
file that references the site.
|
|
649
|
+
-s, --site=<value> (required) CustomSite API name — the basename of `sites/<name>.site-meta.xml`.
|
|
650
|
+
-w, --wait=<value> [default: 33] Minutes to wait for the deploy to complete before giving up. Matches `sf
|
|
651
|
+
project deploy start`'s default of 33. Only relevant with --deploy.
|
|
652
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
653
|
+
--deploy Deploy the files this command changed, then restore their original contents so the
|
|
654
|
+
working tree ends up unmodified. Requires --target-org.
|
|
655
|
+
--directory=<value> Root directory to search for the site (and, if needed, network) metadata files. Defaults
|
|
656
|
+
to searching every package directory listed in sfdx-project.json. Also used as the
|
|
657
|
+
destination if the site file needs to be retrieved from --target-org, defaulting in that
|
|
658
|
+
case to the project's default package directory.
|
|
659
|
+
--ignore-missing-domain Downgrade "domain is not registered in this org" from an error to a warning, and proceed
|
|
660
|
+
anyway. Has no effect without --target-org, since there's no check to ignore.
|
|
661
|
+
--[no-]primary Whether the custom domain entry is the site's primary URL. Pass --no-primary to set it
|
|
662
|
+
false. Defaults to true.
|
|
663
|
+
--publish After a successful deploy, publish the site and wait for the publish to complete.
|
|
664
|
+
Requires --deploy.
|
|
665
|
+
|
|
666
|
+
GLOBAL FLAGS
|
|
667
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
668
|
+
--json Format output as json.
|
|
669
|
+
|
|
670
|
+
DESCRIPTION
|
|
671
|
+
Set an Experience Cloud site's custom domain (and optionally its URL path prefix) by patching the site's metadata in
|
|
672
|
+
place.
|
|
673
|
+
|
|
674
|
+
Patches `sites/<Site>.site-meta.xml` — replacing its `customWebAddresses` with a single entry for `--domain` — and,
|
|
675
|
+
when `--path-prefix` is given, also patches `urlPathPrefix` on both that file and the `Network` metadata file that
|
|
676
|
+
references the site. It does not touch anything else, and by default it does not deploy: this is a pre-deploy step
|
|
677
|
+
meant to run right before whatever deploy command the pipeline already runs.
|
|
678
|
+
|
|
679
|
+
Pass `--deploy` to also deploy just the files this command changed and restore their original contents afterwards, so
|
|
680
|
+
the working tree is left exactly as it found it — the only lasting change is in the org. Add `--publish` to publish
|
|
681
|
+
the site after a successful deploy.
|
|
682
|
+
|
|
683
|
+
A domain must already be registered in the target org (Setup → Custom URLs) before a site can be pointed at it; this
|
|
684
|
+
command cannot register one. When `--target-org` is given, it checks the domain is registered before writing anything,
|
|
685
|
+
so a typo surfaces immediately instead of as an opaque deploy failure.
|
|
686
|
+
|
|
687
|
+
If the site file isn't found locally and `--target-org` is given, it's retrieved from the org instead of erroring — a
|
|
688
|
+
warning says so, since a `--site` typo now triggers a retrieve rather than a fast local error. This only applies to
|
|
689
|
+
the site file; a missing `Network` metadata file (needed for `--path-prefix` or `--publish`) still errors even with
|
|
690
|
+
`--target-org`.
|
|
691
|
+
|
|
692
|
+
EXAMPLES
|
|
693
|
+
$ sf simply community url set --site Partner_Portal --domain partners.acme.com
|
|
694
|
+
|
|
695
|
+
$ sf simply community url set --site Partner_Portal --domain partners.acme.com --path-prefix partners
|
|
696
|
+
|
|
697
|
+
$ sf simply community url set --site Partner_Portal --domain partners.acme.com --target-org my-org --ignore-missing-domain
|
|
698
|
+
|
|
699
|
+
$ sf simply community url set --site Partner_Portal --domain partners.acme.com --deploy --target-org my-org
|
|
700
|
+
|
|
701
|
+
$ sf simply community url set --site Partner_Portal --domain partners.acme.com --path-prefix partners --deploy --publish --target-org my-org
|
|
702
|
+
|
|
703
|
+
$ sf simply community url set --site Partner_Portal --domain partners.acme.com --deploy --target-org my-org # retrieves the site file first if it isn't found locally
|
|
704
|
+
```
|
|
705
|
+
|
|
706
|
+
_See code: [@simplysf/simply-community](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-community@0.6.2/packages/simply-community/lib/commands/simply/community/url/set.js)_
|
|
707
|
+
|
|
708
|
+
## `sf simply data file upload`
|
|
709
|
+
|
|
710
|
+
Upload a file to a Salesforce org.
|
|
711
|
+
|
|
712
|
+
```
|
|
713
|
+
USAGE
|
|
714
|
+
$ sf simply data file upload -o <value> --file-path <value> [--json] [--flags-dir <value>] [--api-version <value>]
|
|
715
|
+
[--max-api-usage <value>] [--first-publish-location-id <value>] [--title <value>]
|
|
716
|
+
|
|
717
|
+
FLAGS
|
|
718
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the
|
|
719
|
+
`target-org` configuration variable is already set.
|
|
720
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
721
|
+
--file-path=<value> (required) Path to the file to upload. May be relative or absolute; only the
|
|
722
|
+
file's name is sent to the org.
|
|
723
|
+
--first-publish-location-id=<value> Specify a record Id that the file should be linked to.
|
|
724
|
+
--max-api-usage=<value> [default: 20] Maximum percentage of the org's remaining API requests this run
|
|
725
|
+
may consume.
|
|
726
|
+
--title=<value> Specify the title for the file being uploaded.
|
|
727
|
+
|
|
728
|
+
GLOBAL FLAGS
|
|
729
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
730
|
+
--json Format output as json.
|
|
731
|
+
|
|
732
|
+
DESCRIPTION
|
|
733
|
+
Upload a file to a Salesforce org.
|
|
734
|
+
|
|
735
|
+
Uploads a file to a Salesforce org.
|
|
736
|
+
|
|
737
|
+
Only the file's name is sent to the org — Salesforce stores it as the ContentVersion's PathOnClient and derives
|
|
738
|
+
FileExtension and FileType from it — so the local directory the file came from is never uploaded.
|
|
739
|
+
|
|
740
|
+
EXAMPLES
|
|
741
|
+
$ sf simply data file upload --file-path fileToUpload.txt --target-org myTargetOrg
|
|
742
|
+
|
|
743
|
+
$ sf simply data file upload --file-path fileToUpload.txt --first-publish-location-id 0019000000DmehK --target-org myTargetOrg
|
|
744
|
+
|
|
745
|
+
FLAG DESCRIPTIONS
|
|
746
|
+
--max-api-usage=<value> Maximum percentage of the org's remaining API requests this run may consume.
|
|
747
|
+
|
|
748
|
+
Checked before any request is made, so a run that would exceed its budget stops without doing partial work. The
|
|
749
|
+
percentage applies to the requests the org has left today, not to its daily maximum — an org that has already used
|
|
750
|
+
most of its allocation gets a proportionally smaller budget.
|
|
751
|
+
|
|
752
|
+
Note that uploading a file costs two API requests, not one: the upload itself, and a follow-up query for the
|
|
753
|
+
resulting ContentDocumentId.
|
|
754
|
+
|
|
755
|
+
A run that cannot finish within the org's remaining requests is refused regardless of this value. To allow a larger
|
|
756
|
+
share, raise it; to allow the maximum, pass 100.
|
|
757
|
+
|
|
758
|
+
If the org's remaining allocation can't be read — reading it falls back to the limits API, which needs the "View
|
|
759
|
+
Setup and Configuration" permission — the command warns and proceeds rather than failing.
|
|
760
|
+
```
|
|
761
|
+
|
|
762
|
+
_See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.4.1/packages/simply-data/lib/commands/simply/data/file/upload.js)_
|
|
763
|
+
|
|
764
|
+
## `sf simply data files download`
|
|
765
|
+
|
|
766
|
+
Download files from a Salesforce org.
|
|
767
|
+
|
|
768
|
+
```
|
|
769
|
+
USAGE
|
|
770
|
+
$ sf simply data files download -o <value> --where-content-version <value> [--json] [--flags-dir <value>] [--api-version
|
|
771
|
+
<value>] [--max-api-usage <value>] [--max-parallel-jobs <value>]
|
|
772
|
+
|
|
773
|
+
FLAGS
|
|
774
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
775
|
+
configuration variable is already set.
|
|
776
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
777
|
+
--max-api-usage=<value> [default: 20] Maximum percentage of the org's remaining API requests this run may
|
|
778
|
+
consume.
|
|
779
|
+
--max-parallel-jobs=<value> [default: 1] Maximum number of parallel jobs.
|
|
780
|
+
--where-content-version=<value> (required) WHERE clause for ContentVersion query.
|
|
781
|
+
|
|
782
|
+
GLOBAL FLAGS
|
|
783
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
784
|
+
--json Format output as json.
|
|
785
|
+
|
|
786
|
+
DESCRIPTION
|
|
787
|
+
Download files from a Salesforce org.
|
|
788
|
+
|
|
789
|
+
Downloads files specified by a where clause for a ContentVersion query from a Salesforce org. By default, the plugin
|
|
790
|
+
uses the REST API for the download as to allow for the streaming of large files without issue. This means that each
|
|
791
|
+
file will use one REST API request.
|
|
792
|
+
|
|
793
|
+
EXAMPLES
|
|
794
|
+
$ sf simply data files download --where-content-version "IsLatest=true" --target-org myTargetOrg
|
|
795
|
+
|
|
796
|
+
$ sf simply data files download --where-content-version "IsLatest=true" --max-parallel-jobs 5 --target-org myTargetOrg
|
|
797
|
+
|
|
798
|
+
FLAG DESCRIPTIONS
|
|
799
|
+
--max-api-usage=<value> Maximum percentage of the org's remaining API requests this run may consume.
|
|
800
|
+
|
|
801
|
+
Checked before any request is made, so a run that would exceed its budget stops without doing partial work. The
|
|
802
|
+
percentage applies to the requests the org has left today, not to its daily maximum — an org that has already used
|
|
803
|
+
most of its allocation gets a proportionally smaller budget.
|
|
804
|
+
|
|
805
|
+
Note that uploading a file costs two API requests, not one: the upload itself, and a follow-up query for the
|
|
806
|
+
resulting ContentDocumentId.
|
|
807
|
+
|
|
808
|
+
A run that cannot finish within the org's remaining requests is refused regardless of this value. To allow a larger
|
|
809
|
+
share, raise it; to allow the maximum, pass 100.
|
|
810
|
+
|
|
811
|
+
If the org's remaining allocation can't be read — reading it falls back to the limits API, which needs the "View
|
|
812
|
+
Setup and Configuration" permission — the command warns and proceeds rather than failing.
|
|
813
|
+
|
|
814
|
+
--max-parallel-jobs=<value> Maximum number of parallel jobs.
|
|
815
|
+
|
|
816
|
+
By default the plugin will only process a single file download at a time. You can increase this value to allow for
|
|
817
|
+
quasi concurrent downloads. Please note that setting this value too high can cause performance issues.
|
|
818
|
+
|
|
819
|
+
--where-content-version=<value> WHERE clause for ContentVersion query.
|
|
820
|
+
|
|
821
|
+
Provide a WHERE clause to allow the plugin to specify which ContentVersion records should be downloaded.
|
|
822
|
+
```
|
|
823
|
+
|
|
824
|
+
_See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.4.1/packages/simply-data/lib/commands/simply/data/files/download.js)_
|
|
825
|
+
|
|
826
|
+
## `sf simply data files upload`
|
|
827
|
+
|
|
828
|
+
Upload files to a Salesforce org.
|
|
829
|
+
|
|
830
|
+
```
|
|
831
|
+
USAGE
|
|
832
|
+
$ sf simply data files upload -o <value> --file-path <value> [--json] [--flags-dir <value>] [--api-version <value>]
|
|
833
|
+
[--max-api-usage <value>] [--max-parallel-jobs <value>]
|
|
834
|
+
|
|
835
|
+
FLAGS
|
|
836
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
837
|
+
configuration variable is already set.
|
|
838
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
839
|
+
--file-path=<value> (required) Path to the csv file that specifies the upload.
|
|
840
|
+
--max-api-usage=<value> [default: 20] Maximum percentage of the org's remaining API requests this run may
|
|
841
|
+
consume.
|
|
842
|
+
--max-parallel-jobs=<value> [default: 1] Maximum number of parallel jobs.
|
|
843
|
+
|
|
844
|
+
GLOBAL FLAGS
|
|
845
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
846
|
+
--json Format output as json.
|
|
847
|
+
|
|
848
|
+
DESCRIPTION
|
|
849
|
+
Upload files to a Salesforce org.
|
|
850
|
+
|
|
851
|
+
Uploads files specified by a csv to a Salesforce org. By default, the plugin uses the REST API for the upload as the
|
|
852
|
+
Bulk API is limited in its payload size. This means that each file will use one REST API request.
|
|
853
|
+
|
|
854
|
+
EXAMPLES
|
|
855
|
+
$ sf simply data files upload --file-path filesToUpload.csv --target-org myTargetOrg
|
|
856
|
+
|
|
857
|
+
$ sf simply data files upload --file-path filesToUpload.csv --max-parallel-jobs 5 --target-org myTargetOrg
|
|
858
|
+
|
|
859
|
+
FLAG DESCRIPTIONS
|
|
860
|
+
--file-path=<value> Path to the csv file that specifies the upload.
|
|
861
|
+
|
|
862
|
+
The csv file must specify the columns PathOnClient and Title. Optionally, a FirstPublishLocationId can be specified
|
|
863
|
+
to have it linked directly to a Salesforce record after upload.
|
|
864
|
+
|
|
865
|
+
PathOnClient is the local path each file is read from, and may be relative or absolute. Only the file's name is sent
|
|
866
|
+
to the org — Salesforce stores it as the ContentVersion's PathOnClient and derives FileExtension and FileType from
|
|
867
|
+
it — so the local directory the file came from is never uploaded.
|
|
868
|
+
|
|
869
|
+
--max-api-usage=<value> Maximum percentage of the org's remaining API requests this run may consume.
|
|
870
|
+
|
|
871
|
+
Checked before any request is made, so a run that would exceed its budget stops without doing partial work. The
|
|
872
|
+
percentage applies to the requests the org has left today, not to its daily maximum — an org that has already used
|
|
873
|
+
most of its allocation gets a proportionally smaller budget.
|
|
874
|
+
|
|
875
|
+
Note that uploading a file costs two API requests, not one: the upload itself, and a follow-up query for the
|
|
876
|
+
resulting ContentDocumentId.
|
|
877
|
+
|
|
878
|
+
A run that cannot finish within the org's remaining requests is refused regardless of this value. To allow a larger
|
|
879
|
+
share, raise it; to allow the maximum, pass 100.
|
|
880
|
+
|
|
881
|
+
If the org's remaining allocation can't be read — reading it falls back to the limits API, which needs the "View
|
|
882
|
+
Setup and Configuration" permission — the command warns and proceeds rather than failing.
|
|
883
|
+
|
|
884
|
+
--max-parallel-jobs=<value> Maximum number of parallel jobs.
|
|
885
|
+
|
|
886
|
+
By default the plugin will only process a single file upload at a time. You can increase this value to allow for
|
|
887
|
+
quasi concurrent uploads. Please note that setting this value too high can cause performance issues.
|
|
888
|
+
```
|
|
889
|
+
|
|
890
|
+
_See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.4.1/packages/simply-data/lib/commands/simply/data/files/upload.js)_
|
|
891
|
+
|
|
892
|
+
## `sf simply document diff`
|
|
893
|
+
|
|
894
|
+
Generate a change report between two git refs.
|
|
895
|
+
|
|
896
|
+
```
|
|
897
|
+
USAGE
|
|
898
|
+
$ sf simply document diff --from-tag <value> --to-tag <value> [--json] [--flags-dir <value>] [--output-file <value>]
|
|
899
|
+
[--template-file <value>] [--output-format html]
|
|
900
|
+
|
|
901
|
+
FLAGS
|
|
902
|
+
--from-tag=<value> (required) The starting git ref for the diff report.
|
|
903
|
+
--output-file=<value> Path to write the generated report to.
|
|
904
|
+
--output-format=<option> [default: html] Output format to render the report in.
|
|
905
|
+
<options: html>
|
|
906
|
+
--template-file=<value> Path to a custom Handlebars template to render instead of the built-in one.
|
|
907
|
+
--to-tag=<value> (required) The ending git ref for the diff report.
|
|
908
|
+
|
|
909
|
+
GLOBAL FLAGS
|
|
910
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
911
|
+
--json Format output as json.
|
|
912
|
+
|
|
913
|
+
DESCRIPTION
|
|
914
|
+
Generate a change report between two git refs.
|
|
915
|
+
|
|
916
|
+
Runs `git diff --name-status` between two git refs (tags, branches, or commits) in the current working directory,
|
|
917
|
+
groups the changed files by Salesforce metadata component type, and renders a Confluence-storage-format change report
|
|
918
|
+
suitable for pasting into a release or change-management page.
|
|
919
|
+
|
|
920
|
+
EXAMPLES
|
|
921
|
+
$ sf simply document diff --from-tag v1.0.0 --to-tag v1.1.0
|
|
922
|
+
|
|
923
|
+
$ sf simply document diff --from-tag v1.0.0 --to-tag v1.1.0 --output-file change-report.html
|
|
924
|
+
|
|
925
|
+
$ sf simply document diff --from-tag v1.0.0 --to-tag v1.1.0 --template-file my-change-report.hbs
|
|
926
|
+
|
|
927
|
+
FLAG DESCRIPTIONS
|
|
928
|
+
--output-file=<value> Path to write the generated report to.
|
|
929
|
+
|
|
930
|
+
When specified, the generated report is written to this path instead of being printed to the terminal.
|
|
931
|
+
|
|
932
|
+
--output-format=html Output format to render the report in.
|
|
933
|
+
|
|
934
|
+
Currently only `html` is supported. Reserved for future formats (e.g. Markdown).
|
|
935
|
+
|
|
936
|
+
--template-file=<value> Path to a custom Handlebars template to render instead of the built-in one.
|
|
937
|
+
|
|
938
|
+
When specified, this template is rendered with the same data the built-in report template receives, and can reuse
|
|
939
|
+
the built-in `changeTable` partial. See this package's README "Custom Templates" section for the data shape and
|
|
940
|
+
available partials.
|
|
941
|
+
```
|
|
942
|
+
|
|
943
|
+
_See code: [@simplysf/simply-document](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-document@0.3.6/packages/simply-document/lib/commands/simply/document/diff.js)_
|
|
944
|
+
|
|
945
|
+
## `sf simply document generate`
|
|
946
|
+
|
|
947
|
+
Generate a technical design document for a Salesforce project.
|
|
948
|
+
|
|
949
|
+
```
|
|
950
|
+
USAGE
|
|
951
|
+
$ sf simply document generate -d <value> --output-file <value> [--json] [--flags-dir <value>] [--template-file <value>]
|
|
952
|
+
[--output-format html]
|
|
953
|
+
|
|
954
|
+
FLAGS
|
|
955
|
+
-d, --directory=<value> (required) Salesforce project source directory to scan.
|
|
956
|
+
--output-file=<value> (required) Path to write the generated document to.
|
|
957
|
+
--output-format=<option> [default: html] Output format to render the document in.
|
|
958
|
+
<options: html>
|
|
959
|
+
--template-file=<value> Path to a custom Handlebars template to render instead of the built-in one.
|
|
960
|
+
|
|
961
|
+
GLOBAL FLAGS
|
|
962
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
963
|
+
--json Format output as json.
|
|
964
|
+
|
|
965
|
+
DESCRIPTION
|
|
966
|
+
Generate a technical design document for a Salesforce project.
|
|
967
|
+
|
|
968
|
+
Scans a Salesforce DX project's source directory for metadata (objects, fields, Apex, Lightning components, flows,
|
|
969
|
+
permissions, and more) and renders a Confluence-storage-format technical design document covering the data model,
|
|
970
|
+
security model, groups/queues/permissions, solution inventory, and custom code inventory.
|
|
971
|
+
|
|
972
|
+
EXAMPLES
|
|
973
|
+
$ sf simply document generate --directory force-app --output-file technical-design-document.html
|
|
974
|
+
|
|
975
|
+
$ sf simply document generate --directory force-app --output-file technical-design-document.html --template-file my-tdd-template.hbs
|
|
976
|
+
|
|
977
|
+
FLAG DESCRIPTIONS
|
|
978
|
+
--output-format=html Output format to render the document in.
|
|
979
|
+
|
|
980
|
+
Currently only `html` is supported. Reserved for future formats (e.g. Markdown).
|
|
981
|
+
|
|
982
|
+
--template-file=<value> Path to a custom Handlebars template to render instead of the built-in one.
|
|
983
|
+
|
|
984
|
+
When specified, this template is rendered with the same scanned project data the built-in technical design document
|
|
985
|
+
template receives, and can reuse the built-in `loud` helper. See this package's README "Custom Templates" section
|
|
986
|
+
for the data shape.
|
|
987
|
+
```
|
|
988
|
+
|
|
989
|
+
_See code: [@simplysf/simply-document](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-document@0.3.6/packages/simply-document/lib/commands/simply/document/generate.js)_
|
|
990
|
+
|
|
991
|
+
## `sf simply flow delete`
|
|
992
|
+
|
|
993
|
+
Deactivate and delete every version of one or more Flows.
|
|
994
|
+
|
|
995
|
+
```
|
|
996
|
+
USAGE
|
|
997
|
+
$ sf simply flow delete -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-f <value>] [-n <value>...]
|
|
998
|
+
|
|
999
|
+
FLAGS
|
|
1000
|
+
-f, --file=<value> Path to a destructiveChanges.xml/package.xml-shaped file
|
|
1001
|
+
-n, --flow-name=<value>... Flow DeveloperName(s) to delete
|
|
1002
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
1003
|
+
configuration variable is already set.
|
|
1004
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1005
|
+
|
|
1006
|
+
GLOBAL FLAGS
|
|
1007
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1008
|
+
--json Format output as json.
|
|
1009
|
+
|
|
1010
|
+
DESCRIPTION
|
|
1011
|
+
Deactivate and delete every version of one or more Flows.
|
|
1012
|
+
|
|
1013
|
+
Deactivates every active version of each named Flow (so it no longer counts as "active" against Salesforce's
|
|
1014
|
+
restriction on deleting a Flow that still has one), then hard-deletes every version of it via the Tooling API. This is
|
|
1015
|
+
the pre-step a destructive metadata deploy needs before it can remove a Flow.
|
|
1016
|
+
|
|
1017
|
+
Flows can be named either via `--file`, pointing at a `destructiveChanges.xml`/`package.xml`-shaped file whose `Flow`
|
|
1018
|
+
type members are the flows to delete, or via one or more `--flow-name` flags for scripted or one-off use. Exactly one
|
|
1019
|
+
of the two must be given.
|
|
1020
|
+
|
|
1021
|
+
A failure deactivating or deleting one flow doesn't stop the others from being attempted — every failure is collected
|
|
1022
|
+
and reported, and the command exits non-zero if any occurred.
|
|
1023
|
+
|
|
1024
|
+
EXAMPLES
|
|
1025
|
+
$ sf simply flow delete --file destructive/pre/destructiveChanges.xml --target-org myOrg
|
|
1026
|
+
|
|
1027
|
+
$ sf simply flow delete --flow-name My_Flow --flow-name Another_Flow --target-org myOrg
|
|
1028
|
+
|
|
1029
|
+
$ sf simply flow delete --file destructive/pre/destructiveChanges.xml --target-org myOrg --json
|
|
1030
|
+
```
|
|
1031
|
+
|
|
1032
|
+
_See code: [@simplysf/simply-flow](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-flow@0.2.0/packages/simply-flow/lib/commands/simply/flow/delete.js)_
|
|
1033
|
+
|
|
1034
|
+
## `sf simply flow version prune`
|
|
1035
|
+
|
|
1036
|
+
Delete obsolete versions of Flows found in local source.
|
|
1037
|
+
|
|
1038
|
+
```
|
|
1039
|
+
USAGE
|
|
1040
|
+
$ sf simply flow version prune -o <value> -d <value>... [--json] [--flags-dir <value>] [--api-version <value>]
|
|
1041
|
+
[--dry-run]
|
|
1042
|
+
|
|
1043
|
+
FLAGS
|
|
1044
|
+
-d, --source-dir=<value>... (required) Directories to scan for *.flow-meta.xml files
|
|
1045
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
1046
|
+
configuration variable is already set.
|
|
1047
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1048
|
+
--dry-run List obsolete versions without deleting them
|
|
1049
|
+
|
|
1050
|
+
GLOBAL FLAGS
|
|
1051
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1052
|
+
--json Format output as json.
|
|
1053
|
+
|
|
1054
|
+
DESCRIPTION
|
|
1055
|
+
Delete obsolete versions of Flows found in local source.
|
|
1056
|
+
|
|
1057
|
+
Scans one or more source directories for `*.flow-meta.xml` files, then deletes any Tooling API Flow version already
|
|
1058
|
+
`Status = 'Obsolete'` for those flows — keeping an org's Flow version history from accumulating indefinitely. Unlike
|
|
1059
|
+
`simply flow delete`, this never touches an active Flow; it only removes versions the org itself already marked
|
|
1060
|
+
obsolete.
|
|
1061
|
+
|
|
1062
|
+
Use `--dry-run` to see what would be deleted without deleting anything.
|
|
1063
|
+
|
|
1064
|
+
EXAMPLES
|
|
1065
|
+
$ sf simply flow version prune --target-org myOrg --source-dir sfdx-source/core
|
|
1066
|
+
|
|
1067
|
+
$ sf simply flow version prune --target-org myOrg --source-dir sfdx-source/core --dry-run
|
|
1068
|
+
```
|
|
1069
|
+
|
|
1070
|
+
_See code: [@simplysf/simply-flow](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-flow@0.2.0/packages/simply-flow/lib/commands/simply/flow/version/prune.js)_
|
|
1071
|
+
|
|
1072
|
+
## `sf simply package dependencies install`
|
|
1073
|
+
|
|
1074
|
+
Install package dependencies for a Salesforce project.
|
|
1075
|
+
|
|
1076
|
+
```
|
|
1077
|
+
USAGE
|
|
1078
|
+
$ sf simply package dependencies install -o <value> [--json] [--flags-dir <value>] [-a all|package] [--api-version <value>] [-z
|
|
1079
|
+
<value>] [-i All|Delta|Upgrade] [-k <value>...] [-r] [--output-file <value>] [--package-retry-attempts <value>...]
|
|
1080
|
+
[-b <value>] [--retry-attempts <value>] [--retry-backoff <value>] [-s AllUsers|AdminsOnly] [-v <value>] [-t
|
|
1081
|
+
DeprecateOnly|Mixed|Delete] [-w <value>]
|
|
1082
|
+
|
|
1083
|
+
FLAGS
|
|
1084
|
+
-a, --apex-compile=<option> Compile all Apex in the org and package, or only Apex in the package;
|
|
1085
|
+
unlocked packages only.
|
|
1086
|
+
<options: all|package>
|
|
1087
|
+
-b, --publish-wait=<value> Maximum number of minutes to wait for the Subscriber Package Version ID to
|
|
1088
|
+
become available in the target org before canceling the install request.
|
|
1089
|
+
-i, --install-type=<option> [default: Upgrade] Install all packages, only deltas, or only newer versions.
|
|
1090
|
+
<options: All|Delta|Upgrade>
|
|
1091
|
+
-k, --installation-key=<value>... Installation key for key-protected packages
|
|
1092
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the
|
|
1093
|
+
`target-org` configuration variable is already set.
|
|
1094
|
+
-r, --no-prompt Don't prompt for confirmation.
|
|
1095
|
+
-s, --security-type=<option> [default: AdminsOnly] Security access type for the installed package.
|
|
1096
|
+
(deprecation notice: The default --security-type value will change from
|
|
1097
|
+
AllUsers to AdminsOnly in v47.0 or later.)
|
|
1098
|
+
<options: AllUsers|AdminsOnly>
|
|
1099
|
+
-t, --upgrade-type=<option> [default: Mixed] Upgrade type for the package installation; available only
|
|
1100
|
+
for unlocked packages.
|
|
1101
|
+
<options: DeprecateOnly|Mixed|Delete>
|
|
1102
|
+
-v, --target-dev-hub=<value> Username or alias of the Dev Hub org.
|
|
1103
|
+
-w, --wait=<value> Number of minutes to wait for installation status.
|
|
1104
|
+
-z, --branch=<value> Package branch to consider when specifiying a Package/VersionNumber
|
|
1105
|
+
combination
|
|
1106
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1107
|
+
--output-file=<value> Path to write a JSON install report to.
|
|
1108
|
+
--package-retry-attempts=<value>... Number of retry attempts for a specific package, overriding --retry-attempts
|
|
1109
|
+
for that package only.
|
|
1110
|
+
--retry-attempts=<value> Number of additional attempts to make if a package install fails, before
|
|
1111
|
+
giving up on that package. Defaults to 0 (no retries). Does not apply when
|
|
1112
|
+
the install is still In-Progress when polling times out, since retrying could
|
|
1113
|
+
race or duplicate an install that may still complete server-side. Overridden
|
|
1114
|
+
per-package by --package-retry-attempts.
|
|
1115
|
+
--retry-backoff=<value> [default: 2] Factor the delay between install retries grows by after each
|
|
1116
|
+
failed attempt (e.g. 2 doubles the delay each time). Only relevant when a
|
|
1117
|
+
package has retries enabled via --retry-attempts or --package-retry-attempts.
|
|
1118
|
+
Applies to every package's retries; there is no per-package override.
|
|
1119
|
+
|
|
1120
|
+
GLOBAL FLAGS
|
|
1121
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1122
|
+
--json Format output as json.
|
|
1123
|
+
|
|
1124
|
+
DESCRIPTION
|
|
1125
|
+
Install package dependencies for a Salesforce project.
|
|
1126
|
+
|
|
1127
|
+
Installs all specified package dependencies in a Salesforce DX project using the sfdx-project.json definition.
|
|
1128
|
+
|
|
1129
|
+
EXAMPLES
|
|
1130
|
+
$ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub
|
|
1131
|
+
|
|
1132
|
+
$ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --installation-key "MyPackage1Alias:MyPackage1Key"
|
|
1133
|
+
|
|
1134
|
+
$ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --installation-key "MyPackage1Alias:MyPackage1Key" --installation-key "MyPackage2Alias:MyPackage2Key"
|
|
1135
|
+
|
|
1136
|
+
$ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --output-file install-report.json
|
|
1137
|
+
|
|
1138
|
+
$ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --retry-attempts 3 --retry-backoff 2
|
|
1139
|
+
|
|
1140
|
+
$ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --retry-attempts 1 --package-retry-attempts "MyPackage1Alias:5"
|
|
1141
|
+
|
|
1142
|
+
FLAG DESCRIPTIONS
|
|
1143
|
+
-a, --apex-compile=all|package
|
|
1144
|
+
|
|
1145
|
+
Compile all Apex in the org and package, or only Apex in the package; unlocked packages only.
|
|
1146
|
+
|
|
1147
|
+
Applies to unlocked packages only. Specifies whether to compile all Apex in the org and package, or only the Apex in
|
|
1148
|
+
the package.
|
|
1149
|
+
|
|
1150
|
+
For package installs into production orgs, or any org that has Apex Compile on Deploy enabled, the platform compiles
|
|
1151
|
+
all Apex in the org after the package install or upgrade operation completes.
|
|
1152
|
+
|
|
1153
|
+
This approach assures that package installs and upgrades don’t impact the performance of an org, and is done even if
|
|
1154
|
+
--apex-compile package is specified.
|
|
1155
|
+
|
|
1156
|
+
-i, --install-type=All|Delta|Upgrade Install all packages, only deltas, or only newer versions.
|
|
1157
|
+
|
|
1158
|
+
If 'All' is specified, then all packages specified in package dependencies are installed, regardless of if the
|
|
1159
|
+
version already is installed in the org. If 'Delta' is specified, then only packages that differ from what is
|
|
1160
|
+
installed in the org will be installed. If 'Upgrade' is specified, then a package is installed only if it isn't
|
|
1161
|
+
already installed, or if its semantic version (major.minor.patch.build) is newer than the version currently
|
|
1162
|
+
installed in the org; packages with an installed version that is the same as or newer than the target version are
|
|
1163
|
+
skipped.
|
|
1164
|
+
|
|
1165
|
+
-k, --installation-key=<value>... Installation key for key-protected packages
|
|
1166
|
+
|
|
1167
|
+
Installation key for key-protected packages in the key:value format of SubscriberPackageVersionId:Key
|
|
1168
|
+
|
|
1169
|
+
-r, --no-prompt Don't prompt for confirmation.
|
|
1170
|
+
|
|
1171
|
+
Allows the following without an explicit confirmation response: 1) Remote Site Settings and Content Security Policy
|
|
1172
|
+
websites to send or receive data, and 2) --upgrade-type Delete to proceed.
|
|
1173
|
+
|
|
1174
|
+
-t, --upgrade-type=DeprecateOnly|Mixed|Delete
|
|
1175
|
+
|
|
1176
|
+
Upgrade type for the package installation; available only for unlocked packages.
|
|
1177
|
+
|
|
1178
|
+
For package upgrades, specifies whether to mark all removed components as deprecated (DeprecateOnly), to delete
|
|
1179
|
+
removed components that can be safely deleted and deprecate the others (Mixed), or to delete all removed components,
|
|
1180
|
+
except for custom objects and custom fields, that don't have dependencies (Delete). The default is Mixed. Can
|
|
1181
|
+
specify DeprecateOnly or Delete only for unlocked package upgrades.
|
|
1182
|
+
|
|
1183
|
+
-z, --branch=<value> Package branch to consider when specifiying a Package/VersionNumber combination
|
|
1184
|
+
|
|
1185
|
+
For dependencies specified by Package/VersionNumber combination, you can specify the branch group of builds to work
|
|
1186
|
+
from by entering the branch build name. If not specified, the builds from NULL branch will be considered.
|
|
1187
|
+
|
|
1188
|
+
--output-file=<value> Path to write a JSON install report to.
|
|
1189
|
+
|
|
1190
|
+
When specified, a JSON report of the install outcome for every resolved dependency is written to this path, in
|
|
1191
|
+
addition to the normal terminal output you can continue to monitor as the command runs. Each entry includes the
|
|
1192
|
+
package name, the SubscriberPackageVersionId already installed in the org (if any), the SubscriberPackageVersionId
|
|
1193
|
+
that was attempted, and the decision made (Skipped, Installed, Installing, or Failed).
|
|
1194
|
+
|
|
1195
|
+
--package-retry-attempts=<value>...
|
|
1196
|
+
|
|
1197
|
+
Number of retry attempts for a specific package, overriding --retry-attempts for that package only.
|
|
1198
|
+
|
|
1199
|
+
Retry attempts for a specific package in the key:value format of SubscriberPackageVersionId:RetryAttempts. You can
|
|
1200
|
+
use an alias in place of the SubscriberPackageVersionId. Repeat this flag to set overrides for multiple packages.
|
|
1201
|
+
Packages not listed here use --retry-attempts.
|
|
1202
|
+
```
|
|
1203
|
+
|
|
1204
|
+
_See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.10.2/packages/simply-package/lib/commands/simply/package/dependencies/install.js)_
|
|
1205
|
+
|
|
1206
|
+
## `sf simply package dependencies manage`
|
|
1207
|
+
|
|
1208
|
+
Manage package dependency versions for a Salesforce project.
|
|
1209
|
+
|
|
1210
|
+
```
|
|
1211
|
+
USAGE
|
|
1212
|
+
$ sf simply package dependencies manage -v <value> [--json] [--flags-dir <value>] [-b <value>] [--update-to-released |
|
|
1213
|
+
--update-to-latest] [--api-version <value>]
|
|
1214
|
+
|
|
1215
|
+
FLAGS
|
|
1216
|
+
-b, --branch=<value> Package branch to consider when evaluating version options.
|
|
1217
|
+
-v, --target-dev-hub=<value> (required) Username or alias of the Dev Hub org. Not required if the `target-dev-hub`
|
|
1218
|
+
configuration variable is already set.
|
|
1219
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1220
|
+
--update-to-latest Automatically set all dependencies to the latest non-pinned build.
|
|
1221
|
+
--update-to-released Automatically update all dependencies to the latest released version.
|
|
1222
|
+
|
|
1223
|
+
GLOBAL FLAGS
|
|
1224
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1225
|
+
--json Format output as json.
|
|
1226
|
+
|
|
1227
|
+
DESCRIPTION
|
|
1228
|
+
Manage package dependency versions for a Salesforce project.
|
|
1229
|
+
|
|
1230
|
+
Interactively updates package dependency versions in sfdx-project.json by querying the Dev Hub for available versions.
|
|
1231
|
+
Supports interactive selection or automatic update to the latest released or latest build version.
|
|
1232
|
+
|
|
1233
|
+
Project-level configuration (in sfdx-project.json) is read from the following keys:
|
|
1234
|
+
|
|
1235
|
+
- plugins.simply.dependencies.ignore — array of Package2Ids or aliases to leave unchanged
|
|
1236
|
+
- plugins.simply.package.brancheswithreleasedversions — array of branch names that contain released versions
|
|
1237
|
+
|
|
1238
|
+
EXAMPLES
|
|
1239
|
+
$ sf simply package dependencies manage --target-dev-hub myDevHub
|
|
1240
|
+
|
|
1241
|
+
$ sf simply package dependencies manage --target-dev-hub myDevHub --branch my-feature-branch
|
|
1242
|
+
|
|
1243
|
+
$ sf simply package dependencies manage --target-dev-hub myDevHub --update-to-released
|
|
1244
|
+
|
|
1245
|
+
$ sf simply package dependencies manage --target-dev-hub myDevHub --update-to-latest
|
|
1246
|
+
|
|
1247
|
+
FLAG DESCRIPTIONS
|
|
1248
|
+
-b, --branch=<value> Package branch to consider when evaluating version options.
|
|
1249
|
+
|
|
1250
|
+
When specified, the command will include the latest build on this branch as a selectable option for each dependency.
|
|
1251
|
+
|
|
1252
|
+
--update-to-latest Automatically set all dependencies to the latest non-pinned build.
|
|
1253
|
+
|
|
1254
|
+
When specified, all dependencies managed by the Dev Hub are automatically set to a non-pinned X.Y.Z.LATEST version
|
|
1255
|
+
number without interactive prompts. Mutually exclusive with --update-to-released.
|
|
1256
|
+
|
|
1257
|
+
--update-to-released Automatically update all dependencies to the latest released version.
|
|
1258
|
+
|
|
1259
|
+
When specified, all dependencies managed by the Dev Hub are automatically updated to the latest released package
|
|
1260
|
+
version without interactive prompts. Mutually exclusive with --update-to-latest.
|
|
1261
|
+
```
|
|
1262
|
+
|
|
1263
|
+
_See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.10.2/packages/simply-package/lib/commands/simply/package/dependencies/manage.js)_
|
|
1264
|
+
|
|
1265
|
+
## `sf simply package version cleanup`
|
|
1266
|
+
|
|
1267
|
+
Cleanup package versions.
|
|
1268
|
+
|
|
1269
|
+
```
|
|
1270
|
+
USAGE
|
|
1271
|
+
$ sf simply package version cleanup -p <value> -v <value> [--json] [--flags-dir <value>] [--api-version <value>] [-s <value> | -x
|
|
1272
|
+
<value>]
|
|
1273
|
+
|
|
1274
|
+
FLAGS
|
|
1275
|
+
-p, --package=<value> (required) Package Id
|
|
1276
|
+
-s, --matcher=<value> MAJOR.MINOR.PATCH to select on
|
|
1277
|
+
-v, --target-dev-hub=<value> (required) Username or alias of the Dev Hub org. Not required if the `target-dev-hub`
|
|
1278
|
+
configuration variable is already set.
|
|
1279
|
+
-x, --exclude-matcher=<value> MAJOR.MINOR.PATCH to exclude on
|
|
1280
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1281
|
+
|
|
1282
|
+
GLOBAL FLAGS
|
|
1283
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1284
|
+
--json Format output as json.
|
|
1285
|
+
|
|
1286
|
+
DESCRIPTION
|
|
1287
|
+
Cleanup package versions.
|
|
1288
|
+
|
|
1289
|
+
Delete package versions for a given package provided a MAJOR.MINOR.PATCH matcher, either to select on or to exclude
|
|
1290
|
+
on. Does not delete released package versions.
|
|
1291
|
+
|
|
1292
|
+
If --matcher is provided, only the unreleased versions matching MAJOR.MINOR.PATCH are deleted. If --exclude-matcher is
|
|
1293
|
+
provided instead, every unreleased version that does _not_ match MAJOR.MINOR.PATCH is deleted. Exactly one of
|
|
1294
|
+
--matcher or --exclude-matcher must be specified.
|
|
1295
|
+
|
|
1296
|
+
EXAMPLES
|
|
1297
|
+
$ sf simply package version cleanup --package 0Hoxx00000000CqCAI --matcher 2.10.0 --target-dev-hub myDevHub
|
|
1298
|
+
|
|
1299
|
+
$ sf simply package version cleanup --package 0Hoxx00000000CqCAI --exclude-matcher 2.10.0 --target-dev-hub myDevHub
|
|
1300
|
+
|
|
1301
|
+
FLAG DESCRIPTIONS
|
|
1302
|
+
-p, --package=<value> Package Id
|
|
1303
|
+
|
|
1304
|
+
The 0Ht Package Id that you wish to cleanup versions for.
|
|
1305
|
+
|
|
1306
|
+
-s, --matcher=<value> MAJOR.MINOR.PATCH to select on
|
|
1307
|
+
|
|
1308
|
+
The MAJOR.MINOR.PATCH matcher that should be used to find package versions to delete. Only versions matching this
|
|
1309
|
+
matcher are deleted. Mutually exclusive with --exclude-matcher.
|
|
1310
|
+
|
|
1311
|
+
-x, --exclude-matcher=<value> MAJOR.MINOR.PATCH to exclude on
|
|
1312
|
+
|
|
1313
|
+
The MAJOR.MINOR.PATCH matcher that should be used to find package versions to keep. Every unreleased version that
|
|
1314
|
+
does not match this matcher is deleted. Mutually exclusive with --matcher.
|
|
1315
|
+
```
|
|
1316
|
+
|
|
1317
|
+
_See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.10.2/packages/simply-package/lib/commands/simply/package/version/cleanup.js)_
|
|
1318
|
+
|
|
1319
|
+
## `sf simply package version get`
|
|
1320
|
+
|
|
1321
|
+
Get a package version from sfdx-project.json.
|
|
1322
|
+
|
|
1323
|
+
```
|
|
1324
|
+
USAGE
|
|
1325
|
+
$ sf simply package version get -p <value> [--json] [--flags-dir <value>] [-d <value>]
|
|
1326
|
+
|
|
1327
|
+
FLAGS
|
|
1328
|
+
-d, --directory=<value> Package directory to search.
|
|
1329
|
+
-p, --package=<value> (required) Package name or alias to look up.
|
|
1330
|
+
|
|
1331
|
+
GLOBAL FLAGS
|
|
1332
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1333
|
+
--json Format output as json.
|
|
1334
|
+
|
|
1335
|
+
DESCRIPTION
|
|
1336
|
+
Get a package version from sfdx-project.json.
|
|
1337
|
+
|
|
1338
|
+
Reads the version a package is declared at in your project's sfdx-project.json and prints it, so a script doesn't have
|
|
1339
|
+
to parse the project file itself.
|
|
1340
|
+
|
|
1341
|
+
Both dependencies and the project's own package are searched. A dependency declared as an alias (test-package@0.1.0+2)
|
|
1342
|
+
resolves to the version portion of the alias; a dependency declared as a package name plus a versionNumber resolves to
|
|
1343
|
+
that versionNumber; a dependency declared as a raw ID resolves through packageAliases. A package directory that builds
|
|
1344
|
+
the package resolves to that directory's versionNumber.
|
|
1345
|
+
|
|
1346
|
+
The version is returned exactly as it appears in the project file — no normalizing between the 0.1.0+2, 57.0.0-3, and
|
|
1347
|
+
1.2.3.LATEST forms, since each means something to the tool that consumes it.
|
|
1348
|
+
|
|
1349
|
+
This command reads the project file only. It never contacts an org or a Dev Hub, so it can run in a pipeline before
|
|
1350
|
+
any authentication step.
|
|
1351
|
+
|
|
1352
|
+
EXAMPLES
|
|
1353
|
+
Get the version of a dependency:
|
|
1354
|
+
|
|
1355
|
+
$ sf simply package version get --package test-package
|
|
1356
|
+
|
|
1357
|
+
Get the version of the package the project itself builds:
|
|
1358
|
+
|
|
1359
|
+
$ sf simply package version get --package my-package
|
|
1360
|
+
|
|
1361
|
+
Get a dependency's version from one package directory:
|
|
1362
|
+
|
|
1363
|
+
$ sf simply package version get --package test-package --directory force-app
|
|
1364
|
+
|
|
1365
|
+
FLAG DESCRIPTIONS
|
|
1366
|
+
-d, --directory=<value> Package directory to search.
|
|
1367
|
+
|
|
1368
|
+
The path of a single package directory to search, matching a "path" value in packageDirectories. Use this when the
|
|
1369
|
+
same package is declared at different versions in more than one package directory.
|
|
1370
|
+
|
|
1371
|
+
-p, --package=<value> Package name or alias to look up.
|
|
1372
|
+
|
|
1373
|
+
The package name as it appears in sfdx-project.json, without a version suffix. For a dependency declared as
|
|
1374
|
+
"test-package@0.1.0+2", pass "test-package".
|
|
1375
|
+
```
|
|
1376
|
+
|
|
1377
|
+
_See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.10.2/packages/simply-package/lib/commands/simply/package/version/get.js)_
|
|
1378
|
+
|
|
1379
|
+
## `sf simply permissions analyze`
|
|
1380
|
+
|
|
1381
|
+
Analyze permission sets and permission set groups in an org.
|
|
1382
|
+
|
|
1383
|
+
```
|
|
1384
|
+
USAGE
|
|
1385
|
+
$ sf simply permissions analyze -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-f <value>...] [--output
|
|
1386
|
+
<value>]
|
|
1387
|
+
|
|
1388
|
+
FLAGS
|
|
1389
|
+
-f, --filter=<value>... Permission set or group names to include
|
|
1390
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
1391
|
+
configuration variable is already set.
|
|
1392
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1393
|
+
--output=<value> [default: permissions_report.html] Output HTML file path
|
|
1394
|
+
|
|
1395
|
+
GLOBAL FLAGS
|
|
1396
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1397
|
+
--json Format output as json.
|
|
1398
|
+
|
|
1399
|
+
DESCRIPTION
|
|
1400
|
+
Analyze permission sets and permission set groups in an org.
|
|
1401
|
+
|
|
1402
|
+
Generates an HTML report of every permission set and permission set group in the target org, grouped by installed
|
|
1403
|
+
package, including their object and field permissions.
|
|
1404
|
+
|
|
1405
|
+
EXAMPLES
|
|
1406
|
+
$ sf simply permissions analyze --target-org myOrg
|
|
1407
|
+
|
|
1408
|
+
$ sf simply permissions analyze --target-org myOrg --output reports/permissions.html --filter My_Permission_Set --filter Another_Set
|
|
1409
|
+
|
|
1410
|
+
FLAG DESCRIPTIONS
|
|
1411
|
+
-f, --filter=<value>... Permission set or group names to include
|
|
1412
|
+
|
|
1413
|
+
One or more PermissionSet (Name) or PermissionSetGroup (DeveloperName) API names to restrict the report to. If
|
|
1414
|
+
omitted, all permission sets and groups are included.
|
|
1415
|
+
|
|
1416
|
+
--output=<value> Output HTML file path
|
|
1417
|
+
|
|
1418
|
+
The path to write the generated HTML report to.
|
|
1419
|
+
```
|
|
1420
|
+
|
|
1421
|
+
_See code: [@simplysf/simply-permissions](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-permissions@1.3.0/packages/simply-permissions/lib/commands/simply/permissions/analyze.js)_
|
|
1422
|
+
|
|
1423
|
+
## `sf simply permissions assignment delete`
|
|
1424
|
+
|
|
1425
|
+
Delete PermissionSetAssignments for one or more PermissionSets/PermissionSetGroups.
|
|
1426
|
+
|
|
1427
|
+
```
|
|
1428
|
+
USAGE
|
|
1429
|
+
$ sf simply permissions assignment delete -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-f <value>]
|
|
1430
|
+
[--permission-set-name <value>...] [--permission-set-group-name <value>...]
|
|
1431
|
+
|
|
1432
|
+
FLAGS
|
|
1433
|
+
-f, --file=<value> Path to a destructiveChanges.xml/package.xml-shaped file
|
|
1434
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the
|
|
1435
|
+
`target-org` configuration variable is already set.
|
|
1436
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1437
|
+
--permission-set-group-name=<value>... PermissionSetGroup DeveloperName(s) to delete assignments for
|
|
1438
|
+
--permission-set-name=<value>... PermissionSet Name(s) to delete assignments for
|
|
1439
|
+
|
|
1440
|
+
GLOBAL FLAGS
|
|
1441
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1442
|
+
--json Format output as json.
|
|
1443
|
+
|
|
1444
|
+
DESCRIPTION
|
|
1445
|
+
Delete PermissionSetAssignments for one or more PermissionSets/PermissionSetGroups.
|
|
1446
|
+
|
|
1447
|
+
Deletes every `PermissionSetAssignment` against the named `PermissionSet`s and/or `PermissionSetGroup`s — the pre-step
|
|
1448
|
+
a destructive metadata deploy of the permission set/group itself needs, so it doesn't fail or leave orphaned
|
|
1449
|
+
assignments behind.
|
|
1450
|
+
|
|
1451
|
+
Targets can be named either via `--file`, pointing at a `destructiveChanges.xml`/`package.xml`-shaped file whose
|
|
1452
|
+
`PermissionSet`/`PermissionSetGroup` type members are the targets, or via
|
|
1453
|
+
`--permission-set-name`/`--permission-set-group-name` flags (which may be combined with each other) for scripted or
|
|
1454
|
+
one-off use. `--file` is mutually exclusive with the two explicit-name flags.
|
|
1455
|
+
|
|
1456
|
+
EXAMPLES
|
|
1457
|
+
$ sf simply permissions assignment delete --file destructive/pre/destructiveChanges.xml --target-org myOrg
|
|
1458
|
+
|
|
1459
|
+
$ sf simply permissions assignment delete --permission-set-name My_Permission_Set --target-org myOrg
|
|
1460
|
+
|
|
1461
|
+
$ sf simply permissions assignment delete --permission-set-group-name My_Permission_Set_Group --target-org myOrg
|
|
1462
|
+
```
|
|
1463
|
+
|
|
1464
|
+
_See code: [@simplysf/simply-permissions](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-permissions@1.3.0/packages/simply-permissions/lib/commands/simply/permissions/assignment/delete.js)_
|
|
1465
|
+
|
|
1466
|
+
## `sf simply permissions build`
|
|
1467
|
+
|
|
1468
|
+
Generate a permission set from Salesforce source metadata.
|
|
1469
|
+
|
|
1470
|
+
```
|
|
1471
|
+
USAGE
|
|
1472
|
+
$ sf simply permissions build --type read-only|view-all|modify-all -n <value> -d <value> --output <value> [--json]
|
|
1473
|
+
[--flags-dir <value>] [-c <value>] [--include-record-types] [--label <value>] [--description <value>]
|
|
1474
|
+
|
|
1475
|
+
FLAGS
|
|
1476
|
+
-c, --config=<value> Path to a permission set configuration file
|
|
1477
|
+
-d, --directory=<value> (required) Path to the Salesforce project directory
|
|
1478
|
+
-n, --name=<value> (required) API name for the permission set
|
|
1479
|
+
--description=<value> Description for the permission set
|
|
1480
|
+
--include-record-types Include record type visibilities
|
|
1481
|
+
--label=<value> Label for the permission set
|
|
1482
|
+
--output=<value> (required) Output directory
|
|
1483
|
+
--type=<option> (required) Baseline permission type
|
|
1484
|
+
<options: read-only|view-all|modify-all>
|
|
1485
|
+
|
|
1486
|
+
GLOBAL FLAGS
|
|
1487
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1488
|
+
--json Format output as json.
|
|
1489
|
+
|
|
1490
|
+
DESCRIPTION
|
|
1491
|
+
Generate a permission set from Salesforce source metadata.
|
|
1492
|
+
|
|
1493
|
+
Scans a Salesforce project directory for custom objects, fields, tabs, and (optionally) record types, then generates a
|
|
1494
|
+
permission set XML file with a baseline of permissions determined by --type. An optional JSON --config file can
|
|
1495
|
+
override individual object, field, tab, record type, and user permission settings, as well as whether the permission
|
|
1496
|
+
set requires activation.
|
|
1497
|
+
|
|
1498
|
+
EXAMPLES
|
|
1499
|
+
$ sf simply permissions build --type read-only --name My_Read_Only_Access --directory force-app --output force-app/main/default/permissionsets
|
|
1500
|
+
|
|
1501
|
+
$ sf simply permissions build --type modify-all --name My_Admin_Access --directory force-app --config config/permission-overrides.json --output force-app/main/default/permissionsets --include-record-types
|
|
1502
|
+
|
|
1503
|
+
FLAG DESCRIPTIONS
|
|
1504
|
+
-c, --config=<value> Path to a permission set configuration file
|
|
1505
|
+
|
|
1506
|
+
The path to a JSON file that overrides individual object, field, tab, record type, and user permission settings, as
|
|
1507
|
+
well as whether the permission set requires activation, on top of the --type baseline.
|
|
1508
|
+
|
|
1509
|
+
-d, --directory=<value> Path to the Salesforce project directory
|
|
1510
|
+
|
|
1511
|
+
The path to the Salesforce source directory to scan for custom objects, fields, tabs, and record types.
|
|
1512
|
+
|
|
1513
|
+
-n, --name=<value> API name for the permission set
|
|
1514
|
+
|
|
1515
|
+
The API name for the generated permission set; also used to derive the output filename.
|
|
1516
|
+
|
|
1517
|
+
--include-record-types Include record type visibilities
|
|
1518
|
+
|
|
1519
|
+
Automatically include record type visibilities discovered from the source metadata, marked as visible by default.
|
|
1520
|
+
|
|
1521
|
+
--output=<value> Output directory
|
|
1522
|
+
|
|
1523
|
+
The directory to write the generated permission set XML file to.
|
|
1524
|
+
|
|
1525
|
+
--type=read-only|view-all|modify-all Baseline permission type
|
|
1526
|
+
|
|
1527
|
+
The baseline permission level to generate: 'read-only' grants read access to all discovered objects and fields,
|
|
1528
|
+
'view-all' additionally grants view-all-records, and 'modify-all' grants full CRUD and modify-all-records access.
|
|
1529
|
+
```
|
|
1530
|
+
|
|
1531
|
+
_See code: [@simplysf/simply-permissions](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-permissions@1.3.0/packages/simply-permissions/lib/commands/simply/permissions/build.js)_
|
|
1532
|
+
|
|
1533
|
+
## `sf simply project update api-version`
|
|
1534
|
+
|
|
1535
|
+
Update the Salesforce API version across a project's metadata.
|
|
1536
|
+
|
|
1537
|
+
```
|
|
1538
|
+
USAGE
|
|
1539
|
+
$ sf simply project update api-version -d <value> -a <value> [--json] [--flags-dir <value>]
|
|
1540
|
+
|
|
1541
|
+
FLAGS
|
|
1542
|
+
-a, --api-version=<value> (required) Target Salesforce API version
|
|
1543
|
+
-d, --directory=<value> (required) Path to the Salesforce project directory
|
|
1544
|
+
|
|
1545
|
+
GLOBAL FLAGS
|
|
1546
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1547
|
+
--json Format output as json.
|
|
1548
|
+
|
|
1549
|
+
DESCRIPTION
|
|
1550
|
+
Update the Salesforce API version across a project's metadata.
|
|
1551
|
+
|
|
1552
|
+
Recursively scans a directory for `-meta.xml` files and updates every `<apiVersion>` tag to the target version. If the
|
|
1553
|
+
directory contains an `sfdx-project.json` file, its `sourceApiVersion` property is updated to match.
|
|
1554
|
+
|
|
1555
|
+
EXAMPLES
|
|
1556
|
+
$ sf simply project update api-version --directory force-app --api-version 62.0
|
|
1557
|
+
|
|
1558
|
+
$ sf simply project update api-version --directory . --api-version 63.0
|
|
1559
|
+
|
|
1560
|
+
FLAG DESCRIPTIONS
|
|
1561
|
+
-a, --api-version=<value> Target Salesforce API version
|
|
1562
|
+
|
|
1563
|
+
The Salesforce API version to set on all metadata files and, if present, sfdx-project.json.
|
|
1564
|
+
|
|
1565
|
+
-d, --directory=<value> Path to the Salesforce project directory
|
|
1566
|
+
|
|
1567
|
+
The path to the Salesforce project directory to scan for metadata files.
|
|
1568
|
+
```
|
|
1569
|
+
|
|
1570
|
+
_See code: [@simplysf/simply-project](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-project@1.2.17/packages/simply-project/lib/commands/simply/project/update/api-version.js)_
|
|
1571
|
+
|
|
1572
|
+
## `sf simply schema generate`
|
|
1573
|
+
|
|
1574
|
+
Generate Salesforce CustomObject/CustomField/RecordType metadata from a CSV or Excel schema definition file.
|
|
1575
|
+
|
|
1576
|
+
```
|
|
1577
|
+
USAGE
|
|
1578
|
+
$ sf simply schema generate -f <value> -d <value> [--json] [--flags-dir <value>]
|
|
1579
|
+
|
|
1580
|
+
FLAGS
|
|
1581
|
+
-d, --output-dir=<value> (required) The output directory to write the generated metadata into.
|
|
1582
|
+
-f, --file=<value> (required) Path to the CSV or Excel (.xlsx/.xls) schema definition file.
|
|
1583
|
+
|
|
1584
|
+
GLOBAL FLAGS
|
|
1585
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1586
|
+
--json Format output as json.
|
|
1587
|
+
|
|
1588
|
+
DESCRIPTION
|
|
1589
|
+
Generate Salesforce CustomObject/CustomField/RecordType metadata from a CSV or Excel schema definition file.
|
|
1590
|
+
|
|
1591
|
+
Reads a flat CSV or an Excel workbook describing one or more custom objects, their fields, and (CSV only) their record
|
|
1592
|
+
types, and writes Salesforce DX source-format metadata (`.object-meta.xml`, `.field-meta.xml`, `.recordType-meta.xml`)
|
|
1593
|
+
into `--output-dir`.
|
|
1594
|
+
|
|
1595
|
+
For CSV input, each row's `Type` column (`CustomObject`, `CustomField`, or `RecordType`) and `ObjectName` column group
|
|
1596
|
+
the rows by object. For Excel input (`.xlsx`/`.xls`), the workbook must contain an `object` worksheet (a two-column
|
|
1597
|
+
key/value sheet describing the sObject) and a `fields` worksheet (one row per field); picklist fields may reference an
|
|
1598
|
+
additional values worksheet by name.
|
|
1599
|
+
|
|
1600
|
+
EXAMPLES
|
|
1601
|
+
$ sf simply schema generate --file schema.csv --output-dir force-app/main/default/objects
|
|
1602
|
+
|
|
1603
|
+
$ sf simply schema generate --file MyObject__c.xlsx --output-dir force-app/main/default/objects
|
|
1604
|
+
|
|
1605
|
+
FLAG DESCRIPTIONS
|
|
1606
|
+
-f, --file=<value> Path to the CSV or Excel (.xlsx/.xls) schema definition file.
|
|
1607
|
+
|
|
1608
|
+
A `.csv` file processed as the flat CSV flow, or a `.xlsx`/`.xls` file processed as the Excel flow.
|
|
1609
|
+
```
|
|
1610
|
+
|
|
1611
|
+
_See code: [@simplysf/simply-schema](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-schema@0.3.18/packages/simply-schema/lib/commands/simply/schema/generate.js)_
|
|
1612
|
+
|
|
1613
|
+
## `sf simply schema visualize`
|
|
1614
|
+
|
|
1615
|
+
Generate visualizations of Salesforce schema from a live org or local source files.
|
|
1616
|
+
|
|
1617
|
+
```
|
|
1618
|
+
USAGE
|
|
1619
|
+
$ sf simply schema visualize [--json] [--flags-dir <value>] [-o <value>] [--api-version <value>] [-d <value>...]
|
|
1620
|
+
[--source-objects <value>] [--related-objects <value>] [--object-type custom|standard|all] [--field-type
|
|
1621
|
+
custom|standard|all] [--output-type html|md|csv...] [--output-dir <value>]
|
|
1622
|
+
|
|
1623
|
+
FLAGS
|
|
1624
|
+
-d, --source-dir=<value>... One or more paths to directories containing Salesforce DX source. Use this for
|
|
1625
|
+
local-source generation.
|
|
1626
|
+
-o, --target-org=<value> Username or alias of the org to visualize. Use this for live-org generation.
|
|
1627
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1628
|
+
--field-type=<option> [default: custom] Scope of relationship fields to include: custom, standard, or all.
|
|
1629
|
+
<options: custom|standard|all>
|
|
1630
|
+
--object-type=<option> [default: custom] Scope of objects to include: custom, standard, or all.
|
|
1631
|
+
<options: custom|standard|all>
|
|
1632
|
+
--output-dir=<value> The output directory for the generated files.
|
|
1633
|
+
--output-type=<option>... [default: html,md] Output format(s) to generate.
|
|
1634
|
+
<options: html|md|csv>
|
|
1635
|
+
--related-objects=<value> Comma-separated list of related objects to filter the visualization to, or `all`.
|
|
1636
|
+
--source-objects=<value> Comma-separated list of source objects to start from, or `all`.
|
|
1637
|
+
|
|
1638
|
+
GLOBAL FLAGS
|
|
1639
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1640
|
+
--json Format output as json.
|
|
1641
|
+
|
|
1642
|
+
DESCRIPTION
|
|
1643
|
+
Generate visualizations of Salesforce schema from a live org or local source files.
|
|
1644
|
+
|
|
1645
|
+
Builds an object-relationship diagram (interactive HTML), a Mermaid entity-relationship diagram (Markdown), and/or a
|
|
1646
|
+
relationship CSV, either from a live org's Tooling API or from local Salesforce DX source directories. Exactly one of
|
|
1647
|
+
`--target-org` or `--source-dir` must be specified.
|
|
1648
|
+
|
|
1649
|
+
EXAMPLES
|
|
1650
|
+
$ sf simply schema visualize --target-org myTargetOrg
|
|
1651
|
+
|
|
1652
|
+
$ sf simply schema visualize --target-org myTargetOrg --source-objects Account,Contact --related-objects all
|
|
1653
|
+
|
|
1654
|
+
$ sf simply schema visualize --source-dir force-app --output-type html,md
|
|
1655
|
+
|
|
1656
|
+
FLAG DESCRIPTIONS
|
|
1657
|
+
--output-type=html|md|csv... Output format(s) to generate.
|
|
1658
|
+
|
|
1659
|
+
One or more of `html` (interactive diagram), `md` (Mermaid entity-relationship diagram), or `csv` (relationship
|
|
1660
|
+
data).
|
|
1661
|
+
|
|
1662
|
+
--related-objects=<value> Comma-separated list of related objects to filter the visualization to, or `all`.
|
|
1663
|
+
|
|
1664
|
+
Comma-separated API names of related objects to include in the visualization. If `all` is specified, every related
|
|
1665
|
+
object is included regardless of `--object-type`. If not specified, related objects aren't filtered.
|
|
1666
|
+
|
|
1667
|
+
--source-objects=<value> Comma-separated list of source objects to start from, or `all`.
|
|
1668
|
+
|
|
1669
|
+
Comma-separated API names of the objects to start the visualization from (e.g. `Account,MyObject__c`). If `all` is
|
|
1670
|
+
specified, every discovered object is included. If not specified, every object matching `--object-type` is included.
|
|
1671
|
+
```
|
|
1672
|
+
|
|
1673
|
+
_See code: [@simplysf/simply-schema](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-schema@0.3.18/packages/simply-schema/lib/commands/simply/schema/visualize.js)_
|
|
1674
|
+
|
|
1675
|
+
## `sf simply sobject backup`
|
|
1676
|
+
|
|
1677
|
+
Back up SObject data to a CSV file.
|
|
1678
|
+
|
|
1679
|
+
```
|
|
1680
|
+
USAGE
|
|
1681
|
+
$ sf simply sobject backup -o <value> -s <value> [--json] [--flags-dir <value>] [--api-version <value>] [-d <value>]
|
|
1682
|
+
[--include-relationship-fields] [-f <value>...]
|
|
1683
|
+
|
|
1684
|
+
FLAGS
|
|
1685
|
+
-d, --output-dir=<value> Output directory
|
|
1686
|
+
-f, --additional-fields=<value>... Additional fields to include
|
|
1687
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
1688
|
+
configuration variable is already set.
|
|
1689
|
+
-s, --sobject=<value> (required) SObject API name
|
|
1690
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1691
|
+
--include-relationship-fields Include parent relationship fields
|
|
1692
|
+
|
|
1693
|
+
GLOBAL FLAGS
|
|
1694
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1695
|
+
--json Format output as json.
|
|
1696
|
+
|
|
1697
|
+
DESCRIPTION
|
|
1698
|
+
Back up SObject data to a CSV file.
|
|
1699
|
+
|
|
1700
|
+
Describes the given SObject, queries every field via the Bulk API, and writes the results to a timestamped CSV file.
|
|
1701
|
+
|
|
1702
|
+
EXAMPLES
|
|
1703
|
+
$ sf simply sobject backup --target-org myOrg --sobject Account
|
|
1704
|
+
|
|
1705
|
+
$ sf simply sobject backup --target-org myOrg --sobject Custom_Object__c --output-dir backups
|
|
1706
|
+
|
|
1707
|
+
$ sf simply sobject backup --target-org myOrg --sobject Account --include-relationship-fields
|
|
1708
|
+
|
|
1709
|
+
$ sf simply sobject backup --target-org myOrg --sobject Account --additional-fields Owner.Manager.Name --additional-fields Parent.Owner.Email
|
|
1710
|
+
|
|
1711
|
+
FLAG DESCRIPTIONS
|
|
1712
|
+
-d, --output-dir=<value> Output directory
|
|
1713
|
+
|
|
1714
|
+
The directory to save the backup CSV file to. Defaults to the current directory.
|
|
1715
|
+
|
|
1716
|
+
-f, --additional-fields=<value>... Additional fields to include
|
|
1717
|
+
|
|
1718
|
+
Extra field API names to include in the query, on top of the SObject's own fields and any fields discovered via
|
|
1719
|
+
--include-relationship-fields. Useful for fields --include-relationship-fields won't discover, such as multi-hop
|
|
1720
|
+
relationship paths (e.g. Owner.Manager.Name) or fields through a polymorphic relationship. Fields already included
|
|
1721
|
+
are not duplicated.
|
|
1722
|
+
|
|
1723
|
+
-s, --sobject=<value> SObject API name
|
|
1724
|
+
|
|
1725
|
+
The API name of the SObject to back up.
|
|
1726
|
+
|
|
1727
|
+
--include-relationship-fields Include parent relationship fields
|
|
1728
|
+
|
|
1729
|
+
For every lookup/master-detail field, describe its parent SObject and include its identifying fields (e.g.
|
|
1730
|
+
RecordTypeId includes RecordType.Name and RecordType.DeveloperName). Polymorphic relationship fields, such as
|
|
1731
|
+
OwnerId, are skipped.
|
|
1732
|
+
```
|
|
1733
|
+
|
|
1734
|
+
_See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.6/packages/simply-sobject/lib/commands/simply/sobject/backup.js)_
|
|
1735
|
+
|
|
1736
|
+
## `sf simply sobject deduplicate`
|
|
1737
|
+
|
|
1738
|
+
Identify and prepare deduplication of an SObject's records.
|
|
1739
|
+
|
|
1740
|
+
```
|
|
1741
|
+
USAGE
|
|
1742
|
+
$ sf simply sobject deduplicate -o <value> -c <value> [--json] [--flags-dir <value>] [--api-version <value>] [--dry-run]
|
|
1743
|
+
[--output-dir <value>]
|
|
1744
|
+
|
|
1745
|
+
FLAGS
|
|
1746
|
+
-c, --config=<value> (required) Path to a deduplication configuration file
|
|
1747
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
1748
|
+
configuration variable is already set.
|
|
1749
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1750
|
+
--dry-run Skip calculating associated object lookup replacements
|
|
1751
|
+
--output-dir=<value> Output directory
|
|
1752
|
+
|
|
1753
|
+
GLOBAL FLAGS
|
|
1754
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1755
|
+
--json Format output as json.
|
|
1756
|
+
|
|
1757
|
+
DESCRIPTION
|
|
1758
|
+
Identify and prepare deduplication of an SObject's records.
|
|
1759
|
+
|
|
1760
|
+
Queries an SObject, groups records by a composite key built from configured fields, and writes CSV files listing which
|
|
1761
|
+
records are unique and which are duplicates that should be deleted. For each associated object with lookups to the
|
|
1762
|
+
primary object, also writes a CSV of the lookup field updates needed to re-point duplicate references at the surviving
|
|
1763
|
+
unique record. This command does not perform any deletes or updates in the org; it only prepares the CSV files for a
|
|
1764
|
+
subsequent data load.
|
|
1765
|
+
|
|
1766
|
+
EXAMPLES
|
|
1767
|
+
$ sf simply sobject deduplicate --target-org myOrg --config config/deduplicate-account.json
|
|
1768
|
+
|
|
1769
|
+
$ sf simply sobject deduplicate --target-org myOrg --config config/deduplicate-account.json --dry-run
|
|
1770
|
+
|
|
1771
|
+
FLAG DESCRIPTIONS
|
|
1772
|
+
-c, --config=<value> Path to a deduplication configuration file
|
|
1773
|
+
|
|
1774
|
+
The path to a JSON file describing the primary object, its composite key fields, and any associated objects with
|
|
1775
|
+
lookups to it.
|
|
1776
|
+
|
|
1777
|
+
--dry-run Skip calculating associated object lookup replacements
|
|
1778
|
+
|
|
1779
|
+
When set, only the primary object's unique/duplicate CSV files are generated; associated object lookup replacement
|
|
1780
|
+
files are not calculated.
|
|
1781
|
+
|
|
1782
|
+
--output-dir=<value> Output directory
|
|
1783
|
+
|
|
1784
|
+
The directory to write the generated CSV files to. Defaults to ./temp/<primaryObjectApiName>.
|
|
1785
|
+
```
|
|
1786
|
+
|
|
1787
|
+
_See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.6/packages/simply-sobject/lib/commands/simply/sobject/deduplicate.js)_
|
|
1788
|
+
|
|
1789
|
+
## `sf simply sobject history export`
|
|
1790
|
+
|
|
1791
|
+
Export field history for an SObject within a date range to a CSV file.
|
|
1792
|
+
|
|
1793
|
+
```
|
|
1794
|
+
USAGE
|
|
1795
|
+
$ sf simply sobject history export -o <value> -s <value> --start-date <value> --end-date <value> [--json] [--flags-dir <value>]
|
|
1796
|
+
[--api-version <value>] [-d <value>]
|
|
1797
|
+
|
|
1798
|
+
FLAGS
|
|
1799
|
+
-d, --output-dir=<value> Output directory
|
|
1800
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
1801
|
+
configuration variable is already set.
|
|
1802
|
+
-s, --sobject=<value> (required) SObject API name
|
|
1803
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1804
|
+
--end-date=<value> (required) End date (YYYY-MM-DD)
|
|
1805
|
+
--start-date=<value> (required) Start date (YYYY-MM-DD)
|
|
1806
|
+
|
|
1807
|
+
GLOBAL FLAGS
|
|
1808
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1809
|
+
--json Format output as json.
|
|
1810
|
+
|
|
1811
|
+
DESCRIPTION
|
|
1812
|
+
Export field history for an SObject within a date range to a CSV file.
|
|
1813
|
+
|
|
1814
|
+
Queries the field history object for the given SObject (e.g. `AccountHistory`, `Custom_Object__History`, or
|
|
1815
|
+
`OpportunityFieldHistory`) for changes created within the given date range, and writes the results to a timestamped
|
|
1816
|
+
CSV file.
|
|
1817
|
+
|
|
1818
|
+
EXAMPLES
|
|
1819
|
+
$ sf simply sobject history export --target-org myOrg --sobject Account --start-date 2026-01-01 --end-date 2026-01-31
|
|
1820
|
+
|
|
1821
|
+
$ sf simply sobject history export --target-org myOrg --sobject Custom_Object__c --start-date 2026-01-01 --end-date 2026-01-31 --output-dir exports
|
|
1822
|
+
|
|
1823
|
+
FLAG DESCRIPTIONS
|
|
1824
|
+
-d, --output-dir=<value> Output directory
|
|
1825
|
+
|
|
1826
|
+
The directory to save the exported CSV file to. Defaults to the current directory.
|
|
1827
|
+
|
|
1828
|
+
-s, --sobject=<value> SObject API name
|
|
1829
|
+
|
|
1830
|
+
The API name of the SObject to export field history for (e.g. Account or Custom_Object__c).
|
|
1831
|
+
|
|
1832
|
+
--end-date=<value> End date (YYYY-MM-DD)
|
|
1833
|
+
|
|
1834
|
+
The end of the date range to export history for, inclusive.
|
|
1835
|
+
|
|
1836
|
+
--start-date=<value> Start date (YYYY-MM-DD)
|
|
1837
|
+
|
|
1838
|
+
The start of the date range to export history for, inclusive.
|
|
1839
|
+
```
|
|
1840
|
+
|
|
1841
|
+
_See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.6/packages/simply-sobject/lib/commands/simply/sobject/history/export.js)_
|
|
1842
|
+
|
|
1843
|
+
## `sf simply sobject history query`
|
|
1844
|
+
|
|
1845
|
+
Query the field history of an SObject, with optional filtering.
|
|
1846
|
+
|
|
1847
|
+
```
|
|
1848
|
+
USAGE
|
|
1849
|
+
$ sf simply sobject history query -o <value> --object <value> [--json] [--flags-dir <value>] [--api-version <value>] [--filters
|
|
1850
|
+
<value>] [-d <value>]
|
|
1851
|
+
|
|
1852
|
+
FLAGS
|
|
1853
|
+
-d, --output-dir=<value> Output directory
|
|
1854
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
1855
|
+
configuration variable is already set.
|
|
1856
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1857
|
+
--filters=<value> Path to a filter configuration file, or a raw JSON filter string
|
|
1858
|
+
--object=<value> (required) SObject API name
|
|
1859
|
+
|
|
1860
|
+
GLOBAL FLAGS
|
|
1861
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1862
|
+
--json Format output as json.
|
|
1863
|
+
|
|
1864
|
+
DESCRIPTION
|
|
1865
|
+
Query the field history of an SObject, with optional filtering.
|
|
1866
|
+
|
|
1867
|
+
Queries the field history object for the given SObject (e.g. `AccountHistory`, `Custom_Object__History`, or
|
|
1868
|
+
`OpportunityFieldHistory`) and writes the results to a timestamped CSV file. An optional filter tree can be supplied
|
|
1869
|
+
to narrow the results: conditions on Field, CreatedById, CreatedDate, or the parent lookup field are pushed into the
|
|
1870
|
+
SOQL WHERE clause; conditions on any other field (e.g. OldValue or NewValue) are applied client-side after the query
|
|
1871
|
+
runs.
|
|
1872
|
+
|
|
1873
|
+
EXAMPLES
|
|
1874
|
+
$ sf simply sobject history query --target-org myOrg --object Account
|
|
1875
|
+
|
|
1876
|
+
$ sf simply sobject history query --target-org myOrg --object Custom_Object__c --filters config/history-filters.json
|
|
1877
|
+
|
|
1878
|
+
$ sf simply sobject history query --target-org myOrg --object Account --filters '{"logic":"AND","filters":[{"field":"Field","operator":"=","value":"Name"}]}'
|
|
1879
|
+
|
|
1880
|
+
FLAG DESCRIPTIONS
|
|
1881
|
+
-d, --output-dir=<value> Output directory
|
|
1882
|
+
|
|
1883
|
+
The directory to save the query results CSV file to. Defaults to the current directory.
|
|
1884
|
+
|
|
1885
|
+
--filters=<value> Path to a filter configuration file, or a raw JSON filter string
|
|
1886
|
+
|
|
1887
|
+
A JSON object describing a tree of filter conditions: `{ "logic": "AND", "filters": [ { "field": "Field",
|
|
1888
|
+
"operator": "=", "value": "Status__c" } ] }`. Each entry in `filters` is either a condition (`field`, `operator`,
|
|
1889
|
+
`value`) or another nested group with its own `logic`/`filters`. Supported operators are =, !=, >, <, >=, <=, IN,
|
|
1890
|
+
NOT IN, and LIKE (using `%` as a wildcard).
|
|
1891
|
+
|
|
1892
|
+
--object=<value> SObject API name
|
|
1893
|
+
|
|
1894
|
+
The API name of the SObject to query field history for (e.g. Account or Custom_Object__c).
|
|
1895
|
+
```
|
|
1896
|
+
|
|
1897
|
+
_See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.6/packages/simply-sobject/lib/commands/simply/sobject/history/query.js)_
|
|
1898
|
+
|
|
1899
|
+
## `sf simply sobject history schema`
|
|
1900
|
+
|
|
1901
|
+
Report on which objects and fields have field history tracking enabled.
|
|
1902
|
+
|
|
1903
|
+
```
|
|
1904
|
+
USAGE
|
|
1905
|
+
$ sf simply sobject history schema -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-d <value>]
|
|
1906
|
+
|
|
1907
|
+
FLAGS
|
|
1908
|
+
-d, --output-dir=<value> Output directory
|
|
1909
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
1910
|
+
configuration variable is already set.
|
|
1911
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1912
|
+
|
|
1913
|
+
GLOBAL FLAGS
|
|
1914
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1915
|
+
--json Format output as json.
|
|
1916
|
+
|
|
1917
|
+
DESCRIPTION
|
|
1918
|
+
Report on which objects and fields have field history tracking enabled.
|
|
1919
|
+
|
|
1920
|
+
Identifies every object with field history tracking enabled, and every tracked field on each, resolving the
|
|
1921
|
+
managed/unlocked package each field belongs to, and writes the results to a timestamped CSV file and a browsable HTML
|
|
1922
|
+
report.
|
|
1923
|
+
|
|
1924
|
+
EXAMPLES
|
|
1925
|
+
$ sf simply sobject history schema --target-org myOrg
|
|
1926
|
+
|
|
1927
|
+
$ sf simply sobject history schema --target-org myOrg --output-dir reports
|
|
1928
|
+
|
|
1929
|
+
FLAG DESCRIPTIONS
|
|
1930
|
+
-d, --output-dir=<value> Output directory
|
|
1931
|
+
|
|
1932
|
+
The directory to save the generated CSV and HTML report files to. Defaults to the current directory.
|
|
1933
|
+
```
|
|
1934
|
+
|
|
1935
|
+
_See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.6/packages/simply-sobject/lib/commands/simply/sobject/history/schema.js)_
|
|
1936
|
+
<!-- commandsstop -->
|
|
1937
|
+
|
|
1938
|
+
- [`sf simply apex execute`](#sf-simply-apex-execute)
|
|
1939
|
+
- [`sf simply apex logs purge`](#sf-simply-apex-logs-purge)
|
|
1940
|
+
- [`sf simply apex trace setup`](#sf-simply-apex-trace-setup)
|
|
1941
|
+
- [`sf simply apex trace silence`](#sf-simply-apex-trace-silence)
|
|
1942
|
+
- [`sf simply community publish`](#sf-simply-community-publish)
|
|
1943
|
+
- [`sf simply data file upload`](#sf-simply-data-file-upload)
|
|
1944
|
+
- [`sf simply data files download`](#sf-simply-data-files-download)
|
|
1945
|
+
- [`sf simply data files upload`](#sf-simply-data-files-upload)
|
|
1946
|
+
- [`sf simply document diff`](#sf-simply-document-diff)
|
|
1947
|
+
- [`sf simply document generate`](#sf-simply-document-generate)
|
|
1948
|
+
- [`sf simply package dependencies install`](#sf-simply-package-dependencies-install)
|
|
1949
|
+
- [`sf simply package dependencies manage`](#sf-simply-package-dependencies-manage)
|
|
1950
|
+
- [`sf simply package version cleanup`](#sf-simply-package-version-cleanup)
|
|
1951
|
+
- [`sf simply permissions analyze`](#sf-simply-permissions-analyze)
|
|
1952
|
+
- [`sf simply permissions build`](#sf-simply-permissions-build)
|
|
1953
|
+
- [`sf simply project update api-version`](#sf-simply-project-update-api-version)
|
|
1954
|
+
- [`sf simply schema generate`](#sf-simply-schema-generate)
|
|
1955
|
+
- [`sf simply schema visualize`](#sf-simply-schema-visualize)
|
|
1956
|
+
- [`sf simply sobject backup`](#sf-simply-sobject-backup)
|
|
1957
|
+
- [`sf simply sobject deduplicate`](#sf-simply-sobject-deduplicate)
|
|
1958
|
+
- [`sf simply sobject history export`](#sf-simply-sobject-history-export)
|
|
1959
|
+
- [`sf simply sobject history query`](#sf-simply-sobject-history-query)
|
|
1960
|
+
- [`sf simply sobject history schema`](#sf-simply-sobject-history-schema)
|
|
1961
|
+
|
|
1962
|
+
## `sf simply apex execute`
|
|
1963
|
+
|
|
1964
|
+
Execute anonymous Apex code.
|
|
1965
|
+
|
|
1966
|
+
```
|
|
1967
|
+
USAGE
|
|
1968
|
+
$ sf simply apex execute -o <value> -f <value> [--json] [--flags-dir <value>] [--api-version <value>]
|
|
1969
|
+
|
|
1970
|
+
FLAGS
|
|
1971
|
+
-f, --file=<value> (required) Path to Apex file
|
|
1972
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
1973
|
+
configuration variable is already set.
|
|
1974
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
1975
|
+
|
|
1976
|
+
GLOBAL FLAGS
|
|
1977
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
1978
|
+
--json Format output as json.
|
|
1979
|
+
|
|
1980
|
+
DESCRIPTION
|
|
1981
|
+
Execute anonymous Apex code.
|
|
1982
|
+
|
|
1983
|
+
Executes an anonymous block of Apex code from a local .apex file against a target org and reports the compile and
|
|
1984
|
+
execution results, including any debug logs produced.
|
|
1985
|
+
|
|
1986
|
+
EXAMPLES
|
|
1987
|
+
$ sf simply apex execute --target-org myOrg --file scripts/apex/data-fix.apex
|
|
1988
|
+
|
|
1989
|
+
FLAG DESCRIPTIONS
|
|
1990
|
+
-f, --file=<value> Path to Apex file
|
|
1991
|
+
|
|
1992
|
+
The path to the local .apex file containing the anonymous Apex code to execute.
|
|
1993
|
+
```
|
|
1994
|
+
|
|
1995
|
+
_See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.2/packages/simply-apex/lib/commands/simply/apex/execute.js)_
|
|
1996
|
+
|
|
1997
|
+
## `sf simply apex logs purge`
|
|
1998
|
+
|
|
1999
|
+
Purge Apex debug logs.
|
|
2000
|
+
|
|
2001
|
+
```
|
|
2002
|
+
USAGE
|
|
2003
|
+
$ sf simply apex logs purge -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-w <value>] [-b] [--wait
|
|
2004
|
+
<value>]
|
|
2005
|
+
|
|
2006
|
+
FLAGS
|
|
2007
|
+
-b, --use-bulk-api Use Bulk API v2 to query and delete the logs.
|
|
2008
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
2009
|
+
configuration variable is already set.
|
|
2010
|
+
-w, --where=<value> SOQL WHERE clause
|
|
2011
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
2012
|
+
--wait=<value> Number of minutes to wait for the Bulk API jobs to finish.
|
|
2013
|
+
|
|
2014
|
+
GLOBAL FLAGS
|
|
2015
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2016
|
+
--json Format output as json.
|
|
2017
|
+
|
|
2018
|
+
DESCRIPTION
|
|
2019
|
+
Purge Apex debug logs.
|
|
2020
|
+
|
|
2021
|
+
Deletes ApexLog records from the target org. By default all logs are purged; use --where to scope the deletion to a
|
|
2022
|
+
subset of logs.
|
|
2023
|
+
|
|
2024
|
+
EXAMPLES
|
|
2025
|
+
$ sf simply apex logs purge --target-org myOrg
|
|
2026
|
+
|
|
2027
|
+
$ sf simply apex logs purge --target-org myOrg --where "Status = 'Success'"
|
|
2028
|
+
|
|
2029
|
+
$ sf simply apex logs purge --target-org myOrg --use-bulk-api
|
|
2030
|
+
|
|
2031
|
+
$ sf simply apex logs purge --target-org myOrg --use-bulk-api --wait 60
|
|
2032
|
+
|
|
2033
|
+
FLAG DESCRIPTIONS
|
|
2034
|
+
-b, --use-bulk-api Use Bulk API v2 to query and delete the logs.
|
|
2035
|
+
|
|
2036
|
+
Runs the whole purge as two Bulk API v2 jobs instead of a Tooling API query followed by chunked REST deletes. Bulk
|
|
2037
|
+
API processes the deletion asynchronously and does not consume the org's REST API request limit, which suits purges
|
|
2038
|
+
of tens of thousands of logs. For small purges the default REST path is faster, since it avoids the overhead of
|
|
2039
|
+
creating, uploading, and polling a job.
|
|
2040
|
+
|
|
2041
|
+
-w, --where=<value> SOQL WHERE clause
|
|
2042
|
+
|
|
2043
|
+
A WHERE clause used to filter which ApexLog records are purged (e.g. "Status = 'Success'").
|
|
2044
|
+
|
|
2045
|
+
--wait=<value> Number of minutes to wait for the Bulk API jobs to finish.
|
|
2046
|
+
|
|
2047
|
+
Only applies with --use-bulk-api. The command polls the query and delete jobs until they complete or this timeout
|
|
2048
|
+
elapses, then throws.
|
|
2049
|
+
```
|
|
2050
|
+
|
|
2051
|
+
_See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.2/packages/simply-apex/lib/commands/simply/apex/logs/purge.js)_
|
|
2052
|
+
|
|
2053
|
+
## `sf simply apex trace setup`
|
|
2054
|
+
|
|
2055
|
+
Configure a debug log trace flag for the current user, or another user.
|
|
2056
|
+
|
|
2057
|
+
```
|
|
2058
|
+
USAGE
|
|
2059
|
+
$ sf simply apex trace setup -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [--on-behalf-of <value>]
|
|
2060
|
+
[--log-level <value>] [--start-date <value>] [--end-date <value>]
|
|
2061
|
+
|
|
2062
|
+
FLAGS
|
|
2063
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
2064
|
+
configuration variable is already set.
|
|
2065
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
2066
|
+
--end-date=<value> Expiration date/time of the trace flag, as an ISO 8601 date-time.
|
|
2067
|
+
--log-level=<value> Developer name of an existing debug level to use for the trace flag.
|
|
2068
|
+
--on-behalf-of=<value> Configure the trace flag for another user, identified by a "Field:Value" pair.
|
|
2069
|
+
--start-date=<value> Start date/time of the trace flag, as an ISO 8601 date-time.
|
|
2070
|
+
|
|
2071
|
+
GLOBAL FLAGS
|
|
2072
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2073
|
+
--json Format output as json.
|
|
2074
|
+
|
|
2075
|
+
DESCRIPTION
|
|
2076
|
+
Configure a debug log trace flag for the current user, or another user.
|
|
2077
|
+
|
|
2078
|
+
Creates or updates a DEVELOPER_LOG trace flag for the target user, using the FINEST/FINER "ReplayDebuggerLevels" debug
|
|
2079
|
+
level suitable for the Apex Replay Debugger and running for 24 hours starting now, by default. Use --on-behalf-of to
|
|
2080
|
+
configure the trace flag for a different user instead; --log-level, --start-date, and --end-date override the other
|
|
2081
|
+
defaults.
|
|
2082
|
+
|
|
2083
|
+
EXAMPLES
|
|
2084
|
+
$ sf simply apex trace setup --target-org myOrg
|
|
2085
|
+
|
|
2086
|
+
$ sf simply apex trace setup --target-org myOrg --on-behalf-of Username:someuser@example.com
|
|
2087
|
+
|
|
2088
|
+
$ sf simply apex trace setup --target-org myOrg --on-behalf-of FederationIdentifier:123456
|
|
2089
|
+
|
|
2090
|
+
$ sf simply apex trace setup --target-org myOrg --log-level MyCustomDebugLevel --start-date 2026-08-18T09:00:00Z --end-date 2026-08-19T09:00:00Z
|
|
2091
|
+
|
|
2092
|
+
FLAG DESCRIPTIONS
|
|
2093
|
+
--end-date=<value> Expiration date/time of the trace flag, as an ISO 8601 date-time.
|
|
2094
|
+
|
|
2095
|
+
Defaults to 24 hours after the start date/time.
|
|
2096
|
+
|
|
2097
|
+
--log-level=<value> Developer name of an existing debug level to use for the trace flag.
|
|
2098
|
+
|
|
2099
|
+
Must already exist in the org; it's looked up but never created or modified. Defaults to the "ReplayDebuggerLevels"
|
|
2100
|
+
debug level, which is created automatically if it doesn't exist.
|
|
2101
|
+
|
|
2102
|
+
--on-behalf-of=<value> Configure the trace flag for another user, identified by a "Field:Value" pair.
|
|
2103
|
+
|
|
2104
|
+
Any unique User field can be used, for example "Username:someuser@example.com" or "FederationIdentifier:123456".
|
|
2105
|
+
|
|
2106
|
+
--start-date=<value> Start date/time of the trace flag, as an ISO 8601 date-time.
|
|
2107
|
+
|
|
2108
|
+
Defaults to the current date/time.
|
|
2109
|
+
```
|
|
2110
|
+
|
|
2111
|
+
_See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.2/packages/simply-apex/lib/commands/simply/apex/trace/setup.js)_
|
|
2112
|
+
|
|
2113
|
+
## `sf simply apex trace silence`
|
|
2114
|
+
|
|
2115
|
+
Silence debug logs for specific Apex classes.
|
|
2116
|
+
|
|
2117
|
+
```
|
|
2118
|
+
USAGE
|
|
2119
|
+
$ sf simply apex trace silence -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-c <value> | --classes-file
|
|
2120
|
+
<value>] [--fflib] [--at4dx] [--force-di]
|
|
2121
|
+
|
|
2122
|
+
FLAGS
|
|
2123
|
+
-c, --classes=<value> Comma-separated Apex class names
|
|
2124
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
2125
|
+
configuration variable is already set.
|
|
2126
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
2127
|
+
--at4dx Silence at4dx base classes
|
|
2128
|
+
--classes-file=<value> Path to a JSON file listing classes to silence
|
|
2129
|
+
--fflib Silence fflib base classes
|
|
2130
|
+
--force-di Silence force-di base classes
|
|
2131
|
+
|
|
2132
|
+
GLOBAL FLAGS
|
|
2133
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2134
|
+
--json Format output as json.
|
|
2135
|
+
|
|
2136
|
+
DESCRIPTION
|
|
2137
|
+
Silence debug logs for specific Apex classes.
|
|
2138
|
+
|
|
2139
|
+
Creates or updates a 24-hour CLASS_TRACING trace flag with a fully suppressed (NONE) debug level for each specified
|
|
2140
|
+
Apex class, preventing those classes from generating debug log output. If a class already has a trace flag, its
|
|
2141
|
+
expiration is extended instead of creating a duplicate.
|
|
2142
|
+
|
|
2143
|
+
EXAMPLES
|
|
2144
|
+
$ sf simply apex trace silence --target-org myOrg --classes NoisyClass,ChattyTrigger
|
|
2145
|
+
|
|
2146
|
+
$ sf simply apex trace silence --target-org myOrg --classes-file classesToSilence.json
|
|
2147
|
+
|
|
2148
|
+
$ sf simply apex trace silence --target-org myOrg --fflib --at4dx --force-di
|
|
2149
|
+
|
|
2150
|
+
$ sf simply apex trace silence --target-org myOrg --classes NoisyClass --fflib
|
|
2151
|
+
|
|
2152
|
+
FLAG DESCRIPTIONS
|
|
2153
|
+
-c, --classes=<value> Comma-separated Apex class names
|
|
2154
|
+
|
|
2155
|
+
A comma-separated list of Apex class names to silence.
|
|
2156
|
+
|
|
2157
|
+
--at4dx Silence at4dx base classes
|
|
2158
|
+
|
|
2159
|
+
Adds ApplicationSObjectDomain to the classes to silence.
|
|
2160
|
+
|
|
2161
|
+
--classes-file=<value> Path to a JSON file listing classes to silence
|
|
2162
|
+
|
|
2163
|
+
The path to a JSON file with the shape { "classes": ["ClassOne", "ClassTwo"] } listing the Apex class names to
|
|
2164
|
+
silence.
|
|
2165
|
+
|
|
2166
|
+
--fflib Silence fflib base classes
|
|
2167
|
+
|
|
2168
|
+
Adds fflib_SObjectDescribe and fflib_SObjectDomain to the classes to silence.
|
|
2169
|
+
|
|
2170
|
+
--force-di Silence force-di base classes
|
|
2171
|
+
|
|
2172
|
+
Adds di_Binding, di_Module, di_PlatformCache, and di_Injector to the classes to silence.
|
|
2173
|
+
```
|
|
2174
|
+
|
|
2175
|
+
_See code: [@simplysf/simply-apex](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-apex@1.6.2/packages/simply-apex/lib/commands/simply/apex/trace/silence.js)_
|
|
2176
|
+
|
|
2177
|
+
## `sf simply community publish`
|
|
2178
|
+
|
|
2179
|
+
Publish a Salesforce Community (Experience Cloud site), waiting until the publish completes.
|
|
2180
|
+
|
|
2181
|
+
```
|
|
2182
|
+
USAGE
|
|
2183
|
+
$ sf simply community publish -o <value> --name <value> [--json] [--flags-dir <value>] [--api-version <value>] [--wait
|
|
2184
|
+
<value>] [--retry-attempts <value>] [--retry-backoff <value>] [--ignore-errors]
|
|
2185
|
+
|
|
2186
|
+
FLAGS
|
|
2187
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
2188
|
+
configuration variable is already set.
|
|
2189
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
2190
|
+
--ignore-errors Log a warning and exit successfully if the publish fails, instead of throwing an error.
|
|
2191
|
+
--name=<value> (required) Name of the community (Experience Cloud site) to publish.
|
|
2192
|
+
--retry-attempts=<value> Number of additional attempts to make if the initial publish request fails, before
|
|
2193
|
+
giving up. Defaults to 0 (no retries). Does not apply to polling for the publish job's
|
|
2194
|
+
completion, which already retries until --wait elapses.
|
|
2195
|
+
--retry-backoff=<value> [default: 2] Factor the delay between publish request retries grows by after each failed
|
|
2196
|
+
attempt (e.g. 2 doubles the delay each time). Only relevant when --retry-attempts is
|
|
2197
|
+
greater than 0.
|
|
2198
|
+
--wait=<value> [default: 15] Minutes to wait for the publish to complete before giving up. Salesforce's
|
|
2199
|
+
own publish jobs time out after 15 minutes server-side, so waiting longer than that has
|
|
2200
|
+
no effect.
|
|
2201
|
+
|
|
2202
|
+
GLOBAL FLAGS
|
|
2203
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2204
|
+
--json Format output as json.
|
|
2205
|
+
|
|
2206
|
+
DESCRIPTION
|
|
2207
|
+
Publish a Salesforce Community (Experience Cloud site), waiting until the publish completes.
|
|
2208
|
+
|
|
2209
|
+
Looks up the community by `--name`, triggers a publish via the Connect REST API, then polls until the publish job
|
|
2210
|
+
reaches a terminal state — throwing an error if it fails, rather than returning as soon as the publish request is
|
|
2211
|
+
accepted. The Salesforce CLI's own `sf community publish` command does not wait for completion; this command exists to
|
|
2212
|
+
fill that gap for pipelines that need to know publishing actually succeeded before continuing.
|
|
2213
|
+
|
|
2214
|
+
EXAMPLES
|
|
2215
|
+
$ sf simply community publish --target-org my-org --name "My Community"
|
|
2216
|
+
|
|
2217
|
+
$ sf simply community publish --target-org my-org --name "My Community" --wait 20
|
|
2218
|
+
|
|
2219
|
+
$ sf simply community publish --target-org my-org --name "My Community" --retry-attempts 3 --retry-backoff 2
|
|
2220
|
+
|
|
2221
|
+
$ sf simply community publish --target-org my-org --name "My Community" --ignore-errors
|
|
2222
|
+
```
|
|
2223
|
+
|
|
2224
|
+
_See code: [@simplysf/simply-community](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-community@0.1.0/packages/simply-community/lib/commands/simply/community/publish.js)_
|
|
2225
|
+
|
|
2226
|
+
## `sf simply data file upload`
|
|
2227
|
+
|
|
2228
|
+
Upload a file to a Salesforce org.
|
|
2229
|
+
|
|
2230
|
+
```
|
|
2231
|
+
USAGE
|
|
2232
|
+
$ sf simply data file upload -o <value> --file-path <value> [--json] [--flags-dir <value>] [--api-version <value>]
|
|
2233
|
+
[--first-publish-location-id <value>] [--title <value>]
|
|
2234
|
+
|
|
2235
|
+
FLAGS
|
|
2236
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the
|
|
2237
|
+
`target-org` configuration variable is already set.
|
|
2238
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
2239
|
+
--file-path=<value> (required) Path to the file to upload.
|
|
2240
|
+
--first-publish-location-id=<value> Specify a record Id that the file should be linked to.
|
|
2241
|
+
--title=<value> Specify the title for the file being uploaded.
|
|
2242
|
+
|
|
2243
|
+
GLOBAL FLAGS
|
|
2244
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2245
|
+
--json Format output as json.
|
|
2246
|
+
|
|
2247
|
+
DESCRIPTION
|
|
2248
|
+
Upload a file to a Salesforce org.
|
|
2249
|
+
|
|
2250
|
+
Uploads a file to a Salesforce org.
|
|
2251
|
+
|
|
2252
|
+
EXAMPLES
|
|
2253
|
+
$ sf simply data file upload --file-path fileToUpload.txt --target-org myTargetOrg
|
|
2254
|
+
|
|
2255
|
+
$ sf simply data file upload --file-path fileToUpload.txt --first-publish-location-id 0019000000DmehK --target-org myTargetOrg
|
|
2256
|
+
```
|
|
2257
|
+
|
|
2258
|
+
_See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.3.23/packages/simply-data/lib/commands/simply/data/file/upload.js)_
|
|
2259
|
+
|
|
2260
|
+
## `sf simply data files download`
|
|
2261
|
+
|
|
2262
|
+
Download files from a Salesforce org.
|
|
2263
|
+
|
|
2264
|
+
```
|
|
2265
|
+
USAGE
|
|
2266
|
+
$ sf simply data files download -o <value> --where-content-version <value> [--json] [--flags-dir <value>] [--api-version
|
|
2267
|
+
<value>] [--max-parallel-jobs <value>]
|
|
2268
|
+
|
|
2269
|
+
FLAGS
|
|
2270
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
2271
|
+
configuration variable is already set.
|
|
2272
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
2273
|
+
--max-parallel-jobs=<value> [default: 1] Maximum number of parallel jobs.
|
|
2274
|
+
--where-content-version=<value> (required) WHERE clause for ContentVersion query.
|
|
2275
|
+
|
|
2276
|
+
GLOBAL FLAGS
|
|
2277
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2278
|
+
--json Format output as json.
|
|
2279
|
+
|
|
2280
|
+
DESCRIPTION
|
|
2281
|
+
Download files from a Salesforce org.
|
|
2282
|
+
|
|
2283
|
+
Downloads files specified by a where clause for a ContentVersion query from a Salesforce org. By default, the plugin
|
|
2284
|
+
uses the REST API for the download as to allow for the streaming of large files without issue. This means that each
|
|
2285
|
+
file will use one REST API request.
|
|
2286
|
+
|
|
2287
|
+
EXAMPLES
|
|
2288
|
+
$ sf simply data files download --where-content-version "IsLatest=true" --target-org myTargetOrg
|
|
2289
|
+
|
|
2290
|
+
$ sf simply data files download --where-content-version "IsLatest=true" --max-parallel-jobs 5 --target-org myTargetOrg
|
|
2291
|
+
|
|
2292
|
+
FLAG DESCRIPTIONS
|
|
2293
|
+
--max-parallel-jobs=<value> Maximum number of parallel jobs.
|
|
2294
|
+
|
|
2295
|
+
By default the plugin will only process a single file download at a time. You can increase this value to allow for
|
|
2296
|
+
quasi concurrent downloads. Please note that setting this value too high can cause performance issues.
|
|
2297
|
+
|
|
2298
|
+
--where-content-version=<value> WHERE clause for ContentVersion query.
|
|
2299
|
+
|
|
2300
|
+
Provide a WHERE clause to allow the plugin to specify which ContentVersion records should be downloaded.
|
|
2301
|
+
```
|
|
2302
|
+
|
|
2303
|
+
_See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.3.23/packages/simply-data/lib/commands/simply/data/files/download.js)_
|
|
2304
|
+
|
|
2305
|
+
## `sf simply data files upload`
|
|
2306
|
+
|
|
2307
|
+
Upload files to a Salesforce org.
|
|
2308
|
+
|
|
2309
|
+
```
|
|
2310
|
+
USAGE
|
|
2311
|
+
$ sf simply data files upload -o <value> --file-path <value> [--json] [--flags-dir <value>] [--api-version <value>]
|
|
2312
|
+
[--max-parallel-jobs <value>]
|
|
2313
|
+
|
|
2314
|
+
FLAGS
|
|
2315
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
2316
|
+
configuration variable is already set.
|
|
2317
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
2318
|
+
--file-path=<value> (required) Path to the csv file that specifies the upload.
|
|
2319
|
+
--max-parallel-jobs=<value> [default: 1] Maximum number of parallel jobs.
|
|
2320
|
+
|
|
2321
|
+
GLOBAL FLAGS
|
|
2322
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2323
|
+
--json Format output as json.
|
|
2324
|
+
|
|
2325
|
+
DESCRIPTION
|
|
2326
|
+
Upload files to a Salesforce org.
|
|
2327
|
+
|
|
2328
|
+
Uploads files specified by a csv to a Salesforce org. By default, the plugin uses the REST API for the upload as the
|
|
2329
|
+
Bulk API is limited in its payload size. This means that each file will use one REST API request.
|
|
2330
|
+
|
|
2331
|
+
EXAMPLES
|
|
2332
|
+
$ sf simply data files upload --file-path filesToUpload.csv --target-org myTargetOrg
|
|
2333
|
+
|
|
2334
|
+
$ sf simply data files upload --file-path filesToUpload.csv --max-parallel-jobs 5 --target-org myTargetOrg
|
|
2335
|
+
|
|
2336
|
+
FLAG DESCRIPTIONS
|
|
2337
|
+
--file-path=<value> Path to the csv file that specifies the upload.
|
|
2338
|
+
|
|
2339
|
+
The csv file must specify the columns PathOnClient and Title. Optionally, a FirstPublishLocationId can be specified
|
|
2340
|
+
to have it linked directly to a Salesforce record after upload.
|
|
2341
|
+
|
|
2342
|
+
--max-parallel-jobs=<value> Maximum number of parallel jobs.
|
|
2343
|
+
|
|
2344
|
+
By default the plugin will only process a single file upload at a time. You can increase this value to allow for
|
|
2345
|
+
quasi concurrent uploads. Please note that setting this value too high can cause performance issues.
|
|
2346
|
+
```
|
|
2347
|
+
|
|
2348
|
+
_See code: [@simplysf/simply-data](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-data@2.3.23/packages/simply-data/lib/commands/simply/data/files/upload.js)_
|
|
2349
|
+
|
|
2350
|
+
## `sf simply document diff`
|
|
2351
|
+
|
|
2352
|
+
Generate a change report between two git refs.
|
|
2353
|
+
|
|
2354
|
+
```
|
|
2355
|
+
USAGE
|
|
2356
|
+
$ sf simply document diff --from-tag <value> --to-tag <value> [--json] [--flags-dir <value>] [--output-file <value>]
|
|
2357
|
+
[--template-file <value>] [--output-format html]
|
|
2358
|
+
|
|
2359
|
+
FLAGS
|
|
2360
|
+
--from-tag=<value> (required) The starting git ref for the diff report.
|
|
2361
|
+
--output-file=<value> Path to write the generated report to.
|
|
2362
|
+
--output-format=<option> [default: html] Output format to render the report in.
|
|
2363
|
+
<options: html>
|
|
2364
|
+
--template-file=<value> Path to a custom Handlebars template to render instead of the built-in one.
|
|
2365
|
+
--to-tag=<value> (required) The ending git ref for the diff report.
|
|
2366
|
+
|
|
2367
|
+
GLOBAL FLAGS
|
|
2368
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2369
|
+
--json Format output as json.
|
|
2370
|
+
|
|
2371
|
+
DESCRIPTION
|
|
2372
|
+
Generate a change report between two git refs.
|
|
2373
|
+
|
|
2374
|
+
Runs `git diff --name-status` between two git refs (tags, branches, or commits) in the current working directory,
|
|
2375
|
+
groups the changed files by Salesforce metadata component type, and renders a Confluence-storage-format change report
|
|
2376
|
+
suitable for pasting into a release or change-management page.
|
|
2377
|
+
|
|
2378
|
+
EXAMPLES
|
|
2379
|
+
$ sf simply document diff --from-tag v1.0.0 --to-tag v1.1.0
|
|
2380
|
+
|
|
2381
|
+
$ sf simply document diff --from-tag v1.0.0 --to-tag v1.1.0 --output-file change-report.html
|
|
2382
|
+
|
|
2383
|
+
$ sf simply document diff --from-tag v1.0.0 --to-tag v1.1.0 --template-file my-change-report.hbs
|
|
2384
|
+
|
|
2385
|
+
FLAG DESCRIPTIONS
|
|
2386
|
+
--output-file=<value> Path to write the generated report to.
|
|
2387
|
+
|
|
2388
|
+
When specified, the generated report is written to this path instead of being printed to the terminal.
|
|
2389
|
+
|
|
2390
|
+
--output-format=html Output format to render the report in.
|
|
2391
|
+
|
|
2392
|
+
Currently only `html` is supported. Reserved for future formats (e.g. Markdown).
|
|
2393
|
+
|
|
2394
|
+
--template-file=<value> Path to a custom Handlebars template to render instead of the built-in one.
|
|
2395
|
+
|
|
2396
|
+
When specified, this template is rendered with the same data the built-in report template receives, and can reuse
|
|
2397
|
+
the built-in `changeTable` partial. See this package's README "Custom Templates" section for the data shape and
|
|
2398
|
+
available partials.
|
|
2399
|
+
```
|
|
2400
|
+
|
|
2401
|
+
_See code: [@simplysf/simply-document](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-document@0.3.6/packages/simply-document/lib/commands/simply/document/diff.js)_
|
|
2402
|
+
|
|
2403
|
+
## `sf simply document generate`
|
|
2404
|
+
|
|
2405
|
+
Generate a technical design document for a Salesforce project.
|
|
2406
|
+
|
|
2407
|
+
```
|
|
2408
|
+
USAGE
|
|
2409
|
+
$ sf simply document generate -d <value> --output-file <value> [--json] [--flags-dir <value>] [--template-file <value>]
|
|
2410
|
+
[--output-format html]
|
|
2411
|
+
|
|
2412
|
+
FLAGS
|
|
2413
|
+
-d, --directory=<value> (required) Salesforce project source directory to scan.
|
|
2414
|
+
--output-file=<value> (required) Path to write the generated document to.
|
|
2415
|
+
--output-format=<option> [default: html] Output format to render the document in.
|
|
2416
|
+
<options: html>
|
|
2417
|
+
--template-file=<value> Path to a custom Handlebars template to render instead of the built-in one.
|
|
2418
|
+
|
|
2419
|
+
GLOBAL FLAGS
|
|
2420
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2421
|
+
--json Format output as json.
|
|
2422
|
+
|
|
2423
|
+
DESCRIPTION
|
|
2424
|
+
Generate a technical design document for a Salesforce project.
|
|
2425
|
+
|
|
2426
|
+
Scans a Salesforce DX project's source directory for metadata (objects, fields, Apex, Lightning components, flows,
|
|
2427
|
+
permissions, and more) and renders a Confluence-storage-format technical design document covering the data model,
|
|
2428
|
+
security model, groups/queues/permissions, solution inventory, and custom code inventory.
|
|
2429
|
+
|
|
2430
|
+
EXAMPLES
|
|
2431
|
+
$ sf simply document generate --directory force-app --output-file technical-design-document.html
|
|
2432
|
+
|
|
2433
|
+
$ sf simply document generate --directory force-app --output-file technical-design-document.html --template-file my-tdd-template.hbs
|
|
2434
|
+
|
|
2435
|
+
FLAG DESCRIPTIONS
|
|
2436
|
+
--output-format=html Output format to render the document in.
|
|
2437
|
+
|
|
2438
|
+
Currently only `html` is supported. Reserved for future formats (e.g. Markdown).
|
|
2439
|
+
|
|
2440
|
+
--template-file=<value> Path to a custom Handlebars template to render instead of the built-in one.
|
|
2441
|
+
|
|
2442
|
+
When specified, this template is rendered with the same scanned project data the built-in technical design document
|
|
2443
|
+
template receives, and can reuse the built-in `loud` helper. See this package's README "Custom Templates" section
|
|
2444
|
+
for the data shape.
|
|
2445
|
+
```
|
|
2446
|
+
|
|
2447
|
+
_See code: [@simplysf/simply-document](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-document@0.3.6/packages/simply-document/lib/commands/simply/document/generate.js)_
|
|
2448
|
+
|
|
2449
|
+
## `sf simply package dependencies install`
|
|
2450
|
+
|
|
2451
|
+
Install package dependencies for a Salesforce project.
|
|
2452
|
+
|
|
2453
|
+
```
|
|
2454
|
+
USAGE
|
|
2455
|
+
$ sf simply package dependencies install -o <value> [--json] [--flags-dir <value>] [-a all|package] [--api-version <value>] [-z
|
|
2456
|
+
<value>] [-i All|Delta|Upgrade] [-k <value>...] [-r] [--output-file <value>] [-b <value>] [-s AllUsers|AdminsOnly]
|
|
2457
|
+
[-v <value>] [-t DeprecateOnly|Mixed|Delete] [-w <value>]
|
|
2458
|
+
|
|
2459
|
+
FLAGS
|
|
2460
|
+
-a, --apex-compile=<option> Compile all Apex in the org and package, or only Apex in the package; unlocked
|
|
2461
|
+
packages only.
|
|
2462
|
+
<options: all|package>
|
|
2463
|
+
-b, --publish-wait=<value> Maximum number of minutes to wait for the Subscriber Package Version ID to become
|
|
2464
|
+
available in the target org before canceling the install request.
|
|
2465
|
+
-i, --install-type=<option> [default: Upgrade] Install all packages, only deltas, or only newer versions.
|
|
2466
|
+
<options: All|Delta|Upgrade>
|
|
2467
|
+
-k, --installation-key=<value>... Installation key for key-protected packages
|
|
2468
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
2469
|
+
configuration variable is already set.
|
|
2470
|
+
-r, --no-prompt Don't prompt for confirmation.
|
|
2471
|
+
-s, --security-type=<option> [default: AdminsOnly] Security access type for the installed package. (deprecation
|
|
2472
|
+
notice: The default --security-type value will change from AllUsers to AdminsOnly
|
|
2473
|
+
in v47.0 or later.)
|
|
2474
|
+
<options: AllUsers|AdminsOnly>
|
|
2475
|
+
-t, --upgrade-type=<option> [default: Mixed] Upgrade type for the package installation; available only for
|
|
2476
|
+
unlocked packages.
|
|
2477
|
+
<options: DeprecateOnly|Mixed|Delete>
|
|
2478
|
+
-v, --target-dev-hub=<value> Username or alias of the Dev Hub org.
|
|
2479
|
+
-w, --wait=<value> Number of minutes to wait for installation status.
|
|
2480
|
+
-z, --branch=<value> Package branch to consider when specifiying a Package/VersionNumber combination
|
|
2481
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
2482
|
+
--output-file=<value> Path to write a JSON install report to.
|
|
2483
|
+
|
|
2484
|
+
GLOBAL FLAGS
|
|
2485
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2486
|
+
--json Format output as json.
|
|
2487
|
+
|
|
2488
|
+
DESCRIPTION
|
|
2489
|
+
Install package dependencies for a Salesforce project.
|
|
2490
|
+
|
|
2491
|
+
Installs all specified package dependencies in a Salesforce DX project using the sfdx-project.json definition.
|
|
2492
|
+
|
|
2493
|
+
EXAMPLES
|
|
2494
|
+
$ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub
|
|
2495
|
+
|
|
2496
|
+
$ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --installation-key "MyPackage1Alias:MyPackage1Key"
|
|
2497
|
+
|
|
2498
|
+
$ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --installation-key "MyPackage1Alias:MyPackage1Key" --installation-key "MyPackage2Alias:MyPackage2Key"
|
|
2499
|
+
|
|
2500
|
+
$ sf simply package dependencies install --target-org myTargetOrg --target-dev-hub myTargetDevHub --output-file install-report.json
|
|
2501
|
+
|
|
2502
|
+
FLAG DESCRIPTIONS
|
|
2503
|
+
-a, --apex-compile=all|package
|
|
2504
|
+
|
|
2505
|
+
Compile all Apex in the org and package, or only Apex in the package; unlocked packages only.
|
|
2506
|
+
|
|
2507
|
+
Applies to unlocked packages only. Specifies whether to compile all Apex in the org and package, or only the Apex in
|
|
2508
|
+
the package.
|
|
2509
|
+
|
|
2510
|
+
For package installs into production orgs, or any org that has Apex Compile on Deploy enabled, the platform compiles
|
|
2511
|
+
all Apex in the org after the package install or upgrade operation completes.
|
|
2512
|
+
|
|
2513
|
+
This approach assures that package installs and upgrades don’t impact the performance of an org, and is done even if
|
|
2514
|
+
--apex-compile package is specified.
|
|
2515
|
+
|
|
2516
|
+
-i, --install-type=All|Delta|Upgrade Install all packages, only deltas, or only newer versions.
|
|
2517
|
+
|
|
2518
|
+
If 'All' is specified, then all packages specified in package dependencies are installed, regardless of if the
|
|
2519
|
+
version already is installed in the org. If 'Delta' is specified, then only packages that differ from what is
|
|
2520
|
+
installed in the org will be installed. If 'Upgrade' is specified, then a package is installed only if it isn't
|
|
2521
|
+
already installed, or if its semantic version (major.minor.patch.build) is newer than the version currently
|
|
2522
|
+
installed in the org; packages with an installed version that is the same as or newer than the target version are
|
|
2523
|
+
skipped.
|
|
2524
|
+
|
|
2525
|
+
-k, --installation-key=<value>... Installation key for key-protected packages
|
|
2526
|
+
|
|
2527
|
+
Installation key for key-protected packages in the key:value format of SubscriberPackageVersionId:Key
|
|
2528
|
+
|
|
2529
|
+
-r, --no-prompt Don't prompt for confirmation.
|
|
2530
|
+
|
|
2531
|
+
Allows the following without an explicit confirmation response: 1) Remote Site Settings and Content Security Policy
|
|
2532
|
+
websites to send or receive data, and 2) --upgrade-type Delete to proceed.
|
|
2533
|
+
|
|
2534
|
+
-t, --upgrade-type=DeprecateOnly|Mixed|Delete
|
|
2535
|
+
|
|
2536
|
+
Upgrade type for the package installation; available only for unlocked packages.
|
|
2537
|
+
|
|
2538
|
+
For package upgrades, specifies whether to mark all removed components as deprecated (DeprecateOnly), to delete
|
|
2539
|
+
removed components that can be safely deleted and deprecate the others (Mixed), or to delete all removed components,
|
|
2540
|
+
except for custom objects and custom fields, that don't have dependencies (Delete). The default is Mixed. Can
|
|
2541
|
+
specify DeprecateOnly or Delete only for unlocked package upgrades.
|
|
2542
|
+
|
|
2543
|
+
-z, --branch=<value> Package branch to consider when specifiying a Package/VersionNumber combination
|
|
2544
|
+
|
|
2545
|
+
For dependencies specified by Package/VersionNumber combination, you can specify the branch group of builds to work
|
|
2546
|
+
from by entering the branch build name. If not specified, the builds from NULL branch will be considered.
|
|
2547
|
+
|
|
2548
|
+
--output-file=<value> Path to write a JSON install report to.
|
|
2549
|
+
|
|
2550
|
+
When specified, a JSON report of the install outcome for every resolved dependency is written to this path, in
|
|
2551
|
+
addition to the normal terminal output you can continue to monitor as the command runs. Each entry includes the
|
|
2552
|
+
package name, the SubscriberPackageVersionId already installed in the org (if any), the SubscriberPackageVersionId
|
|
2553
|
+
that was attempted, and the decision made (Skipped, Installed, Installing, or Failed).
|
|
2554
|
+
```
|
|
2555
|
+
|
|
2556
|
+
_See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.8.13/packages/simply-package/lib/commands/simply/package/dependencies/install.js)_
|
|
2557
|
+
|
|
2558
|
+
## `sf simply package dependencies manage`
|
|
2559
|
+
|
|
2560
|
+
Manage package dependency versions for a Salesforce project.
|
|
2561
|
+
|
|
2562
|
+
```
|
|
2563
|
+
USAGE
|
|
2564
|
+
$ sf simply package dependencies manage -v <value> [--json] [--flags-dir <value>] [-b <value>] [--update-to-released |
|
|
2565
|
+
--update-to-latest] [--api-version <value>]
|
|
2566
|
+
|
|
2567
|
+
FLAGS
|
|
2568
|
+
-b, --branch=<value> Package branch to consider when evaluating version options.
|
|
2569
|
+
-v, --target-dev-hub=<value> (required) Username or alias of the Dev Hub org. Not required if the `target-dev-hub`
|
|
2570
|
+
configuration variable is already set.
|
|
2571
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
2572
|
+
--update-to-latest Automatically set all dependencies to the latest non-pinned build.
|
|
2573
|
+
--update-to-released Automatically update all dependencies to the latest released version.
|
|
2574
|
+
|
|
2575
|
+
GLOBAL FLAGS
|
|
2576
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2577
|
+
--json Format output as json.
|
|
2578
|
+
|
|
2579
|
+
DESCRIPTION
|
|
2580
|
+
Manage package dependency versions for a Salesforce project.
|
|
2581
|
+
|
|
2582
|
+
Interactively updates package dependency versions in sfdx-project.json by querying the Dev Hub for available versions.
|
|
2583
|
+
Supports interactive selection or automatic update to the latest released or latest build version.
|
|
2584
|
+
|
|
2585
|
+
Project-level configuration (in sfdx-project.json) is read from the following keys:
|
|
2586
|
+
|
|
2587
|
+
- plugins.simply.dependencies.ignore — array of Package2Ids or aliases to leave unchanged
|
|
2588
|
+
- plugins.simply.package.brancheswithreleasedversions — array of branch names that contain released versions
|
|
2589
|
+
|
|
2590
|
+
EXAMPLES
|
|
2591
|
+
$ sf simply package dependencies manage --target-dev-hub myDevHub
|
|
2592
|
+
|
|
2593
|
+
$ sf simply package dependencies manage --target-dev-hub myDevHub --branch my-feature-branch
|
|
2594
|
+
|
|
2595
|
+
$ sf simply package dependencies manage --target-dev-hub myDevHub --update-to-released
|
|
2596
|
+
|
|
2597
|
+
$ sf simply package dependencies manage --target-dev-hub myDevHub --update-to-latest
|
|
2598
|
+
|
|
2599
|
+
FLAG DESCRIPTIONS
|
|
2600
|
+
-b, --branch=<value> Package branch to consider when evaluating version options.
|
|
2601
|
+
|
|
2602
|
+
When specified, the command will include the latest build on this branch as a selectable option for each dependency.
|
|
2603
|
+
|
|
2604
|
+
--update-to-latest Automatically set all dependencies to the latest non-pinned build.
|
|
2605
|
+
|
|
2606
|
+
When specified, all dependencies managed by the Dev Hub are automatically set to a non-pinned X.Y.Z.LATEST version
|
|
2607
|
+
number without interactive prompts. Mutually exclusive with --update-to-released.
|
|
2608
|
+
|
|
2609
|
+
--update-to-released Automatically update all dependencies to the latest released version.
|
|
2610
|
+
|
|
2611
|
+
When specified, all dependencies managed by the Dev Hub are automatically updated to the latest released package
|
|
2612
|
+
version without interactive prompts. Mutually exclusive with --update-to-latest.
|
|
2613
|
+
```
|
|
2614
|
+
|
|
2615
|
+
_See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.8.13/packages/simply-package/lib/commands/simply/package/dependencies/manage.js)_
|
|
2616
|
+
|
|
2617
|
+
## `sf simply package version cleanup`
|
|
2618
|
+
|
|
2619
|
+
Cleanup package versions.
|
|
2620
|
+
|
|
2621
|
+
```
|
|
2622
|
+
USAGE
|
|
2623
|
+
$ sf simply package version cleanup -p <value> -v <value> [--json] [--flags-dir <value>] [--api-version <value>] [-s <value> | -x
|
|
2624
|
+
<value>]
|
|
2625
|
+
|
|
2626
|
+
FLAGS
|
|
2627
|
+
-p, --package=<value> (required) Package Id
|
|
2628
|
+
-s, --matcher=<value> MAJOR.MINOR.PATCH to select on
|
|
2629
|
+
-v, --target-dev-hub=<value> (required) Username or alias of the Dev Hub org. Not required if the `target-dev-hub`
|
|
2630
|
+
configuration variable is already set.
|
|
2631
|
+
-x, --exclude-matcher=<value> MAJOR.MINOR.PATCH to exclude on
|
|
2632
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
2633
|
+
|
|
2634
|
+
GLOBAL FLAGS
|
|
2635
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2636
|
+
--json Format output as json.
|
|
2637
|
+
|
|
2638
|
+
DESCRIPTION
|
|
2639
|
+
Cleanup package versions.
|
|
2640
|
+
|
|
2641
|
+
Delete package versions for a given package provided a MAJOR.MINOR.PATCH matcher, either to select on or to exclude
|
|
2642
|
+
on. Does not delete released package versions.
|
|
2643
|
+
|
|
2644
|
+
If --matcher is provided, only the unreleased versions matching MAJOR.MINOR.PATCH are deleted. If --exclude-matcher is
|
|
2645
|
+
provided instead, every unreleased version that does _not_ match MAJOR.MINOR.PATCH is deleted. Exactly one of
|
|
2646
|
+
--matcher or --exclude-matcher must be specified.
|
|
2647
|
+
|
|
2648
|
+
EXAMPLES
|
|
2649
|
+
$ sf simply package version cleanup --package 0Hoxx00000000CqCAI --matcher 2.10.0 --target-dev-hub myDevHub
|
|
2650
|
+
|
|
2651
|
+
$ sf simply package version cleanup --package 0Hoxx00000000CqCAI --exclude-matcher 2.10.0 --target-dev-hub myDevHub
|
|
2652
|
+
|
|
2653
|
+
FLAG DESCRIPTIONS
|
|
2654
|
+
-p, --package=<value> Package Id
|
|
2655
|
+
|
|
2656
|
+
The 0Ht Package Id that you wish to cleanup versions for.
|
|
2657
|
+
|
|
2658
|
+
-s, --matcher=<value> MAJOR.MINOR.PATCH to select on
|
|
2659
|
+
|
|
2660
|
+
The MAJOR.MINOR.PATCH matcher that should be used to find package versions to delete. Only versions matching this
|
|
2661
|
+
matcher are deleted. Mutually exclusive with --exclude-matcher.
|
|
2662
|
+
|
|
2663
|
+
-x, --exclude-matcher=<value> MAJOR.MINOR.PATCH to exclude on
|
|
2664
|
+
|
|
2665
|
+
The MAJOR.MINOR.PATCH matcher that should be used to find package versions to keep. Every unreleased version that
|
|
2666
|
+
does not match this matcher is deleted. Mutually exclusive with --matcher.
|
|
2667
|
+
```
|
|
2668
|
+
|
|
2669
|
+
_See code: [@simplysf/simply-package](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-package@2.8.13/packages/simply-package/lib/commands/simply/package/version/cleanup.js)_
|
|
2670
|
+
|
|
2671
|
+
## `sf simply permissions analyze`
|
|
2672
|
+
|
|
2673
|
+
Analyze permission sets and permission set groups in an org.
|
|
2674
|
+
|
|
2675
|
+
```
|
|
2676
|
+
USAGE
|
|
2677
|
+
$ sf simply permissions analyze -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-f <value>...] [--output
|
|
2678
|
+
<value>]
|
|
2679
|
+
|
|
2680
|
+
FLAGS
|
|
2681
|
+
-f, --filter=<value>... Permission set or group names to include
|
|
2682
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
2683
|
+
configuration variable is already set.
|
|
2684
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
2685
|
+
--output=<value> [default: permissions_report.html] Output HTML file path
|
|
2686
|
+
|
|
2687
|
+
GLOBAL FLAGS
|
|
2688
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2689
|
+
--json Format output as json.
|
|
2690
|
+
|
|
2691
|
+
DESCRIPTION
|
|
2692
|
+
Analyze permission sets and permission set groups in an org.
|
|
2693
|
+
|
|
2694
|
+
Generates an HTML report of every permission set and permission set group in the target org, grouped by installed
|
|
2695
|
+
package, including their object and field permissions.
|
|
2696
|
+
|
|
2697
|
+
EXAMPLES
|
|
2698
|
+
$ sf simply permissions analyze --target-org myOrg
|
|
2699
|
+
|
|
2700
|
+
$ sf simply permissions analyze --target-org myOrg --output reports/permissions.html --filter My_Permission_Set --filter Another_Set
|
|
2701
|
+
|
|
2702
|
+
FLAG DESCRIPTIONS
|
|
2703
|
+
-f, --filter=<value>... Permission set or group names to include
|
|
2704
|
+
|
|
2705
|
+
One or more PermissionSet (Name) or PermissionSetGroup (DeveloperName) API names to restrict the report to. If
|
|
2706
|
+
omitted, all permission sets and groups are included.
|
|
2707
|
+
|
|
2708
|
+
--output=<value> Output HTML file path
|
|
2709
|
+
|
|
2710
|
+
The path to write the generated HTML report to.
|
|
2711
|
+
```
|
|
2712
|
+
|
|
2713
|
+
_See code: [@simplysf/simply-permissions](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-permissions@1.2.28/packages/simply-permissions/lib/commands/simply/permissions/analyze.js)_
|
|
2714
|
+
|
|
2715
|
+
## `sf simply permissions build`
|
|
2716
|
+
|
|
2717
|
+
Generate a permission set from Salesforce source metadata.
|
|
2718
|
+
|
|
2719
|
+
```
|
|
2720
|
+
USAGE
|
|
2721
|
+
$ sf simply permissions build --type read-only|view-all|modify-all -n <value> -d <value> --output <value> [--json]
|
|
2722
|
+
[--flags-dir <value>] [-c <value>] [--include-record-types] [--label <value>] [--description <value>]
|
|
2723
|
+
|
|
2724
|
+
FLAGS
|
|
2725
|
+
-c, --config=<value> Path to a permission set configuration file
|
|
2726
|
+
-d, --directory=<value> (required) Path to the Salesforce project directory
|
|
2727
|
+
-n, --name=<value> (required) API name for the permission set
|
|
2728
|
+
--description=<value> Description for the permission set
|
|
2729
|
+
--include-record-types Include record type visibilities
|
|
2730
|
+
--label=<value> Label for the permission set
|
|
2731
|
+
--output=<value> (required) Output directory
|
|
2732
|
+
--type=<option> (required) Baseline permission type
|
|
2733
|
+
<options: read-only|view-all|modify-all>
|
|
2734
|
+
|
|
2735
|
+
GLOBAL FLAGS
|
|
2736
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2737
|
+
--json Format output as json.
|
|
2738
|
+
|
|
2739
|
+
DESCRIPTION
|
|
2740
|
+
Generate a permission set from Salesforce source metadata.
|
|
2741
|
+
|
|
2742
|
+
Scans a Salesforce project directory for custom objects, fields, tabs, and (optionally) record types, then generates a
|
|
2743
|
+
permission set XML file with a baseline of permissions determined by --type. An optional JSON --config file can
|
|
2744
|
+
override individual object, field, tab, record type, and user permission settings, as well as whether the permission
|
|
2745
|
+
set requires activation.
|
|
2746
|
+
|
|
2747
|
+
EXAMPLES
|
|
2748
|
+
$ sf simply permissions build --type read-only --name My_Read_Only_Access --directory force-app --output force-app/main/default/permissionsets
|
|
2749
|
+
|
|
2750
|
+
$ sf simply permissions build --type modify-all --name My_Admin_Access --directory force-app --config config/permission-overrides.json --output force-app/main/default/permissionsets --include-record-types
|
|
2751
|
+
|
|
2752
|
+
FLAG DESCRIPTIONS
|
|
2753
|
+
-c, --config=<value> Path to a permission set configuration file
|
|
2754
|
+
|
|
2755
|
+
The path to a JSON file that overrides individual object, field, tab, record type, and user permission settings, as
|
|
2756
|
+
well as whether the permission set requires activation, on top of the --type baseline.
|
|
2757
|
+
|
|
2758
|
+
-d, --directory=<value> Path to the Salesforce project directory
|
|
2759
|
+
|
|
2760
|
+
The path to the Salesforce source directory to scan for custom objects, fields, tabs, and record types.
|
|
2761
|
+
|
|
2762
|
+
-n, --name=<value> API name for the permission set
|
|
2763
|
+
|
|
2764
|
+
The API name for the generated permission set; also used to derive the output filename.
|
|
2765
|
+
|
|
2766
|
+
--include-record-types Include record type visibilities
|
|
2767
|
+
|
|
2768
|
+
Automatically include record type visibilities discovered from the source metadata, marked as visible by default.
|
|
2769
|
+
|
|
2770
|
+
--output=<value> Output directory
|
|
2771
|
+
|
|
2772
|
+
The directory to write the generated permission set XML file to.
|
|
2773
|
+
|
|
2774
|
+
--type=read-only|view-all|modify-all Baseline permission type
|
|
2775
|
+
|
|
2776
|
+
The baseline permission level to generate: 'read-only' grants read access to all discovered objects and fields,
|
|
2777
|
+
'view-all' additionally grants view-all-records, and 'modify-all' grants full CRUD and modify-all-records access.
|
|
2778
|
+
```
|
|
2779
|
+
|
|
2780
|
+
_See code: [@simplysf/simply-permissions](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-permissions@1.2.28/packages/simply-permissions/lib/commands/simply/permissions/build.js)_
|
|
2781
|
+
|
|
2782
|
+
## `sf simply project update api-version`
|
|
2783
|
+
|
|
2784
|
+
Update the Salesforce API version across a project's metadata.
|
|
2785
|
+
|
|
2786
|
+
```
|
|
2787
|
+
USAGE
|
|
2788
|
+
$ sf simply project update api-version -d <value> -a <value> [--json] [--flags-dir <value>]
|
|
2789
|
+
|
|
2790
|
+
FLAGS
|
|
2791
|
+
-a, --api-version=<value> (required) Target Salesforce API version
|
|
2792
|
+
-d, --directory=<value> (required) Path to the Salesforce project directory
|
|
2793
|
+
|
|
2794
|
+
GLOBAL FLAGS
|
|
2795
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2796
|
+
--json Format output as json.
|
|
2797
|
+
|
|
2798
|
+
DESCRIPTION
|
|
2799
|
+
Update the Salesforce API version across a project's metadata.
|
|
2800
|
+
|
|
2801
|
+
Recursively scans a directory for `-meta.xml` files and updates every `<apiVersion>` tag to the target version. If the
|
|
2802
|
+
directory contains an `sfdx-project.json` file, its `sourceApiVersion` property is updated to match.
|
|
2803
|
+
|
|
2804
|
+
EXAMPLES
|
|
2805
|
+
$ sf simply project update api-version --directory force-app --api-version 62.0
|
|
2806
|
+
|
|
2807
|
+
$ sf simply project update api-version --directory . --api-version 63.0
|
|
2808
|
+
|
|
2809
|
+
FLAG DESCRIPTIONS
|
|
2810
|
+
-a, --api-version=<value> Target Salesforce API version
|
|
2811
|
+
|
|
2812
|
+
The Salesforce API version to set on all metadata files and, if present, sfdx-project.json.
|
|
2813
|
+
|
|
2814
|
+
-d, --directory=<value> Path to the Salesforce project directory
|
|
2815
|
+
|
|
2816
|
+
The path to the Salesforce project directory to scan for metadata files.
|
|
2817
|
+
```
|
|
2818
|
+
|
|
2819
|
+
_See code: [@simplysf/simply-project](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-project@1.2.17/packages/simply-project/lib/commands/simply/project/update/api-version.js)_
|
|
2820
|
+
|
|
2821
|
+
## `sf simply schema generate`
|
|
2822
|
+
|
|
2823
|
+
Generate Salesforce CustomObject/CustomField/RecordType metadata from a CSV or Excel schema definition file.
|
|
2824
|
+
|
|
2825
|
+
```
|
|
2826
|
+
USAGE
|
|
2827
|
+
$ sf simply schema generate -f <value> -d <value> [--json] [--flags-dir <value>]
|
|
2828
|
+
|
|
2829
|
+
FLAGS
|
|
2830
|
+
-d, --output-dir=<value> (required) The output directory to write the generated metadata into.
|
|
2831
|
+
-f, --file=<value> (required) Path to the CSV or Excel (.xlsx/.xls) schema definition file.
|
|
2832
|
+
|
|
2833
|
+
GLOBAL FLAGS
|
|
2834
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2835
|
+
--json Format output as json.
|
|
2836
|
+
|
|
2837
|
+
DESCRIPTION
|
|
2838
|
+
Generate Salesforce CustomObject/CustomField/RecordType metadata from a CSV or Excel schema definition file.
|
|
2839
|
+
|
|
2840
|
+
Reads a flat CSV or an Excel workbook describing one or more custom objects, their fields, and (CSV only) their record
|
|
2841
|
+
types, and writes Salesforce DX source-format metadata (`.object-meta.xml`, `.field-meta.xml`, `.recordType-meta.xml`)
|
|
2842
|
+
into `--output-dir`.
|
|
2843
|
+
|
|
2844
|
+
For CSV input, each row's `Type` column (`CustomObject`, `CustomField`, or `RecordType`) and `ObjectName` column group
|
|
2845
|
+
the rows by object. For Excel input (`.xlsx`/`.xls`), the workbook must contain an `object` worksheet (a two-column
|
|
2846
|
+
key/value sheet describing the sObject) and a `fields` worksheet (one row per field); picklist fields may reference an
|
|
2847
|
+
additional values worksheet by name.
|
|
2848
|
+
|
|
2849
|
+
EXAMPLES
|
|
2850
|
+
$ sf simply schema generate --file schema.csv --output-dir force-app/main/default/objects
|
|
2851
|
+
|
|
2852
|
+
$ sf simply schema generate --file MyObject__c.xlsx --output-dir force-app/main/default/objects
|
|
2853
|
+
|
|
2854
|
+
FLAG DESCRIPTIONS
|
|
2855
|
+
-f, --file=<value> Path to the CSV or Excel (.xlsx/.xls) schema definition file.
|
|
2856
|
+
|
|
2857
|
+
A `.csv` file processed as the flat CSV flow, or a `.xlsx`/`.xls` file processed as the Excel flow.
|
|
2858
|
+
```
|
|
2859
|
+
|
|
2860
|
+
_See code: [@simplysf/simply-schema](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-schema@0.3.14/packages/simply-schema/lib/commands/simply/schema/generate.js)_
|
|
2861
|
+
|
|
2862
|
+
## `sf simply schema visualize`
|
|
2863
|
+
|
|
2864
|
+
Generate visualizations of Salesforce schema from a live org or local source files.
|
|
2865
|
+
|
|
2866
|
+
```
|
|
2867
|
+
USAGE
|
|
2868
|
+
$ sf simply schema visualize [--json] [--flags-dir <value>] [-o <value>] [--api-version <value>] [-d <value>...]
|
|
2869
|
+
[--source-objects <value>] [--related-objects <value>] [--object-type custom|standard|all] [--field-type
|
|
2870
|
+
custom|standard|all] [--output-type html|md|csv...] [--output-dir <value>]
|
|
2871
|
+
|
|
2872
|
+
FLAGS
|
|
2873
|
+
-d, --source-dir=<value>... One or more paths to directories containing Salesforce DX source. Use this for
|
|
2874
|
+
local-source generation.
|
|
2875
|
+
-o, --target-org=<value> Username or alias of the org to visualize. Use this for live-org generation.
|
|
2876
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
2877
|
+
--field-type=<option> [default: custom] Scope of relationship fields to include: custom, standard, or all.
|
|
2878
|
+
<options: custom|standard|all>
|
|
2879
|
+
--object-type=<option> [default: custom] Scope of objects to include: custom, standard, or all.
|
|
2880
|
+
<options: custom|standard|all>
|
|
2881
|
+
--output-dir=<value> The output directory for the generated files.
|
|
2882
|
+
--output-type=<option>... [default: html,md] Output format(s) to generate.
|
|
2883
|
+
<options: html|md|csv>
|
|
2884
|
+
--related-objects=<value> Comma-separated list of related objects to filter the visualization to, or `all`.
|
|
2885
|
+
--source-objects=<value> Comma-separated list of source objects to start from, or `all`.
|
|
2886
|
+
|
|
2887
|
+
GLOBAL FLAGS
|
|
2888
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2889
|
+
--json Format output as json.
|
|
2890
|
+
|
|
2891
|
+
DESCRIPTION
|
|
2892
|
+
Generate visualizations of Salesforce schema from a live org or local source files.
|
|
2893
|
+
|
|
2894
|
+
Builds an object-relationship diagram (interactive HTML), a Mermaid entity-relationship diagram (Markdown), and/or a
|
|
2895
|
+
relationship CSV, either from a live org's Tooling API or from local Salesforce DX source directories. Exactly one of
|
|
2896
|
+
`--target-org` or `--source-dir` must be specified.
|
|
2897
|
+
|
|
2898
|
+
EXAMPLES
|
|
2899
|
+
$ sf simply schema visualize --target-org myTargetOrg
|
|
2900
|
+
|
|
2901
|
+
$ sf simply schema visualize --target-org myTargetOrg --source-objects Account,Contact --related-objects all
|
|
2902
|
+
|
|
2903
|
+
$ sf simply schema visualize --source-dir force-app --output-type html,md
|
|
2904
|
+
|
|
2905
|
+
FLAG DESCRIPTIONS
|
|
2906
|
+
--output-type=html|md|csv... Output format(s) to generate.
|
|
2907
|
+
|
|
2908
|
+
One or more of `html` (interactive diagram), `md` (Mermaid entity-relationship diagram), or `csv` (relationship
|
|
2909
|
+
data).
|
|
2910
|
+
|
|
2911
|
+
--related-objects=<value> Comma-separated list of related objects to filter the visualization to, or `all`.
|
|
2912
|
+
|
|
2913
|
+
Comma-separated API names of related objects to include in the visualization. If `all` is specified, every related
|
|
2914
|
+
object is included regardless of `--object-type`. If not specified, related objects aren't filtered.
|
|
2915
|
+
|
|
2916
|
+
--source-objects=<value> Comma-separated list of source objects to start from, or `all`.
|
|
2917
|
+
|
|
2918
|
+
Comma-separated API names of the objects to start the visualization from (e.g. `Account,MyObject__c`). If `all` is
|
|
2919
|
+
specified, every discovered object is included. If not specified, every object matching `--object-type` is included.
|
|
2920
|
+
```
|
|
2921
|
+
|
|
2922
|
+
_See code: [@simplysf/simply-schema](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-schema@0.3.14/packages/simply-schema/lib/commands/simply/schema/visualize.js)_
|
|
2923
|
+
|
|
2924
|
+
## `sf simply sobject backup`
|
|
2925
|
+
|
|
2926
|
+
Back up SObject data to a CSV file.
|
|
2927
|
+
|
|
2928
|
+
```
|
|
2929
|
+
USAGE
|
|
2930
|
+
$ sf simply sobject backup -o <value> -s <value> [--json] [--flags-dir <value>] [--api-version <value>] [-d <value>]
|
|
2931
|
+
[--include-relationship-fields] [-f <value>...]
|
|
2932
|
+
|
|
2933
|
+
FLAGS
|
|
2934
|
+
-d, --output-dir=<value> Output directory
|
|
2935
|
+
-f, --additional-fields=<value>... Additional fields to include
|
|
2936
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
2937
|
+
configuration variable is already set.
|
|
2938
|
+
-s, --sobject=<value> (required) SObject API name
|
|
2939
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
2940
|
+
--include-relationship-fields Include parent relationship fields
|
|
2941
|
+
|
|
2942
|
+
GLOBAL FLAGS
|
|
2943
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
2944
|
+
--json Format output as json.
|
|
2945
|
+
|
|
2946
|
+
DESCRIPTION
|
|
2947
|
+
Back up SObject data to a CSV file.
|
|
2948
|
+
|
|
2949
|
+
Describes the given SObject, queries every field via the Bulk API, and writes the results to a timestamped CSV file.
|
|
2950
|
+
|
|
2951
|
+
EXAMPLES
|
|
2952
|
+
$ sf simply sobject backup --target-org myOrg --sobject Account
|
|
2953
|
+
|
|
2954
|
+
$ sf simply sobject backup --target-org myOrg --sobject Custom_Object__c --output-dir backups
|
|
2955
|
+
|
|
2956
|
+
$ sf simply sobject backup --target-org myOrg --sobject Account --include-relationship-fields
|
|
2957
|
+
|
|
2958
|
+
$ sf simply sobject backup --target-org myOrg --sobject Account --additional-fields Owner.Manager.Name --additional-fields Parent.Owner.Email
|
|
2959
|
+
|
|
2960
|
+
FLAG DESCRIPTIONS
|
|
2961
|
+
-d, --output-dir=<value> Output directory
|
|
2962
|
+
|
|
2963
|
+
The directory to save the backup CSV file to. Defaults to the current directory.
|
|
2964
|
+
|
|
2965
|
+
-f, --additional-fields=<value>... Additional fields to include
|
|
2966
|
+
|
|
2967
|
+
Extra field API names to include in the query, on top of the SObject's own fields and any fields discovered via
|
|
2968
|
+
--include-relationship-fields. Useful for fields --include-relationship-fields won't discover, such as multi-hop
|
|
2969
|
+
relationship paths (e.g. Owner.Manager.Name) or fields through a polymorphic relationship. Fields already included
|
|
2970
|
+
are not duplicated.
|
|
2971
|
+
|
|
2972
|
+
-s, --sobject=<value> SObject API name
|
|
2973
|
+
|
|
2974
|
+
The API name of the SObject to back up.
|
|
2975
|
+
|
|
2976
|
+
--include-relationship-fields Include parent relationship fields
|
|
2977
|
+
|
|
2978
|
+
For every lookup/master-detail field, describe its parent SObject and include its identifying fields (e.g.
|
|
2979
|
+
RecordTypeId includes RecordType.Name and RecordType.DeveloperName). Polymorphic relationship fields, such as
|
|
2980
|
+
OwnerId, are skipped.
|
|
2981
|
+
```
|
|
2982
|
+
|
|
2983
|
+
_See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.2/packages/simply-sobject/lib/commands/simply/sobject/backup.js)_
|
|
2984
|
+
|
|
2985
|
+
## `sf simply sobject deduplicate`
|
|
2986
|
+
|
|
2987
|
+
Identify and prepare deduplication of an SObject's records.
|
|
2988
|
+
|
|
2989
|
+
```
|
|
2990
|
+
USAGE
|
|
2991
|
+
$ sf simply sobject deduplicate -o <value> -c <value> [--json] [--flags-dir <value>] [--api-version <value>] [--dry-run]
|
|
2992
|
+
[--output-dir <value>]
|
|
2993
|
+
|
|
2994
|
+
FLAGS
|
|
2995
|
+
-c, --config=<value> (required) Path to a deduplication configuration file
|
|
2996
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
2997
|
+
configuration variable is already set.
|
|
2998
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
2999
|
+
--dry-run Skip calculating associated object lookup replacements
|
|
3000
|
+
--output-dir=<value> Output directory
|
|
3001
|
+
|
|
3002
|
+
GLOBAL FLAGS
|
|
3003
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
3004
|
+
--json Format output as json.
|
|
3005
|
+
|
|
3006
|
+
DESCRIPTION
|
|
3007
|
+
Identify and prepare deduplication of an SObject's records.
|
|
3008
|
+
|
|
3009
|
+
Queries an SObject, groups records by a composite key built from configured fields, and writes CSV files listing which
|
|
3010
|
+
records are unique and which are duplicates that should be deleted. For each associated object with lookups to the
|
|
3011
|
+
primary object, also writes a CSV of the lookup field updates needed to re-point duplicate references at the surviving
|
|
3012
|
+
unique record. This command does not perform any deletes or updates in the org; it only prepares the CSV files for a
|
|
3013
|
+
subsequent data load.
|
|
3014
|
+
|
|
3015
|
+
EXAMPLES
|
|
3016
|
+
$ sf simply sobject deduplicate --target-org myOrg --config config/deduplicate-account.json
|
|
3017
|
+
|
|
3018
|
+
$ sf simply sobject deduplicate --target-org myOrg --config config/deduplicate-account.json --dry-run
|
|
3019
|
+
|
|
3020
|
+
FLAG DESCRIPTIONS
|
|
3021
|
+
-c, --config=<value> Path to a deduplication configuration file
|
|
3022
|
+
|
|
3023
|
+
The path to a JSON file describing the primary object, its composite key fields, and any associated objects with
|
|
3024
|
+
lookups to it.
|
|
3025
|
+
|
|
3026
|
+
--dry-run Skip calculating associated object lookup replacements
|
|
3027
|
+
|
|
3028
|
+
When set, only the primary object's unique/duplicate CSV files are generated; associated object lookup replacement
|
|
3029
|
+
files are not calculated.
|
|
3030
|
+
|
|
3031
|
+
--output-dir=<value> Output directory
|
|
3032
|
+
|
|
3033
|
+
The directory to write the generated CSV files to. Defaults to ./temp/<primaryObjectApiName>.
|
|
3034
|
+
```
|
|
3035
|
+
|
|
3036
|
+
_See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.2/packages/simply-sobject/lib/commands/simply/sobject/deduplicate.js)_
|
|
3037
|
+
|
|
3038
|
+
## `sf simply sobject history export`
|
|
3039
|
+
|
|
3040
|
+
Export field history for an SObject within a date range to a CSV file.
|
|
3041
|
+
|
|
3042
|
+
```
|
|
3043
|
+
USAGE
|
|
3044
|
+
$ sf simply sobject history export -o <value> -s <value> --start-date <value> --end-date <value> [--json] [--flags-dir <value>]
|
|
3045
|
+
[--api-version <value>] [-d <value>]
|
|
3046
|
+
|
|
3047
|
+
FLAGS
|
|
3048
|
+
-d, --output-dir=<value> Output directory
|
|
3049
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
3050
|
+
configuration variable is already set.
|
|
3051
|
+
-s, --sobject=<value> (required) SObject API name
|
|
3052
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
3053
|
+
--end-date=<value> (required) End date (YYYY-MM-DD)
|
|
3054
|
+
--start-date=<value> (required) Start date (YYYY-MM-DD)
|
|
3055
|
+
|
|
3056
|
+
GLOBAL FLAGS
|
|
3057
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
3058
|
+
--json Format output as json.
|
|
3059
|
+
|
|
3060
|
+
DESCRIPTION
|
|
3061
|
+
Export field history for an SObject within a date range to a CSV file.
|
|
3062
|
+
|
|
3063
|
+
Queries the field history object for the given SObject (e.g. `AccountHistory`, `Custom_Object__History`, or
|
|
3064
|
+
`OpportunityFieldHistory`) for changes created within the given date range, and writes the results to a timestamped
|
|
3065
|
+
CSV file.
|
|
3066
|
+
|
|
3067
|
+
EXAMPLES
|
|
3068
|
+
$ sf simply sobject history export --target-org myOrg --sobject Account --start-date 2026-01-01 --end-date 2026-01-31
|
|
3069
|
+
|
|
3070
|
+
$ sf simply sobject history export --target-org myOrg --sobject Custom_Object__c --start-date 2026-01-01 --end-date 2026-01-31 --output-dir exports
|
|
3071
|
+
|
|
3072
|
+
FLAG DESCRIPTIONS
|
|
3073
|
+
-d, --output-dir=<value> Output directory
|
|
3074
|
+
|
|
3075
|
+
The directory to save the exported CSV file to. Defaults to the current directory.
|
|
3076
|
+
|
|
3077
|
+
-s, --sobject=<value> SObject API name
|
|
3078
|
+
|
|
3079
|
+
The API name of the SObject to export field history for (e.g. Account or Custom_Object__c).
|
|
3080
|
+
|
|
3081
|
+
--end-date=<value> End date (YYYY-MM-DD)
|
|
3082
|
+
|
|
3083
|
+
The end of the date range to export history for, inclusive.
|
|
3084
|
+
|
|
3085
|
+
--start-date=<value> Start date (YYYY-MM-DD)
|
|
3086
|
+
|
|
3087
|
+
The start of the date range to export history for, inclusive.
|
|
3088
|
+
```
|
|
3089
|
+
|
|
3090
|
+
_See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.2/packages/simply-sobject/lib/commands/simply/sobject/history/export.js)_
|
|
3091
|
+
|
|
3092
|
+
## `sf simply sobject history query`
|
|
3093
|
+
|
|
3094
|
+
Query the field history of an SObject, with optional filtering.
|
|
3095
|
+
|
|
3096
|
+
```
|
|
3097
|
+
USAGE
|
|
3098
|
+
$ sf simply sobject history query -o <value> --object <value> [--json] [--flags-dir <value>] [--api-version <value>] [--filters
|
|
3099
|
+
<value>] [-d <value>]
|
|
3100
|
+
|
|
3101
|
+
FLAGS
|
|
3102
|
+
-d, --output-dir=<value> Output directory
|
|
3103
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
3104
|
+
configuration variable is already set.
|
|
3105
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
3106
|
+
--filters=<value> Path to a filter configuration file, or a raw JSON filter string
|
|
3107
|
+
--object=<value> (required) SObject API name
|
|
3108
|
+
|
|
3109
|
+
GLOBAL FLAGS
|
|
3110
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
3111
|
+
--json Format output as json.
|
|
3112
|
+
|
|
3113
|
+
DESCRIPTION
|
|
3114
|
+
Query the field history of an SObject, with optional filtering.
|
|
3115
|
+
|
|
3116
|
+
Queries the field history object for the given SObject (e.g. `AccountHistory`, `Custom_Object__History`, or
|
|
3117
|
+
`OpportunityFieldHistory`) and writes the results to a timestamped CSV file. An optional filter tree can be supplied
|
|
3118
|
+
to narrow the results: conditions on Field, CreatedById, CreatedDate, or the parent lookup field are pushed into the
|
|
3119
|
+
SOQL WHERE clause; conditions on any other field (e.g. OldValue or NewValue) are applied client-side after the query
|
|
3120
|
+
runs.
|
|
3121
|
+
|
|
3122
|
+
EXAMPLES
|
|
3123
|
+
$ sf simply sobject history query --target-org myOrg --object Account
|
|
3124
|
+
|
|
3125
|
+
$ sf simply sobject history query --target-org myOrg --object Custom_Object__c --filters config/history-filters.json
|
|
3126
|
+
|
|
3127
|
+
$ sf simply sobject history query --target-org myOrg --object Account --filters '{"logic":"AND","filters":[{"field":"Field","operator":"=","value":"Name"}]}'
|
|
3128
|
+
|
|
3129
|
+
FLAG DESCRIPTIONS
|
|
3130
|
+
-d, --output-dir=<value> Output directory
|
|
3131
|
+
|
|
3132
|
+
The directory to save the query results CSV file to. Defaults to the current directory.
|
|
3133
|
+
|
|
3134
|
+
--filters=<value> Path to a filter configuration file, or a raw JSON filter string
|
|
3135
|
+
|
|
3136
|
+
A JSON object describing a tree of filter conditions: `{ "logic": "AND", "filters": [ { "field": "Field",
|
|
3137
|
+
"operator": "=", "value": "Status__c" } ] }`. Each entry in `filters` is either a condition (`field`, `operator`,
|
|
3138
|
+
`value`) or another nested group with its own `logic`/`filters`. Supported operators are =, !=, >, <, >=, <=, IN,
|
|
3139
|
+
NOT IN, and LIKE (using `%` as a wildcard).
|
|
3140
|
+
|
|
3141
|
+
--object=<value> SObject API name
|
|
3142
|
+
|
|
3143
|
+
The API name of the SObject to query field history for (e.g. Account or Custom_Object__c).
|
|
3144
|
+
```
|
|
3145
|
+
|
|
3146
|
+
_See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.2/packages/simply-sobject/lib/commands/simply/sobject/history/query.js)_
|
|
3147
|
+
|
|
3148
|
+
## `sf simply sobject history schema`
|
|
3149
|
+
|
|
3150
|
+
Report on which objects and fields have field history tracking enabled.
|
|
3151
|
+
|
|
3152
|
+
```
|
|
3153
|
+
USAGE
|
|
3154
|
+
$ sf simply sobject history schema -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-d <value>]
|
|
3155
|
+
|
|
3156
|
+
FLAGS
|
|
3157
|
+
-d, --output-dir=<value> Output directory
|
|
3158
|
+
-o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
|
|
3159
|
+
configuration variable is already set.
|
|
3160
|
+
--api-version=<value> Override the api version used for api requests made by this command
|
|
3161
|
+
|
|
3162
|
+
GLOBAL FLAGS
|
|
3163
|
+
--flags-dir=<value> Import flag values from a directory.
|
|
3164
|
+
--json Format output as json.
|
|
3165
|
+
|
|
3166
|
+
DESCRIPTION
|
|
3167
|
+
Report on which objects and fields have field history tracking enabled.
|
|
3168
|
+
|
|
3169
|
+
Identifies every object with field history tracking enabled, and every tracked field on each, resolving the
|
|
3170
|
+
managed/unlocked package each field belongs to, and writes the results to a timestamped CSV file and a browsable HTML
|
|
3171
|
+
report.
|
|
3172
|
+
|
|
3173
|
+
EXAMPLES
|
|
3174
|
+
$ sf simply sobject history schema --target-org myOrg
|
|
3175
|
+
|
|
3176
|
+
$ sf simply sobject history schema --target-org myOrg --output-dir reports
|
|
3177
|
+
|
|
3178
|
+
FLAG DESCRIPTIONS
|
|
3179
|
+
-d, --output-dir=<value> Output directory
|
|
3180
|
+
|
|
3181
|
+
The directory to save the generated CSV and HTML report files to. Defaults to the current directory.
|
|
3182
|
+
```
|
|
3183
|
+
|
|
3184
|
+
_See code: [@simplysf/simply-sobject](https://github.com/SimplySF/simply-node/blob/@simplysf/simply-sobject@1.6.2/packages/simply-sobject/lib/commands/simply/sobject/history/schema.js)_
|
|
3185
|
+
<!-- commandsstop -->
|
|
3186
|
+
|
|
3187
|
+
## License
|
|
3188
|
+
|
|
3189
|
+
Licensed under the [Apache-2.0](https://raw.githubusercontent.com/SimplySF/simply-node/main/LICENSE.txt) license.
|