@salesforce/plugin-deploy-retrieve 3.7.9 → 3.8.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.
Files changed (56) hide show
  1. package/README.md +78 -20
  2. package/lib/commands/project/convert/source-behavior.d.ts +21 -0
  3. package/lib/commands/project/convert/source-behavior.js +74 -0
  4. package/lib/commands/project/convert/source-behavior.js.map +1 -0
  5. package/lib/commands/project/deploy/cancel.js +1 -1
  6. package/lib/commands/project/deploy/cancel.js.map +1 -1
  7. package/lib/commands/project/deploy/quick.js +1 -1
  8. package/lib/commands/project/deploy/quick.js.map +1 -1
  9. package/lib/commands/project/deploy/resume.js +1 -1
  10. package/lib/commands/project/deploy/resume.js.map +1 -1
  11. package/lib/commands/project/deploy/start.js +4 -4
  12. package/lib/commands/project/deploy/start.js.map +1 -1
  13. package/lib/commands/project/deploy/validate.js +3 -3
  14. package/lib/commands/project/deploy/validate.js.map +1 -1
  15. package/lib/commands/project/retrieve/start.js +1 -1
  16. package/lib/commands/project/retrieve/start.js.map +1 -1
  17. package/lib/formatters/asyncDeployCancelResultFormatter.d.ts +1 -2
  18. package/lib/formatters/asyncDeployCancelResultFormatter.js +3 -5
  19. package/lib/formatters/asyncDeployCancelResultFormatter.js.map +1 -1
  20. package/lib/formatters/asyncDeployResultFormatter.d.ts +1 -2
  21. package/lib/formatters/asyncDeployResultFormatter.js +4 -6
  22. package/lib/formatters/asyncDeployResultFormatter.js.map +1 -1
  23. package/lib/utils/convertBehavior.d.ts +24 -0
  24. package/lib/utils/convertBehavior.js +126 -0
  25. package/lib/utils/convertBehavior.js.map +1 -0
  26. package/lib/utils/deploy.d.ts +1 -1
  27. package/lib/utils/deploy.js +2 -2
  28. package/lib/utils/deploy.js.map +1 -1
  29. package/messages/convert.mdapi.md +3 -3
  30. package/messages/convert.source-behavior.md +70 -0
  31. package/messages/convert.source.md +4 -4
  32. package/messages/delete.source.md +6 -6
  33. package/messages/delete.tracking.md +4 -4
  34. package/messages/deploy.async.md +3 -3
  35. package/messages/deploy.metadata.cancel.md +8 -8
  36. package/messages/deploy.metadata.md +18 -18
  37. package/messages/deploy.metadata.preview.md +8 -8
  38. package/messages/deploy.metadata.quick.md +6 -6
  39. package/messages/deploy.metadata.report.md +7 -7
  40. package/messages/deploy.metadata.resume.md +7 -7
  41. package/messages/deploy.metadata.validate.md +10 -10
  42. package/messages/list.ignored.md +3 -3
  43. package/messages/manifest.generate.md +4 -4
  44. package/messages/retrieve.metadata.preview.md +4 -4
  45. package/messages/retrieve.start.md +17 -17
  46. package/oclif.manifest.json +177 -87
  47. package/package.json +7 -6
  48. package/schemas/project-convert-source__behavior.json +31 -0
  49. package/schemas/project-delete-source.json +5 -5
  50. package/schemas/project-deploy-cancel.json +4 -4
  51. package/schemas/project-deploy-quick.json +4 -4
  52. package/schemas/project-deploy-report.json +4 -4
  53. package/schemas/project-deploy-resume.json +4 -4
  54. package/schemas/project-deploy-start.json +4 -4
  55. package/schemas/project-deploy-validate.json +4 -4
  56. package/schemas/project-retrieve-start.json +4 -4
@@ -6,10 +6,10 @@
6
6
  ],
7
7
  "args": {},
8
8
  "deprecateAliases": true,
9
- "description": "To use Salesforce CLI to work with components that you retrieved via Metadata API, first convert your files from the metadata format to the source format using this command.\n\nTo convert files from the source format back to the metadata format, run \"<%= config.bin %> project convert source\".\n\nTo convert 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 --manifest and --source-dir.",
9
+ "description": "To use Salesforce CLI to work with components that you retrieved via Metadata API, first convert your files from the metadata format to the source format using this command.\n\nTo convert files from the source format back to the metadata format, run \"sf project convert source\".\n\nTo convert 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 --manifest and --source-dir.",
10
10
  "examples": [
11
- "Convert metadata formatted files in the specified directory into source formatted files; writes converted files to your default package directory:\n$ <%= config.bin %> <%= command.id %> --root-dir path/to/metadata",
12
- "Similar to previous example, but writes converted files to the specified output directory:\n$ <%= config.bin %> <%= command.id %> --root-dir path/to/metadata --output-dir path/to/outputdir"
11
+ "Convert metadata formatted files in the specified directory into source formatted files; writes converted files to your default package directory:\n$ sf <%= command.id %> --root-dir path/to/metadata",
12
+ "Similar to previous example, but writes converted files to the specified output directory:\n$ sf <%= command.id %> --root-dir path/to/metadata --output-dir path/to/outputdir"
13
13
  ],
14
14
  "flags": {
15
15
  "json": {
@@ -149,16 +149,106 @@
149
149
  "mdapi:convert:project"
150
150
  ]
151
151
  },
152
+ "project:convert:source-behavior": {
153
+ "aliases": [],
154
+ "args": {},
155
+ "description": "Specifically, this command updates the \"sourceBehaviorOption\" option in the \"sfdx-project.json\" file and then converts the associated local source files in your project as needed.\n\nFor example, run this command with the \"--behavior decomposePermissionSetBeta\" flag to start decomposing permission sets when you deploy or retrieve them. Decomposing means breaking up the monolithic metadata API format XML file that corresponds to a metadata component into smaller XML files and directories based on its subtypes. Permission sets are not decomposed by default; you must opt-in to start decomposing them by using this command. When the command finishes, your \"sfdx-project.json\" file is updated to always decompose permission sets, and the existing permission set files in your local package directories are converted into the new decomposed format. You run this command only once for a given behavior change.\n\nFor more information about the possible values for the --behavior flag, see the \"sourceBehaviorOptions\" section in the https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_ws_config.htm topic.",
156
+ "examples": [
157
+ "Update your Salesforce DX project to decompose custom labels:\n<%= config.bin %> <%= command.id %> --behavior decomposeCustomLabelsBeta",
158
+ "Display what the command would do, but don't change any existing files:\n<%= config.bin %> <%= command.id %> --behavior decomposeCustomLabelsBeta --dry-run",
159
+ "Keep the temporary directory that contains the interim metadata API formatted files:\n<%= config.bin %> <%= command.id %> --behavior decomposeCustomLabelsBeta --dry-run --preserve-temp-dir"
160
+ ],
161
+ "flags": {
162
+ "json": {
163
+ "description": "Format output as json.",
164
+ "helpGroup": "GLOBAL",
165
+ "name": "json",
166
+ "allowNo": false,
167
+ "type": "boolean"
168
+ },
169
+ "flags-dir": {
170
+ "helpGroup": "GLOBAL",
171
+ "name": "flags-dir",
172
+ "summary": "Import flag values from a directory.",
173
+ "hasDynamicHelp": false,
174
+ "multiple": false,
175
+ "type": "option"
176
+ },
177
+ "behavior": {
178
+ "char": "b",
179
+ "name": "behavior",
180
+ "required": true,
181
+ "summary": "Behavior to enable; the values correspond to the possible values of the \"sourceBehaviorOption\" option in the \"sfdx-project.json\" file.",
182
+ "hasDynamicHelp": false,
183
+ "multiple": false,
184
+ "options": [
185
+ "decomposeCustomLabelsBeta",
186
+ "decomposePermissionSetBeta",
187
+ "decomposeSharingRulesBeta",
188
+ "decomposeWorkflowBeta"
189
+ ],
190
+ "type": "option"
191
+ },
192
+ "dry-run": {
193
+ "name": "dry-run",
194
+ "summary": "Display what the command would do, but don't make any actual changes.",
195
+ "allowNo": false,
196
+ "type": "boolean"
197
+ },
198
+ "preserve-temp-dir": {
199
+ "name": "preserve-temp-dir",
200
+ "summary": "Don't delete the metadata API format temporary directory that this command creates. Useful for debugging.",
201
+ "allowNo": false,
202
+ "type": "boolean"
203
+ },
204
+ "target-org": {
205
+ "char": "o",
206
+ "name": "target-org",
207
+ "noCacheDefault": true,
208
+ "hasDynamicHelp": true,
209
+ "multiple": false,
210
+ "type": "option"
211
+ }
212
+ },
213
+ "hasDynamicHelp": true,
214
+ "hiddenAliases": [],
215
+ "id": "project:convert:source-behavior",
216
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
217
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
218
+ "pluginType": "core",
219
+ "state": "beta",
220
+ "strict": true,
221
+ "summary": "Enable a behavior of your project source files, and then update your Salesforce DX project to implement the behavior.",
222
+ "enableJsonFlag": true,
223
+ "requiresProject": true,
224
+ "isESM": true,
225
+ "relativePath": [
226
+ "lib",
227
+ "commands",
228
+ "project",
229
+ "convert",
230
+ "source-behavior.js"
231
+ ],
232
+ "aliasPermutations": [],
233
+ "permutations": [
234
+ "project:convert:source-behavior",
235
+ "convert:project:source-behavior",
236
+ "convert:source-behavior:project",
237
+ "project:source-behavior:convert",
238
+ "source-behavior:project:convert",
239
+ "source-behavior:convert:project"
240
+ ]
241
+ },
152
242
  "project:convert:source": {
153
243
  "aliases": [
154
244
  "force:source:convert"
155
245
  ],
156
246
  "args": {},
157
247
  "deprecateAliases": true,
158
- "description": "To convert source-formatted files into the metadata format, so that you can deploy them using Metadata API, run this command. Then deploy the metadata using \"<%= config.bin %> project deploy\".\n\nTo convert Metadata API–formatted files into the source format, run \"<%= config.bin %> project convert mdapi\".\n\nTo specify a package name that includes spaces, enclose the name in single quotes.\n\nTo convert multiple 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 --manifest and --source-dir.",
248
+ "description": "To convert source-formatted files into the metadata format, so that you can deploy them using Metadata API, run this command. Then deploy the metadata using \"sf project deploy\".\n\nTo convert Metadata API–formatted files into the source format, run \"sf project convert mdapi\".\n\nTo specify a package name that includes spaces, enclose the name in single quotes.\n\nTo convert multiple 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 --manifest and --source-dir.",
159
249
  "examples": [
160
- "Convert source-formatted files in the specified directory into metadata-formatted files; writes converted files into a new directory:\n$ <%= config.bin %> <%= command.id %> --root-dir path/to/source",
161
- "Similar to previous example, but writes converted files to the specified output directory and associates the files with the specified package:\n$ <%= config.bin %> <%= command.id %> --root-dir path/to/source --output-dir path/to/outputdir --package-name 'My Package'"
250
+ "Convert source-formatted files in the specified directory into metadata-formatted files; writes converted files into a new directory:\n$ sf <%= command.id %> --root-dir path/to/source",
251
+ "Similar to previous example, but writes converted files to the specified output directory and associates the files with the specified package:\n$ sf <%= command.id %> --root-dir path/to/source --output-dir path/to/outputdir --package-name 'My Package'"
162
252
  ],
163
253
  "flags": {
164
254
  "json": {
@@ -218,7 +308,7 @@
218
308
  "deprecateAliases": true,
219
309
  "name": "output-dir",
220
310
  "summary": "Output directory to store the Metadata API–formatted files in.",
221
- "default": "metadataPackage_1716626862131",
311
+ "default": "metadataPackage_1716992955026",
222
312
  "hasDynamicHelp": false,
223
313
  "multiple": false,
224
314
  "type": "option"
@@ -317,12 +407,12 @@
317
407
  ],
318
408
  "args": {},
319
409
  "deprecateAliases": true,
320
- "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 --manifest and --source-dir.",
410
+ "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, \"sf 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 --manifest and --source-dir.",
321
411
  "examples": [
322
- "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",
323
- "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",
324
- "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",
325
- "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"
412
+ "Delete all local Apex source files and all Apex classes from the org with alias \"my-scratch\":\nsf <%= command.id %> --metadata ApexClass --target-org my-scratch",
413
+ "Delete a specific Apex class and a Profile that has a space in it from your default org; don't prompt for confirmation:\nsf <%= command.id %> --metadata ApexClass:MyFabulousApexClass --metadata \"Profile: My Profile\" --no-prompt",
414
+ "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:\nsf <%= command.id %> --metadata ApexClass --test-level RunLocalTests --track-source",
415
+ "Delete the Apex source files in a directory and the corresponding components from your default org:\nsf <%= command.id %> --source-dir force-app/main/default/classes"
326
416
  ],
327
417
  "flags": {
328
418
  "json": {
@@ -382,7 +472,7 @@
382
472
  ],
383
473
  "char": "c",
384
474
  "deprecateAliases": true,
385
- "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 --chec-konly parameter 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.",
475
+ "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 parameter 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.",
386
476
  "name": "check-only",
387
477
  "summary": "Validate delete command but don't delete anything from the org or the local project.",
388
478
  "allowNo": false,
@@ -539,7 +629,7 @@
539
629
  "deprecateAliases": true,
540
630
  "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.",
541
631
  "examples": [
542
- "Delete local source tracking for the org with alias \"my-scratch\":\n$ <%= config.bin %> <%= command.id %> --target-org my-scratch"
632
+ "Delete local source tracking for the org with alias \"my-scratch\":\n$ sf <%= command.id %> --target-org my-scratch"
543
633
  ],
544
634
  "flags": {
545
635
  "json": {
@@ -666,8 +756,8 @@
666
756
  "deprecateAliases": true,
667
757
  "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.",
668
758
  "examples": [
669
- "Cancel a deploy operation using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2",
670
- "Cancel the most recent deploy operation:\n<%= config.bin %> <%= command.id %> --use-most-recent"
759
+ "Cancel a deploy operation using a job ID:\nsf <%= command.id %> --job-id 0Af0x000017yLUFCA2",
760
+ "Cancel the most recent deploy operation:\nsf <%= command.id %> --use-most-recent"
671
761
  ],
672
762
  "flags": {
673
763
  "json": {
@@ -696,7 +786,7 @@
696
786
  "type": "option"
697
787
  },
698
788
  "async": {
699
- "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\".",
789
+ "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 \"sf project deploy resume\". To check the status of the cancellation, run \"sf project deploy report\".",
700
790
  "exclusive": [
701
791
  "wait"
702
792
  ],
@@ -707,7 +797,7 @@
707
797
  },
708
798
  "job-id": {
709
799
  "char": "i",
710
- "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.",
800
+ "description": "These commands return a job ID if they time out or you specified the --async flag:\n\n- sf project deploy start\n- sf project deploy validate\n- sf project deploy quick\n- sf project deploy cancel\n\nThe job ID is valid for 10 days from when you started the deploy operation.",
711
801
  "name": "job-id",
712
802
  "summary": "Job ID of the deploy operation you want to cancel.",
713
803
  "hasDynamicHelp": false,
@@ -724,7 +814,7 @@
724
814
  },
725
815
  "wait": {
726
816
  "char": "w",
727
- "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\".",
817
+ "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 \"sf project deploy resume\". To check the status of the cancellation, run \"sf project deploy report\".",
728
818
  "exclusive": [
729
819
  "async"
730
820
  ],
@@ -776,13 +866,13 @@
776
866
  ],
777
867
  "args": {},
778
868
  "deprecateAliases": true,
779
- "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 --manifest and --source-dir.",
869
+ "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 \"sf 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 \"sf 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 --manifest and --source-dir.",
780
870
  "examples": [
781
- "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.",
782
- "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",
783
- "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",
784
- "Preview deployment of a specific Apex class:\n<%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass",
785
- "Preview deployment of all components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml"
871
+ "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 \"sf project deploy start\" for more examples that you can adapt for previewing.",
872
+ "Preview the deployment of source files in a directory, such as force-app, to your default org:\nsf <%= command.id %> --source-dir force-app",
873
+ "Preview the deployment of all Apex classes to an org with alias \"my-scratch\":\nsf <%= command.id %> --metadata ApexClass --target-org my-scratch",
874
+ "Preview deployment of a specific Apex class:\nsf <%= command.id %> --metadata ApexClass:MyApexClass",
875
+ "Preview deployment of all components listed in a manifest:\nsf <%= command.id %> --manifest path/to/package.xml"
786
876
  ],
787
877
  "flags": {
788
878
  "json": {
@@ -905,10 +995,10 @@
905
995
  ],
906
996
  "args": {},
907
997
  "deprecateAliases": true,
908
- "description": "Before you run this command, first create a validated deployment with the \"<%= config.bin %> project deploy validate\" command, which returns a job ID. Validated deployments haven't been deployed to the org yet; you deploy them with this command. Either pass the job ID to this command or use the --use-most-recent flag to use the job ID of the most recently validated deployment. For the quick deploy to succeed, the associated validated deployment must also have succeeded.\n\nExecuting this quick deploy command takes less time than a standard deploy because it skips running Apex tests. These tests were previously run as part of the validation. Validating first and then running a quick deploy is useful if the deployment to your production org take several hours and you don’t want to risk a failed deploy.\n\nThis command doesn't support source-tracking. The source you deploy overwrites the corresponding metadata in your org. This command doesn’t attempt to merge your source with the versions in your org.\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. Use `sf project deploy start` instead.",
998
+ "description": "Before you run this command, first create a validated deployment with the \"sf project deploy validate\" command, which returns a job ID. Validated deployments haven't been deployed to the org yet; you deploy them with this command. Either pass the job ID to this command or use the --use-most-recent flag to use the job ID of the most recently validated deployment. For the quick deploy to succeed, the associated validated deployment must also have succeeded.\n\nExecuting this quick deploy command takes less time than a standard deploy because it skips running Apex tests. These tests were previously run as part of the validation. Validating first and then running a quick deploy is useful if the deployment to your production org take several hours and you don’t want to risk a failed deploy.\n\nThis command doesn't support source-tracking. The source you deploy overwrites the corresponding metadata in your org. This command doesn’t attempt to merge your source with the versions in your org.\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. Use `sf project deploy start` instead.",
909
999
  "examples": [
910
- "Run a quick deploy to your default org using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2",
911
- "Asynchronously run a quick deploy of the most recently validated deployment to an org with alias \"my-prod-org\":\n<%= config.bin %> <%= command.id %> --async --use-most-recent --target-org my-prod-org"
1000
+ "Run a quick deploy to your default org using a job ID:\nsf <%= command.id %> --job-id 0Af0x000017yLUFCA2",
1001
+ "Asynchronously run a quick deploy of the most recently validated deployment to an org with alias \"my-prod-org\":\nsf <%= command.id %> --async --use-most-recent --target-org my-prod-org"
912
1002
  ],
913
1003
  "flags": {
914
1004
  "json": {
@@ -927,7 +1017,7 @@
927
1017
  "type": "option"
928
1018
  },
929
1019
  "async": {
930
- "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 deploy, run \"<%= config.bin %> project deploy resume\". To check the status of the deploy, run \"<%= config.bin %> project deploy report\".",
1020
+ "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 deploy, run \"sf project deploy resume\". To check the status of the deploy, run \"sf project deploy report\".",
931
1021
  "exclusive": [
932
1022
  "wait"
933
1023
  ],
@@ -983,7 +1073,7 @@
983
1073
  },
984
1074
  "wait": {
985
1075
  "char": "w",
986
- "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 deploy, run \"<%= config.bin %> project deploy resume\". To check the status of the deploy, run \"<%= config.bin %> project deploy report\".",
1076
+ "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 deploy, run \"sf project deploy resume\". To check the status of the deploy, run \"sf project deploy report\".",
987
1077
  "exclusive": [
988
1078
  "async"
989
1079
  ],
@@ -1080,9 +1170,9 @@
1080
1170
  "deprecateAliases": true,
1081
1171
  "description": "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. If you specify the --wait flag, the command polls for the status every second until the timeout of --wait minutes. If you don't specify the --wait flag, the command simply checks and displays the status of the deploy; the command doesn't poll for the status.\n\nYou typically don't specify the --target-org flag because the cached job already references the org to which you deployed. But if you run this command on a computer different than the one from which you deployed, then you must specify the --target-org and it must point to the same org.\n\nThis command doesn't update source tracking information.",
1082
1172
  "examples": [
1083
- "Check the status using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2",
1084
- "Check the status of the most recent deploy operation:\n<%= config.bin %> <%= command.id %> --use-most-recent",
1085
- "Poll for the status using a job ID and target org:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2 --target-org me@my.org --wait 30"
1173
+ "Check the status using a job ID:\nsf <%= command.id %> --job-id 0Af0x000017yLUFCA2",
1174
+ "Check the status of the most recent deploy operation:\nsf <%= command.id %> --use-most-recent",
1175
+ "Poll for the status using a job ID and target org:\nsf <%= command.id %> --job-id 0Af0x000017yLUFCA2 --target-org me@my.org --wait 30"
1086
1176
  ],
1087
1177
  "flags": {
1088
1178
  "json": {
@@ -1112,7 +1202,7 @@
1112
1202
  },
1113
1203
  "job-id": {
1114
1204
  "char": "i",
1115
- "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.",
1205
+ "description": "These commands return a job ID if they time out or you specified the --async flag:\n\n- sf project deploy start\n- sf project deploy validate\n- sf project deploy quick\n- sf project deploy cancel\n\nThe job ID is valid for 10 days from when you started the deploy operation.",
1116
1206
  "name": "job-id",
1117
1207
  "summary": "Job ID of the deploy operation you want to check the status of.",
1118
1208
  "hasDynamicHelp": false,
@@ -1175,7 +1265,7 @@
1175
1265
  },
1176
1266
  "wait": {
1177
1267
  "char": "w",
1178
- "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\".",
1268
+ "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 \"sf project deploy resume\". To check the status of the deployment, run \"sf project deploy report\".",
1179
1269
  "name": "wait",
1180
1270
  "summary": "Number of minutes to wait for command to complete and display results.",
1181
1271
  "hasDynamicHelp": true,
@@ -1226,8 +1316,8 @@
1226
1316
  "deprecateAliases": true,
1227
1317
  "description": "Use this command to resume watching a deploy operation if the original command times out or you specified the --async flag. Deploy operations include standard deploys, quick deploys, deploy validations, and deploy cancellations. This command doesn't resume the original operation itself, because the operation always continues after you've started it, regardless of whether you're watching it or not. When the deploy completes, source tracking information is updated as needed.\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.",
1228
1318
  "examples": [
1229
- "Resume watching a deploy operation using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2",
1230
- "Resume watching the most recent deploy operation:\n<%= config.bin %> <%= command.id %> --use-most-recent"
1319
+ "Resume watching a deploy operation using a job ID:\nsf <%= command.id %> --job-id 0Af0x000017yLUFCA2",
1320
+ "Resume watching the most recent deploy operation:\nsf <%= command.id %> --use-most-recent"
1231
1321
  ],
1232
1322
  "flags": {
1233
1323
  "json": {
@@ -1256,7 +1346,7 @@
1256
1346
  },
1257
1347
  "job-id": {
1258
1348
  "char": "i",
1259
- "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.",
1349
+ "description": "These commands return a job ID if they time out or you specified the --async flag:\n\n- sf project deploy start\n- sf project deploy validate\n- sf project deploy quick\n- sf project deploy cancel\n\nThe job ID is valid for 10 days from when you started the deploy operation.",
1260
1350
  "name": "job-id",
1261
1351
  "summary": "Job ID of the deploy operation you want to resume.",
1262
1352
  "hasDynamicHelp": false,
@@ -1282,7 +1372,7 @@
1282
1372
  },
1283
1373
  "wait": {
1284
1374
  "char": "w",
1285
- "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 deploy operation, run this command again. To check the status of the deploy operation, run \"<%= config.bin %> project deploy report\".",
1375
+ "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 deploy operation, run this command again. To check the status of the deploy operation, run \"sf project deploy report\".",
1286
1376
  "name": "wait",
1287
1377
  "summary": "Number of minutes to wait for the command to complete and display results.",
1288
1378
  "hasDynamicHelp": true,
@@ -1419,18 +1509,18 @@
1419
1509
  ],
1420
1510
  "args": {},
1421
1511
  "deprecateAliases": true,
1422
- "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 --manifest and --source-dir.",
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 \"sf 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 --manifest and --source-dir.",
1423
1513
  "examples": [
1424
- "Deploy local changes not in the org; uses your default org:\n<%= config.bin %> <%= command.id %>",
1425
- "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",
1426
- "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",
1427
- "Deploy all Apex classes that are in all package directories defined in the \"sfdx-project.json\" file:\n<%= config.bin %> <%= command.id %> --metadata ApexClass",
1428
- "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",
1429
- "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",
1430
- "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",
1431
- "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\"",
1432
- "Deploy all components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml",
1433
- "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"
1514
+ "Deploy local changes not in the org; uses your default org:\nsf <%= 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:\nsf <%= 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:\nsf <%= command.id %> --source-dir force-app/main/default/classes force-app/main/default/objects\nsf <%= 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:\nsf <%= 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!):\nsf <%= 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):\nsf <%= command.id %> --metadata 'ApexClass:MyApex*' --ignore-warnings",
1520
+ "Deploy all custom objects and Apex classes found in all defined package directories (both examples are equivalent):\nsf <%= command.id %> --metadata CustomObject ApexClass\nsf <%= command.id %> --metadata CustomObject --metadata ApexClass",
1521
+ "Deploy all Apex classes and a profile that has a space in its name:\nsf <%= command.id %> --metadata ApexClass --metadata \"Profile:My Profile\"",
1522
+ "Deploy all components listed in a manifest:\nsf <%= command.id %> --manifest path/to/package.xml",
1523
+ "Run the tests that aren’t in any managed packages as part of a deployment:\nsf <%= command.id %> --metadata ApexClass --test-level RunLocalTests"
1434
1524
  ],
1435
1525
  "flags": {
1436
1526
  "json": {
@@ -1458,7 +1548,7 @@
1458
1548
  "type": "option"
1459
1549
  },
1460
1550
  "async": {
1461
- "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\".",
1551
+ "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 \"sf project deploy resume\". To check the status of the deployment, run \"sf project deploy report\".",
1462
1552
  "exclusive": [
1463
1553
  "wait"
1464
1554
  ],
@@ -1621,7 +1711,7 @@
1621
1711
  },
1622
1712
  "wait": {
1623
1713
  "char": "w",
1624
- "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\".",
1714
+ "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 \"sf project deploy resume\". To check the status of the deployment, run \"sf project deploy report\".",
1625
1715
  "exclusive": [
1626
1716
  "async"
1627
1717
  ],
@@ -1815,13 +1905,13 @@
1815
1905
  ],
1816
1906
  "args": {},
1817
1907
  "deprecateAliases": true,
1818
- "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 --manifest and --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 \"sf project deploy start --dry-run --test-level RunLocalTests\" instead.",
1908
+ "description": "Use this command to verify whether a deployment will succeed without actually deploying the metadata to your org. This command is similar to \"sf 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 \"sf 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 --manifest and --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 \"sf project deploy start --dry-run --test-level RunLocalTests\" instead.",
1819
1909
  "examples": [
1820
- "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.",
1821
- "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",
1822
- "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",
1823
- "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",
1824
- "Validate the deployment of all components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml"
1910
+ "NOTE: These examples focus on validating large deployments. See the help for \"sf project deploy start\" for examples of deploying smaller sets of metadata which you can also use to validate.",
1911
+ "Validate the deployment of all source files in the \"force-app\" directory to the default org:\nsf <%= command.id %> --source-dir force-app",
1912
+ "Validate the deployment of all source files in two directories: \"force-app\" and \"force-app-utils\":\nsf <%= command.id %> --source-dir force-app --source-dir force-app-utils",
1913
+ "Asynchronously validate the deployment and run all tests in the org with alias \"my-prod-org\"; command immediately returns the job ID:\nsf <%= command.id %> --source-dir force-app --async --test-level RunAllTestsInOrg --target-org my-prod-org",
1914
+ "Validate the deployment of all components listed in a manifest:\nsf <%= command.id %> --manifest path/to/package.xml"
1825
1915
  ],
1826
1916
  "flags": {
1827
1917
  "json": {
@@ -1849,7 +1939,7 @@
1849
1939
  "type": "option"
1850
1940
  },
1851
1941
  "async": {
1852
- "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\".",
1942
+ "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 \"sf project deploy resume\". To check the status of the validation, run \"sf project deploy report\".",
1853
1943
  "name": "async",
1854
1944
  "summary": "Run the command asynchronously.",
1855
1945
  "allowNo": false,
@@ -1959,7 +2049,7 @@
1959
2049
  },
1960
2050
  "wait": {
1961
2051
  "char": "w",
1962
- "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\".",
2052
+ "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 \"sf project deploy resume\". To check the status of the validation, run \"sf project deploy report\".",
1963
2053
  "name": "wait",
1964
2054
  "summary": "Number of minutes to wait for the command to complete and display results.",
1965
2055
  "hasDynamicHelp": true,
@@ -2164,10 +2254,10 @@
2164
2254
  "deprecateAliases": true,
2165
2255
  "description": "Create a manifest from a list of metadata components (--metadata) or from one or more local directories that contain source files (--source-dir). You can specify either of these parameters, not both.\n\nUse --type to specify the type of manifest you want to create. The resulting manifest files have specific names, such as the standard package.xml or destructiveChanges.xml to delete metadata. Valid values for this parameter, and their respective file names, are:\n\n * package : package.xml (default)\n * pre : destructiveChangesPre.xml\n * post : destructiveChangesPost.xml\n * destroy : destructiveChanges.xml\n\nSee https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_deleting_files.htm for information about these destructive manifest files.\n\nUse --name to specify a custom name for the generated manifest if the pre-defined ones don’t suit your needs. You can specify either --type or --name, but not both.\n\nTo include 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 --include-packages and --source-dir.",
2166
2256
  "examples": [
2167
- "Create a manifest for deploying or retrieving all Apex classes and custom objects:\n$ <%= config.bin %> <%= command.id %> --metadata ApexClass --metadata CustomObject",
2168
- "Create a manifest for deleting the specified Apex class:\n$ <%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass --type destroy",
2169
- "Create a manifest for deploying or retrieving all the metadata components in the specified local directory; name the file myNewManifest.xml:\n$ <%= config.bin %> <%= command.id %> --source-dir force-app --name myNewManifest",
2170
- "Create a manifest from the metadata components in the specified org and include metadata in any unlocked packages:\n$ <%= config.bin %> <%= command.id %> --from-org test@myorg.com --include-packages unlocked"
2257
+ "Create a manifest for deploying or retrieving all Apex classes and custom objects:\n$ sf <%= command.id %> --metadata ApexClass --metadata CustomObject",
2258
+ "Create a manifest for deleting the specified Apex class:\n$ sf <%= command.id %> --metadata ApexClass:MyApexClass --type destroy",
2259
+ "Create a manifest for deploying or retrieving all the metadata components in the specified local directory; name the file myNewManifest.xml:\n$ sf <%= command.id %> --source-dir force-app --name myNewManifest",
2260
+ "Create a manifest from the metadata components in the specified org and include metadata in any unlocked packages:\n$ sf <%= command.id %> --from-org test@myorg.com --include-packages unlocked"
2171
2261
  ],
2172
2262
  "flags": {
2173
2263
  "json": {
@@ -2370,9 +2460,9 @@
2370
2460
  "deprecateAliases": true,
2371
2461
  "description": "When deploying or retrieving metadata between your local project and an org, you can specify the source files you want to exclude with a .forceignore file. The .forceignore file structure mimics the .gitignore structure. Each line in .forceignore specifies a pattern that corresponds to one or more files. The files typically represent metadata components, but can be any files you want to exclude, such as LWC configuration JSON files or tests.",
2372
2462
  "examples": [
2373
- "List all the files in all package directories that are ignored:\n<%= config.bin %> <%= command.id %>",
2374
- "List all the files in a specific directory that are ignored:\n<%= config.bin %> <%= command.id %> --source-dir force-app",
2375
- "Check if a particular file is ignored:\n<%= config.bin %> <%= command.id %> --source-dir package.xml"
2463
+ "List all the files in all package directories that are ignored:\nsf <%= command.id %>",
2464
+ "List all the files in a specific directory that are ignored:\nsf <%= command.id %> --source-dir force-app",
2465
+ "Check if a particular file is ignored:\nsf <%= command.id %> --source-dir package.xml"
2376
2466
  ],
2377
2467
  "flags": {
2378
2468
  "json": {
@@ -2462,10 +2552,10 @@
2462
2552
  ],
2463
2553
  "args": {},
2464
2554
  "deprecateAliases": true,
2465
- "description": "WARNING: This command deletes or overwrites all existing source tracking files. Use with extreme caution.\n\nResets local and remote source tracking so that Salesforce CLI no longer registers differences between your local files and those in the org. When you next run 'project deploy preview', Salesforce CLI returns no results, even though conflicts might actually exist. Salesforce CLI then resumes tracking new source changes as usual.\n\nUse the --revision parameter to reset source tracking to a specific revision number of an org source member. To get the revision number, query the SourceMember Tooling API object with the 'data soql' command. For example:\n\n <%= config.bin %> data query --query \"SELECT MemberName, MemberType, RevisionCounter FROM SourceMember\" --use-tooling-api --target-org my-scratch",
2555
+ "description": "WARNING: This command deletes or overwrites all existing source tracking files. Use with extreme caution.\n\nResets local and remote source tracking so that Salesforce CLI no longer registers differences between your local files and those in the org. When you next run 'project deploy preview', Salesforce CLI returns no results, even though conflicts might actually exist. Salesforce CLI then resumes tracking new source changes as usual.\n\nUse the --revision parameter to reset source tracking to a specific revision number of an org source member. To get the revision number, query the SourceMember Tooling API object with the 'data soql' command. For example:\n\n sf data query --query \"SELECT MemberName, MemberType, RevisionCounter FROM SourceMember\" --use-tooling-api --target-org my-scratch",
2466
2556
  "examples": [
2467
- "Reset source tracking for the org with alias \"my-scratch\":\n$ <%= config.bin %> <%= command.id %> --target-org my-scratch",
2468
- "Reset source tracking to revision number 30 for your default org:\n$ <%= config.bin %> <%= command.id %> --revision 30"
2557
+ "Reset source tracking for the org with alias \"my-scratch\":\n$ sf <%= command.id %> --target-org my-scratch",
2558
+ "Reset source tracking to revision number 30 for your default org:\n$ sf <%= command.id %> --revision 30"
2469
2559
  ],
2470
2560
  "flags": {
2471
2561
  "json": {
@@ -2598,10 +2688,10 @@
2598
2688
  ],
2599
2689
  "args": {},
2600
2690
  "deprecateAliases": true,
2601
- "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 retrieve start\" command. The table lists the metadata components that will be retrieved 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 retrieved 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.",
2691
+ "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 \"sf project retrieve start\" command. The table lists the metadata components that will be retrieved 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 retrieved 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 \"sf org create scratch|sandbox\" commands.",
2602
2692
  "examples": [
2603
- "Preview the retrieve of all changes from your default org:\n<%= config.bin %> <%= command.id %>",
2604
- "Preview the retrieve when ignoring any conflicts from an org with alias \"my-scratch\":\n<%= config.bin %> <%= command.id %> --ignore-conflicts --target-org my-scratch"
2693
+ "Preview the retrieve of all changes from your default org:\nsf <%= command.id %>",
2694
+ "Preview the retrieve when ignoring any conflicts from an org with alias \"my-scratch\":\nsf <%= command.id %> --ignore-conflicts --target-org my-scratch"
2605
2695
  ],
2606
2696
  "flags": {
2607
2697
  "json": {
@@ -2686,20 +2776,20 @@
2686
2776
  ],
2687
2777
  "args": {},
2688
2778
  "deprecateAliases": true,
2689
- "description": "You must run this command from within a project.\n\nMetadata components are retrieved in source format by default. Retrieve them in metadata format by specifying the --target-metadata-dir flag, which retrieves the components into a ZIP file in the specified directory.\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 retrieve multiple metadata components, either use multiple --metadata <name> flags or use 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 --manifest and --source-dir.",
2779
+ "description": "You must run this command from within a project.\n\nMetadata components are retrieved in source format by default. Retrieve them in metadata format by specifying the --target-metadata-dir flag, which retrieves the components into a ZIP file in the specified directory.\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 \"sf org create scratch|sandbox\" commands.\n\nTo retrieve multiple metadata components, either use multiple --metadata <name> flags or use 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 --manifest and --source-dir.",
2690
2780
  "examples": [
2691
- "Retrieve all remote changes from your default org:\n<%= config.bin %> <%= command.id %>",
2692
- "Retrieve the source files in the \"force-app\" directory from an org with alias \"my-scratch\":\n<%= config.bin %> <%= command.id %> --source-dir force-app --target-org my-scratch",
2693
- "Retrieve all the Apex classes and custom objects whose source is in the \"force-app\" directory. The list views, layouts, etc, that are associated with the custom objects are also retrieved. 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",
2694
- "Retrieve all Apex classes that are in all package directories defined in the \"sfdx-project.json\" file:\n<%= config.bin %> <%= command.id %> --metadata ApexClass",
2695
- "Retrieve 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 source files in your local project if there are conflicts!):\n<%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass --ignore-conflicts",
2696
- "Retrieve specific Apex classes that match a pattern; in this example, retrieve Apex classes whose names contain the string \"MyApex\":\n<%= config.bin %> <%= command.id %> --metadata 'ApexClass:MyApex*'",
2697
- "Retrieve 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",
2698
- "Retrieve all metadata components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml",
2699
- "Retrieve metadata from a package:\n<%= config.bin %> <%= command.id %> --package-name MyPackageName",
2700
- "Retrieve metadata from multiple packages, one of which has a space in its name (both examples are equivalent):\n<%= config.bin %> <%= command.id %> --package-name Package1 \"PackageName With Spaces\" Package3\n<%= config.bin %> <%= command.id %> --package-name Package1 --package-name \"PackageName With Spaces\" --package-name Package3",
2701
- "Retrieve the metadata components listed in the force-app directory, but retrieve them in metadata format into a ZIP file in the \"output\" directory:\n<%= config.bin %> <%= command.id %> --source-dir force-app --target-metadata-dir output",
2702
- "Retrieve in metadata format and automatically extract the contents into the \"output\" directory:\n<%= config.bin %> <%= command.id %> --source-dir force-app --target-metadata-dir output --unzip"
2781
+ "Retrieve all remote changes from your default org:\nsf <%= command.id %>",
2782
+ "Retrieve the source files in the \"force-app\" directory from an org with alias \"my-scratch\":\nsf <%= command.id %> --source-dir force-app --target-org my-scratch",
2783
+ "Retrieve all the Apex classes and custom objects whose source is in the \"force-app\" directory. The list views, layouts, etc, that are associated with the custom objects are also retrieved. Both examples are equivalent:\nsf <%= command.id %> --source-dir force-app/main/default/classes force-app/main/default/objects\nsf <%= command.id %> --source-dir force-app/main/default/classes --source-dir force-app/main/default/objects",
2784
+ "Retrieve all Apex classes that are in all package directories defined in the \"sfdx-project.json\" file:\nsf <%= command.id %> --metadata ApexClass",
2785
+ "Retrieve 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 source files in your local project if there are conflicts!):\nsf <%= command.id %> --metadata ApexClass:MyApexClass --ignore-conflicts",
2786
+ "Retrieve specific Apex classes that match a pattern; in this example, retrieve Apex classes whose names contain the string \"MyApex\":\nsf <%= command.id %> --metadata 'ApexClass:MyApex*'",
2787
+ "Retrieve all custom objects and Apex classes found in all defined package directories (both examples are equivalent):\nsf <%= command.id %> --metadata CustomObject ApexClass\nsf <%= command.id %> --metadata CustomObject --metadata ApexClass",
2788
+ "Retrieve all metadata components listed in a manifest:\nsf <%= command.id %> --manifest path/to/package.xml",
2789
+ "Retrieve metadata from a package:\nsf <%= command.id %> --package-name MyPackageName",
2790
+ "Retrieve metadata from multiple packages, one of which has a space in its name (both examples are equivalent):\nsf <%= command.id %> --package-name Package1 \"PackageName With Spaces\" Package3\nsf <%= command.id %> --package-name Package1 --package-name \"PackageName With Spaces\" --package-name Package3",
2791
+ "Retrieve the metadata components listed in the force-app directory, but retrieve them in metadata format into a ZIP file in the \"output\" directory:\nsf <%= command.id %> --source-dir force-app --target-metadata-dir output",
2792
+ "Retrieve in metadata format and automatically extract the contents into the \"output\" directory:\nsf <%= command.id %> --source-dir force-app --target-metadata-dir output --unzip"
2703
2793
  ],
2704
2794
  "flags": {
2705
2795
  "json": {
@@ -2936,5 +3026,5 @@
2936
3026
  ]
2937
3027
  }
2938
3028
  },
2939
- "version": "3.7.9"
3029
+ "version": "3.8.0"
2940
3030
  }