@salesforce/plugin-deploy-retrieve 3.22.36 → 3.22.38-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -405,18 +405,16 @@
405
405
  "source:convert:project"
406
406
  ]
407
407
  },
408
- "project:delete:source": {
408
+ "project:deploy:cancel": {
409
409
  "aliases": [
410
- "force:source:delete"
410
+ "deploy:metadata:cancel"
411
411
  ],
412
412
  "args": {},
413
413
  "deprecateAliases": true,
414
- "description": "Use this command to delete components from orgs that don’t have source tracking. To remove deleted items from orgs that have source tracking enabled, \"<%= config.bin %> project deploy start\".\n\nWhen you run this command, both the local source file and the metadata component in the org are deleted.\n\nTo delete multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax applies to --source-dir.",
414
+ "description": "Use this command to cancel a deploy operation that hasn't yet completed in the org. Deploy operations include standard deploys, quick deploys, deploy validations, and deploy cancellations.\n\nRun this command by either passing it a job ID or specifying the --use-most-recent flag to use the job ID of the most recent deploy operation.",
415
415
  "examples": [
416
- "Delete all local Apex source files and all Apex classes from the org with alias \"my-scratch\":\n<%= config.bin %> <%= command.id %> --metadata ApexClass --target-org my-scratch",
417
- "Delete a specific Apex class and a Profile that has a space in it from your default org; don't prompt for confirmation:\n<%= config.bin %> <%= command.id %> --metadata ApexClass:MyFabulousApexClass --metadata \"Profile: My Profile\" --no-prompt",
418
- "Run the tests that aren’t in any managed packages as part of the deletion; if the delete succeeds, and the org has source-tracking enabled, update the source tracking information:\n<%= config.bin %> <%= command.id %> --metadata ApexClass --test-level RunLocalTests --track-source",
419
- "Delete the Apex source files in a directory and the corresponding components from your default org:\n<%= config.bin %> <%= command.id %> --source-dir force-app/main/default/classes"
416
+ "Cancel a deploy operation using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2",
417
+ "Cancel the most recent deploy operation:\n<%= config.bin %> <%= command.id %> --use-most-recent"
420
418
  ],
421
419
  "flags": {
422
420
  "json": {
@@ -434,206 +432,103 @@
434
432
  "multiple": false,
435
433
  "type": "option"
436
434
  },
437
- "api-version": {
438
- "aliases": [
439
- "apiversion"
440
- ],
441
- "deprecateAliases": true,
442
- "description": "Override the api version used for api requests made by this command",
443
- "name": "api-version",
444
- "hasDynamicHelp": false,
445
- "multiple": false,
446
- "type": "option"
447
- },
448
- "loglevel": {
449
- "deprecated": {
450
- "message": "The loglevel flag is no longer in use on this command. You may use it without error, but it will be ignored.\nSet the log level using the `SFDX_LOG_LEVEL` environment variable."
451
- },
452
- "hidden": true,
453
- "name": "loglevel",
454
- "hasDynamicHelp": false,
455
- "multiple": false,
456
- "type": "option"
457
- },
458
435
  "target-org": {
459
- "aliases": [
460
- "targetusername",
461
- "u"
462
- ],
463
436
  "char": "o",
464
- "deprecateAliases": true,
465
437
  "name": "target-org",
466
438
  "noCacheDefault": true,
467
- "required": true,
468
- "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
439
+ "summary": "Username or alias of the target org.",
469
440
  "hasDynamicHelp": true,
470
441
  "multiple": false,
471
442
  "type": "option"
472
443
  },
473
- "check-only": {
474
- "aliases": [
475
- "checkonly"
444
+ "async": {
445
+ "description": "The command immediately returns the control of the terminal to you. This way, you can continue to use the CLI. To resume watching the cancellation, run \"<%= config.bin %> project deploy resume\". To check the status of the cancellation, run \"<%= config.bin %> project deploy report\".",
446
+ "exclusive": [
447
+ "wait"
476
448
  ],
477
- "char": "c",
478
- "deprecateAliases": true,
479
- "description": "IMPORTANT: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.\n\nValidates the deleted metadata and runs all Apex tests, but prevents the deletion from being saved to the org.\n\nIf you change a field type from Master-Detail to Lookup or vice versa, that change isn’t supported when using the --check-only flag to test a deletion (validation). This kind of change isn’t supported for test deletions to avoid the risk of data loss or corruption. If a change that isn’t supported for test deletions is included in a deletion package, the test deletion fails and issues an error.\n\nIf your deletion package changes a field type from Master-Detail to Lookup or vice versa, you can still validate the changes prior to deploying to Production by performing a full deletion to another test Sandbox. A full deletion includes a validation of the changes as part of the deletion process.\n\nNote: A Metadata API deletion that includes Master-Detail relationships deletes all detail records in the Recycle Bin in the following cases.\n\n 1. For a deletion with a new Master-Detail field, soft delete (send to the Recycle Bin) all detail records before proceeding to delete the Master-Detail field, or the deletion fails. During the deletion, detail records are permanently deleted from the Recycle Bin and cannot be recovered.\n\n 2. For a deletion that converts a Lookup field relationship to a Master-Detail relationship, detail records must reference a master record or be soft-deleted (sent to the Recycle Bin) for the deletion to succeed. However, a successful deletion permanently deletes any detail records in the Recycle Bin.",
480
- "name": "check-only",
481
- "summary": "Validate delete command but don't delete anything from the org or the local project.",
449
+ "name": "async",
450
+ "summary": "Run the command asynchronously.",
482
451
  "allowNo": false,
483
452
  "type": "boolean"
484
453
  },
485
- "wait": {
486
- "char": "w",
487
- "description": "If the command continues to run after the wait period, the CLI returns control of the terminal window to you.",
488
- "name": "wait",
489
- "summary": "Number of minutes to wait for the command to finish.",
490
- "hasDynamicHelp": true,
491
- "multiple": false,
492
- "type": "option"
493
- },
494
- "tests": {
495
- "description": "If a test name contains a space, enclose it in double quotes.\nFor multiple test names, use one of the following formats:\n\n- Repeat the flag for multiple test names: --tests Test1 --tests Test2 --tests \"Test With Space\"\n- Separate the test names with spaces: --tests Test1 Test2 \"Test With Space\"",
496
- "helpGroup": "Test",
497
- "name": "tests",
498
- "summary": "Apex tests to run when --test-level is RunSpecifiedTests.",
499
- "hasDynamicHelp": false,
500
- "multiple": true,
501
- "type": "option"
502
- },
503
- "test-level": {
504
- "aliases": [
505
- "testlevel"
506
- ],
507
- "char": "l",
508
- "deprecateAliases": true,
509
- "description": "Valid values are:\n\n- NoTestRun — No tests are run. This test level applies only to deployments to development environments, such as sandbox, Developer Edition, or trial orgs. This test level is the default for development environments.\n\n- RunSpecifiedTests — Runs only the tests that you specify with the --tests flag. Code coverage requirements differ from the default coverage requirements when using this test level. Executed tests must comprise a minimum of 75% code coverage for each class and trigger in the deployment package. This coverage is computed for each class and trigger individually and is different than the overall coverage percentage.\n\n- RunLocalTests — All tests in your org are run, except the ones that originate from installed managed and unlocked packages. This test level is the default for production deployments that include Apex classes or triggers.\n\n- RunAllTestsInOrg — All tests in your org are run, including tests of managed packages.\n\nIf you don’t specify a test level, the default behavior depends on the contents of your deployment package and target org. For more information, see “Running Tests in a Deployment” in the Metadata API Developer Guide.",
510
- "helpGroup": "Test",
511
- "name": "test-level",
512
- "summary": "Deployment Apex testing level.",
454
+ "job-id": {
455
+ "char": "i",
456
+ "description": "These commands return a job ID if they time out or you specified the --async flag:\n\n- <%= config.bin %> project deploy start\n- <%= config.bin %> project deploy validate\n- <%= config.bin %> project deploy quick\n- <%= config.bin %> project deploy cancel\n\nThe job ID is valid for 10 days from when you started the deploy operation.",
457
+ "name": "job-id",
458
+ "summary": "Job ID of the deploy operation you want to cancel.",
513
459
  "hasDynamicHelp": false,
514
460
  "multiple": false,
515
- "options": [
516
- "NoTestRun",
517
- "RunSpecifiedTests",
518
- "RunLocalTests",
519
- "RunAllTestsInOrg"
520
- ],
521
461
  "type": "option"
522
462
  },
523
- "no-prompt": {
524
- "aliases": [
525
- "noprompt"
526
- ],
463
+ "use-most-recent": {
527
464
  "char": "r",
528
- "deprecateAliases": true,
529
- "name": "no-prompt",
530
- "summary": "Don't prompt for delete confirmation.",
465
+ "description": "For performance reasons, this flag uses job IDs for deploy operations that started only in the past 3 days or less. If your most recent deploy operations was more than 3 days ago, this flag won't find a job ID.",
466
+ "name": "use-most-recent",
467
+ "summary": "Use the job ID of the most recent deploy operation.",
531
468
  "allowNo": false,
532
469
  "type": "boolean"
533
470
  },
534
- "metadata": {
535
- "char": "m",
536
- "description": "If you specify this flag, don’t specify --source-dir.",
537
- "name": "metadata",
538
- "summary": "Metadata components to delete.",
539
- "delimiter": ",",
540
- "hasDynamicHelp": false,
541
- "multiple": true,
542
- "type": "option"
543
- },
544
- "source-dir": {
545
- "aliases": [
546
- "sourcepath"
547
- ],
548
- "char": "p",
549
- "deprecateAliases": true,
550
- "description": "The supplied paths can be a single file (in which case the operation is applied to only one file) or a folder (in which case the operation is applied to all metadata types in the directory and its sub-directories).\n\nIf you specify this flag, don’t specify --metadata.",
551
- "name": "source-dir",
552
- "summary": "Source file paths to delete.",
553
- "delimiter": ",",
554
- "hasDynamicHelp": false,
555
- "multiple": true,
556
- "type": "option"
557
- },
558
- "track-source": {
559
- "aliases": [
560
- "tracksource"
561
- ],
562
- "char": "t",
563
- "deprecateAliases": true,
471
+ "wait": {
472
+ "char": "w",
473
+ "description": "If the command continues to run after the wait period, the CLI returns control of the terminal window to you. To resume watching the cancellation, run \"<%= config.bin %> project deploy resume\". To check the status of the cancellation, run \"<%= config.bin %> project deploy report\".",
564
474
  "exclusive": [
565
- "check-only"
566
- ],
567
- "name": "track-source",
568
- "summary": "If the delete succeeds, update the source tracking information.",
569
- "allowNo": false,
570
- "type": "boolean"
571
- },
572
- "force-overwrite": {
573
- "aliases": [
574
- "forceoverwrite"
575
- ],
576
- "char": "f",
577
- "dependsOn": [
578
- "track-source"
475
+ "async"
579
476
  ],
580
- "deprecateAliases": true,
581
- "name": "force-overwrite",
582
- "summary": "Ignore conflict warnings and overwrite changes to the org.",
583
- "allowNo": false,
584
- "type": "boolean"
585
- },
586
- "verbose": {
587
- "name": "verbose",
588
- "summary": "Verbose output of the delete result.",
589
- "allowNo": false,
590
- "type": "boolean"
477
+ "name": "wait",
478
+ "summary": "Number of minutes to wait for the command to complete and display results.",
479
+ "hasDynamicHelp": true,
480
+ "helpValue": "<minutes>",
481
+ "multiple": false,
482
+ "type": "option"
591
483
  }
592
484
  },
593
485
  "hasDynamicHelp": true,
594
486
  "hiddenAliases": [],
595
- "id": "project:delete:source",
487
+ "id": "project:deploy:cancel",
596
488
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
597
489
  "pluginName": "@salesforce/plugin-deploy-retrieve",
598
490
  "pluginType": "core",
599
491
  "strict": true,
600
- "summary": "Delete source from your project and from a non-source-tracked org.",
492
+ "summary": "Cancel a deploy operation.",
601
493
  "enableJsonFlag": true,
602
- "requiresProject": true,
603
494
  "isESM": true,
604
495
  "relativePath": [
605
496
  "lib",
606
497
  "commands",
607
498
  "project",
608
- "delete",
609
- "source.js"
499
+ "deploy",
500
+ "cancel.js"
610
501
  ],
611
502
  "aliasPermutations": [
612
- "force:source:delete",
613
- "source:force:delete",
614
- "source:delete:force",
615
- "force:delete:source",
616
- "delete:force:source",
617
- "delete:source:force"
503
+ "deploy:metadata:cancel",
504
+ "metadata:deploy:cancel",
505
+ "metadata:cancel:deploy",
506
+ "deploy:cancel:metadata",
507
+ "cancel:deploy:metadata",
508
+ "cancel:metadata:deploy"
618
509
  ],
619
510
  "permutations": [
620
- "project:delete:source",
621
- "delete:project:source",
622
- "delete:source:project",
623
- "project:source:delete",
624
- "source:project:delete",
625
- "source:delete:project"
511
+ "project:deploy:cancel",
512
+ "deploy:project:cancel",
513
+ "deploy:cancel:project",
514
+ "project:cancel:deploy",
515
+ "cancel:project:deploy",
516
+ "cancel:deploy:project"
626
517
  ]
627
518
  },
628
- "project:delete:tracking": {
519
+ "project:deploy:preview": {
629
520
  "aliases": [
630
- "force:source:tracking:clear"
521
+ "deploy:metadata:preview"
631
522
  ],
632
523
  "args": {},
633
524
  "deprecateAliases": true,
634
- "description": "WARNING: This command deletes or overwrites all existing source tracking files. Use with extreme caution.\n\nDeletes all local source tracking information. When you next run 'project deploy preview', Salesforce CLI displays all local and remote files as changed, and any files with the same name are listed as conflicts.",
525
+ "description": "You must run this command from within a project.\n\nThe command outputs a table that describes what will happen if you run the \"<%= config.bin %> project deploy start\" command. The table lists the metadata components that will be deployed and deleted. The table also lists the current conflicts between files in your local project and components in the org. Finally, the table lists the files that won't be deployed because they're included in your .forceignore file.\n\nIf your org allows source tracking, then this command displays potential conflicts between the org and your local project. Some orgs, such as production org, never allow source tracking. Source tracking is enabled by default on scratch and sandbox orgs; you can disable source tracking when you create the orgs by specifying the --no-track-source flag on the \"<%= config.bin %> org create scratch|sandbox\" commands.\n\nTo preview the deployment of multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax applies to --source-dir.",
635
526
  "examples": [
636
- "Delete local source tracking for the org with alias \"my-scratch\":\n$ <%= config.bin %> <%= command.id %> --target-org my-scratch"
527
+ "NOTE: The commands to preview a deployment and actually deploy it use similar flags. We provide a few preview examples here, but see the help for \"<%= config.bin %> project deploy start\" for more examples that you can adapt for previewing.",
528
+ "Preview the deployment of source files in a directory, such as force-app, to your default org:\n<%= config.bin %> <%= command.id %> --source-dir force-app",
529
+ "Preview the deployment of all Apex classes to an org with alias \"my-scratch\":\n<%= config.bin %> <%= command.id %> --metadata ApexClass --target-org my-scratch",
530
+ "Preview deployment of a specific Apex class:\n<%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass",
531
+ "Preview deployment of all components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml"
637
532
  ],
638
533
  "flags": {
639
534
  "json": {
@@ -651,279 +546,37 @@
651
546
  "multiple": false,
652
547
  "type": "option"
653
548
  },
654
- "api-version": {
655
- "aliases": [
656
- "apiversion"
549
+ "ignore-conflicts": {
550
+ "char": "c",
551
+ "description": "This flag applies only to orgs that allow source tracking. It has no effect on orgs that don't allow it, such as production orgs.",
552
+ "name": "ignore-conflicts",
553
+ "summary": "Don't display conflicts in preview of the deployment.",
554
+ "allowNo": false,
555
+ "type": "boolean"
556
+ },
557
+ "manifest": {
558
+ "char": "x",
559
+ "description": "All child components are included. If you specify this flag, don’t specify --metadata or --source-dir.",
560
+ "exclusive": [
561
+ "source-dir",
562
+ "metadata"
657
563
  ],
658
- "deprecateAliases": true,
659
- "description": "Override the api version used for api requests made by this command",
660
- "name": "api-version",
564
+ "name": "manifest",
565
+ "summary": "Full file path for manifest (package.xml) of components to preview.",
661
566
  "hasDynamicHelp": false,
662
567
  "multiple": false,
663
568
  "type": "option"
664
569
  },
665
- "loglevel": {
666
- "deprecated": {
667
- "message": "The loglevel flag is no longer in use on this command. You may use it without error, but it will be ignored.\nSet the log level using the `SFDX_LOG_LEVEL` environment variable."
668
- },
669
- "hidden": true,
670
- "name": "loglevel",
570
+ "metadata": {
571
+ "char": "m",
572
+ "exclusive": [
573
+ "manifest",
574
+ "source-dir"
575
+ ],
576
+ "name": "metadata",
577
+ "summary": "Metadata component names to preview.",
671
578
  "hasDynamicHelp": false,
672
- "multiple": false,
673
- "type": "option"
674
- },
675
- "target-org": {
676
- "aliases": [
677
- "targetusername",
678
- "u"
679
- ],
680
- "char": "o",
681
- "deprecateAliases": true,
682
- "name": "target-org",
683
- "noCacheDefault": true,
684
- "required": true,
685
- "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
686
- "hasDynamicHelp": true,
687
- "multiple": false,
688
- "type": "option"
689
- },
690
- "no-prompt": {
691
- "aliases": [
692
- "noprompt"
693
- ],
694
- "char": "p",
695
- "deprecateAliases": true,
696
- "name": "no-prompt",
697
- "summary": "Don't prompt for source tracking override confirmation.",
698
- "allowNo": false,
699
- "type": "boolean"
700
- }
701
- },
702
- "hasDynamicHelp": true,
703
- "hiddenAliases": [],
704
- "id": "project:delete:tracking",
705
- "pluginAlias": "@salesforce/plugin-deploy-retrieve",
706
- "pluginName": "@salesforce/plugin-deploy-retrieve",
707
- "pluginType": "core",
708
- "strict": true,
709
- "summary": "Delete all local source tracking information.",
710
- "enableJsonFlag": true,
711
- "requiresProject": true,
712
- "isESM": true,
713
- "relativePath": [
714
- "lib",
715
- "commands",
716
- "project",
717
- "delete",
718
- "tracking.js"
719
- ],
720
- "aliasPermutations": [
721
- "force:source:tracking:clear",
722
- "source:force:tracking:clear",
723
- "source:tracking:force:clear",
724
- "source:tracking:clear:force",
725
- "force:tracking:source:clear",
726
- "tracking:force:source:clear",
727
- "tracking:source:force:clear",
728
- "tracking:source:clear:force",
729
- "force:tracking:clear:source",
730
- "tracking:force:clear:source",
731
- "tracking:clear:force:source",
732
- "tracking:clear:source:force",
733
- "force:source:clear:tracking",
734
- "source:force:clear:tracking",
735
- "source:clear:force:tracking",
736
- "source:clear:tracking:force",
737
- "force:clear:source:tracking",
738
- "clear:force:source:tracking",
739
- "clear:source:force:tracking",
740
- "clear:source:tracking:force",
741
- "force:clear:tracking:source",
742
- "clear:force:tracking:source",
743
- "clear:tracking:force:source",
744
- "clear:tracking:source:force"
745
- ],
746
- "permutations": [
747
- "project:delete:tracking",
748
- "delete:project:tracking",
749
- "delete:tracking:project",
750
- "project:tracking:delete",
751
- "tracking:project:delete",
752
- "tracking:delete:project"
753
- ]
754
- },
755
- "project:deploy:cancel": {
756
- "aliases": [
757
- "deploy:metadata:cancel"
758
- ],
759
- "args": {},
760
- "deprecateAliases": true,
761
- "description": "Use this command to cancel a deploy operation that hasn't yet completed in the org. Deploy operations include standard deploys, quick deploys, deploy validations, and deploy cancellations.\n\nRun this command by either passing it a job ID or specifying the --use-most-recent flag to use the job ID of the most recent deploy operation.",
762
- "examples": [
763
- "Cancel a deploy operation using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2",
764
- "Cancel the most recent deploy operation:\n<%= config.bin %> <%= command.id %> --use-most-recent"
765
- ],
766
- "flags": {
767
- "json": {
768
- "description": "Format output as json.",
769
- "helpGroup": "GLOBAL",
770
- "name": "json",
771
- "allowNo": false,
772
- "type": "boolean"
773
- },
774
- "flags-dir": {
775
- "helpGroup": "GLOBAL",
776
- "name": "flags-dir",
777
- "summary": "Import flag values from a directory.",
778
- "hasDynamicHelp": false,
779
- "multiple": false,
780
- "type": "option"
781
- },
782
- "target-org": {
783
- "char": "o",
784
- "name": "target-org",
785
- "noCacheDefault": true,
786
- "summary": "Username or alias of the target org.",
787
- "hasDynamicHelp": true,
788
- "multiple": false,
789
- "type": "option"
790
- },
791
- "async": {
792
- "description": "The command immediately returns the control of the terminal to you. This way, you can continue to use the CLI. To resume watching the cancellation, run \"<%= config.bin %> project deploy resume\". To check the status of the cancellation, run \"<%= config.bin %> project deploy report\".",
793
- "exclusive": [
794
- "wait"
795
- ],
796
- "name": "async",
797
- "summary": "Run the command asynchronously.",
798
- "allowNo": false,
799
- "type": "boolean"
800
- },
801
- "job-id": {
802
- "char": "i",
803
- "description": "These commands return a job ID if they time out or you specified the --async flag:\n\n- <%= config.bin %> project deploy start\n- <%= config.bin %> project deploy validate\n- <%= config.bin %> project deploy quick\n- <%= config.bin %> project deploy cancel\n\nThe job ID is valid for 10 days from when you started the deploy operation.",
804
- "name": "job-id",
805
- "summary": "Job ID of the deploy operation you want to cancel.",
806
- "hasDynamicHelp": false,
807
- "multiple": false,
808
- "type": "option"
809
- },
810
- "use-most-recent": {
811
- "char": "r",
812
- "description": "For performance reasons, this flag uses job IDs for deploy operations that started only in the past 3 days or less. If your most recent deploy operations was more than 3 days ago, this flag won't find a job ID.",
813
- "name": "use-most-recent",
814
- "summary": "Use the job ID of the most recent deploy operation.",
815
- "allowNo": false,
816
- "type": "boolean"
817
- },
818
- "wait": {
819
- "char": "w",
820
- "description": "If the command continues to run after the wait period, the CLI returns control of the terminal window to you. To resume watching the cancellation, run \"<%= config.bin %> project deploy resume\". To check the status of the cancellation, run \"<%= config.bin %> project deploy report\".",
821
- "exclusive": [
822
- "async"
823
- ],
824
- "name": "wait",
825
- "summary": "Number of minutes to wait for the command to complete and display results.",
826
- "hasDynamicHelp": true,
827
- "helpValue": "<minutes>",
828
- "multiple": false,
829
- "type": "option"
830
- }
831
- },
832
- "hasDynamicHelp": true,
833
- "hiddenAliases": [],
834
- "id": "project:deploy:cancel",
835
- "pluginAlias": "@salesforce/plugin-deploy-retrieve",
836
- "pluginName": "@salesforce/plugin-deploy-retrieve",
837
- "pluginType": "core",
838
- "strict": true,
839
- "summary": "Cancel a deploy operation.",
840
- "enableJsonFlag": true,
841
- "isESM": true,
842
- "relativePath": [
843
- "lib",
844
- "commands",
845
- "project",
846
- "deploy",
847
- "cancel.js"
848
- ],
849
- "aliasPermutations": [
850
- "deploy:metadata:cancel",
851
- "metadata:deploy:cancel",
852
- "metadata:cancel:deploy",
853
- "deploy:cancel:metadata",
854
- "cancel:deploy:metadata",
855
- "cancel:metadata:deploy"
856
- ],
857
- "permutations": [
858
- "project:deploy:cancel",
859
- "deploy:project:cancel",
860
- "deploy:cancel:project",
861
- "project:cancel:deploy",
862
- "cancel:project:deploy",
863
- "cancel:deploy:project"
864
- ]
865
- },
866
- "project:deploy:preview": {
867
- "aliases": [
868
- "deploy:metadata:preview"
869
- ],
870
- "args": {},
871
- "deprecateAliases": true,
872
- "description": "You must run this command from within a project.\n\nThe command outputs a table that describes what will happen if you run the \"<%= config.bin %> project deploy start\" command. The table lists the metadata components that will be deployed and deleted. The table also lists the current conflicts between files in your local project and components in the org. Finally, the table lists the files that won't be deployed because they're included in your .forceignore file.\n\nIf your org allows source tracking, then this command displays potential conflicts between the org and your local project. Some orgs, such as production org, never allow source tracking. Source tracking is enabled by default on scratch and sandbox orgs; you can disable source tracking when you create the orgs by specifying the --no-track-source flag on the \"<%= config.bin %> org create scratch|sandbox\" commands.\n\nTo preview the deployment of multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax applies to --source-dir.",
873
- "examples": [
874
- "NOTE: The commands to preview a deployment and actually deploy it use similar flags. We provide a few preview examples here, but see the help for \"<%= config.bin %> project deploy start\" for more examples that you can adapt for previewing.",
875
- "Preview the deployment of source files in a directory, such as force-app, to your default org:\n<%= config.bin %> <%= command.id %> --source-dir force-app",
876
- "Preview the deployment of all Apex classes to an org with alias \"my-scratch\":\n<%= config.bin %> <%= command.id %> --metadata ApexClass --target-org my-scratch",
877
- "Preview deployment of a specific Apex class:\n<%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass",
878
- "Preview deployment of all components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml"
879
- ],
880
- "flags": {
881
- "json": {
882
- "description": "Format output as json.",
883
- "helpGroup": "GLOBAL",
884
- "name": "json",
885
- "allowNo": false,
886
- "type": "boolean"
887
- },
888
- "flags-dir": {
889
- "helpGroup": "GLOBAL",
890
- "name": "flags-dir",
891
- "summary": "Import flag values from a directory.",
892
- "hasDynamicHelp": false,
893
- "multiple": false,
894
- "type": "option"
895
- },
896
- "ignore-conflicts": {
897
- "char": "c",
898
- "description": "This flag applies only to orgs that allow source tracking. It has no effect on orgs that don't allow it, such as production orgs.",
899
- "name": "ignore-conflicts",
900
- "summary": "Don't display conflicts in preview of the deployment.",
901
- "allowNo": false,
902
- "type": "boolean"
903
- },
904
- "manifest": {
905
- "char": "x",
906
- "description": "All child components are included. If you specify this flag, don’t specify --metadata or --source-dir.",
907
- "exclusive": [
908
- "source-dir",
909
- "metadata"
910
- ],
911
- "name": "manifest",
912
- "summary": "Full file path for manifest (package.xml) of components to preview.",
913
- "hasDynamicHelp": false,
914
- "multiple": false,
915
- "type": "option"
916
- },
917
- "metadata": {
918
- "char": "m",
919
- "exclusive": [
920
- "manifest",
921
- "source-dir"
922
- ],
923
- "name": "metadata",
924
- "summary": "Metadata component names to preview.",
925
- "hasDynamicHelp": false,
926
- "multiple": true,
579
+ "multiple": true,
927
580
  "type": "option"
928
581
  },
929
582
  "source-dir": {
@@ -1429,16 +1082,418 @@
1429
1082
  },
1430
1083
  "hasDynamicHelp": true,
1431
1084
  "hiddenAliases": [],
1432
- "id": "project:deploy:resume",
1085
+ "id": "project:deploy:resume",
1086
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
1087
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
1088
+ "pluginType": "core",
1089
+ "strict": true,
1090
+ "summary": "Resume watching a deploy operation and update source tracking when the deploy completes.",
1091
+ "enableJsonFlag": true,
1092
+ "envVariablesSection": {
1093
+ "header": "ENVIRONMENT VARIABLES",
1094
+ "body": [
1095
+ {
1096
+ "name": "SF_USE_PROGRESS_BAR",
1097
+ "description": "Set to false to disable the progress bar when running the metadata deploy command."
1098
+ }
1099
+ ]
1100
+ },
1101
+ "errorCodes": {
1102
+ "header": "ERROR CODES",
1103
+ "body": [
1104
+ {
1105
+ "name": "Succeeded (0)",
1106
+ "description": "The deploy succeeded."
1107
+ },
1108
+ {
1109
+ "name": "Canceled (1)",
1110
+ "description": "The deploy was canceled."
1111
+ },
1112
+ {
1113
+ "name": "Failed (1)",
1114
+ "description": "The deploy failed."
1115
+ },
1116
+ {
1117
+ "name": "SucceededPartial (68)",
1118
+ "description": "The deploy partially succeeded."
1119
+ },
1120
+ {
1121
+ "name": "InProgress (69)",
1122
+ "description": "The deploy is in progress."
1123
+ },
1124
+ {
1125
+ "name": "Pending (69)",
1126
+ "description": "The deploy is pending."
1127
+ },
1128
+ {
1129
+ "name": "Canceling (69)",
1130
+ "description": "The deploy is being canceled."
1131
+ }
1132
+ ]
1133
+ },
1134
+ "isESM": true,
1135
+ "relativePath": [
1136
+ "lib",
1137
+ "commands",
1138
+ "project",
1139
+ "deploy",
1140
+ "resume.js"
1141
+ ],
1142
+ "aliasPermutations": [
1143
+ "deploy:metadata:resume",
1144
+ "metadata:deploy:resume",
1145
+ "metadata:resume:deploy",
1146
+ "deploy:resume:metadata",
1147
+ "resume:deploy:metadata",
1148
+ "resume:metadata:deploy"
1149
+ ],
1150
+ "permutations": [
1151
+ "project:deploy:resume",
1152
+ "deploy:project:resume",
1153
+ "deploy:resume:project",
1154
+ "project:resume:deploy",
1155
+ "resume:project:deploy",
1156
+ "resume:deploy:project"
1157
+ ]
1158
+ },
1159
+ "project:deploy:start": {
1160
+ "aliases": [
1161
+ "deploy:metadata"
1162
+ ],
1163
+ "args": {},
1164
+ "deprecateAliases": true,
1165
+ "description": "You must run this command from within a project.\n\nMetadata components are deployed in source format by default. Deploy them in metadata format by specifying the --metadata-dir flag, which specifies the root directory or ZIP file that contains the metadata formatted files you want to deploy.\n\nIf your org allows source tracking, then this command tracks the changes in your source. Some orgs, such as production orgs, never allow source tracking. Source tracking is enabled by default on scratch and sandbox orgs; you can disable source tracking when you create the orgs by specifying the --no-track-source flag on the \"<%= config.bin %> org create scratch|sandbox\" commands.\n\nTo deploy multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax applies to --source-dir.",
1166
+ "examples": [
1167
+ "Deploy local changes not in the org; uses your default org:\n<%= config.bin %> <%= command.id %>",
1168
+ "Deploy all source files in the \"force-app\" directory to an org with alias \"my-scratch\"; show only concise output, in other words don't print a list of all the source that was deployed:\n<%= config.bin %> <%= command.id %> --source-dir force-app --target-org my-scratch --concise",
1169
+ "Deploy all the Apex classes and custom objects that are in the \"force-app\" directory. The list views, layouts, etc, that are associated with the custom objects are also deployed. Both examples are equivalent:\n<%= config.bin %> <%= command.id %> --source-dir force-app/main/default/classes force-app/main/default/objects\n<%= config.bin %> <%= command.id %> --source-dir force-app/main/default/classes --source-dir force-app/main/default/objects",
1170
+ "Deploy all Apex classes that are in all package directories defined in the \"sfdx-project.json\" file:\n<%= config.bin %> <%= command.id %> --metadata ApexClass",
1171
+ "Deploy a specific Apex class; ignore any conflicts between the local project and org (be careful with this flag, because it will overwrite the Apex class in the org if there are conflicts!):\n<%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass --ignore-conflicts",
1172
+ "Deploy specific Apex classes that match a pattern; in this example, deploy Apex classes whose names contain the string \"MyApex\". Also ignore any deployment warnings (again, be careful with this flag! You typically want to see the warnings):\n<%= config.bin %> <%= command.id %> --metadata 'ApexClass:MyApex*' --ignore-warnings",
1173
+ "Deploy a custom object called ExcitingObject that's in the SBQQ namespace:\nsf <%= command.id %> --metadata CustomObject:SBQQ__ExcitingObject",
1174
+ "Deploy all custom objects in the SBQQ namespace by using a wildcard and quotes:\nsf <%= command.id %> --metadata 'CustomObject:SBQQ__*'",
1175
+ "Deploy all custom objects and Apex classes found in all defined package directories (both examples are equivalent):\n<%= config.bin %> <%= command.id %> --metadata CustomObject ApexClass\n<%= config.bin %> <%= command.id %> --metadata CustomObject --metadata ApexClass",
1176
+ "Deploy all Apex classes and a profile that has a space in its name:\n<%= config.bin %> <%= command.id %> --metadata ApexClass --metadata \"Profile:My Profile\"",
1177
+ "Deploy all components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml",
1178
+ "Run the tests that aren’t in any managed packages as part of a deployment:\n<%= config.bin %> <%= command.id %> --metadata ApexClass --test-level RunLocalTests",
1179
+ "Deploy all metadata formatted files in the \"MDAPI\" directory:\n<%= config.bin %> <%= command.id %> --metadata-dir MDAPI",
1180
+ "Deploy all metadata formatted files in the \"MDAPI\" directory; items listed in the MDAPI/destructiveChangesPre.xml and MDAPI/destructiveChangesPost.xml manifests are immediately eligible for deletion rather than stored in the Recycle Bin:\n<%= config.bin %> <%= command.id %> --metadata-dir MDAPI --purge-on-delete"
1181
+ ],
1182
+ "flags": {
1183
+ "json": {
1184
+ "description": "Format output as json.",
1185
+ "helpGroup": "GLOBAL",
1186
+ "name": "json",
1187
+ "allowNo": false,
1188
+ "type": "boolean"
1189
+ },
1190
+ "flags-dir": {
1191
+ "helpGroup": "GLOBAL",
1192
+ "name": "flags-dir",
1193
+ "summary": "Import flag values from a directory.",
1194
+ "hasDynamicHelp": false,
1195
+ "multiple": false,
1196
+ "type": "option"
1197
+ },
1198
+ "api-version": {
1199
+ "char": "a",
1200
+ "description": "Use this flag to override the default API version with the API version of your package.xml file. The default API version is the latest version supported by the CLI.",
1201
+ "name": "api-version",
1202
+ "summary": "Target API version for the deploy.",
1203
+ "hasDynamicHelp": false,
1204
+ "multiple": false,
1205
+ "type": "option"
1206
+ },
1207
+ "async": {
1208
+ "description": "The command immediately returns the job ID and control of the terminal to you. This way, you can continue to use the CLI. To resume the deployment, run \"<%= config.bin %> project deploy resume\". To check the status of the deployment, run \"<%= config.bin %> project deploy report\".",
1209
+ "exclusive": [
1210
+ "wait"
1211
+ ],
1212
+ "name": "async",
1213
+ "summary": "Run the command asynchronously.",
1214
+ "allowNo": false,
1215
+ "type": "boolean"
1216
+ },
1217
+ "concise": {
1218
+ "exclusive": [
1219
+ "verbose"
1220
+ ],
1221
+ "name": "concise",
1222
+ "summary": "Show concise output of the deploy result.",
1223
+ "allowNo": false,
1224
+ "type": "boolean"
1225
+ },
1226
+ "dry-run": {
1227
+ "name": "dry-run",
1228
+ "summary": "Validate deploy and run Apex tests but don’t save to the org.",
1229
+ "allowNo": false,
1230
+ "type": "boolean"
1231
+ },
1232
+ "ignore-conflicts": {
1233
+ "char": "c",
1234
+ "description": "This flag applies only to orgs that allow source tracking. It has no effect on orgs that don't allow it, such as production orgs.",
1235
+ "name": "ignore-conflicts",
1236
+ "summary": "Ignore conflicts and deploy local files, even if they overwrite changes in the org.",
1237
+ "allowNo": false,
1238
+ "type": "boolean"
1239
+ },
1240
+ "ignore-errors": {
1241
+ "char": "r",
1242
+ "description": "Never use this flag when deploying to a production org. If you specify it, components without errors are deployed and components with errors are skipped, and could result in an inconsistent production org.",
1243
+ "name": "ignore-errors",
1244
+ "summary": "Ignore any errors and don’t roll back deployment.",
1245
+ "allowNo": false,
1246
+ "type": "boolean"
1247
+ },
1248
+ "ignore-warnings": {
1249
+ "char": "g",
1250
+ "description": "If you specify this flag, and a warning occurs, the success status of the deployment is set to true. If you don't specify this flag, and a warning occurs, then the success status is set to false, and the warning is treated like an error.\n\nThis flag is useful in a CI environment and your deployment includes destructive changes; if you try to delete a component that doesn't exist in the org, you get a warning. In this case, to ensure that the command returns a success value of true, specify this flag.",
1251
+ "name": "ignore-warnings",
1252
+ "summary": "Ignore warnings and allow a deployment to complete successfully.",
1253
+ "allowNo": false,
1254
+ "type": "boolean"
1255
+ },
1256
+ "manifest": {
1257
+ "char": "x",
1258
+ "description": "All child components are included. If you specify this flag, don’t specify --metadata or --source-dir.",
1259
+ "exclusive": [
1260
+ "source-dir",
1261
+ "metadata",
1262
+ "metadata-dir"
1263
+ ],
1264
+ "helpGroup": "Source Format",
1265
+ "name": "manifest",
1266
+ "summary": "Full file path for manifest (package.xml) of components to deploy.",
1267
+ "hasDynamicHelp": false,
1268
+ "multiple": false,
1269
+ "type": "option"
1270
+ },
1271
+ "metadata": {
1272
+ "char": "m",
1273
+ "exclusive": [
1274
+ "manifest",
1275
+ "source-dir",
1276
+ "metadata-dir"
1277
+ ],
1278
+ "helpGroup": "Source Format",
1279
+ "name": "metadata",
1280
+ "summary": "Metadata component names to deploy. Wildcards (`*` ) supported as long as you use quotes, such as `ApexClass:MyClass*`.",
1281
+ "hasDynamicHelp": false,
1282
+ "multiple": true,
1283
+ "type": "option"
1284
+ },
1285
+ "metadata-dir": {
1286
+ "exclusive": [
1287
+ "manifest",
1288
+ "source-dir",
1289
+ "metadata"
1290
+ ],
1291
+ "helpGroup": "Metadata API Format",
1292
+ "name": "metadata-dir",
1293
+ "summary": "Root of directory or zip file of metadata formatted files to deploy.",
1294
+ "hasDynamicHelp": false,
1295
+ "multiple": false,
1296
+ "type": "option"
1297
+ },
1298
+ "single-package": {
1299
+ "dependsOn": [
1300
+ "metadata-dir"
1301
+ ],
1302
+ "helpGroup": "Metadata API Format",
1303
+ "name": "single-package",
1304
+ "summary": "Indicates that the metadata zip file points to a directory structure for a single package.",
1305
+ "allowNo": false,
1306
+ "type": "boolean"
1307
+ },
1308
+ "source-dir": {
1309
+ "char": "d",
1310
+ "description": "The supplied path can be to a single file (in which case the operation is applied to only one file) or to a folder (in which case the operation is applied to all metadata types in the directory and its subdirectories).\n\nIf you specify this flag, don’t specify --metadata or --manifest.",
1311
+ "exclusive": [
1312
+ "manifest",
1313
+ "metadata",
1314
+ "metadata-dir"
1315
+ ],
1316
+ "helpGroup": "Source Format",
1317
+ "name": "source-dir",
1318
+ "summary": "Path to the local source files to deploy.",
1319
+ "hasDynamicHelp": false,
1320
+ "multiple": true,
1321
+ "type": "option"
1322
+ },
1323
+ "target-org": {
1324
+ "char": "o",
1325
+ "name": "target-org",
1326
+ "noCacheDefault": true,
1327
+ "required": true,
1328
+ "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
1329
+ "hasDynamicHelp": true,
1330
+ "multiple": false,
1331
+ "type": "option"
1332
+ },
1333
+ "tests": {
1334
+ "char": "t",
1335
+ "description": "If a test name contains a space, enclose it in double quotes.\nFor multiple test names, use one of the following formats:\n\n- Repeat the flag for multiple test names: --tests Test1 --tests Test2 --tests \"Test With Space\"\n- Separate the test names with spaces: --tests Test1 Test2 \"Test With Space\"",
1336
+ "helpGroup": "Test",
1337
+ "name": "tests",
1338
+ "summary": "Apex tests to run when --test-level is RunSpecifiedTests.",
1339
+ "hasDynamicHelp": false,
1340
+ "multiple": true,
1341
+ "type": "option"
1342
+ },
1343
+ "test-level": {
1344
+ "char": "l",
1345
+ "description": "Valid values are:\n\n- NoTestRun — No tests are run. This test level applies only to deployments to development environments, such as sandbox, Developer Edition, or trial orgs. This test level is the default for development environments.\n\n- RunSpecifiedTests — Runs only the tests that you specify with the --tests flag. Code coverage requirements differ from the default coverage requirements when using this test level. Executed tests must comprise a minimum of 75% code coverage for each class and trigger in the deployment package. This coverage is computed for each class and trigger individually and is different than the overall coverage percentage.\n\n- RunLocalTests — All tests in your org are run, except the ones that originate from installed managed and unlocked packages. This test level is the default for production deployments that include Apex classes or triggers.\n\n- RunAllTestsInOrg — All tests in your org are run, including tests of managed packages.\n\n If you don’t specify a test level, the default behavior depends on the contents of your deployment package and target org. For more information, see [Running Tests in a Deployment](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_running_tests.htm) in the \"Metadata API Developer Guide\".",
1346
+ "helpGroup": "Test",
1347
+ "name": "test-level",
1348
+ "summary": "Deployment Apex testing level.",
1349
+ "hasDynamicHelp": false,
1350
+ "multiple": false,
1351
+ "options": [
1352
+ "NoTestRun",
1353
+ "RunSpecifiedTests",
1354
+ "RunLocalTests",
1355
+ "RunAllTestsInOrg"
1356
+ ],
1357
+ "type": "option"
1358
+ },
1359
+ "verbose": {
1360
+ "exclusive": [
1361
+ "concise"
1362
+ ],
1363
+ "name": "verbose",
1364
+ "summary": "Show verbose output of the deploy result.",
1365
+ "allowNo": false,
1366
+ "type": "boolean"
1367
+ },
1368
+ "wait": {
1369
+ "char": "w",
1370
+ "description": "If the command continues to run after the wait period, the CLI returns control of the terminal window to you and returns the job ID. To resume the deployment, run \"<%= config.bin %> project deploy resume\". To check the status of the deployment, run \"<%= config.bin %> project deploy report\".",
1371
+ "exclusive": [
1372
+ "async"
1373
+ ],
1374
+ "name": "wait",
1375
+ "summary": "Number of minutes to wait for command to complete and display results.",
1376
+ "hasDynamicHelp": true,
1377
+ "helpValue": "<minutes>",
1378
+ "multiple": false,
1379
+ "type": "option"
1380
+ },
1381
+ "purge-on-delete": {
1382
+ "helpGroup": "Delete",
1383
+ "name": "purge-on-delete",
1384
+ "relationships": [
1385
+ {
1386
+ "type": "some",
1387
+ "flags": [
1388
+ "pre-destructive-changes",
1389
+ "manifest",
1390
+ "metadata-dir",
1391
+ "post-destructive-changes"
1392
+ ]
1393
+ }
1394
+ ],
1395
+ "summary": "Specify that deleted components in the destructive changes manifest file are immediately eligible for deletion rather than being stored in the Recycle Bin.",
1396
+ "allowNo": false,
1397
+ "type": "boolean"
1398
+ },
1399
+ "pre-destructive-changes": {
1400
+ "dependsOn": [
1401
+ "manifest"
1402
+ ],
1403
+ "helpGroup": "Delete",
1404
+ "name": "pre-destructive-changes",
1405
+ "summary": "File path for a manifest (destructiveChangesPre.xml) of components to delete before the deploy.",
1406
+ "hasDynamicHelp": false,
1407
+ "multiple": false,
1408
+ "type": "option"
1409
+ },
1410
+ "post-destructive-changes": {
1411
+ "dependsOn": [
1412
+ "manifest"
1413
+ ],
1414
+ "helpGroup": "Delete",
1415
+ "name": "post-destructive-changes",
1416
+ "summary": "File path for a manifest (destructiveChangesPost.xml) of components to delete after the deploy.",
1417
+ "hasDynamicHelp": false,
1418
+ "multiple": false,
1419
+ "type": "option"
1420
+ },
1421
+ "coverage-formatters": {
1422
+ "description": "For multiple formatters, repeat the flag for each formatter.\n--coverage-formatters lcov --coverage-formatters clover",
1423
+ "helpGroup": "Test",
1424
+ "name": "coverage-formatters",
1425
+ "summary": "Format of the code coverage results.",
1426
+ "hasDynamicHelp": false,
1427
+ "multiple": true,
1428
+ "options": [
1429
+ "clover",
1430
+ "cobertura",
1431
+ "html-spa",
1432
+ "html",
1433
+ "json",
1434
+ "json-summary",
1435
+ "lcovonly",
1436
+ "none",
1437
+ "teamcity",
1438
+ "text",
1439
+ "text-summary"
1440
+ ],
1441
+ "type": "option"
1442
+ },
1443
+ "junit": {
1444
+ "helpGroup": "Test",
1445
+ "name": "junit",
1446
+ "summary": "Output JUnit test results.",
1447
+ "allowNo": false,
1448
+ "type": "boolean"
1449
+ },
1450
+ "results-dir": {
1451
+ "helpGroup": "Test",
1452
+ "name": "results-dir",
1453
+ "relationships": [
1454
+ {
1455
+ "type": "some",
1456
+ "flags": [
1457
+ "coverage-formatters",
1458
+ "junit"
1459
+ ]
1460
+ }
1461
+ ],
1462
+ "summary": "Output directory for code coverage and JUnit results; defaults to the deploy ID.",
1463
+ "hasDynamicHelp": false,
1464
+ "multiple": false,
1465
+ "type": "option"
1466
+ }
1467
+ },
1468
+ "hasDynamicHelp": true,
1469
+ "hiddenAliases": [],
1470
+ "id": "project:deploy:start",
1433
1471
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
1434
1472
  "pluginName": "@salesforce/plugin-deploy-retrieve",
1435
1473
  "pluginType": "core",
1436
1474
  "strict": true,
1437
- "summary": "Resume watching a deploy operation and update source tracking when the deploy completes.",
1475
+ "summary": "Deploy metadata to an org from your local project.",
1438
1476
  "enableJsonFlag": true,
1477
+ "configurationVariablesSection": {
1478
+ "header": "CONFIGURATION VARIABLES",
1479
+ "body": [
1480
+ {
1481
+ "name": "target-org",
1482
+ "description": "Username or alias of the org that all commands run against by default. (sf only)"
1483
+ },
1484
+ {
1485
+ "name": "org-api-version",
1486
+ "description": "API version of your project. Default: API version of your Dev Hub org."
1487
+ }
1488
+ ]
1489
+ },
1439
1490
  "envVariablesSection": {
1440
1491
  "header": "ENVIRONMENT VARIABLES",
1441
1492
  "body": [
1493
+ {
1494
+ "name": "SF_TARGET_ORG",
1495
+ "description": "Username or alias of your default org. Overrides the target-org configuration variable."
1496
+ },
1442
1497
  {
1443
1498
  "name": "SF_USE_PROGRESS_BAR",
1444
1499
  "description": "Set to false to disable the progress bar when running the metadata deploy command."
@@ -1484,47 +1539,34 @@
1484
1539
  "commands",
1485
1540
  "project",
1486
1541
  "deploy",
1487
- "resume.js"
1542
+ "start.js"
1488
1543
  ],
1489
1544
  "aliasPermutations": [
1490
- "deploy:metadata:resume",
1491
- "metadata:deploy:resume",
1492
- "metadata:resume:deploy",
1493
- "deploy:resume:metadata",
1494
- "resume:deploy:metadata",
1495
- "resume:metadata:deploy"
1545
+ "deploy:metadata",
1546
+ "metadata:deploy"
1496
1547
  ],
1497
1548
  "permutations": [
1498
- "project:deploy:resume",
1499
- "deploy:project:resume",
1500
- "deploy:resume:project",
1501
- "project:resume:deploy",
1502
- "resume:project:deploy",
1503
- "resume:deploy:project"
1549
+ "project:deploy:start",
1550
+ "deploy:project:start",
1551
+ "deploy:start:project",
1552
+ "project:start:deploy",
1553
+ "start:project:deploy",
1554
+ "start:deploy:project"
1504
1555
  ]
1505
1556
  },
1506
- "project:deploy:start": {
1557
+ "project:deploy:validate": {
1507
1558
  "aliases": [
1508
- "deploy:metadata"
1559
+ "deploy:metadata:validate"
1509
1560
  ],
1510
1561
  "args": {},
1511
1562
  "deprecateAliases": true,
1512
- "description": "You must run this command from within a project.\n\nMetadata components are deployed in source format by default. Deploy them in metadata format by specifying the --metadata-dir flag, which specifies the root directory or ZIP file that contains the metadata formatted files you want to deploy.\n\nIf your org allows source tracking, then this command tracks the changes in your source. Some orgs, such as production orgs, never allow source tracking. Source tracking is enabled by default on scratch and sandbox orgs; you can disable source tracking when you create the orgs by specifying the --no-track-source flag on the \"<%= config.bin %> org create scratch|sandbox\" commands.\n\nTo deploy multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax applies to --source-dir.",
1563
+ "description": "Use this command to verify whether a deployment will succeed without actually deploying the metadata to your org. This command is similar to \"<%= config.bin %> project deploy start\", except you're required to run Apex tests, and the command returns a job ID rather than executing the deployment. If the validation succeeds, then you pass this job ID to the \"<%= config.bin %> project deploy quick\" command to actually deploy the metadata. This quick deploy takes less time because it skips running Apex tests. The job ID is valid for 10 days from when you started the validation. Validating first is useful if the deployment to your production org take several hours and you don’t want to risk a failed deploy.\n\nYou must run this command from within a project.\n\nThis command doesn't support source-tracking. When you quick deploy with the resulting job ID, the source you deploy overwrites the corresponding metadata in your org.\n\nTo validate the deployment of multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax applies to --source-dir.\n\nNote: Don't use this command on sandboxes; the command is intended to be used on production orgs. By default, sandboxes don't run tests during a deploy. If you want to validate a deployment with tests on a sandbox, use \"<%= config.bin %> project deploy start --dry-run --test-level RunLocalTests\" instead.",
1513
1564
  "examples": [
1514
- "Deploy local changes not in the org; uses your default org:\n<%= config.bin %> <%= command.id %>",
1515
- "Deploy all source files in the \"force-app\" directory to an org with alias \"my-scratch\"; show only concise output, in other words don't print a list of all the source that was deployed:\n<%= config.bin %> <%= command.id %> --source-dir force-app --target-org my-scratch --concise",
1516
- "Deploy all the Apex classes and custom objects that are in the \"force-app\" directory. The list views, layouts, etc, that are associated with the custom objects are also deployed. Both examples are equivalent:\n<%= config.bin %> <%= command.id %> --source-dir force-app/main/default/classes force-app/main/default/objects\n<%= config.bin %> <%= command.id %> --source-dir force-app/main/default/classes --source-dir force-app/main/default/objects",
1517
- "Deploy all Apex classes that are in all package directories defined in the \"sfdx-project.json\" file:\n<%= config.bin %> <%= command.id %> --metadata ApexClass",
1518
- "Deploy a specific Apex class; ignore any conflicts between the local project and org (be careful with this flag, because it will overwrite the Apex class in the org if there are conflicts!):\n<%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass --ignore-conflicts",
1519
- "Deploy specific Apex classes that match a pattern; in this example, deploy Apex classes whose names contain the string \"MyApex\". Also ignore any deployment warnings (again, be careful with this flag! You typically want to see the warnings):\n<%= config.bin %> <%= command.id %> --metadata 'ApexClass:MyApex*' --ignore-warnings",
1520
- "Deploy a custom object called ExcitingObject that's in the SBQQ namespace:\nsf <%= command.id %> --metadata CustomObject:SBQQ__ExcitingObject",
1521
- "Deploy all custom objects in the SBQQ namespace by using a wildcard and quotes:\nsf <%= command.id %> --metadata 'CustomObject:SBQQ__*'",
1522
- "Deploy all custom objects and Apex classes found in all defined package directories (both examples are equivalent):\n<%= config.bin %> <%= command.id %> --metadata CustomObject ApexClass\n<%= config.bin %> <%= command.id %> --metadata CustomObject --metadata ApexClass",
1523
- "Deploy all Apex classes and a profile that has a space in its name:\n<%= config.bin %> <%= command.id %> --metadata ApexClass --metadata \"Profile:My Profile\"",
1524
- "Deploy all components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml",
1525
- "Run the tests that aren’t in any managed packages as part of a deployment:\n<%= config.bin %> <%= command.id %> --metadata ApexClass --test-level RunLocalTests",
1526
- "Deploy all metadata formatted files in the \"MDAPI\" directory:\n<%= config.bin %> <%= command.id %> --metadata-dir MDAPI",
1527
- "Deploy all metadata formatted files in the \"MDAPI\" directory; items listed in the MDAPI/destructiveChangesPre.xml and MDAPI/destructiveChangesPost.xml manifests are immediately eligible for deletion rather than stored in the Recycle Bin:\n<%= config.bin %> <%= command.id %> --metadata-dir MDAPI --purge-on-delete"
1565
+ "NOTE: These examples focus on validating large deployments. See the help for \"<%= config.bin %> project deploy start\" for examples of deploying smaller sets of metadata which you can also use to validate.",
1566
+ "Validate the deployment of all source files in the \"force-app\" directory to the default org:\n<%= config.bin %> <%= command.id %> --source-dir force-app",
1567
+ "Validate the deployment of all source files in two directories: \"force-app\" and \"force-app-utils\":\n<%= config.bin %> <%= command.id %> --source-dir force-app --source-dir force-app-utils",
1568
+ "Asynchronously validate the deployment and run all tests in the org with alias \"my-prod-org\"; command immediately returns the job ID:\n<%= config.bin %> <%= command.id %> --source-dir force-app --async --test-level RunAllTestsInOrg --target-org my-prod-org",
1569
+ "Validate the deployment of all components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml"
1528
1570
  ],
1529
1571
  "flags": {
1530
1572
  "json": {
@@ -1546,16 +1588,13 @@
1546
1588
  "char": "a",
1547
1589
  "description": "Use this flag to override the default API version with the API version of your package.xml file. The default API version is the latest version supported by the CLI.",
1548
1590
  "name": "api-version",
1549
- "summary": "Target API version for the deploy.",
1591
+ "summary": "Target API version for the validation.",
1550
1592
  "hasDynamicHelp": false,
1551
1593
  "multiple": false,
1552
1594
  "type": "option"
1553
1595
  },
1554
1596
  "async": {
1555
- "description": "The command immediately returns the job ID and control of the terminal to you. This way, you can continue to use the CLI. To resume the deployment, run \"<%= config.bin %> project deploy resume\". To check the status of the deployment, run \"<%= config.bin %> project deploy report\".",
1556
- "exclusive": [
1557
- "wait"
1558
- ],
1597
+ "description": "The command immediately returns the job ID and control of the terminal to you. This way, you can continue to use the CLI. To resume watching the validation, run \"<%= config.bin %> project deploy resume\". To check the status of the validation, run \"<%= config.bin %> project deploy report\".",
1559
1598
  "name": "async",
1560
1599
  "summary": "Run the command asynchronously.",
1561
1600
  "allowNo": false,
@@ -1566,75 +1605,40 @@
1566
1605
  "verbose"
1567
1606
  ],
1568
1607
  "name": "concise",
1569
- "summary": "Show concise output of the deploy result.",
1570
- "allowNo": false,
1571
- "type": "boolean"
1572
- },
1573
- "dry-run": {
1574
- "name": "dry-run",
1575
- "summary": "Validate deploy and run Apex tests but don’t save to the org.",
1576
- "allowNo": false,
1577
- "type": "boolean"
1578
- },
1579
- "ignore-conflicts": {
1580
- "char": "c",
1581
- "description": "This flag applies only to orgs that allow source tracking. It has no effect on orgs that don't allow it, such as production orgs.",
1582
- "name": "ignore-conflicts",
1583
- "summary": "Ignore conflicts and deploy local files, even if they overwrite changes in the org.",
1584
- "allowNo": false,
1585
- "type": "boolean"
1586
- },
1587
- "ignore-errors": {
1588
- "char": "r",
1589
- "description": "Never use this flag when deploying to a production org. If you specify it, components without errors are deployed and components with errors are skipped, and could result in an inconsistent production org.",
1590
- "name": "ignore-errors",
1591
- "summary": "Ignore any errors and don’t roll back deployment.",
1592
- "allowNo": false,
1593
- "type": "boolean"
1594
- },
1595
- "ignore-warnings": {
1596
- "char": "g",
1597
- "description": "If you specify this flag, and a warning occurs, the success status of the deployment is set to true. If you don't specify this flag, and a warning occurs, then the success status is set to false, and the warning is treated like an error.\n\nThis flag is useful in a CI environment and your deployment includes destructive changes; if you try to delete a component that doesn't exist in the org, you get a warning. In this case, to ensure that the command returns a success value of true, specify this flag.",
1598
- "name": "ignore-warnings",
1599
- "summary": "Ignore warnings and allow a deployment to complete successfully.",
1608
+ "summary": "Show concise output of the validation result.",
1600
1609
  "allowNo": false,
1601
1610
  "type": "boolean"
1602
1611
  },
1603
1612
  "manifest": {
1604
1613
  "char": "x",
1605
1614
  "description": "All child components are included. If you specify this flag, don’t specify --metadata or --source-dir.",
1606
- "exclusive": [
1607
- "source-dir",
1608
- "metadata",
1609
- "metadata-dir"
1610
- ],
1611
1615
  "helpGroup": "Source Format",
1612
1616
  "name": "manifest",
1613
- "summary": "Full file path for manifest (package.xml) of components to deploy.",
1617
+ "summary": "Full file path for manifest (package.xml) of components to validate for deployment.",
1614
1618
  "hasDynamicHelp": false,
1615
1619
  "multiple": false,
1616
1620
  "type": "option"
1617
1621
  },
1618
1622
  "metadata": {
1619
1623
  "char": "m",
1620
- "exclusive": [
1621
- "manifest",
1622
- "source-dir",
1623
- "metadata-dir"
1624
- ],
1625
1624
  "helpGroup": "Source Format",
1626
1625
  "name": "metadata",
1627
- "summary": "Metadata component names to deploy. Wildcards (`*` ) supported as long as you use quotes, such as `ApexClass:MyClass*`.",
1626
+ "summary": "Metadata component names to validate for deployment.",
1627
+ "hasDynamicHelp": false,
1628
+ "multiple": true,
1629
+ "type": "option"
1630
+ },
1631
+ "source-dir": {
1632
+ "char": "d",
1633
+ "description": "The supplied path can be to a single file (in which case the operation is applied to only one file) or to a folder (in which case the operation is applied to all metadata types in the directory and its subdirectories).\n\nIf you specify this flag, don’t specify --metadata or --manifest.",
1634
+ "helpGroup": "Source Format",
1635
+ "name": "source-dir",
1636
+ "summary": "Path to the local source files to validate for deployment.",
1628
1637
  "hasDynamicHelp": false,
1629
1638
  "multiple": true,
1630
1639
  "type": "option"
1631
1640
  },
1632
1641
  "metadata-dir": {
1633
- "exclusive": [
1634
- "manifest",
1635
- "source-dir",
1636
- "metadata"
1637
- ],
1638
1642
  "helpGroup": "Metadata API Format",
1639
1643
  "name": "metadata-dir",
1640
1644
  "summary": "Root of directory or zip file of metadata formatted files to deploy.",
@@ -1652,21 +1656,6 @@
1652
1656
  "allowNo": false,
1653
1657
  "type": "boolean"
1654
1658
  },
1655
- "source-dir": {
1656
- "char": "d",
1657
- "description": "The supplied path can be to a single file (in which case the operation is applied to only one file) or to a folder (in which case the operation is applied to all metadata types in the directory and its subdirectories).\n\nIf you specify this flag, don’t specify --metadata or --manifest.",
1658
- "exclusive": [
1659
- "manifest",
1660
- "metadata",
1661
- "metadata-dir"
1662
- ],
1663
- "helpGroup": "Source Format",
1664
- "name": "source-dir",
1665
- "summary": "Path to the local source files to deploy.",
1666
- "hasDynamicHelp": false,
1667
- "multiple": true,
1668
- "type": "option"
1669
- },
1670
1659
  "target-org": {
1671
1660
  "char": "o",
1672
1661
  "name": "target-org",
@@ -1689,17 +1678,17 @@
1689
1678
  },
1690
1679
  "test-level": {
1691
1680
  "char": "l",
1692
- "description": "Valid values are:\n\n- NoTestRun — No tests are run. This test level applies only to deployments to development environments, such as sandbox, Developer Edition, or trial orgs. This test level is the default for development environments.\n\n- RunSpecifiedTests — Runs only the tests that you specify with the --tests flag. Code coverage requirements differ from the default coverage requirements when using this test level. Executed tests must comprise a minimum of 75% code coverage for each class and trigger in the deployment package. This coverage is computed for each class and trigger individually and is different than the overall coverage percentage.\n\n- RunLocalTests — All tests in your org are run, except the ones that originate from installed managed and unlocked packages. This test level is the default for production deployments that include Apex classes or triggers.\n\n- RunAllTestsInOrg — All tests in your org are run, including tests of managed packages.\n\n If you don’t specify a test level, the default behavior depends on the contents of your deployment package and target org. For more information, see [Running Tests in a Deployment](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_running_tests.htm) in the \"Metadata API Developer Guide\".",
1681
+ "description": "Valid values are:\n\n- RunSpecifiedTests — Runs only the tests that you specify with the --tests flag. Code coverage requirements differ from the default coverage requirements when using this test level. Executed tests must comprise a minimum of 75% code coverage for each class and trigger in the deployment package. This coverage is computed for each class and trigger individually and is different than the overall coverage percentage.\n\n- RunLocalTests — All tests in your org are run, except the ones that originate from installed managed and unlocked packages. This test level is the default.\n\n- RunAllTestsInOrg — All tests in your org are run, including tests of managed packages.",
1693
1682
  "helpGroup": "Test",
1694
1683
  "name": "test-level",
1695
1684
  "summary": "Deployment Apex testing level.",
1685
+ "default": "RunLocalTests",
1696
1686
  "hasDynamicHelp": false,
1697
1687
  "multiple": false,
1698
1688
  "options": [
1699
- "NoTestRun",
1700
- "RunSpecifiedTests",
1689
+ "RunAllTestsInOrg",
1701
1690
  "RunLocalTests",
1702
- "RunAllTestsInOrg"
1691
+ "RunSpecifiedTests"
1703
1692
  ],
1704
1693
  "type": "option"
1705
1694
  },
@@ -1708,63 +1697,28 @@
1708
1697
  "concise"
1709
1698
  ],
1710
1699
  "name": "verbose",
1711
- "summary": "Show verbose output of the deploy result.",
1700
+ "summary": "Show verbose output of the validation result.",
1712
1701
  "allowNo": false,
1713
1702
  "type": "boolean"
1714
1703
  },
1715
1704
  "wait": {
1716
1705
  "char": "w",
1717
- "description": "If the command continues to run after the wait period, the CLI returns control of the terminal window to you and returns the job ID. To resume the deployment, run \"<%= config.bin %> project deploy resume\". To check the status of the deployment, run \"<%= config.bin %> project deploy report\".",
1718
- "exclusive": [
1719
- "async"
1720
- ],
1706
+ "description": "If the command continues to run after the wait period, the CLI returns control of the terminal window to you and returns the job ID. To resume watching the validation, run \"<%= config.bin %> project deploy resume\". To check the status of the validation, run \"<%= config.bin %> project deploy report\".",
1721
1707
  "name": "wait",
1722
- "summary": "Number of minutes to wait for command to complete and display results.",
1708
+ "summary": "Number of minutes to wait for the command to complete and display results.",
1723
1709
  "hasDynamicHelp": true,
1724
1710
  "helpValue": "<minutes>",
1725
1711
  "multiple": false,
1726
1712
  "type": "option"
1727
1713
  },
1728
- "purge-on-delete": {
1729
- "helpGroup": "Delete",
1730
- "name": "purge-on-delete",
1731
- "relationships": [
1732
- {
1733
- "type": "some",
1734
- "flags": [
1735
- "pre-destructive-changes",
1736
- "manifest",
1737
- "metadata-dir",
1738
- "post-destructive-changes"
1739
- ]
1740
- }
1741
- ],
1742
- "summary": "Specify that deleted components in the destructive changes manifest file are immediately eligible for deletion rather than being stored in the Recycle Bin.",
1714
+ "ignore-warnings": {
1715
+ "char": "g",
1716
+ "description": "If you specify this flag, and a warning occurs, the success status of the deployment is set to true. If you don't specify this flag, and a warning occurs, then the success status is set to false, and the warning is treated like an error.\n\nThis flag is useful in a CI environment and your deployment includes destructive changes; if you try to delete a component that doesn't exist in the org, you get a warning. In this case, to ensure that the command returns a success value of true, specify this flag.",
1717
+ "name": "ignore-warnings",
1718
+ "summary": "Ignore warnings and allow a deployment to complete successfully.",
1743
1719
  "allowNo": false,
1744
1720
  "type": "boolean"
1745
1721
  },
1746
- "pre-destructive-changes": {
1747
- "dependsOn": [
1748
- "manifest"
1749
- ],
1750
- "helpGroup": "Delete",
1751
- "name": "pre-destructive-changes",
1752
- "summary": "File path for a manifest (destructiveChangesPre.xml) of components to delete before the deploy.",
1753
- "hasDynamicHelp": false,
1754
- "multiple": false,
1755
- "type": "option"
1756
- },
1757
- "post-destructive-changes": {
1758
- "dependsOn": [
1759
- "manifest"
1760
- ],
1761
- "helpGroup": "Delete",
1762
- "name": "post-destructive-changes",
1763
- "summary": "File path for a manifest (destructiveChangesPost.xml) of components to delete after the deploy.",
1764
- "hasDynamicHelp": false,
1765
- "multiple": false,
1766
- "type": "option"
1767
- },
1768
1722
  "coverage-formatters": {
1769
1723
  "description": "For multiple formatters, repeat the flag for each formatter.\n--coverage-formatters lcov --coverage-formatters clover",
1770
1724
  "helpGroup": "Test",
@@ -1806,7 +1760,48 @@
1806
1760
  ]
1807
1761
  }
1808
1762
  ],
1809
- "summary": "Output directory for code coverage and JUnit results; defaults to the deploy ID.",
1763
+ "summary": "Output directory for code coverage and JUnit results; defaults to the deploy ID.",
1764
+ "hasDynamicHelp": false,
1765
+ "multiple": false,
1766
+ "type": "option"
1767
+ },
1768
+ "purge-on-delete": {
1769
+ "dependsOn": [
1770
+ "manifest"
1771
+ ],
1772
+ "helpGroup": "Delete",
1773
+ "name": "purge-on-delete",
1774
+ "relationships": [
1775
+ {
1776
+ "type": "some",
1777
+ "flags": [
1778
+ "pre-destructive-changes",
1779
+ "post-destructive-changes"
1780
+ ]
1781
+ }
1782
+ ],
1783
+ "summary": "Specify that deleted components in the destructive changes manifest file are immediately eligible for deletion rather than being stored in the Recycle Bin.",
1784
+ "allowNo": false,
1785
+ "type": "boolean"
1786
+ },
1787
+ "pre-destructive-changes": {
1788
+ "dependsOn": [
1789
+ "manifest"
1790
+ ],
1791
+ "helpGroup": "Delete",
1792
+ "name": "pre-destructive-changes",
1793
+ "summary": "File path for a manifest (destructiveChangesPre.xml) of components to delete before the deploy",
1794
+ "hasDynamicHelp": false,
1795
+ "multiple": false,
1796
+ "type": "option"
1797
+ },
1798
+ "post-destructive-changes": {
1799
+ "dependsOn": [
1800
+ "manifest"
1801
+ ],
1802
+ "helpGroup": "Delete",
1803
+ "name": "post-destructive-changes",
1804
+ "summary": "File path for a manifest (destructiveChangesPost.xml) of components to delete after the deploy.",
1810
1805
  "hasDynamicHelp": false,
1811
1806
  "multiple": false,
1812
1807
  "type": "option"
@@ -1814,12 +1809,12 @@
1814
1809
  },
1815
1810
  "hasDynamicHelp": true,
1816
1811
  "hiddenAliases": [],
1817
- "id": "project:deploy:start",
1812
+ "id": "project:deploy:validate",
1818
1813
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
1819
1814
  "pluginName": "@salesforce/plugin-deploy-retrieve",
1820
1815
  "pluginType": "core",
1821
1816
  "strict": true,
1822
- "summary": "Deploy metadata to an org from your local project.",
1817
+ "summary": "Validate a metadata deployment without actually executing it.",
1823
1818
  "enableJsonFlag": true,
1824
1819
  "configurationVariablesSection": {
1825
1820
  "header": "CONFIGURATION VARIABLES",
@@ -1886,34 +1881,37 @@
1886
1881
  "commands",
1887
1882
  "project",
1888
1883
  "deploy",
1889
- "start.js"
1884
+ "validate.js"
1890
1885
  ],
1891
1886
  "aliasPermutations": [
1892
- "deploy:metadata",
1893
- "metadata:deploy"
1887
+ "deploy:metadata:validate",
1888
+ "metadata:deploy:validate",
1889
+ "metadata:validate:deploy",
1890
+ "deploy:validate:metadata",
1891
+ "validate:deploy:metadata",
1892
+ "validate:metadata:deploy"
1894
1893
  ],
1895
1894
  "permutations": [
1896
- "project:deploy:start",
1897
- "deploy:project:start",
1898
- "deploy:start:project",
1899
- "project:start:deploy",
1900
- "start:project:deploy",
1901
- "start:deploy:project"
1895
+ "project:deploy:validate",
1896
+ "deploy:project:validate",
1897
+ "deploy:validate:project",
1898
+ "project:validate:deploy",
1899
+ "validate:project:deploy",
1900
+ "validate:deploy:project"
1902
1901
  ]
1903
1902
  },
1904
- "project:deploy:validate": {
1903
+ "project:delete:source": {
1905
1904
  "aliases": [
1906
- "deploy:metadata:validate"
1905
+ "force:source:delete"
1907
1906
  ],
1908
1907
  "args": {},
1909
1908
  "deprecateAliases": true,
1910
- "description": "Use this command to verify whether a deployment will succeed without actually deploying the metadata to your org. This command is similar to \"<%= config.bin %> project deploy start\", except you're required to run Apex tests, and the command returns a job ID rather than executing the deployment. If the validation succeeds, then you pass this job ID to the \"<%= config.bin %> project deploy quick\" command to actually deploy the metadata. This quick deploy takes less time because it skips running Apex tests. The job ID is valid for 10 days from when you started the validation. Validating first is useful if the deployment to your production org take several hours and you don’t want to risk a failed deploy.\n\nYou must run this command from within a project.\n\nThis command doesn't support source-tracking. When you quick deploy with the resulting job ID, the source you deploy overwrites the corresponding metadata in your org.\n\nTo validate the deployment of multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax applies to --source-dir.\n\nNote: Don't use this command on sandboxes; the command is intended to be used on production orgs. By default, sandboxes don't run tests during a deploy. If you want to validate a deployment with tests on a sandbox, use \"<%= config.bin %> project deploy start --dry-run --test-level RunLocalTests\" instead.",
1909
+ "description": "Use this command to delete components from orgs that don’t have source tracking. To remove deleted items from orgs that have source tracking enabled, \"<%= config.bin %> project deploy start\".\n\nWhen you run this command, both the local source file and the metadata component in the org are deleted.\n\nTo delete multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax applies to --source-dir.",
1911
1910
  "examples": [
1912
- "NOTE: These examples focus on validating large deployments. See the help for \"<%= config.bin %> project deploy start\" for examples of deploying smaller sets of metadata which you can also use to validate.",
1913
- "Validate the deployment of all source files in the \"force-app\" directory to the default org:\n<%= config.bin %> <%= command.id %> --source-dir force-app",
1914
- "Validate the deployment of all source files in two directories: \"force-app\" and \"force-app-utils\":\n<%= config.bin %> <%= command.id %> --source-dir force-app --source-dir force-app-utils",
1915
- "Asynchronously validate the deployment and run all tests in the org with alias \"my-prod-org\"; command immediately returns the job ID:\n<%= config.bin %> <%= command.id %> --source-dir force-app --async --test-level RunAllTestsInOrg --target-org my-prod-org",
1916
- "Validate the deployment of all components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml"
1911
+ "Delete all local Apex source files and all Apex classes from the org with alias \"my-scratch\":\n<%= config.bin %> <%= command.id %> --metadata ApexClass --target-org my-scratch",
1912
+ "Delete a specific Apex class and a Profile that has a space in it from your default org; don't prompt for confirmation:\n<%= config.bin %> <%= command.id %> --metadata ApexClass:MyFabulousApexClass --metadata \"Profile: My Profile\" --no-prompt",
1913
+ "Run the tests that aren’t in any managed packages as part of the deletion; if the delete succeeds, and the org has source-tracking enabled, update the source tracking information:\n<%= config.bin %> <%= command.id %> --metadata ApexClass --test-level RunLocalTests --track-source",
1914
+ "Delete the Apex source files in a directory and the corresponding components from your default org:\n<%= config.bin %> <%= command.id %> --source-dir force-app/main/default/classes"
1917
1915
  ],
1918
1916
  "flags": {
1919
1917
  "json": {
@@ -1932,89 +1930,63 @@
1932
1930
  "type": "option"
1933
1931
  },
1934
1932
  "api-version": {
1935
- "char": "a",
1936
- "description": "Use this flag to override the default API version with the API version of your package.xml file. The default API version is the latest version supported by the CLI.",
1933
+ "aliases": [
1934
+ "apiversion"
1935
+ ],
1936
+ "deprecateAliases": true,
1937
+ "description": "Override the api version used for api requests made by this command",
1937
1938
  "name": "api-version",
1938
- "summary": "Target API version for the validation.",
1939
1939
  "hasDynamicHelp": false,
1940
1940
  "multiple": false,
1941
1941
  "type": "option"
1942
1942
  },
1943
- "async": {
1944
- "description": "The command immediately returns the job ID and control of the terminal to you. This way, you can continue to use the CLI. To resume watching the validation, run \"<%= config.bin %> project deploy resume\". To check the status of the validation, run \"<%= config.bin %> project deploy report\".",
1945
- "name": "async",
1946
- "summary": "Run the command asynchronously.",
1947
- "allowNo": false,
1948
- "type": "boolean"
1949
- },
1950
- "concise": {
1951
- "exclusive": [
1952
- "verbose"
1953
- ],
1954
- "name": "concise",
1955
- "summary": "Show concise output of the validation result.",
1956
- "allowNo": false,
1957
- "type": "boolean"
1958
- },
1959
- "manifest": {
1960
- "char": "x",
1961
- "description": "All child components are included. If you specify this flag, don’t specify --metadata or --source-dir.",
1962
- "helpGroup": "Source Format",
1963
- "name": "manifest",
1964
- "summary": "Full file path for manifest (package.xml) of components to validate for deployment.",
1943
+ "loglevel": {
1944
+ "deprecated": {
1945
+ "message": "The loglevel flag is no longer in use on this command. You may use it without error, but it will be ignored.\nSet the log level using the `SFDX_LOG_LEVEL` environment variable."
1946
+ },
1947
+ "hidden": true,
1948
+ "name": "loglevel",
1965
1949
  "hasDynamicHelp": false,
1966
1950
  "multiple": false,
1967
1951
  "type": "option"
1968
1952
  },
1969
- "metadata": {
1970
- "char": "m",
1971
- "helpGroup": "Source Format",
1972
- "name": "metadata",
1973
- "summary": "Metadata component names to validate for deployment.",
1974
- "hasDynamicHelp": false,
1975
- "multiple": true,
1976
- "type": "option"
1977
- },
1978
- "source-dir": {
1979
- "char": "d",
1980
- "description": "The supplied path can be to a single file (in which case the operation is applied to only one file) or to a folder (in which case the operation is applied to all metadata types in the directory and its subdirectories).\n\nIf you specify this flag, don’t specify --metadata or --manifest.",
1981
- "helpGroup": "Source Format",
1982
- "name": "source-dir",
1983
- "summary": "Path to the local source files to validate for deployment.",
1984
- "hasDynamicHelp": false,
1985
- "multiple": true,
1986
- "type": "option"
1987
- },
1988
- "metadata-dir": {
1989
- "helpGroup": "Metadata API Format",
1990
- "name": "metadata-dir",
1991
- "summary": "Root of directory or zip file of metadata formatted files to deploy.",
1992
- "hasDynamicHelp": false,
1953
+ "target-org": {
1954
+ "aliases": [
1955
+ "targetusername",
1956
+ "u"
1957
+ ],
1958
+ "char": "o",
1959
+ "deprecateAliases": true,
1960
+ "name": "target-org",
1961
+ "noCacheDefault": true,
1962
+ "required": true,
1963
+ "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
1964
+ "hasDynamicHelp": true,
1993
1965
  "multiple": false,
1994
1966
  "type": "option"
1995
1967
  },
1996
- "single-package": {
1997
- "dependsOn": [
1998
- "metadata-dir"
1968
+ "check-only": {
1969
+ "aliases": [
1970
+ "checkonly"
1999
1971
  ],
2000
- "helpGroup": "Metadata API Format",
2001
- "name": "single-package",
2002
- "summary": "Indicates that the metadata zip file points to a directory structure for a single package.",
1972
+ "char": "c",
1973
+ "deprecateAliases": true,
1974
+ "description": "IMPORTANT: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.\n\nValidates the deleted metadata and runs all Apex tests, but prevents the deletion from being saved to the org.\n\nIf you change a field type from Master-Detail to Lookup or vice versa, that change isn’t supported when using the --check-only flag to test a deletion (validation). This kind of change isn’t supported for test deletions to avoid the risk of data loss or corruption. If a change that isn’t supported for test deletions is included in a deletion package, the test deletion fails and issues an error.\n\nIf your deletion package changes a field type from Master-Detail to Lookup or vice versa, you can still validate the changes prior to deploying to Production by performing a full deletion to another test Sandbox. A full deletion includes a validation of the changes as part of the deletion process.\n\nNote: A Metadata API deletion that includes Master-Detail relationships deletes all detail records in the Recycle Bin in the following cases.\n\n 1. For a deletion with a new Master-Detail field, soft delete (send to the Recycle Bin) all detail records before proceeding to delete the Master-Detail field, or the deletion fails. During the deletion, detail records are permanently deleted from the Recycle Bin and cannot be recovered.\n\n 2. For a deletion that converts a Lookup field relationship to a Master-Detail relationship, detail records must reference a master record or be soft-deleted (sent to the Recycle Bin) for the deletion to succeed. However, a successful deletion permanently deletes any detail records in the Recycle Bin.",
1975
+ "name": "check-only",
1976
+ "summary": "Validate delete command but don't delete anything from the org or the local project.",
2003
1977
  "allowNo": false,
2004
1978
  "type": "boolean"
2005
1979
  },
2006
- "target-org": {
2007
- "char": "o",
2008
- "name": "target-org",
2009
- "noCacheDefault": true,
2010
- "required": true,
2011
- "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
1980
+ "wait": {
1981
+ "char": "w",
1982
+ "description": "If the command continues to run after the wait period, the CLI returns control of the terminal window to you.",
1983
+ "name": "wait",
1984
+ "summary": "Number of minutes to wait for the command to finish.",
2012
1985
  "hasDynamicHelp": true,
2013
1986
  "multiple": false,
2014
1987
  "type": "option"
2015
1988
  },
2016
1989
  "tests": {
2017
- "char": "t",
2018
1990
  "description": "If a test name contains a space, enclose it in double quotes.\nFor multiple test names, use one of the following formats:\n\n- Repeat the flag for multiple test names: --tests Test1 --tests Test2 --tests \"Test With Space\"\n- Separate the test names with spaces: --tests Test1 Test2 \"Test With Space\"",
2019
1991
  "helpGroup": "Test",
2020
1992
  "name": "tests",
@@ -2024,227 +1996,255 @@
2024
1996
  "type": "option"
2025
1997
  },
2026
1998
  "test-level": {
1999
+ "aliases": [
2000
+ "testlevel"
2001
+ ],
2027
2002
  "char": "l",
2028
- "description": "Valid values are:\n\n- RunSpecifiedTests — Runs only the tests that you specify with the --tests flag. Code coverage requirements differ from the default coverage requirements when using this test level. Executed tests must comprise a minimum of 75% code coverage for each class and trigger in the deployment package. This coverage is computed for each class and trigger individually and is different than the overall coverage percentage.\n\n- RunLocalTests — All tests in your org are run, except the ones that originate from installed managed and unlocked packages. This test level is the default.\n\n- RunAllTestsInOrg — All tests in your org are run, including tests of managed packages.",
2003
+ "deprecateAliases": true,
2004
+ "description": "Valid values are:\n\n- NoTestRun — No tests are run. This test level applies only to deployments to development environments, such as sandbox, Developer Edition, or trial orgs. This test level is the default for development environments.\n\n- RunSpecifiedTests — Runs only the tests that you specify with the --tests flag. Code coverage requirements differ from the default coverage requirements when using this test level. Executed tests must comprise a minimum of 75% code coverage for each class and trigger in the deployment package. This coverage is computed for each class and trigger individually and is different than the overall coverage percentage.\n\n- RunLocalTests — All tests in your org are run, except the ones that originate from installed managed and unlocked packages. This test level is the default for production deployments that include Apex classes or triggers.\n\n- RunAllTestsInOrg — All tests in your org are run, including tests of managed packages.\n\nIf you don’t specify a test level, the default behavior depends on the contents of your deployment package and target org. For more information, see “Running Tests in a Deployment” in the Metadata API Developer Guide.",
2029
2005
  "helpGroup": "Test",
2030
2006
  "name": "test-level",
2031
2007
  "summary": "Deployment Apex testing level.",
2032
- "default": "RunLocalTests",
2033
2008
  "hasDynamicHelp": false,
2034
2009
  "multiple": false,
2035
2010
  "options": [
2036
- "RunAllTestsInOrg",
2011
+ "NoTestRun",
2012
+ "RunSpecifiedTests",
2037
2013
  "RunLocalTests",
2038
- "RunSpecifiedTests"
2014
+ "RunAllTestsInOrg"
2039
2015
  ],
2040
2016
  "type": "option"
2041
2017
  },
2042
- "verbose": {
2043
- "exclusive": [
2044
- "concise"
2018
+ "no-prompt": {
2019
+ "aliases": [
2020
+ "noprompt"
2045
2021
  ],
2046
- "name": "verbose",
2047
- "summary": "Show verbose output of the validation result.",
2022
+ "char": "r",
2023
+ "deprecateAliases": true,
2024
+ "name": "no-prompt",
2025
+ "summary": "Don't prompt for delete confirmation.",
2048
2026
  "allowNo": false,
2049
2027
  "type": "boolean"
2050
2028
  },
2051
- "wait": {
2052
- "char": "w",
2053
- "description": "If the command continues to run after the wait period, the CLI returns control of the terminal window to you and returns the job ID. To resume watching the validation, run \"<%= config.bin %> project deploy resume\". To check the status of the validation, run \"<%= config.bin %> project deploy report\".",
2054
- "name": "wait",
2055
- "summary": "Number of minutes to wait for the command to complete and display results.",
2056
- "hasDynamicHelp": true,
2057
- "helpValue": "<minutes>",
2058
- "multiple": false,
2029
+ "metadata": {
2030
+ "char": "m",
2031
+ "description": "If you specify this flag, don’t specify --source-dir.",
2032
+ "name": "metadata",
2033
+ "summary": "Metadata components to delete.",
2034
+ "delimiter": ",",
2035
+ "hasDynamicHelp": false,
2036
+ "multiple": true,
2059
2037
  "type": "option"
2060
2038
  },
2061
- "ignore-warnings": {
2062
- "char": "g",
2063
- "description": "If you specify this flag, and a warning occurs, the success status of the deployment is set to true. If you don't specify this flag, and a warning occurs, then the success status is set to false, and the warning is treated like an error.\n\nThis flag is useful in a CI environment and your deployment includes destructive changes; if you try to delete a component that doesn't exist in the org, you get a warning. In this case, to ensure that the command returns a success value of true, specify this flag.",
2064
- "name": "ignore-warnings",
2065
- "summary": "Ignore warnings and allow a deployment to complete successfully.",
2039
+ "source-dir": {
2040
+ "aliases": [
2041
+ "sourcepath"
2042
+ ],
2043
+ "char": "p",
2044
+ "deprecateAliases": true,
2045
+ "description": "The supplied paths can be a single file (in which case the operation is applied to only one file) or a folder (in which case the operation is applied to all metadata types in the directory and its sub-directories).\n\nIf you specify this flag, don’t specify --metadata.",
2046
+ "name": "source-dir",
2047
+ "summary": "Source file paths to delete.",
2048
+ "delimiter": ",",
2049
+ "hasDynamicHelp": false,
2050
+ "multiple": true,
2051
+ "type": "option"
2052
+ },
2053
+ "track-source": {
2054
+ "aliases": [
2055
+ "tracksource"
2056
+ ],
2057
+ "char": "t",
2058
+ "deprecateAliases": true,
2059
+ "exclusive": [
2060
+ "check-only"
2061
+ ],
2062
+ "name": "track-source",
2063
+ "summary": "If the delete succeeds, update the source tracking information.",
2064
+ "allowNo": false,
2065
+ "type": "boolean"
2066
+ },
2067
+ "force-overwrite": {
2068
+ "aliases": [
2069
+ "forceoverwrite"
2070
+ ],
2071
+ "char": "f",
2072
+ "dependsOn": [
2073
+ "track-source"
2074
+ ],
2075
+ "deprecateAliases": true,
2076
+ "name": "force-overwrite",
2077
+ "summary": "Ignore conflict warnings and overwrite changes to the org.",
2078
+ "allowNo": false,
2079
+ "type": "boolean"
2080
+ },
2081
+ "verbose": {
2082
+ "name": "verbose",
2083
+ "summary": "Verbose output of the delete result.",
2084
+ "allowNo": false,
2085
+ "type": "boolean"
2086
+ }
2087
+ },
2088
+ "hasDynamicHelp": true,
2089
+ "hiddenAliases": [],
2090
+ "id": "project:delete:source",
2091
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
2092
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
2093
+ "pluginType": "core",
2094
+ "strict": true,
2095
+ "summary": "Delete source from your project and from a non-source-tracked org.",
2096
+ "enableJsonFlag": true,
2097
+ "requiresProject": true,
2098
+ "isESM": true,
2099
+ "relativePath": [
2100
+ "lib",
2101
+ "commands",
2102
+ "project",
2103
+ "delete",
2104
+ "source.js"
2105
+ ],
2106
+ "aliasPermutations": [
2107
+ "force:source:delete",
2108
+ "source:force:delete",
2109
+ "source:delete:force",
2110
+ "force:delete:source",
2111
+ "delete:force:source",
2112
+ "delete:source:force"
2113
+ ],
2114
+ "permutations": [
2115
+ "project:delete:source",
2116
+ "delete:project:source",
2117
+ "delete:source:project",
2118
+ "project:source:delete",
2119
+ "source:project:delete",
2120
+ "source:delete:project"
2121
+ ]
2122
+ },
2123
+ "project:delete:tracking": {
2124
+ "aliases": [
2125
+ "force:source:tracking:clear"
2126
+ ],
2127
+ "args": {},
2128
+ "deprecateAliases": true,
2129
+ "description": "WARNING: This command deletes or overwrites all existing source tracking files. Use with extreme caution.\n\nDeletes all local source tracking information. When you next run 'project deploy preview', Salesforce CLI displays all local and remote files as changed, and any files with the same name are listed as conflicts.",
2130
+ "examples": [
2131
+ "Delete local source tracking for the org with alias \"my-scratch\":\n$ <%= config.bin %> <%= command.id %> --target-org my-scratch"
2132
+ ],
2133
+ "flags": {
2134
+ "json": {
2135
+ "description": "Format output as json.",
2136
+ "helpGroup": "GLOBAL",
2137
+ "name": "json",
2066
2138
  "allowNo": false,
2067
2139
  "type": "boolean"
2068
2140
  },
2069
- "coverage-formatters": {
2070
- "description": "For multiple formatters, repeat the flag for each formatter.\n--coverage-formatters lcov --coverage-formatters clover",
2071
- "helpGroup": "Test",
2072
- "name": "coverage-formatters",
2073
- "summary": "Format of the code coverage results.",
2141
+ "flags-dir": {
2142
+ "helpGroup": "GLOBAL",
2143
+ "name": "flags-dir",
2144
+ "summary": "Import flag values from a directory.",
2074
2145
  "hasDynamicHelp": false,
2075
- "multiple": true,
2076
- "options": [
2077
- "clover",
2078
- "cobertura",
2079
- "html-spa",
2080
- "html",
2081
- "json",
2082
- "json-summary",
2083
- "lcovonly",
2084
- "none",
2085
- "teamcity",
2086
- "text",
2087
- "text-summary"
2088
- ],
2146
+ "multiple": false,
2089
2147
  "type": "option"
2090
2148
  },
2091
- "junit": {
2092
- "helpGroup": "Test",
2093
- "name": "junit",
2094
- "summary": "Output JUnit test results.",
2095
- "allowNo": false,
2096
- "type": "boolean"
2097
- },
2098
- "results-dir": {
2099
- "helpGroup": "Test",
2100
- "name": "results-dir",
2101
- "relationships": [
2102
- {
2103
- "type": "some",
2104
- "flags": [
2105
- "coverage-formatters",
2106
- "junit"
2107
- ]
2108
- }
2149
+ "api-version": {
2150
+ "aliases": [
2151
+ "apiversion"
2109
2152
  ],
2110
- "summary": "Output directory for code coverage and JUnit results; defaults to the deploy ID.",
2153
+ "deprecateAliases": true,
2154
+ "description": "Override the api version used for api requests made by this command",
2155
+ "name": "api-version",
2111
2156
  "hasDynamicHelp": false,
2112
2157
  "multiple": false,
2113
2158
  "type": "option"
2114
2159
  },
2115
- "purge-on-delete": {
2116
- "dependsOn": [
2117
- "manifest"
2118
- ],
2119
- "helpGroup": "Delete",
2120
- "name": "purge-on-delete",
2121
- "relationships": [
2122
- {
2123
- "type": "some",
2124
- "flags": [
2125
- "pre-destructive-changes",
2126
- "post-destructive-changes"
2127
- ]
2128
- }
2129
- ],
2130
- "summary": "Specify that deleted components in the destructive changes manifest file are immediately eligible for deletion rather than being stored in the Recycle Bin.",
2131
- "allowNo": false,
2132
- "type": "boolean"
2133
- },
2134
- "pre-destructive-changes": {
2135
- "dependsOn": [
2136
- "manifest"
2137
- ],
2138
- "helpGroup": "Delete",
2139
- "name": "pre-destructive-changes",
2140
- "summary": "File path for a manifest (destructiveChangesPre.xml) of components to delete before the deploy",
2160
+ "loglevel": {
2161
+ "deprecated": {
2162
+ "message": "The loglevel flag is no longer in use on this command. You may use it without error, but it will be ignored.\nSet the log level using the `SFDX_LOG_LEVEL` environment variable."
2163
+ },
2164
+ "hidden": true,
2165
+ "name": "loglevel",
2141
2166
  "hasDynamicHelp": false,
2142
2167
  "multiple": false,
2143
2168
  "type": "option"
2144
2169
  },
2145
- "post-destructive-changes": {
2146
- "dependsOn": [
2147
- "manifest"
2170
+ "target-org": {
2171
+ "aliases": [
2172
+ "targetusername",
2173
+ "u"
2148
2174
  ],
2149
- "helpGroup": "Delete",
2150
- "name": "post-destructive-changes",
2151
- "summary": "File path for a manifest (destructiveChangesPost.xml) of components to delete after the deploy.",
2152
- "hasDynamicHelp": false,
2175
+ "char": "o",
2176
+ "deprecateAliases": true,
2177
+ "name": "target-org",
2178
+ "noCacheDefault": true,
2179
+ "required": true,
2180
+ "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
2181
+ "hasDynamicHelp": true,
2153
2182
  "multiple": false,
2154
2183
  "type": "option"
2184
+ },
2185
+ "no-prompt": {
2186
+ "aliases": [
2187
+ "noprompt"
2188
+ ],
2189
+ "char": "p",
2190
+ "deprecateAliases": true,
2191
+ "name": "no-prompt",
2192
+ "summary": "Don't prompt for source tracking override confirmation.",
2193
+ "allowNo": false,
2194
+ "type": "boolean"
2155
2195
  }
2156
2196
  },
2157
2197
  "hasDynamicHelp": true,
2158
2198
  "hiddenAliases": [],
2159
- "id": "project:deploy:validate",
2199
+ "id": "project:delete:tracking",
2160
2200
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
2161
2201
  "pluginName": "@salesforce/plugin-deploy-retrieve",
2162
2202
  "pluginType": "core",
2163
2203
  "strict": true,
2164
- "summary": "Validate a metadata deployment without actually executing it.",
2204
+ "summary": "Delete all local source tracking information.",
2165
2205
  "enableJsonFlag": true,
2166
- "configurationVariablesSection": {
2167
- "header": "CONFIGURATION VARIABLES",
2168
- "body": [
2169
- {
2170
- "name": "target-org",
2171
- "description": "Username or alias of the org that all commands run against by default. (sf only)"
2172
- },
2173
- {
2174
- "name": "org-api-version",
2175
- "description": "API version of your project. Default: API version of your Dev Hub org."
2176
- }
2177
- ]
2178
- },
2179
- "envVariablesSection": {
2180
- "header": "ENVIRONMENT VARIABLES",
2181
- "body": [
2182
- {
2183
- "name": "SF_TARGET_ORG",
2184
- "description": "Username or alias of your default org. Overrides the target-org configuration variable."
2185
- },
2186
- {
2187
- "name": "SF_USE_PROGRESS_BAR",
2188
- "description": "Set to false to disable the progress bar when running the metadata deploy command."
2189
- }
2190
- ]
2191
- },
2192
- "errorCodes": {
2193
- "header": "ERROR CODES",
2194
- "body": [
2195
- {
2196
- "name": "Succeeded (0)",
2197
- "description": "The deploy succeeded."
2198
- },
2199
- {
2200
- "name": "Canceled (1)",
2201
- "description": "The deploy was canceled."
2202
- },
2203
- {
2204
- "name": "Failed (1)",
2205
- "description": "The deploy failed."
2206
- },
2207
- {
2208
- "name": "SucceededPartial (68)",
2209
- "description": "The deploy partially succeeded."
2210
- },
2211
- {
2212
- "name": "InProgress (69)",
2213
- "description": "The deploy is in progress."
2214
- },
2215
- {
2216
- "name": "Pending (69)",
2217
- "description": "The deploy is pending."
2218
- },
2219
- {
2220
- "name": "Canceling (69)",
2221
- "description": "The deploy is being canceled."
2222
- }
2223
- ]
2224
- },
2206
+ "requiresProject": true,
2225
2207
  "isESM": true,
2226
2208
  "relativePath": [
2227
2209
  "lib",
2228
2210
  "commands",
2229
2211
  "project",
2230
- "deploy",
2231
- "validate.js"
2212
+ "delete",
2213
+ "tracking.js"
2232
2214
  ],
2233
2215
  "aliasPermutations": [
2234
- "deploy:metadata:validate",
2235
- "metadata:deploy:validate",
2236
- "metadata:validate:deploy",
2237
- "deploy:validate:metadata",
2238
- "validate:deploy:metadata",
2239
- "validate:metadata:deploy"
2216
+ "force:source:tracking:clear",
2217
+ "source:force:tracking:clear",
2218
+ "source:tracking:force:clear",
2219
+ "source:tracking:clear:force",
2220
+ "force:tracking:source:clear",
2221
+ "tracking:force:source:clear",
2222
+ "tracking:source:force:clear",
2223
+ "tracking:source:clear:force",
2224
+ "force:tracking:clear:source",
2225
+ "tracking:force:clear:source",
2226
+ "tracking:clear:force:source",
2227
+ "tracking:clear:source:force",
2228
+ "force:source:clear:tracking",
2229
+ "source:force:clear:tracking",
2230
+ "source:clear:force:tracking",
2231
+ "source:clear:tracking:force",
2232
+ "force:clear:source:tracking",
2233
+ "clear:force:source:tracking",
2234
+ "clear:source:force:tracking",
2235
+ "clear:source:tracking:force",
2236
+ "force:clear:tracking:source",
2237
+ "clear:force:tracking:source",
2238
+ "clear:tracking:force:source",
2239
+ "clear:tracking:source:force"
2240
2240
  ],
2241
2241
  "permutations": [
2242
- "project:deploy:validate",
2243
- "deploy:project:validate",
2244
- "deploy:validate:project",
2245
- "project:validate:deploy",
2246
- "validate:project:deploy",
2247
- "validate:deploy:project"
2242
+ "project:delete:tracking",
2243
+ "delete:project:tracking",
2244
+ "delete:tracking:project",
2245
+ "project:tracking:delete",
2246
+ "tracking:project:delete",
2247
+ "tracking:delete:project"
2248
2248
  ]
2249
2249
  },
2250
2250
  "project:generate:manifest": {
@@ -2992,6 +2992,15 @@
2992
2992
  "hasDynamicHelp": false,
2993
2993
  "multiple": false,
2994
2994
  "type": "option"
2995
+ },
2996
+ "poll-interval": {
2997
+ "name": "poll-interval",
2998
+ "required": false,
2999
+ "summary": "Number of seconds to wait between status checks.",
3000
+ "hasDynamicHelp": true,
3001
+ "helpValue": "<seconds>",
3002
+ "multiple": false,
3003
+ "type": "option"
2995
3004
  }
2996
3005
  },
2997
3006
  "hasDynamicHelp": true,
@@ -3051,5 +3060,5 @@
3051
3060
  ]
3052
3061
  }
3053
3062
  },
3054
- "version": "3.22.36"
3063
+ "version": "3.22.38-dev.0"
3055
3064
  }