@salesforce/plugin-deploy-retrieve 1.8.4 → 1.8.5-beta.2

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 (115) hide show
  1. package/lib/commands/deploy.d.ts +5 -0
  2. package/lib/commands/deploy.js +5 -0
  3. package/lib/commands/deploy.js.map +1 -1
  4. package/lib/commands/project/convert/mdapi.d.ts +32 -0
  5. package/lib/commands/project/convert/mdapi.js +173 -0
  6. package/lib/commands/project/convert/mdapi.js.map +1 -0
  7. package/lib/commands/project/convert/source.d.ts +29 -0
  8. package/lib/commands/project/convert/source.js +141 -0
  9. package/lib/commands/project/convert/source.js.map +1 -0
  10. package/lib/commands/project/delete/source.d.ts +69 -0
  11. package/lib/commands/project/delete/source.js +423 -0
  12. package/lib/commands/project/delete/source.js.map +1 -0
  13. package/lib/commands/project/delete/tracking.d.ts +19 -0
  14. package/lib/commands/project/delete/tracking.js +49 -0
  15. package/lib/commands/project/delete/tracking.js.map +1 -0
  16. package/lib/commands/{deploy/metadata → project/deploy}/cancel.d.ts +2 -0
  17. package/lib/commands/{deploy/metadata → project/deploy}/cancel.js +13 -3
  18. package/lib/commands/project/deploy/cancel.js.map +1 -0
  19. package/lib/commands/{deploy/metadata → project/deploy}/preview.d.ts +3 -0
  20. package/lib/commands/{deploy/metadata → project/deploy}/preview.js +9 -3
  21. package/lib/commands/project/deploy/preview.js.map +1 -0
  22. package/lib/commands/{deploy/metadata → project/deploy}/quick.d.ts +3 -0
  23. package/lib/commands/{deploy/metadata → project/deploy}/quick.js +10 -4
  24. package/lib/commands/project/deploy/quick.js.map +1 -0
  25. package/lib/commands/project/deploy/report.d.ts +22 -0
  26. package/lib/commands/{deploy/metadata → project/deploy}/report.js +25 -4
  27. package/lib/commands/project/deploy/report.js.map +1 -0
  28. package/lib/commands/{deploy/metadata → project/deploy}/resume.d.ts +5 -0
  29. package/lib/commands/{deploy/metadata → project/deploy}/resume.js +17 -2
  30. package/lib/commands/project/deploy/resume.js.map +1 -0
  31. package/lib/commands/{deploy/metadata.d.ts → project/deploy/start.d.ts} +10 -2
  32. package/lib/commands/{deploy/metadata.js → project/deploy/start.js} +40 -11
  33. package/lib/commands/project/deploy/start.js.map +1 -0
  34. package/lib/commands/{deploy/metadata → project/deploy}/validate.d.ts +2 -0
  35. package/lib/commands/{deploy/metadata → project/deploy}/validate.js +4 -4
  36. package/lib/commands/project/deploy/validate.js.map +1 -0
  37. package/lib/commands/project/manifest/create.d.ts +26 -0
  38. package/lib/commands/project/manifest/create.js +133 -0
  39. package/lib/commands/project/manifest/create.js.map +1 -0
  40. package/lib/commands/project/reset/tracking.d.ts +21 -0
  41. package/lib/commands/project/reset/tracking.js +64 -0
  42. package/lib/commands/project/reset/tracking.js.map +1 -0
  43. package/lib/commands/{retrieve/metadata → project/retrieve}/preview.d.ts +2 -0
  44. package/lib/commands/{retrieve/metadata → project/retrieve}/preview.js +2 -0
  45. package/lib/commands/project/retrieve/preview.js.map +1 -0
  46. package/lib/commands/{retrieve/metadata.d.ts → project/retrieve/start.d.ts} +3 -1
  47. package/lib/commands/{retrieve/metadata.js → project/retrieve/start.js} +8 -6
  48. package/lib/commands/project/retrieve/start.js.map +1 -0
  49. package/lib/utils/coverage.d.ts +9 -0
  50. package/lib/utils/coverage.js +111 -0
  51. package/lib/utils/coverage.js.map +1 -0
  52. package/lib/utils/deploy.d.ts +9 -5
  53. package/lib/utils/deploy.js +21 -24
  54. package/lib/utils/deploy.js.map +1 -1
  55. package/lib/utils/deployCache.d.ts +8 -2
  56. package/lib/utils/deployCache.js +11 -2
  57. package/lib/utils/deployCache.js.map +1 -1
  58. package/lib/utils/flags.js +1 -5
  59. package/lib/utils/flags.js.map +1 -1
  60. package/lib/utils/manifestCache.d.ts +5 -0
  61. package/lib/utils/manifestCache.js +38 -0
  62. package/lib/utils/manifestCache.js.map +1 -0
  63. package/lib/utils/metadataDeployer.js +1 -0
  64. package/lib/utils/metadataDeployer.js.map +1 -1
  65. package/lib/utils/output.d.ts +44 -4
  66. package/lib/utils/output.js +220 -38
  67. package/lib/utils/output.js.map +1 -1
  68. package/lib/utils/previewOutput.d.ts +2 -1
  69. package/lib/utils/previewOutput.js +14 -22
  70. package/lib/utils/previewOutput.js.map +1 -1
  71. package/lib/utils/types.d.ts +35 -0
  72. package/lib/utils/types.js +3 -1
  73. package/lib/utils/types.js.map +1 -1
  74. package/messages/convert.mdapi.md +78 -0
  75. package/messages/convert.source.md +64 -0
  76. package/messages/delete.source.md +122 -0
  77. package/messages/delete.tracking.md +34 -0
  78. package/messages/deploy.async.md +3 -3
  79. package/messages/deploy.md +5 -1
  80. package/messages/deploy.metadata.cancel.md +10 -6
  81. package/messages/deploy.metadata.md +33 -5
  82. package/messages/deploy.metadata.preview.md +7 -3
  83. package/messages/deploy.metadata.quick.md +11 -3
  84. package/messages/deploy.metadata.report.md +24 -4
  85. package/messages/deploy.metadata.resume.md +17 -5
  86. package/messages/deploy.metadata.validate.md +9 -5
  87. package/messages/manifest.create.md +61 -0
  88. package/messages/retrieve.metadata.md +1 -1
  89. package/messages/retrieve.metadata.preview.md +3 -3
  90. package/oclif.manifest.json +1673 -665
  91. package/package.json +45 -32
  92. package/schemas/project-convert-mdapi.json +29 -0
  93. package/schemas/project-delete-source.json +609 -0
  94. package/schemas/project-delete-tracking.json +19 -0
  95. package/schemas/project-manifest-create.json +19 -0
  96. package/schemas/project-reset-tracking.json +19 -0
  97. package/lib/commands/deploy/metadata/cancel.js.map +0 -1
  98. package/lib/commands/deploy/metadata/preview.js.map +0 -1
  99. package/lib/commands/deploy/metadata/quick.js.map +0 -1
  100. package/lib/commands/deploy/metadata/report.d.ts +0 -14
  101. package/lib/commands/deploy/metadata/report.js.map +0 -1
  102. package/lib/commands/deploy/metadata/resume.js.map +0 -1
  103. package/lib/commands/deploy/metadata/validate.js.map +0 -1
  104. package/lib/commands/deploy/metadata.js.map +0 -1
  105. package/lib/commands/retrieve/metadata/preview.js.map +0 -1
  106. package/lib/commands/retrieve/metadata.js.map +0 -1
  107. /package/schemas/{deploy-metadata-cancel.json → project-deploy-cancel.json} +0 -0
  108. /package/schemas/{deploy-metadata-preview.json → project-deploy-preview.json} +0 -0
  109. /package/schemas/{deploy-metadata-quick.json → project-deploy-quick.json} +0 -0
  110. /package/schemas/{deploy-metadata-report.json → project-deploy-report.json} +0 -0
  111. /package/schemas/{deploy-metadata-resume.json → project-deploy-resume.json} +0 -0
  112. /package/schemas/{deploy-metadata-validate.json → project-deploy-start.json} +0 -0
  113. /package/schemas/{deploy-metadata.json → project-deploy-validate.json} +0 -0
  114. /package/schemas/{retrieve-metadata-preview.json → project-retrieve-preview.json} +0 -0
  115. /package/schemas/{retrieve-metadata.json → project-retrieve-start.json} +0 -0
@@ -1,31 +1,1102 @@
1
1
  {
2
- "version": "1.8.4",
2
+ "version": "1.8.5-beta.2",
3
3
  "commands": {
4
4
  "deploy": {
5
5
  "id": "deploy",
6
6
  "summary": "Deploy a project interactively to any Salesforce environment.",
7
- "description": "This command must be run from within a project.\n\nThe command first analyzes your project, your active or logged-into environments, and local defaults to determine what to deploy and where to deploy it. The command then prompts you for information about this particular deployment and provides intelligent choices based on its analysis.\n\nFor example, if your local project contains a source directory with metadata files in source format, the command asks if you want to deploy that Salesforce app to an org. The command lists your connected orgs and asks which one you want to deploy to. The list of orgs starts with scratch orgs, ordered by expiration date with the most recently created one first, and then Dev Hub and production orgs ordered by name. If the command finds Apex tests, it asks if you want to run them and at which level.\n\nThe command stores your responses in the \"deploy-options.json\" file in your local project directory and uses them as defaults when you rerun the command. Specify --interactive to force the command to reprompt.\n\nUse this command for quick and simple deploys. For more complicated deployments, use the environment-specific commands, such as \"sf deploy metadata\", that provide additional flags.",
7
+ "description": "This command must be run from within a project.\n\nThe command first analyzes your project, your active or logged-into environments, and local defaults to determine what to deploy and where to deploy it. The command then prompts you for information about this particular deployment and provides intelligent choices based on its analysis.\n\nFor example, if your local project contains a source directory with metadata files in source format, the command asks if you want to deploy that Salesforce app to an org. The command lists your connected orgs and asks which one you want to deploy to. The list of orgs starts with scratch orgs, ordered by expiration date with the most recently created one first, and then Dev Hub and production orgs ordered by name. If the command finds Apex tests, it asks if you want to run them and at which level.\n\nThe command stores your responses in the \"deploy-options.json\" file in your local project directory and uses them as defaults when you rerun the command. Specify --interactive to force the command to reprompt.\n\nUse this command for quick and simple deploys. For more complicated deployments, use the environment-specific commands, such as \"sf project deploy start\", that provide additional flags.",
8
8
  "strict": true,
9
9
  "pluginName": "@salesforce/plugin-deploy-retrieve",
10
10
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
11
11
  "pluginType": "core",
12
+ "state": "deprecated",
12
13
  "aliases": [],
13
14
  "examples": [
14
15
  "Deploy a project and use stored values from a previous command run:\n<%= config.bin %> <%= command.id %>",
15
16
  "Reprompt for all deployment inputs:\n<%= config.bin %> <%= command.id %> --interactive"
16
17
  ],
18
+ "deprecationOptions": {
19
+ "version": "59.0",
20
+ "message": "The top-level deploy command is deprecated. You should use `functions deploy` to deploy functions, and use `project deploy start` to deploy metadata to Salesforce orgs."
21
+ },
17
22
  "flags": {
18
23
  "interactive": {
19
24
  "name": "interactive",
20
25
  "type": "boolean",
21
- "summary": "Force the CLI to prompt for all deployment inputs.",
22
- "allowNo": false
26
+ "summary": "Force the CLI to prompt for all deployment inputs.",
27
+ "allowNo": false
28
+ }
29
+ },
30
+ "args": {}
31
+ },
32
+ "project:convert:mdapi": {
33
+ "id": "project:convert:mdapi",
34
+ "summary": "convert metadata from the Metadata API format into the source format",
35
+ "description": "Converts metadata retrieved via Metadata API into the source format used in Salesforce DX projects.\n\nTo 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 \"sfdx force:mdapi:convert\".\n\nTo convert files from the source format back to the metadata format, so that you can deploy them using \"<%= config.bin %> project deploy\", run \"<%= config.bin %> project convert source\".",
36
+ "strict": true,
37
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
38
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
39
+ "pluginType": "core",
40
+ "aliases": [
41
+ "force:mdapi:beta:convert",
42
+ "force:mdapi:convert"
43
+ ],
44
+ "examples": [
45
+ "$ <%= config.bin %> <%= command.id %> -r path/to/metadata",
46
+ "$ <%= config.bin %> <%= command.id %> -r path/to/metadata -d path/to/outputdir"
47
+ ],
48
+ "deprecateAliases": true,
49
+ "flags": {
50
+ "json": {
51
+ "name": "json",
52
+ "type": "boolean",
53
+ "description": "Format output as json.",
54
+ "helpGroup": "GLOBAL",
55
+ "allowNo": false,
56
+ "deprecateAliases": true
57
+ },
58
+ "api-version": {
59
+ "name": "api-version",
60
+ "type": "option",
61
+ "description": "Override the api version used for api requests made by this command",
62
+ "multiple": false,
63
+ "deprecateAliases": true,
64
+ "aliases": [
65
+ "apiversion"
66
+ ]
67
+ },
68
+ "loglevel": {
69
+ "name": "loglevel",
70
+ "type": "option",
71
+ "hidden": true,
72
+ "multiple": false,
73
+ "deprecated": {
74
+ "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."
75
+ },
76
+ "deprecateAliases": true
77
+ },
78
+ "root-dir": {
79
+ "name": "root-dir",
80
+ "type": "option",
81
+ "char": "r",
82
+ "summary": "the root directory containing the Metadata API–formatted metadata",
83
+ "description": "The root directory that contains the metadata you retrieved using Metadata API.",
84
+ "required": true,
85
+ "multiple": false,
86
+ "deprecateAliases": true,
87
+ "aliases": [
88
+ "rootdir"
89
+ ]
90
+ },
91
+ "output-dir": {
92
+ "name": "output-dir",
93
+ "type": "option",
94
+ "char": "d",
95
+ "summary": "the output directory to store the source–formatted files",
96
+ "description": "The directory to store your files in after they’re converted to the source format. Can be an absolute or relative path.",
97
+ "multiple": false,
98
+ "deprecateAliases": true,
99
+ "aliases": [
100
+ "outputdir"
101
+ ]
102
+ },
103
+ "manifest": {
104
+ "name": "manifest",
105
+ "type": "option",
106
+ "char": "x",
107
+ "summary": "file path to manifest (package.xml) of metadata types to convert.",
108
+ "description": "The complete path to the manifest (package.xml) file that specifies the metadata types to convert.\nIf you specify this parameter, don’t specify --metadata or --source-path.",
109
+ "multiple": false,
110
+ "deprecateAliases": true
111
+ },
112
+ "metadata-path": {
113
+ "name": "metadata-path",
114
+ "type": "option",
115
+ "char": "p",
116
+ "summary": "comma-separated list of metadata file paths to convert",
117
+ "description": "A comma-separated list of paths to the local metadata files to convert. The supplied paths 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 sub-directories).\nIf you specify this parameter, don’t specify --manifest or --metadata. If the comma-separated list you’re supplying contains spaces, enclose the entire comma-separated list in one set of double quotes.",
118
+ "multiple": true,
119
+ "exclusive": [
120
+ "manifest",
121
+ "metadata"
122
+ ],
123
+ "deprecateAliases": true,
124
+ "aliases": [
125
+ "metadatapath"
126
+ ],
127
+ "delimiter": ","
128
+ },
129
+ "metadata": {
130
+ "name": "metadata",
131
+ "type": "option",
132
+ "char": "m",
133
+ "summary": "comma-separated list of metadata component names to convert",
134
+ "description": "A comma-separated list of metadata component names to convert.",
135
+ "multiple": true,
136
+ "exclusive": [
137
+ "manifest",
138
+ "metadatapath"
139
+ ],
140
+ "deprecateAliases": true,
141
+ "delimiter": ","
142
+ }
143
+ },
144
+ "args": {},
145
+ "requiresProject": true
146
+ },
147
+ "project:convert:source": {
148
+ "id": "project:convert:source",
149
+ "summary": "convert source into Metadata API format",
150
+ "description": "convert source into Metadata API format\nConverts source-formatted files into metadata that you can deploy using Metadata API.\nTo convert source-formatted files into the metadata format, so that you can deploy them using Metadata API,\nrun \"<%= config.bin %> project convert mdapi\". 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.",
151
+ "strict": true,
152
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
153
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
154
+ "pluginType": "core",
155
+ "aliases": [
156
+ "force:source:convert"
157
+ ],
158
+ "examples": [
159
+ "$ <%= config.bin %> <%= command.id %> -r path/to/source",
160
+ "$ <%= config.bin %> <%= command.id %> -r path/to/source -d path/to/outputdir -n 'My Package'"
161
+ ],
162
+ "deprecateAliases": true,
163
+ "flags": {
164
+ "json": {
165
+ "name": "json",
166
+ "type": "boolean",
167
+ "description": "Format output as json.",
168
+ "helpGroup": "GLOBAL",
169
+ "allowNo": false,
170
+ "deprecateAliases": true
171
+ },
172
+ "api-version": {
173
+ "name": "api-version",
174
+ "type": "option",
175
+ "description": "Override the api version used for api requests made by this command",
176
+ "multiple": false,
177
+ "deprecateAliases": true,
178
+ "aliases": [
179
+ "apiversion"
180
+ ]
181
+ },
182
+ "loglevel": {
183
+ "name": "loglevel",
184
+ "type": "option",
185
+ "hidden": true,
186
+ "multiple": false,
187
+ "deprecated": {
188
+ "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."
189
+ },
190
+ "deprecateAliases": true
191
+ },
192
+ "root-dir": {
193
+ "name": "root-dir",
194
+ "type": "option",
195
+ "char": "r",
196
+ "summary": "a source directory other than the default package to convert",
197
+ "multiple": false,
198
+ "deprecateAliases": true,
199
+ "aliases": [
200
+ "rootdir"
201
+ ]
202
+ },
203
+ "output-dir": {
204
+ "name": "output-dir",
205
+ "type": "option",
206
+ "char": "d",
207
+ "summary": "output directory to store the Metadata API–formatted files in",
208
+ "multiple": false,
209
+ "default": "metadataPackage_1679527716679",
210
+ "deprecateAliases": true,
211
+ "aliases": [
212
+ "outputdir"
213
+ ]
214
+ },
215
+ "package-name": {
216
+ "name": "package-name",
217
+ "type": "option",
218
+ "char": "n",
219
+ "summary": "name of the package to associate with the metadata-formatted files",
220
+ "multiple": false,
221
+ "deprecateAliases": true,
222
+ "aliases": [
223
+ "packagename"
224
+ ]
225
+ },
226
+ "manifest": {
227
+ "name": "manifest",
228
+ "type": "option",
229
+ "char": "x",
230
+ "summary": "The complete path to the manifest (package.xml) file that specifies the metadata types to convert.\nIf you specify this parameter, don’t specify --metadata or --source-path.",
231
+ "description": "file path to manifest (package.xml) of metadata types to convert.",
232
+ "multiple": false,
233
+ "deprecateAliases": true
234
+ },
235
+ "source-path": {
236
+ "name": "source-path",
237
+ "type": "option",
238
+ "char": "p",
239
+ "summary": "A comma-separated list of paths to the local source files to convert. The supplied paths 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 sub-directories).\nIf you specify this parameter, don’t specify --manifest or --metadata.",
240
+ "description": "comma-separated list of paths to the local source files to convert",
241
+ "multiple": true,
242
+ "exclusive": [
243
+ "manifest",
244
+ "metadata"
245
+ ],
246
+ "deprecateAliases": true,
247
+ "aliases": [
248
+ "sourcepath"
249
+ ],
250
+ "delimiter": ","
251
+ },
252
+ "metadata": {
253
+ "name": "metadata",
254
+ "type": "option",
255
+ "char": "m",
256
+ "description": "comma-separated list of metadata component names to convert",
257
+ "multiple": true,
258
+ "exclusive": [
259
+ "manifest",
260
+ "sourcepath"
261
+ ],
262
+ "deprecateAliases": true,
263
+ "delimiter": ","
264
+ }
265
+ },
266
+ "args": {},
267
+ "requiresProject": true
268
+ },
269
+ "project:delete:source": {
270
+ "id": "project:delete:source",
271
+ "summary": "delete source from your project and from a non-source-tracked org.",
272
+ "description": "delete source from your project and from a non-source-tracked org\nIMPORTANT: 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\nUse this command to delete components from orgs that don’t have source tracking.\nTo remove deleted items from scratch orgs, which have change tracking, use \"sf project deploy start\".",
273
+ "strict": true,
274
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
275
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
276
+ "pluginType": "core",
277
+ "aliases": [
278
+ "force:source:delete"
279
+ ],
280
+ "examples": [
281
+ "$ <%= config.bin %> <%= command.id %> -m <metadata>",
282
+ "$ <%= config.bin %> <%= command.id %> -p path/to/source"
283
+ ],
284
+ "deprecateAliases": true,
285
+ "flags": {
286
+ "json": {
287
+ "name": "json",
288
+ "type": "boolean",
289
+ "description": "Format output as json.",
290
+ "helpGroup": "GLOBAL",
291
+ "allowNo": false,
292
+ "deprecateAliases": true
293
+ },
294
+ "api-version": {
295
+ "name": "api-version",
296
+ "type": "option",
297
+ "description": "Override the api version used for api requests made by this command",
298
+ "multiple": false,
299
+ "deprecateAliases": true,
300
+ "aliases": [
301
+ "apiversion"
302
+ ]
303
+ },
304
+ "loglevel": {
305
+ "name": "loglevel",
306
+ "type": "option",
307
+ "hidden": true,
308
+ "multiple": false,
309
+ "deprecated": {
310
+ "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."
311
+ },
312
+ "deprecateAliases": true
313
+ },
314
+ "target-org": {
315
+ "name": "target-org",
316
+ "type": "option",
317
+ "char": "o",
318
+ "summary": "Username or alias of the target org.",
319
+ "required": true,
320
+ "multiple": false,
321
+ "deprecateAliases": true,
322
+ "aliases": [
323
+ "targetusername",
324
+ "u"
325
+ ]
326
+ },
327
+ "check-only": {
328
+ "name": "check-only",
329
+ "type": "boolean",
330
+ "char": "c",
331
+ "summary": "validate delete command but do not delete from the org or delete files locally",
332
+ "description": "Validates the deleted metadata and runs all Apex tests, but prevents the deletion from being saved to the org.\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.\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.\nNote: A Metadata API deletion that includes Master-Detail relationships deletes all detail records in the Recycle Bin in the following cases.\n1. 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.\n2. 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.",
333
+ "allowNo": false,
334
+ "deprecateAliases": true,
335
+ "aliases": [
336
+ "checkonly"
337
+ ]
338
+ },
339
+ "wait": {
340
+ "name": "wait",
341
+ "type": "option",
342
+ "char": "w",
343
+ "summary": "wait time for command to finish in minutes",
344
+ "description": "Number of minutes to wait for the command to complete and display results to the terminal window. If the command continues to run after the wait period, the CLI returns control of the terminal window to you.",
345
+ "multiple": false,
346
+ "default": {
347
+ "quantity": 33,
348
+ "unit": 0
349
+ },
350
+ "deprecateAliases": true
351
+ },
352
+ "test-level": {
353
+ "name": "test-level",
354
+ "type": "option",
355
+ "char": "l",
356
+ "summary": "deployment testing level",
357
+ "description": "Specifies which level of deployment tests to run. Valid values are:\nNoTestRu — 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.\nRunLocalTests — 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.\nRunAllTestsInOrg — All tests in your org are run, including tests of managed packages.\nIf you don’t specify a test level, the default behavior depends on the contents of your deployment package. For more information, see “Running Tests in a Deployment” in the Metadata API Developer Guide.",
358
+ "multiple": false,
359
+ "options": [
360
+ "NoTestRun",
361
+ "RunLocalTests",
362
+ "RunAllTestsInOrg"
363
+ ],
364
+ "default": "NoTestRun",
365
+ "deprecateAliases": true,
366
+ "aliases": [
367
+ "testlevel"
368
+ ]
369
+ },
370
+ "no-prompt": {
371
+ "name": "no-prompt",
372
+ "type": "boolean",
373
+ "char": "r",
374
+ "summary": "do not prompt for delete confirmation",
375
+ "allowNo": false,
376
+ "deprecateAliases": true,
377
+ "aliases": [
378
+ "noprompt"
379
+ ]
380
+ },
381
+ "metadata": {
382
+ "name": "metadata",
383
+ "type": "option",
384
+ "char": "m",
385
+ "summary": "comma-separated list of names of metadata components to delete",
386
+ "description": "A comma-separated list of names of metadata components to delete from your project and your org.\nIf you specify this parameter, don’t specify --source-path.",
387
+ "multiple": true,
388
+ "deprecateAliases": true,
389
+ "delimiter": ","
390
+ },
391
+ "source-path": {
392
+ "name": "source-path",
393
+ "type": "option",
394
+ "char": "p",
395
+ "summary": "comma-separated list of source file paths to delete",
396
+ "description": "A comma-separated list of paths to the local metadata to delete. 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).\nIf you specify this parameter, don’t specify --metadata.",
397
+ "multiple": true,
398
+ "deprecateAliases": true,
399
+ "aliases": [
400
+ "sourcepath"
401
+ ],
402
+ "delimiter": ","
403
+ },
404
+ "track-source": {
405
+ "name": "track-source",
406
+ "type": "boolean",
407
+ "char": "t",
408
+ "summary": "If the delete succeeds, update the source tracking information, similar to push",
409
+ "allowNo": false,
410
+ "exclusive": [
411
+ "check-only"
412
+ ],
413
+ "deprecateAliases": true,
414
+ "aliases": [
415
+ "tracksource"
416
+ ]
417
+ },
418
+ "force-overwrite": {
419
+ "name": "force-overwrite",
420
+ "type": "boolean",
421
+ "char": "f",
422
+ "summary": "ignore conflict warnings and overwrite changes to the org",
423
+ "allowNo": false,
424
+ "dependsOn": [
425
+ "track-source"
426
+ ],
427
+ "deprecateAliases": true,
428
+ "aliases": [
429
+ "forceoverwrite"
430
+ ]
431
+ },
432
+ "verbose": {
433
+ "name": "verbose",
434
+ "type": "boolean",
435
+ "summary": "verbose output of delete result",
436
+ "allowNo": false,
437
+ "deprecateAliases": true
438
+ }
439
+ },
440
+ "args": {},
441
+ "requiresProject": true,
442
+ "hasDynamicHelp": true
443
+ },
444
+ "project:delete:tracking": {
445
+ "id": "project:delete:tracking",
446
+ "summary": "delete all local source tracking information\n\nWARNING: 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', the CLI displays all local and remote files as changed, and any files with the same name are listed as conflicts.",
447
+ "description": "delete all local source tracking information\n\nWARNING: 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', the CLI displays all local and remote files as changed, and any files with the same name are listed as conflicts.",
448
+ "strict": true,
449
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
450
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
451
+ "pluginType": "core",
452
+ "aliases": [
453
+ "force:source:beta:tracking:clear",
454
+ "force:source:tracking:clear"
455
+ ],
456
+ "examples": [],
457
+ "deprecateAliases": true,
458
+ "flags": {
459
+ "json": {
460
+ "name": "json",
461
+ "type": "boolean",
462
+ "description": "Format output as json.",
463
+ "helpGroup": "GLOBAL",
464
+ "allowNo": false,
465
+ "deprecateAliases": true
466
+ },
467
+ "api-version": {
468
+ "name": "api-version",
469
+ "type": "option",
470
+ "description": "Override the api version used for api requests made by this command",
471
+ "multiple": false,
472
+ "deprecateAliases": true,
473
+ "aliases": [
474
+ "apiversion"
475
+ ]
476
+ },
477
+ "loglevel": {
478
+ "name": "loglevel",
479
+ "type": "option",
480
+ "hidden": true,
481
+ "multiple": false,
482
+ "deprecated": {
483
+ "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."
484
+ },
485
+ "deprecateAliases": true
486
+ },
487
+ "target-org": {
488
+ "name": "target-org",
489
+ "type": "option",
490
+ "char": "o",
491
+ "summary": "Username or alias of the target org.",
492
+ "required": true,
493
+ "multiple": false,
494
+ "deprecateAliases": true,
495
+ "aliases": [
496
+ "targetusername",
497
+ "u"
498
+ ]
499
+ },
500
+ "no-prompt": {
501
+ "name": "no-prompt",
502
+ "type": "boolean",
503
+ "char": "p",
504
+ "summary": "do not prompt for source tracking override confirmation",
505
+ "allowNo": false,
506
+ "deprecateAliases": true,
507
+ "aliases": [
508
+ "noprompt"
509
+ ]
510
+ }
511
+ },
512
+ "args": {},
513
+ "requiresProject": true,
514
+ "hasDynamicHelp": true
515
+ },
516
+ "project:deploy:cancel": {
517
+ "id": "project:deploy:cancel",
518
+ "summary": "Cancel a deploy operation.",
519
+ "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.",
520
+ "strict": true,
521
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
522
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
523
+ "pluginType": "core",
524
+ "state": "beta",
525
+ "aliases": [
526
+ "deploy:metadata:cancel"
527
+ ],
528
+ "examples": [
529
+ "Cancel a deploy operation using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2",
530
+ "Cancel the most recent deploy operation:\n<%= config.bin %> <%= command.id %> --use-most-recent"
531
+ ],
532
+ "deprecateAliases": true,
533
+ "flags": {
534
+ "json": {
535
+ "name": "json",
536
+ "type": "boolean",
537
+ "description": "Format output as json.",
538
+ "helpGroup": "GLOBAL",
539
+ "allowNo": false,
540
+ "deprecateAliases": true
541
+ },
542
+ "async": {
543
+ "name": "async",
544
+ "type": "boolean",
545
+ "summary": "Run the command asynchronously.",
546
+ "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 \"<%= config.bin %> project deploy report\".",
547
+ "allowNo": false,
548
+ "exclusive": [
549
+ "wait"
550
+ ],
551
+ "deprecateAliases": true
552
+ },
553
+ "job-id": {
554
+ "name": "job-id",
555
+ "type": "option",
556
+ "char": "i",
557
+ "summary": "Job ID of the deploy operation you want to cancel.",
558
+ "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.",
559
+ "multiple": false,
560
+ "deprecateAliases": true
561
+ },
562
+ "use-most-recent": {
563
+ "name": "use-most-recent",
564
+ "type": "boolean",
565
+ "char": "r",
566
+ "summary": "Use the job ID of the most recent deploy operation.",
567
+ "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.",
568
+ "allowNo": false,
569
+ "deprecateAliases": true
570
+ },
571
+ "wait": {
572
+ "name": "wait",
573
+ "type": "option",
574
+ "char": "w",
575
+ "summary": "Number of minutes to wait for the command to complete and display results.",
576
+ "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 \"<%= config.bin %> project deploy report\".",
577
+ "helpValue": "<minutes>",
578
+ "multiple": false,
579
+ "exclusive": [
580
+ "async"
581
+ ],
582
+ "deprecateAliases": true
583
+ }
584
+ },
585
+ "args": {},
586
+ "requiresProject": true
587
+ },
588
+ "project:deploy:preview": {
589
+ "id": "project:deploy:preview",
590
+ "summary": "Preview a deployment to see what will deploy to the org, the potential conflicts, and the ignored files.",
591
+ "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 considers conflicts between the org and local. Some orgs, such as production orgs, never allow source tracking. Use the \"--no-track-source\" flag when you create a scratch or sandbox org to disable source tracking.\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.",
592
+ "strict": true,
593
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
594
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
595
+ "pluginType": "core",
596
+ "state": "beta",
597
+ "aliases": [
598
+ "deploy:metadata:preview"
599
+ ],
600
+ "examples": [
601
+ "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.",
602
+ "Preview the deployment of source files in a directory, such as force-app:\n<%= config.bin %> <%= command.id %> --source-dir force-app",
603
+ "Preview the deployment of all Apex classes:\n<%= config.bin %> <%= command.id %> --metadata ApexClass",
604
+ "Preview deployment of a specific Apex class:\n<%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass",
605
+ "Preview deployment of all components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml"
606
+ ],
607
+ "deprecateAliases": true,
608
+ "flags": {
609
+ "json": {
610
+ "name": "json",
611
+ "type": "boolean",
612
+ "description": "Format output as json.",
613
+ "helpGroup": "GLOBAL",
614
+ "allowNo": false,
615
+ "deprecateAliases": true
616
+ },
617
+ "ignore-conflicts": {
618
+ "name": "ignore-conflicts",
619
+ "type": "boolean",
620
+ "char": "c",
621
+ "summary": "Ignore conflicts and deploy local files, even if they overwrite changes in the org.",
622
+ "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.",
623
+ "allowNo": false,
624
+ "deprecateAliases": true
625
+ },
626
+ "only-ignored": {
627
+ "name": "only-ignored",
628
+ "type": "boolean",
629
+ "char": "i",
630
+ "summary": "Preview files to be ignored in a deployment.",
631
+ "allowNo": false,
632
+ "deprecateAliases": true
633
+ },
634
+ "manifest": {
635
+ "name": "manifest",
636
+ "type": "option",
637
+ "char": "x",
638
+ "summary": "Full file path for manifest (package.xml) of components to preview.",
639
+ "description": "All child components are included. If you specify this flag, don’t specify --metadata or --source-dir.",
640
+ "multiple": false,
641
+ "exclusive": [
642
+ "source-dir",
643
+ "metadata"
644
+ ],
645
+ "deprecateAliases": true
646
+ },
647
+ "metadata": {
648
+ "name": "metadata",
649
+ "type": "option",
650
+ "char": "m",
651
+ "summary": "Metadata component names to preview.",
652
+ "multiple": true,
653
+ "exclusive": [
654
+ "manifest",
655
+ "source-dir"
656
+ ],
657
+ "deprecateAliases": true
658
+ },
659
+ "source-dir": {
660
+ "name": "source-dir",
661
+ "type": "option",
662
+ "char": "d",
663
+ "summary": "Path to the local source files to preview.",
664
+ "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.",
665
+ "multiple": true,
666
+ "exclusive": [
667
+ "manifest",
668
+ "metadata"
669
+ ],
670
+ "deprecateAliases": true
671
+ },
672
+ "target-org": {
673
+ "name": "target-org",
674
+ "type": "option",
675
+ "char": "o",
676
+ "summary": "Login username or alias for the target org.",
677
+ "description": "Overrides your default org.",
678
+ "required": true,
679
+ "multiple": false,
680
+ "deprecateAliases": true
681
+ }
682
+ },
683
+ "args": {},
684
+ "requiresProject": true,
685
+ "hasDynamicHelp": true
686
+ },
687
+ "project:deploy:quick": {
688
+ "id": "project:deploy:quick",
689
+ "summary": "Quickly deploy a validated deployment to an org.",
690
+ "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.",
691
+ "strict": true,
692
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
693
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
694
+ "pluginType": "core",
695
+ "state": "beta",
696
+ "aliases": [
697
+ "deploy:metadata:quick"
698
+ ],
699
+ "examples": [
700
+ "Run a quick deploy to your default org using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2",
701
+ "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"
702
+ ],
703
+ "deprecateAliases": true,
704
+ "flags": {
705
+ "json": {
706
+ "name": "json",
707
+ "type": "boolean",
708
+ "description": "Format output as json.",
709
+ "helpGroup": "GLOBAL",
710
+ "allowNo": false,
711
+ "deprecateAliases": true
712
+ },
713
+ "async": {
714
+ "name": "async",
715
+ "type": "boolean",
716
+ "summary": "Run the command asynchronously.",
717
+ "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\".",
718
+ "allowNo": false,
719
+ "exclusive": [
720
+ "wait"
721
+ ],
722
+ "deprecateAliases": true
723
+ },
724
+ "concise": {
725
+ "name": "concise",
726
+ "type": "boolean",
727
+ "summary": "Show concise output of the deploy result.",
728
+ "allowNo": false,
729
+ "exclusive": [
730
+ "verbose"
731
+ ],
732
+ "deprecateAliases": true
733
+ },
734
+ "job-id": {
735
+ "name": "job-id",
736
+ "type": "option",
737
+ "char": "i",
738
+ "summary": "Job ID of the deployment you want to quick deploy.",
739
+ "description": "The job ID is valid for 10 days from when you started the validation.",
740
+ "multiple": false,
741
+ "deprecateAliases": true
742
+ },
743
+ "target-org": {
744
+ "name": "target-org",
745
+ "type": "option",
746
+ "char": "o",
747
+ "summary": "Login username or alias for the target org.",
748
+ "description": "Overrides your default org.",
749
+ "multiple": false,
750
+ "deprecateAliases": true
751
+ },
752
+ "use-most-recent": {
753
+ "name": "use-most-recent",
754
+ "type": "boolean",
755
+ "char": "r",
756
+ "summary": "Use the job ID of the most recently validated deployment.",
757
+ "description": "For performance reasons, this flag uses only job IDs that were validated in the past 3 days or less. If your most recent deployment validation was more than 3 days ago, this flag won't find a job ID.",
758
+ "allowNo": false,
759
+ "deprecateAliases": true
760
+ },
761
+ "verbose": {
762
+ "name": "verbose",
763
+ "type": "boolean",
764
+ "summary": "Show verbose output of the deploy result.",
765
+ "allowNo": false,
766
+ "exclusive": [
767
+ "concise"
768
+ ],
769
+ "deprecateAliases": true
770
+ },
771
+ "wait": {
772
+ "name": "wait",
773
+ "type": "option",
774
+ "char": "w",
775
+ "summary": "Number of minutes to wait for the command to complete and display results.",
776
+ "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\".",
777
+ "helpValue": "<minutes>",
778
+ "multiple": false,
779
+ "exclusive": [
780
+ "async"
781
+ ],
782
+ "default": {
783
+ "quantity": 33,
784
+ "unit": 0
785
+ },
786
+ "deprecateAliases": true
787
+ },
788
+ "api-version": {
789
+ "name": "api-version",
790
+ "type": "option",
791
+ "char": "a",
792
+ "summary": "Target API version for the deploy.",
793
+ "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.",
794
+ "multiple": false,
795
+ "deprecateAliases": true
796
+ }
797
+ },
798
+ "args": {},
799
+ "requiresProject": true,
800
+ "errorCodes": {
801
+ "header": "ERROR CODES",
802
+ "body": [
803
+ {
804
+ "name": "Succeeded (0)",
805
+ "description": "The deploy succeeded."
806
+ },
807
+ {
808
+ "name": "Canceled (1)",
809
+ "description": "The deploy was canceled."
810
+ },
811
+ {
812
+ "name": "Failed (1)",
813
+ "description": "The deploy failed."
814
+ },
815
+ {
816
+ "name": "SucceededPartial (68)",
817
+ "description": "The deploy partially succeeded."
818
+ },
819
+ {
820
+ "name": "InProgress (69)",
821
+ "description": "The deploy is in progress."
822
+ },
823
+ {
824
+ "name": "Pending (69)",
825
+ "description": "The deploy is pending."
826
+ },
827
+ {
828
+ "name": "Canceling (69)",
829
+ "description": "The deploy is being canceled."
830
+ }
831
+ ]
832
+ },
833
+ "hasDynamicHelp": true
834
+ },
835
+ "project:deploy:report": {
836
+ "id": "project:deploy:report",
837
+ "summary": "Check the status of a deploy operation.",
838
+ "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.",
839
+ "strict": true,
840
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
841
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
842
+ "pluginType": "core",
843
+ "state": "beta",
844
+ "aliases": [
845
+ "deploy:metadata:report"
846
+ ],
847
+ "examples": [
848
+ "Check the status using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2",
849
+ "Check the status of the most recent deploy operation:\n<%= config.bin %> <%= command.id %> --use-most-recent"
850
+ ],
851
+ "deprecateAliases": true,
852
+ "flags": {
853
+ "json": {
854
+ "name": "json",
855
+ "type": "boolean",
856
+ "description": "Format output as json.",
857
+ "helpGroup": "GLOBAL",
858
+ "allowNo": false,
859
+ "deprecateAliases": true
860
+ },
861
+ "target-org": {
862
+ "name": "target-org",
863
+ "type": "option",
864
+ "char": "o",
865
+ "summary": "Login username or alias for the target org.",
866
+ "required": true,
867
+ "multiple": false,
868
+ "deprecateAliases": true
869
+ },
870
+ "api-version": {
871
+ "name": "api-version",
872
+ "type": "option",
873
+ "description": "Override the api version used for api requests made by this command",
874
+ "multiple": false,
875
+ "deprecateAliases": true
876
+ },
877
+ "job-id": {
878
+ "name": "job-id",
879
+ "type": "option",
880
+ "char": "i",
881
+ "summary": "Job ID of the deploy operation you want to check the status of.",
882
+ "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.",
883
+ "multiple": false,
884
+ "deprecateAliases": true
885
+ },
886
+ "use-most-recent": {
887
+ "name": "use-most-recent",
888
+ "type": "boolean",
889
+ "char": "r",
890
+ "summary": "Use the job ID of the most recent deploy operation.",
891
+ "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 operation was more than 3 days ago, this flag won't find a job ID.",
892
+ "allowNo": false,
893
+ "deprecateAliases": true
894
+ },
895
+ "coverage-formatters": {
896
+ "name": "coverage-formatters",
897
+ "type": "option",
898
+ "summary": "format of the code coverage results",
899
+ "helpValue": "clover,cobertura,html-spa,html,json,json-summary,lcovonly,none,teamcity,text,text-summary",
900
+ "multiple": true,
901
+ "options": [
902
+ "clover",
903
+ "cobertura",
904
+ "html-spa",
905
+ "html",
906
+ "json",
907
+ "json-summary",
908
+ "lcovonly",
909
+ "none",
910
+ "teamcity",
911
+ "text",
912
+ "text-summary"
913
+ ],
914
+ "deprecateAliases": true
915
+ },
916
+ "junit": {
917
+ "name": "junit",
918
+ "type": "boolean",
919
+ "summary": "output JUnit test results",
920
+ "allowNo": false,
921
+ "deprecateAliases": true
922
+ },
923
+ "results-dir": {
924
+ "name": "results-dir",
925
+ "type": "option",
926
+ "summary": "output directory for code coverage and JUnit results; defaults to the deploy ID",
927
+ "multiple": false,
928
+ "dependsOn": [
929
+ "junit",
930
+ "coverage-formatters"
931
+ ],
932
+ "deprecateAliases": true
933
+ }
934
+ },
935
+ "args": {},
936
+ "requiresProject": true,
937
+ "hasDynamicHelp": true
938
+ },
939
+ "project:deploy:resume": {
940
+ "id": "project:deploy:resume",
941
+ "summary": "Resume watching a deploy operation.",
942
+ "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.\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.",
943
+ "strict": true,
944
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
945
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
946
+ "pluginType": "core",
947
+ "state": "beta",
948
+ "aliases": [
949
+ "deploy:metadata:resume"
950
+ ],
951
+ "examples": [
952
+ "Resume watching a deploy operation using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2",
953
+ "Resume watching the most recent deploy operation:\n<%= config.bin %> <%= command.id %> --use-most-recent"
954
+ ],
955
+ "deprecateAliases": true,
956
+ "flags": {
957
+ "json": {
958
+ "name": "json",
959
+ "type": "boolean",
960
+ "description": "Format output as json.",
961
+ "helpGroup": "GLOBAL",
962
+ "allowNo": false,
963
+ "deprecateAliases": true
964
+ },
965
+ "concise": {
966
+ "name": "concise",
967
+ "type": "boolean",
968
+ "summary": "Show concise output of the deploy operation result.",
969
+ "allowNo": false,
970
+ "exclusive": [
971
+ "verbose"
972
+ ],
973
+ "deprecateAliases": true
974
+ },
975
+ "job-id": {
976
+ "name": "job-id",
977
+ "type": "option",
978
+ "char": "i",
979
+ "summary": "Job ID of the deploy operation you want to resume.",
980
+ "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.",
981
+ "multiple": false,
982
+ "deprecateAliases": true
983
+ },
984
+ "use-most-recent": {
985
+ "name": "use-most-recent",
986
+ "type": "boolean",
987
+ "char": "r",
988
+ "summary": "Use the job ID of the most recent deploy operation.",
989
+ "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 operation was more than 3 days ago, this flag won't find a job ID.",
990
+ "allowNo": false,
991
+ "deprecateAliases": true
992
+ },
993
+ "verbose": {
994
+ "name": "verbose",
995
+ "type": "boolean",
996
+ "summary": "Show verbose output of the deploy operation result.",
997
+ "allowNo": false,
998
+ "exclusive": [
999
+ "concise"
1000
+ ],
1001
+ "deprecateAliases": true
1002
+ },
1003
+ "wait": {
1004
+ "name": "wait",
1005
+ "type": "option",
1006
+ "char": "w",
1007
+ "summary": "Number of minutes to wait for the command to complete and display results.",
1008
+ "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\".",
1009
+ "helpValue": "<minutes>",
1010
+ "multiple": false,
1011
+ "deprecateAliases": true
1012
+ },
1013
+ "coverage-formatters": {
1014
+ "name": "coverage-formatters",
1015
+ "type": "option",
1016
+ "summary": "format of the code coverage results",
1017
+ "helpValue": "clover,cobertura,html-spa,html,json,json-summary,lcovonly,none,teamcity,text,text-summary",
1018
+ "multiple": true,
1019
+ "options": [
1020
+ "clover",
1021
+ "cobertura",
1022
+ "html-spa",
1023
+ "html",
1024
+ "json",
1025
+ "json-summary",
1026
+ "lcovonly",
1027
+ "none",
1028
+ "teamcity",
1029
+ "text",
1030
+ "text-summary"
1031
+ ],
1032
+ "deprecateAliases": true
1033
+ },
1034
+ "junit": {
1035
+ "name": "junit",
1036
+ "type": "boolean",
1037
+ "summary": "output JUnit test results",
1038
+ "allowNo": false,
1039
+ "deprecateAliases": true
1040
+ },
1041
+ "results-dir": {
1042
+ "name": "results-dir",
1043
+ "type": "option",
1044
+ "summary": "output directory for code coverage and JUnit results; defaults to the deploy ID",
1045
+ "multiple": false,
1046
+ "dependsOn": [
1047
+ "junit",
1048
+ "coverage-formatters"
1049
+ ],
1050
+ "deprecateAliases": true
23
1051
  }
24
1052
  },
25
- "args": {}
1053
+ "args": {},
1054
+ "requiresProject": true,
1055
+ "envVariablesSection": {
1056
+ "header": "ENVIRONMENT VARIABLES",
1057
+ "body": [
1058
+ {
1059
+ "name": "SF_USE_PROGRESS_BAR",
1060
+ "description": "Set to false to disable the progress bar when running the metadata deploy command."
1061
+ }
1062
+ ]
1063
+ },
1064
+ "errorCodes": {
1065
+ "header": "ERROR CODES",
1066
+ "body": [
1067
+ {
1068
+ "name": "Succeeded (0)",
1069
+ "description": "The deploy succeeded."
1070
+ },
1071
+ {
1072
+ "name": "Canceled (1)",
1073
+ "description": "The deploy was canceled."
1074
+ },
1075
+ {
1076
+ "name": "Failed (1)",
1077
+ "description": "The deploy failed."
1078
+ },
1079
+ {
1080
+ "name": "SucceededPartial (68)",
1081
+ "description": "The deploy partially succeeded."
1082
+ },
1083
+ {
1084
+ "name": "InProgress (69)",
1085
+ "description": "The deploy is in progress."
1086
+ },
1087
+ {
1088
+ "name": "Pending (69)",
1089
+ "description": "The deploy is pending."
1090
+ },
1091
+ {
1092
+ "name": "Canceling (69)",
1093
+ "description": "The deploy is being canceled."
1094
+ }
1095
+ ]
1096
+ }
26
1097
  },
27
- "deploy:metadata": {
28
- "id": "deploy:metadata",
1098
+ "project:deploy:start": {
1099
+ "id": "project:deploy:start",
29
1100
  "summary": "Deploy metadata to an org from your local project.",
30
1101
  "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 org, never allow source tracking. You can also use the \"--no-track-source\" flag when you create a scratch or sandbox org to disable source tracking.\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.",
31
1102
  "strict": true,
@@ -33,7 +1104,9 @@
33
1104
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
34
1105
  "pluginType": "core",
35
1106
  "state": "beta",
36
- "aliases": [],
1107
+ "aliases": [
1108
+ "deploy:metadata"
1109
+ ],
37
1110
  "examples": [
38
1111
  "Deploy local changes not in the org; uses your default org:\n<%= config.bin %> <%= command.id %>",
39
1112
  "Deploy the source files in a directory to an org with alias \"my-scratch\":\n<%= config.bin %> <%= command.id %> --source-dir path/to/source --target-org my-scratch",
@@ -45,13 +1118,15 @@
45
1118
  "Deploy all components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml",
46
1119
  "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"
47
1120
  ],
1121
+ "deprecateAliases": true,
48
1122
  "flags": {
49
1123
  "json": {
50
1124
  "name": "json",
51
1125
  "type": "boolean",
52
1126
  "description": "Format output as json.",
53
1127
  "helpGroup": "GLOBAL",
54
- "allowNo": false
1128
+ "allowNo": false,
1129
+ "deprecateAliases": true
55
1130
  },
56
1131
  "api-version": {
57
1132
  "name": "api-version",
@@ -59,17 +1134,19 @@
59
1134
  "char": "a",
60
1135
  "summary": "Target API version for the deploy.",
61
1136
  "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.",
62
- "multiple": false
1137
+ "multiple": false,
1138
+ "deprecateAliases": true
63
1139
  },
64
1140
  "async": {
65
1141
  "name": "async",
66
1142
  "type": "boolean",
67
1143
  "summary": "Run the command asynchronously.",
68
- "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 deploy metadata resume\". To check the status of the deployment, run \"sf deploy metadata report\".",
1144
+ "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\".",
69
1145
  "allowNo": false,
70
1146
  "exclusive": [
71
1147
  "wait"
72
- ]
1148
+ ],
1149
+ "deprecateAliases": true
73
1150
  },
74
1151
  "concise": {
75
1152
  "name": "concise",
@@ -78,13 +1155,15 @@
78
1155
  "allowNo": false,
79
1156
  "exclusive": [
80
1157
  "verbose"
81
- ]
1158
+ ],
1159
+ "deprecateAliases": true
82
1160
  },
83
1161
  "dry-run": {
84
1162
  "name": "dry-run",
85
1163
  "type": "boolean",
86
1164
  "summary": "Validate deploy and run Apex tests but don’t save to the org.",
87
- "allowNo": false
1165
+ "allowNo": false,
1166
+ "deprecateAliases": true
88
1167
  },
89
1168
  "ignore-conflicts": {
90
1169
  "name": "ignore-conflicts",
@@ -92,7 +1171,8 @@
92
1171
  "char": "c",
93
1172
  "summary": "Ignore conflicts and deploy local files, even if they overwrite changes in the org.",
94
1173
  "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.",
95
- "allowNo": false
1174
+ "allowNo": false,
1175
+ "deprecateAliases": true
96
1176
  },
97
1177
  "ignore-errors": {
98
1178
  "name": "ignore-errors",
@@ -100,7 +1180,8 @@
100
1180
  "char": "r",
101
1181
  "summary": "Ignore any errors and don’t roll back deployment.",
102
1182
  "description": "When deploying to a production org, keep this flag set to false (default value). When set to true, components without errors are deployed and components with errors are skipped, and could result in an inconsistent production org.",
103
- "allowNo": false
1183
+ "allowNo": false,
1184
+ "deprecateAliases": true
104
1185
  },
105
1186
  "ignore-warnings": {
106
1187
  "name": "ignore-warnings",
@@ -108,7 +1189,8 @@
108
1189
  "char": "g",
109
1190
  "summary": "Ignore warnings and allow a deployment to complete successfully.",
110
1191
  "description": "If a warning occurs and this flag is set to true, the success status of the deployment is set to true. When this flag is set to false, success is set to false, and the warning is treated like an error.",
111
- "allowNo": false
1192
+ "allowNo": false,
1193
+ "deprecateAliases": true
112
1194
  },
113
1195
  "manifest": {
114
1196
  "name": "manifest",
@@ -121,7 +1203,8 @@
121
1203
  "source-dir",
122
1204
  "metadata",
123
1205
  "metadata-dir"
124
- ]
1206
+ ],
1207
+ "deprecateAliases": true
125
1208
  },
126
1209
  "metadata": {
127
1210
  "name": "metadata",
@@ -133,7 +1216,8 @@
133
1216
  "manifest",
134
1217
  "source-dir",
135
1218
  "metadata-dir"
136
- ]
1219
+ ],
1220
+ "deprecateAliases": true
137
1221
  },
138
1222
  "metadata-dir": {
139
1223
  "name": "metadata-dir",
@@ -144,7 +1228,8 @@
144
1228
  "manifest",
145
1229
  "source-dir",
146
1230
  "metadata"
147
- ]
1231
+ ],
1232
+ "deprecateAliases": true
148
1233
  },
149
1234
  "single-package": {
150
1235
  "name": "single-package",
@@ -153,7 +1238,8 @@
153
1238
  "allowNo": false,
154
1239
  "dependsOn": [
155
1240
  "metadata-dir"
156
- ]
1241
+ ],
1242
+ "deprecateAliases": true
157
1243
  },
158
1244
  "source-dir": {
159
1245
  "name": "source-dir",
@@ -166,7 +1252,8 @@
166
1252
  "manifest",
167
1253
  "metadata",
168
1254
  "metadata-dir"
169
- ]
1255
+ ],
1256
+ "deprecateAliases": true
170
1257
  },
171
1258
  "target-org": {
172
1259
  "name": "target-org",
@@ -175,7 +1262,8 @@
175
1262
  "summary": "Login username or alias for the target org.",
176
1263
  "description": "Overrides your default org.",
177
1264
  "required": true,
178
- "multiple": false
1265
+ "multiple": false,
1266
+ "deprecateAliases": true
179
1267
  },
180
1268
  "tests": {
181
1269
  "name": "tests",
@@ -183,7 +1271,8 @@
183
1271
  "char": "t",
184
1272
  "summary": "Apex tests to run when --test-level is RunSpecifiedTests.",
185
1273
  "description": "Separate multiple test names with commas, and enclose the entire flag value in double quotes if a test contains a space.",
186
- "multiple": true
1274
+ "multiple": true,
1275
+ "deprecateAliases": true
187
1276
  },
188
1277
  "test-level": {
189
1278
  "name": "test-level",
@@ -198,7 +1287,8 @@
198
1287
  "RunLocalTests",
199
1288
  "RunAllTestsInOrg"
200
1289
  ],
201
- "default": "NoTestRun"
1290
+ "default": "NoTestRun",
1291
+ "deprecateAliases": true
202
1292
  },
203
1293
  "verbose": {
204
1294
  "name": "verbose",
@@ -207,251 +1297,101 @@
207
1297
  "allowNo": false,
208
1298
  "exclusive": [
209
1299
  "concise"
210
- ]
1300
+ ],
1301
+ "deprecateAliases": true
211
1302
  },
212
1303
  "wait": {
213
1304
  "name": "wait",
214
1305
  "type": "option",
215
1306
  "char": "w",
216
1307
  "summary": "Number of minutes to wait for command to complete and display results.",
217
- "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 deploy metadata resume\". To check the status of the deployment, run \"sf deploy metadata report\".",
1308
+ "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\".",
218
1309
  "helpValue": "<minutes>",
219
1310
  "multiple": false,
220
1311
  "exclusive": [
221
1312
  "async"
222
- ]
223
- }
224
- },
225
- "args": {},
226
- "requiresProject": true,
227
- "configurationVariablesSection": {
228
- "header": "CONFIGURATION VARIABLES",
229
- "body": [
230
- {
231
- "name": "target-org",
232
- "description": "Username or alias of the org that all commands run against by default. (sf only)"
233
- },
234
- {
235
- "name": "org-api-version",
236
- "description": "API version of your project. Default: API version of your Dev Hub org."
237
- }
238
- ]
239
- },
240
- "envVariablesSection": {
241
- "header": "ENVIRONMENT VARIABLES",
242
- "body": [
243
- {
244
- "name": "SF_TARGET_ORG",
245
- "description": "Username or alias of your default org. Overrides the target-org configuration variable."
246
- },
247
- {
248
- "name": "SF_USE_PROGRESS_BAR",
249
- "description": "Set to false to disable the progress bar when running the metadata deploy command."
250
- }
251
- ]
252
- },
253
- "errorCodes": {
254
- "header": "ERROR CODES",
255
- "body": [
256
- {
257
- "name": "Succeeded (0)",
258
- "description": "The deploy succeeded."
259
- },
260
- {
261
- "name": "Canceled (1)",
262
- "description": "The deploy was canceled."
263
- },
264
- {
265
- "name": "Failed (1)",
266
- "description": "The deploy failed."
267
- },
268
- {
269
- "name": "SucceededPartial (68)",
270
- "description": "The deploy partially succeeded."
271
- },
272
- {
273
- "name": "InProgress (69)",
274
- "description": "The deploy is in progress."
275
- },
276
- {
277
- "name": "Pending (69)",
278
- "description": "The deploy is pending."
279
- },
280
- {
281
- "name": "Canceling (69)",
282
- "description": "The deploy is being canceled."
283
- }
284
- ]
285
- },
286
- "hasDynamicHelp": true
287
- },
288
- "retrieve:metadata": {
289
- "id": "retrieve:metadata",
290
- "summary": "Retrieve metadata from an org to your local project.",
291
- "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 org, never allow source tracking. You can also use the \"--no-track-source\" flag when you create a scratch or sandbox org to disable source tracking.\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.",
292
- "strict": true,
293
- "pluginName": "@salesforce/plugin-deploy-retrieve",
294
- "pluginAlias": "@salesforce/plugin-deploy-retrieve",
295
- "pluginType": "core",
296
- "state": "beta",
297
- "aliases": [],
298
- "examples": [
299
- "Retrieve remote changes:\n<%= config.bin %> <%= command.id %>",
300
- "Retrieve the source files in a directory:\n<%= config.bin %> <%= command.id %> --source-dir path/to/source",
301
- "Retrieve a specific Apex class and the objects whose source is in a directory (both examples are equivalent):\n<%= config.bin %> <%= command.id %> --source-dir path/to/apex/classes/MyClass.cls path/to/source/objects\n<%= config.bin %> <%= command.id %> --source-dir path/to/apex/classes/MyClass.cls --source-dir path/to/source/objects",
302
- "Retrieve all Apex classes:\n<%= config.bin %> <%= command.id %> --metadata ApexClass",
303
- "Retrieve a specific Apex class:\n<%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass",
304
- "Retrieve all custom objects and Apex classes (both examples are equivalent):\n<%= config.bin %> <%= command.id %> --metadata CustomObject ApexClass\n<%= config.bin %> <%= command.id %> --metadata CustomObject --metadata ApexClass",
305
- "Retrieve all metadata components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml",
306
- "Retrieve metadata from a package:\n<%= config.bin %> <%= command.id %> --package-name MyPackageName",
307
- "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",
308
- "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",
309
- "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"
310
- ],
311
- "flags": {
312
- "json": {
313
- "name": "json",
314
- "type": "boolean",
315
- "description": "Format output as json.",
316
- "helpGroup": "GLOBAL",
317
- "allowNo": false
318
- },
319
- "api-version": {
320
- "name": "api-version",
321
- "type": "option",
322
- "char": "a",
323
- "summary": "Target API version for the retrieve.",
324
- "description": "Use this flag to override the default API version, which is the latest version supported the CLI, with the API version in your package.xml file.",
325
- "multiple": false
326
- },
327
- "ignore-conflicts": {
328
- "name": "ignore-conflicts",
329
- "type": "boolean",
330
- "char": "c",
331
- "summary": "Ignore conflicts and retrieve and save files to your local filesystem, even if they overwrite your local changes.",
332
- "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.",
333
- "allowNo": false
334
- },
335
- "manifest": {
336
- "name": "manifest",
337
- "type": "option",
338
- "char": "x",
339
- "summary": "File path for the manifest (package.xml) that specifies the components to retrieve.",
340
- "description": "If you specify this parameter, don’t specify --metadata or --source-dir.",
341
- "multiple": false,
342
- "exclusive": [
343
- "metadata",
344
- "source-dir"
345
- ]
346
- },
347
- "metadata": {
348
- "name": "metadata",
349
- "type": "option",
350
- "char": "m",
351
- "summary": "Metadata component names to retrieve.",
352
- "multiple": true,
353
- "exclusive": [
354
- "manifest",
355
- "source-dir"
356
- ]
357
- },
358
- "package-name": {
359
- "name": "package-name",
360
- "type": "option",
361
- "char": "n",
362
- "summary": "Package names to retrieve.",
363
- "multiple": true
364
- },
365
- "single-package": {
366
- "name": "single-package",
367
- "type": "boolean",
368
- "summary": "Indicates that the zip file points to a directory structure for a single package.",
369
- "allowNo": false,
370
- "dependsOn": [
371
- "target-metadata-dir"
372
- ],
373
- "exclusive": [
374
- "ignore-conflicts"
375
- ]
376
- },
377
- "source-dir": {
378
- "name": "source-dir",
379
- "type": "option",
380
- "char": "d",
381
- "summary": "File paths for source to retrieve from the org.",
382
- "description": "The supplied paths 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 source files in the directory and its subdirectories).",
383
- "multiple": true,
384
- "exclusive": [
385
- "manifest",
386
- "metadata"
387
- ]
388
- },
389
- "target-metadata-dir": {
390
- "name": "target-metadata-dir",
391
- "type": "option",
392
- "char": "t",
393
- "summary": "Directory that will contain the retrieved metadata format files or ZIP.",
394
- "multiple": false,
1313
+ ],
1314
+ "deprecateAliases": true
1315
+ },
1316
+ "purge-on-delete": {
1317
+ "name": "purge-on-delete",
1318
+ "type": "boolean",
1319
+ "summary": "specify that deleted components in the destructive changes manifest file are immediately eligible for deletion rather than being stored in the Recycle Bin",
1320
+ "allowNo": false,
1321
+ "dependsOn": [
1322
+ "manifest"
1323
+ ],
395
1324
  "relationships": [
396
1325
  {
397
1326
  "type": "some",
398
1327
  "flags": [
399
- "manifest",
400
- "metadata",
401
- "source-dir",
402
- "package-name"
1328
+ "pre-destructive-changes",
1329
+ "post-destructive-changes"
403
1330
  ]
404
1331
  }
405
1332
  ],
406
- "exclusive": [
407
- "ignore-conflicts"
408
- ]
1333
+ "deprecateAliases": true
409
1334
  },
410
- "target-org": {
411
- "name": "target-org",
1335
+ "pre-destructive-changes": {
1336
+ "name": "pre-destructive-changes",
412
1337
  "type": "option",
413
- "char": "o",
414
- "summary": "Login username or alias for the target org.",
415
- "description": "Overrides your default org.",
416
- "required": true,
417
- "multiple": false
1338
+ "summary": "file path for a manifest (destructiveChangesPre.xml) of components to delete before the deploy",
1339
+ "multiple": false,
1340
+ "dependsOn": [
1341
+ "manifest"
1342
+ ],
1343
+ "deprecateAliases": true
418
1344
  },
419
- "wait": {
420
- "name": "wait",
1345
+ "post-destructive-changes": {
1346
+ "name": "post-destructive-changes",
421
1347
  "type": "option",
422
- "char": "w",
423
- "summary": "Number of minutes to wait for the command to complete and display results to the terminal window.",
424
- "description": "If the command continues to run after the wait period, the CLI returns control of the terminal window to you.",
1348
+ "summary": "file path for a manifest (destructiveChangesPost.xml) of components to delete after the deploy",
425
1349
  "multiple": false,
426
- "default": {
427
- "quantity": 33,
428
- "unit": 0
429
- }
1350
+ "dependsOn": [
1351
+ "manifest"
1352
+ ],
1353
+ "deprecateAliases": true
430
1354
  },
431
- "unzip": {
432
- "name": "unzip",
1355
+ "coverage-formatters": {
1356
+ "name": "coverage-formatters",
1357
+ "type": "option",
1358
+ "summary": "format of the code coverage results",
1359
+ "helpValue": "clover,cobertura,html-spa,html,json,json-summary,lcovonly,none,teamcity,text,text-summary",
1360
+ "multiple": true,
1361
+ "options": [
1362
+ "clover",
1363
+ "cobertura",
1364
+ "html-spa",
1365
+ "html",
1366
+ "json",
1367
+ "json-summary",
1368
+ "lcovonly",
1369
+ "none",
1370
+ "teamcity",
1371
+ "text",
1372
+ "text-summary"
1373
+ ],
1374
+ "deprecateAliases": true
1375
+ },
1376
+ "junit": {
1377
+ "name": "junit",
433
1378
  "type": "boolean",
434
- "char": "z",
435
- "summary": "Extract all files from the retrieved zip file.",
1379
+ "summary": "output JUnit test results",
436
1380
  "allowNo": false,
437
1381
  "dependsOn": [
438
- "target-metadata-dir"
1382
+ "coverage-formatters"
439
1383
  ],
440
- "exclusive": [
441
- "ignore-conflicts"
442
- ]
1384
+ "deprecateAliases": true
443
1385
  },
444
- "zip-file-name": {
445
- "name": "zip-file-name",
1386
+ "results-dir": {
1387
+ "name": "results-dir",
446
1388
  "type": "option",
447
- "summary": "File name to use for the retrieved zip file.",
1389
+ "summary": "output directory for code coverage and JUnit results; defaults to the deploy ID",
448
1390
  "multiple": false,
449
1391
  "dependsOn": [
450
- "target-metadata-dir"
1392
+ "coverage-formatters"
451
1393
  ],
452
- "exclusive": [
453
- "ignore-conflicts"
454
- ]
1394
+ "deprecateAliases": true
455
1395
  }
456
1396
  },
457
1397
  "args": {},
@@ -482,139 +1422,138 @@
482
1422
  }
483
1423
  ]
484
1424
  },
1425
+ "errorCodes": {
1426
+ "header": "ERROR CODES",
1427
+ "body": [
1428
+ {
1429
+ "name": "Succeeded (0)",
1430
+ "description": "The deploy succeeded."
1431
+ },
1432
+ {
1433
+ "name": "Canceled (1)",
1434
+ "description": "The deploy was canceled."
1435
+ },
1436
+ {
1437
+ "name": "Failed (1)",
1438
+ "description": "The deploy failed."
1439
+ },
1440
+ {
1441
+ "name": "SucceededPartial (68)",
1442
+ "description": "The deploy partially succeeded."
1443
+ },
1444
+ {
1445
+ "name": "InProgress (69)",
1446
+ "description": "The deploy is in progress."
1447
+ },
1448
+ {
1449
+ "name": "Pending (69)",
1450
+ "description": "The deploy is pending."
1451
+ },
1452
+ {
1453
+ "name": "Canceling (69)",
1454
+ "description": "The deploy is being canceled."
1455
+ }
1456
+ ]
1457
+ },
485
1458
  "hasDynamicHelp": true
486
1459
  },
487
- "deploy:metadata:cancel": {
488
- "id": "deploy:metadata:cancel",
489
- "summary": "Cancel a deploy operation.",
490
- "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.",
1460
+ "project:deploy:validate": {
1461
+ "id": "project:deploy:validate",
1462
+ "summary": "Validate a metadata deployment without actually executing it.",
1463
+ "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.",
491
1464
  "strict": true,
492
1465
  "pluginName": "@salesforce/plugin-deploy-retrieve",
493
1466
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
494
1467
  "pluginType": "core",
495
1468
  "state": "beta",
496
- "aliases": [],
1469
+ "aliases": [
1470
+ "deploy:metadata:validate"
1471
+ ],
497
1472
  "examples": [
498
- "Cancel a deploy operation using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2",
499
- "Cancel the most recent deploy operation:\n<%= config.bin %> <%= command.id %> --use-most-recent"
1473
+ "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.",
1474
+ "Validate the deployment of all source files in a directory to the default org:\n<%= config.bin %> <%= command.id %> --source-dir path/to/source",
1475
+ "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 path/to/source --async --test-level RunAllTestsInOrg --target-org my-prod-org",
1476
+ "Validate the deployment of all components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml"
500
1477
  ],
1478
+ "deprecateAliases": true,
501
1479
  "flags": {
502
1480
  "json": {
503
1481
  "name": "json",
504
1482
  "type": "boolean",
505
1483
  "description": "Format output as json.",
506
1484
  "helpGroup": "GLOBAL",
507
- "allowNo": false
1485
+ "allowNo": false,
1486
+ "deprecateAliases": true
1487
+ },
1488
+ "api-version": {
1489
+ "name": "api-version",
1490
+ "type": "option",
1491
+ "char": "a",
1492
+ "summary": "Target API version for the validation.",
1493
+ "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.",
1494
+ "multiple": false,
1495
+ "deprecateAliases": true
508
1496
  },
509
1497
  "async": {
510
1498
  "name": "async",
511
1499
  "type": "boolean",
512
1500
  "summary": "Run the command asynchronously.",
513
- "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 deploy metadata resume\". To check the status of the cancellation, run \"sf deploy metadata report\".",
1501
+ "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\".",
514
1502
  "allowNo": false,
515
- "exclusive": [
516
- "wait"
517
- ]
518
- },
519
- "job-id": {
520
- "name": "job-id",
521
- "type": "option",
522
- "char": "i",
523
- "summary": "Job ID of the deploy operation you want to cancel.",
524
- "description": "These commands return a job ID if they time out or you specified the --async flag:\n\n- sf deploy metadata\n- sf deploy metadata validate\n- sf deploy metadata quick\n- sf deploy metadata cancel\n\nThe job ID is valid for 10 days from when you started the deploy operation.",
525
- "multiple": false
1503
+ "deprecateAliases": true
526
1504
  },
527
- "use-most-recent": {
528
- "name": "use-most-recent",
1505
+ "concise": {
1506
+ "name": "concise",
529
1507
  "type": "boolean",
530
- "char": "r",
531
- "summary": "Use the job ID of the most recent deploy operation.",
532
- "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.",
533
- "allowNo": false
534
- },
535
- "wait": {
536
- "name": "wait",
537
- "type": "option",
538
- "char": "w",
539
- "summary": "Number of minutes to wait for the command to complete and display results.",
540
- "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 deploy metadata resume\". To check the status of the cancellation, run \"sf deploy metadata report\".",
541
- "helpValue": "<minutes>",
542
- "multiple": false,
1508
+ "summary": "Show concise output of the validation result.",
1509
+ "allowNo": false,
543
1510
  "exclusive": [
544
- "async"
545
- ]
546
- }
547
- },
548
- "args": {},
549
- "requiresProject": true
550
- },
551
- "deploy:metadata:preview": {
552
- "id": "deploy:metadata:preview",
553
- "summary": "Preview a deployment to see what will deploy to the org, the potential conflicts, and the ignored files.",
554
- "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 deploy metadata\" 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 considers conflicts between the org and local. Some orgs, such as production orgs, never allow source tracking. Use the \"--no-track-source\" flag when you create a scratch or sandbox org to disable source tracking.\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.",
555
- "strict": true,
556
- "pluginName": "@salesforce/plugin-deploy-retrieve",
557
- "pluginAlias": "@salesforce/plugin-deploy-retrieve",
558
- "pluginType": "core",
559
- "state": "beta",
560
- "aliases": [],
561
- "examples": [
562
- "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 deploy metadata\" for more examples that you can adapt for previewing.",
563
- "Preview the deployment of source files in a directory, such as force-app:\n<%= config.bin %> <%= command.id %> --source-dir force-app",
564
- "Preview the deployment of all Apex classes:\n<%= config.bin %> <%= command.id %> --metadata ApexClass",
565
- "Preview deployment of a specific Apex class:\n<%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass",
566
- "Preview deployment of all components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml"
567
- ],
568
- "flags": {
569
- "json": {
570
- "name": "json",
571
- "type": "boolean",
572
- "description": "Format output as json.",
573
- "helpGroup": "GLOBAL",
574
- "allowNo": false
575
- },
576
- "ignore-conflicts": {
577
- "name": "ignore-conflicts",
578
- "type": "boolean",
579
- "char": "c",
580
- "summary": "Ignore conflicts and deploy local files, even if they overwrite changes in the org.",
581
- "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.",
582
- "allowNo": false
1511
+ "verbose"
1512
+ ],
1513
+ "deprecateAliases": true
583
1514
  },
584
1515
  "manifest": {
585
1516
  "name": "manifest",
586
1517
  "type": "option",
587
1518
  "char": "x",
588
- "summary": "Full file path for manifest (package.xml) of components to preview.",
1519
+ "summary": "Full file path for manifest (package.xml) of components to validate for deployment.",
589
1520
  "description": "All child components are included. If you specify this flag, don’t specify --metadata or --source-dir.",
590
1521
  "multiple": false,
591
- "exclusive": [
592
- "source-dir",
593
- "metadata"
594
- ]
1522
+ "deprecateAliases": true
595
1523
  },
596
1524
  "metadata": {
597
1525
  "name": "metadata",
598
1526
  "type": "option",
599
1527
  "char": "m",
600
- "summary": "Metadata component names to preview.",
1528
+ "summary": "Metadata component names to validate for deployment.",
601
1529
  "multiple": true,
602
- "exclusive": [
603
- "manifest",
604
- "source-dir"
605
- ]
1530
+ "deprecateAliases": true
606
1531
  },
607
1532
  "source-dir": {
608
1533
  "name": "source-dir",
609
1534
  "type": "option",
610
1535
  "char": "d",
611
- "summary": "Path to the local source files to preview.",
1536
+ "summary": "Path to the local source files to validate for deployment.",
612
1537
  "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.",
613
1538
  "multiple": true,
614
- "exclusive": [
615
- "manifest",
616
- "metadata"
617
- ]
1539
+ "deprecateAliases": true
1540
+ },
1541
+ "metadata-dir": {
1542
+ "name": "metadata-dir",
1543
+ "type": "option",
1544
+ "summary": "Root of directory or zip file of metadata formatted files to deploy.",
1545
+ "multiple": false,
1546
+ "deprecateAliases": true
1547
+ },
1548
+ "single-package": {
1549
+ "name": "single-package",
1550
+ "type": "boolean",
1551
+ "summary": "Indicates that the metadata zip file points to a directory structure for a single package.",
1552
+ "allowNo": false,
1553
+ "dependsOn": [
1554
+ "metadata-dir"
1555
+ ],
1556
+ "deprecateAliases": true
618
1557
  },
619
1558
  "target-org": {
620
1559
  "name": "target-org",
@@ -623,106 +1562,81 @@
623
1562
  "summary": "Login username or alias for the target org.",
624
1563
  "description": "Overrides your default org.",
625
1564
  "required": true,
626
- "multiple": false
627
- }
628
- },
629
- "args": {},
630
- "requiresProject": true,
631
- "hasDynamicHelp": true
632
- },
633
- "deploy:metadata:quick": {
634
- "id": "deploy:metadata:quick",
635
- "summary": "Quickly deploy a validated deployment to an org.",
636
- "description": "Before you run this command, first create a validated deployment with the \"sf deploy metadata 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.",
637
- "strict": true,
638
- "pluginName": "@salesforce/plugin-deploy-retrieve",
639
- "pluginAlias": "@salesforce/plugin-deploy-retrieve",
640
- "pluginType": "core",
641
- "state": "beta",
642
- "aliases": [],
643
- "examples": [
644
- "Run a quick deploy to your default org using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2",
645
- "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"
646
- ],
647
- "flags": {
648
- "json": {
649
- "name": "json",
650
- "type": "boolean",
651
- "description": "Format output as json.",
652
- "helpGroup": "GLOBAL",
653
- "allowNo": false
654
- },
655
- "async": {
656
- "name": "async",
657
- "type": "boolean",
658
- "summary": "Run the command asynchronously.",
659
- "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 deploy metadata resume\". To check the status of the deploy, run \"sf deploy metadata report\".",
660
- "allowNo": false,
661
- "exclusive": [
662
- "wait"
663
- ]
664
- },
665
- "concise": {
666
- "name": "concise",
667
- "type": "boolean",
668
- "summary": "Show concise output of the deploy result.",
669
- "allowNo": false,
670
- "exclusive": [
671
- "verbose"
672
- ]
1565
+ "multiple": false,
1566
+ "deprecateAliases": true
673
1567
  },
674
- "job-id": {
675
- "name": "job-id",
1568
+ "tests": {
1569
+ "name": "tests",
676
1570
  "type": "option",
677
- "char": "i",
678
- "summary": "Job ID of the deployment you want to quick deploy.",
679
- "description": "The job ID is valid for 10 days from when you started the validation.",
680
- "multiple": false
1571
+ "char": "t",
1572
+ "summary": "Apex tests to run when --test-level is RunSpecifiedTests.",
1573
+ "multiple": true,
1574
+ "deprecateAliases": true
681
1575
  },
682
- "target-org": {
683
- "name": "target-org",
1576
+ "test-level": {
1577
+ "name": "test-level",
684
1578
  "type": "option",
685
- "char": "o",
686
- "summary": "Login username or alias for the target org.",
687
- "description": "Overrides your default org.",
688
- "multiple": false
689
- },
690
- "use-most-recent": {
691
- "name": "use-most-recent",
692
- "type": "boolean",
693
- "char": "r",
694
- "summary": "Use the job ID of the most recently validated deployment.",
695
- "description": "For performance reasons, this flag uses only job IDs that were validated in the past 3 days or less. If your most recent deployment validation was more than 3 days ago, this flag won't find a job ID.",
696
- "allowNo": false
1579
+ "char": "l",
1580
+ "summary": "Deployment Apex testing level.",
1581
+ "description": "Valid values are:\n\n- RunSpecifiedTests — Runs only the tests that you specify with the --run-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. 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\".",
1582
+ "multiple": false,
1583
+ "options": [
1584
+ "RunAllTestsInOrg",
1585
+ "RunLocalTests",
1586
+ "RunSpecifiedTests"
1587
+ ],
1588
+ "default": "RunLocalTests",
1589
+ "deprecateAliases": true
697
1590
  },
698
1591
  "verbose": {
699
1592
  "name": "verbose",
700
1593
  "type": "boolean",
701
- "summary": "Show verbose output of the deploy result.",
1594
+ "summary": "Show verbose output of the validation result.",
702
1595
  "allowNo": false,
703
1596
  "exclusive": [
704
1597
  "concise"
705
- ]
1598
+ ],
1599
+ "deprecateAliases": true
706
1600
  },
707
1601
  "wait": {
708
1602
  "name": "wait",
709
1603
  "type": "option",
710
1604
  "char": "w",
711
1605
  "summary": "Number of minutes to wait for the command to complete and display results.",
712
- "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 deploy metadata resume\". To check the status of the deploy, run \"sf deploy metadata report\".",
1606
+ "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\".",
713
1607
  "helpValue": "<minutes>",
714
1608
  "multiple": false,
715
- "exclusive": [
716
- "async"
717
- ],
718
- "default": {
719
- "quantity": 33,
720
- "unit": 0
721
- }
1609
+ "deprecateAliases": true
722
1610
  }
723
1611
  },
724
1612
  "args": {},
725
1613
  "requiresProject": true,
1614
+ "configurationVariablesSection": {
1615
+ "header": "CONFIGURATION VARIABLES",
1616
+ "body": [
1617
+ {
1618
+ "name": "target-org",
1619
+ "description": "Username or alias of the org that all commands run against by default. (sf only)"
1620
+ },
1621
+ {
1622
+ "name": "org-api-version",
1623
+ "description": "API version of your project. Default: API version of your Dev Hub org."
1624
+ }
1625
+ ]
1626
+ },
1627
+ "envVariablesSection": {
1628
+ "header": "ENVIRONMENT VARIABLES",
1629
+ "body": [
1630
+ {
1631
+ "name": "SF_TARGET_ORG",
1632
+ "description": "Username or alias of your default org. Overrides the target-org configuration variable."
1633
+ },
1634
+ {
1635
+ "name": "SF_USE_PROGRESS_BAR",
1636
+ "description": "Set to false to disable the progress bar when running the metadata deploy command."
1637
+ }
1638
+ ]
1639
+ },
726
1640
  "errorCodes": {
727
1641
  "header": "ERROR CODES",
728
1642
  "body": [
@@ -758,244 +1672,413 @@
758
1672
  },
759
1673
  "hasDynamicHelp": true
760
1674
  },
761
- "deploy:metadata:report": {
762
- "id": "deploy:metadata:report",
763
- "summary": "Check the status of a deploy operation.",
764
- "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.",
1675
+ "project:manifest:create": {
1676
+ "id": "project:manifest:create",
1677
+ "summary": "create a project manifest that lists the metadata components you want to deploy or retrieve\nCreate a manifest from a list of metadata components (--metadata) or from one or more local directories that contain source files (--source-path). You can specify either of these parameters, not both.\n\nUse --manifest-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\npackage : package.xml (default)\npre : destructiveChangesPre.xml\npost : destructiveChangesPost.xml\ndestroy : 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 --manifest-name to specify a custom name for the generated manifest if the pre-defined ones don’t suit your needs. You can specify either --manifest-type or --manifest-name, but not both.",
1678
+ "description": "create a project manifest that lists the metadata components you want to deploy or retrieve\nCreate a manifest from a list of metadata components (--metadata) or from one or more local directories that contain source files (--source-path). You can specify either of these parameters, not both.\n\nUse --manifest-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\npackage : package.xml (default)\npre : destructiveChangesPre.xml\npost : destructiveChangesPost.xml\ndestroy : 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 --manifest-name to specify a custom name for the generated manifest if the pre-defined ones don’t suit your needs. You can specify either --manifest-type or --manifest-name, but not both.",
765
1679
  "strict": true,
766
1680
  "pluginName": "@salesforce/plugin-deploy-retrieve",
767
1681
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
768
1682
  "pluginType": "core",
769
- "state": "beta",
770
- "aliases": [],
1683
+ "aliases": [
1684
+ "force:source:manifest:create"
1685
+ ],
771
1686
  "examples": [
772
- "Check the status using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2",
773
- "Check the status of the most recent deploy operation:\n<%= config.bin %> <%= command.id %> --use-most-recent"
1687
+ "$ <%= config.bin %> <%= command.id %> -m ApexClass",
1688
+ "$ <%= config.bin %> <%= command.id %> -m ApexClass:MyApexClass --manifest-type destroy",
1689
+ "$ <%= config.bin %> <%= command.id %> --source-path force-app --manifest-name myNewManifest",
1690
+ "$ <%= config.bin %> <%= command.id %> --from-org test@myorg.com --include-packages unlocked"
774
1691
  ],
1692
+ "deprecateAliases": true,
775
1693
  "flags": {
776
1694
  "json": {
777
1695
  "name": "json",
778
1696
  "type": "boolean",
779
1697
  "description": "Format output as json.",
780
1698
  "helpGroup": "GLOBAL",
781
- "allowNo": false
1699
+ "allowNo": false,
1700
+ "deprecateAliases": true
782
1701
  },
783
- "job-id": {
784
- "name": "job-id",
1702
+ "api-version": {
1703
+ "name": "api-version",
785
1704
  "type": "option",
786
- "char": "i",
787
- "summary": "Job ID of the deploy operation you want to check the status of.",
788
- "description": "These commands return a job ID if they time out or you specified the --async flag:\n\n- sf deploy metadata\n- sf deploy metadata validate\n- sf deploy metadata quick\n- sf deploy metadata cancel\n\nThe job ID is valid for 10 days from when you started the deploy operation.",
789
- "multiple": false
1705
+ "description": "Override the api version used for api requests made by this command",
1706
+ "multiple": false,
1707
+ "deprecateAliases": true,
1708
+ "aliases": [
1709
+ "apiversion"
1710
+ ]
790
1711
  },
791
- "use-most-recent": {
792
- "name": "use-most-recent",
793
- "type": "boolean",
794
- "char": "r",
795
- "summary": "Use the job ID of the most recent deploy operation.",
796
- "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 operation was more than 3 days ago, this flag won't find a job ID.",
797
- "allowNo": false
1712
+ "loglevel": {
1713
+ "name": "loglevel",
1714
+ "type": "option",
1715
+ "hidden": true,
1716
+ "multiple": false,
1717
+ "deprecated": {
1718
+ "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."
1719
+ },
1720
+ "deprecateAliases": true
1721
+ },
1722
+ "metadata": {
1723
+ "name": "metadata",
1724
+ "type": "option",
1725
+ "char": "m",
1726
+ "description": "comma-separated list of names of metadata components to include in the manifest",
1727
+ "multiple": true,
1728
+ "deprecateAliases": true,
1729
+ "delimiter": ","
1730
+ },
1731
+ "source-path": {
1732
+ "name": "source-path",
1733
+ "type": "option",
1734
+ "char": "p",
1735
+ "description": "comma-separated list of paths to the local source files to include in the manifest",
1736
+ "multiple": true,
1737
+ "deprecateAliases": true,
1738
+ "aliases": [
1739
+ "sourcepath"
1740
+ ],
1741
+ "delimiter": ","
1742
+ },
1743
+ "manifest-name": {
1744
+ "name": "manifest-name",
1745
+ "type": "option",
1746
+ "char": "n",
1747
+ "summary": "name of a custom manifest file to create",
1748
+ "multiple": false,
1749
+ "exclusive": [
1750
+ "manifest-type"
1751
+ ],
1752
+ "deprecateAliases": true,
1753
+ "aliases": [
1754
+ "manifestname"
1755
+ ]
1756
+ },
1757
+ "manifest-type": {
1758
+ "name": "manifest-type",
1759
+ "type": "option",
1760
+ "char": "t",
1761
+ "summary": "type of manifest to create; the type determines the name of the created file",
1762
+ "multiple": false,
1763
+ "options": [
1764
+ "pre",
1765
+ "post",
1766
+ "destroy",
1767
+ "package"
1768
+ ],
1769
+ "deprecateAliases": true,
1770
+ "aliases": [
1771
+ "manifesttype"
1772
+ ]
1773
+ },
1774
+ "include-packages": {
1775
+ "name": "include-packages",
1776
+ "type": "option",
1777
+ "char": "c",
1778
+ "description": "comma-separated list of package types (managed, unlocked) whose metadata is included in the manifest; by default, metadata in packages is ignored",
1779
+ "multiple": true,
1780
+ "options": [
1781
+ "managed",
1782
+ "unlocked"
1783
+ ],
1784
+ "dependsOn": [
1785
+ "fromorg"
1786
+ ],
1787
+ "deprecateAliases": true,
1788
+ "aliases": [
1789
+ "includepackages"
1790
+ ],
1791
+ "delimiter": ","
1792
+ },
1793
+ "from-org": {
1794
+ "name": "from-org",
1795
+ "type": "option",
1796
+ "summary": "username or alias of the org that contains the metadata components from which to build a manifest",
1797
+ "multiple": false,
1798
+ "deprecateAliases": true,
1799
+ "aliases": [
1800
+ "fromorg"
1801
+ ]
1802
+ },
1803
+ "output-dir": {
1804
+ "name": "output-dir",
1805
+ "type": "option",
1806
+ "char": "d",
1807
+ "summary": "directory to save the created manifest",
1808
+ "multiple": false,
1809
+ "deprecateAliases": true,
1810
+ "aliases": [
1811
+ "outputdir",
1812
+ "o"
1813
+ ]
798
1814
  }
799
1815
  },
800
1816
  "args": {},
801
1817
  "requiresProject": true
802
1818
  },
803
- "deploy:metadata:resume": {
804
- "id": "deploy:metadata:resume",
805
- "summary": "Resume watching a deploy operation.",
806
- "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.\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.",
1819
+ "project:reset:tracking": {
1820
+ "id": "project:reset:tracking",
1821
+ "summary": "reset local and remote source tracking\n\nWARNING: This command deletes or overwrites all existing source tracking files. Use with extreme caution.\n\nResets local and remote source tracking so that the CLI no longer registers differences between your local files and those in the org. When you next run force:source:status, the CLI returns no results, even though conflicts might actually exist. The 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 force:data:soql:query command. For example:\n$ sfdx force:data:soql:query -q \"SELECT MemberName, MemberType, RevisionCounter FROM SourceMember\" -t",
1822
+ "description": "reset local and remote source tracking\n\nWARNING: This command deletes or overwrites all existing source tracking files. Use with extreme caution.\n\nResets local and remote source tracking so that the CLI no longer registers differences between your local files and those in the org. When you next run force:source:status, the CLI returns no results, even though conflicts might actually exist. The 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 force:data:soql:query command. For example:\n$ sfdx force:data:soql:query -q \"SELECT MemberName, MemberType, RevisionCounter FROM SourceMember\" -t",
807
1823
  "strict": true,
808
1824
  "pluginName": "@salesforce/plugin-deploy-retrieve",
809
1825
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
810
1826
  "pluginType": "core",
811
- "state": "beta",
812
- "aliases": [],
813
- "examples": [
814
- "Resume watching a deploy operation using a job ID:\n<%= config.bin %> <%= command.id %> --job-id 0Af0x000017yLUFCA2",
815
- "Resume watching the most recent deploy operation:\n<%= config.bin %> <%= command.id %> --use-most-recent"
1827
+ "aliases": [
1828
+ "force:source:beta:tracking:reset",
1829
+ "force:source:tracking:reset"
816
1830
  ],
1831
+ "examples": [],
1832
+ "deprecateAliases": true,
817
1833
  "flags": {
818
1834
  "json": {
819
1835
  "name": "json",
820
1836
  "type": "boolean",
821
1837
  "description": "Format output as json.",
822
1838
  "helpGroup": "GLOBAL",
823
- "allowNo": false
824
- },
825
- "concise": {
826
- "name": "concise",
827
- "type": "boolean",
828
- "summary": "Show concise output of the deploy operation result.",
829
1839
  "allowNo": false,
830
- "exclusive": [
831
- "verbose"
1840
+ "deprecateAliases": true
1841
+ },
1842
+ "target-org": {
1843
+ "name": "target-org",
1844
+ "type": "option",
1845
+ "char": "o",
1846
+ "summary": "Username or alias of the target org.",
1847
+ "required": true,
1848
+ "multiple": false,
1849
+ "deprecateAliases": true,
1850
+ "aliases": [
1851
+ "targetusername",
1852
+ "u"
832
1853
  ]
833
1854
  },
834
- "job-id": {
835
- "name": "job-id",
1855
+ "api-version": {
1856
+ "name": "api-version",
836
1857
  "type": "option",
837
- "char": "i",
838
- "summary": "Job ID of the deploy operation you want to resume.",
839
- "description": "These commands return a job ID if they time out or you specified the --async flag:\n\n- sf deploy metadata\n- sf deploy metadata validate\n- sf deploy metadata quick\n- sf deploy metadata cancel\n\nThe job ID is valid for 10 days from when you started the deploy operation.",
840
- "multiple": false
1858
+ "description": "Override the api version used for api requests made by this command",
1859
+ "multiple": false,
1860
+ "deprecateAliases": true,
1861
+ "aliases": [
1862
+ "apiversion"
1863
+ ]
841
1864
  },
842
- "use-most-recent": {
843
- "name": "use-most-recent",
844
- "type": "boolean",
1865
+ "loglevel": {
1866
+ "name": "loglevel",
1867
+ "type": "option",
1868
+ "hidden": true,
1869
+ "multiple": false,
1870
+ "deprecated": {
1871
+ "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."
1872
+ },
1873
+ "deprecateAliases": true
1874
+ },
1875
+ "revision": {
1876
+ "name": "revision",
1877
+ "type": "option",
845
1878
  "char": "r",
846
- "summary": "Use the job ID of the most recent deploy operation.",
847
- "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 operation was more than 3 days ago, this flag won't find a job ID.",
848
- "allowNo": false
1879
+ "summary": "reset to a specific SourceMember revision counter number",
1880
+ "multiple": false,
1881
+ "deprecateAliases": true
849
1882
  },
850
- "verbose": {
851
- "name": "verbose",
1883
+ "no-prompt": {
1884
+ "name": "no-prompt",
852
1885
  "type": "boolean",
853
- "summary": "Show verbose output of the deploy operation result.",
1886
+ "char": "p",
1887
+ "summary": "do not prompt for source tracking override confirmation",
854
1888
  "allowNo": false,
855
- "exclusive": [
856
- "concise"
1889
+ "deprecateAliases": true,
1890
+ "aliases": [
1891
+ "noprompt"
857
1892
  ]
858
- },
859
- "wait": {
860
- "name": "wait",
861
- "type": "option",
862
- "char": "w",
863
- "summary": "Number of minutes to wait for the command to complete and display results.",
864
- "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 deploy metadata report\".",
865
- "helpValue": "<minutes>",
866
- "multiple": false
867
1893
  }
868
1894
  },
869
1895
  "args": {},
870
1896
  "requiresProject": true,
871
- "envVariablesSection": {
872
- "header": "ENVIRONMENT VARIABLES",
873
- "body": [
874
- {
875
- "name": "SF_USE_PROGRESS_BAR",
876
- "description": "Set to false to disable the progress bar when running the metadata deploy command."
877
- }
878
- ]
879
- },
880
- "errorCodes": {
881
- "header": "ERROR CODES",
882
- "body": [
883
- {
884
- "name": "Succeeded (0)",
885
- "description": "The deploy succeeded."
886
- },
887
- {
888
- "name": "Canceled (1)",
889
- "description": "The deploy was canceled."
890
- },
891
- {
892
- "name": "Failed (1)",
893
- "description": "The deploy failed."
894
- },
895
- {
896
- "name": "SucceededPartial (68)",
897
- "description": "The deploy partially succeeded."
898
- },
899
- {
900
- "name": "InProgress (69)",
901
- "description": "The deploy is in progress."
902
- },
903
- {
904
- "name": "Pending (69)",
905
- "description": "The deploy is pending."
906
- },
907
- {
908
- "name": "Canceling (69)",
909
- "description": "The deploy is being canceled."
910
- }
911
- ]
912
- }
1897
+ "hasDynamicHelp": true
1898
+ },
1899
+ "project:retrieve:preview": {
1900
+ "id": "project:retrieve:preview",
1901
+ "summary": "Preview a retrieval to see what will be retrieved from the org, the potential conflicts, and the ignored files.",
1902
+ "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 considers conflicts between the org and local. Some orgs, such as production orgs, never allow source tracking. Use the \"--no-track-source\" flag when you create a scratch or sandbox org to disable source tracking.",
1903
+ "strict": true,
1904
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
1905
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
1906
+ "pluginType": "core",
1907
+ "state": "beta",
1908
+ "aliases": [
1909
+ "retrieve:metadata:preview"
1910
+ ],
1911
+ "examples": [
1912
+ "Preview the retrieve of all changes from the org:\n<%= config.bin %> <%= command.id %>",
1913
+ "Preview the retrieve when ignoring any conflicts:\n<%= config.bin %> <%= command.id %> --ignore-conflicts"
1914
+ ],
1915
+ "deprecateAliases": true,
1916
+ "flags": {
1917
+ "json": {
1918
+ "name": "json",
1919
+ "type": "boolean",
1920
+ "description": "Format output as json.",
1921
+ "helpGroup": "GLOBAL",
1922
+ "allowNo": false,
1923
+ "deprecateAliases": true
1924
+ },
1925
+ "ignore-conflicts": {
1926
+ "name": "ignore-conflicts",
1927
+ "type": "boolean",
1928
+ "char": "c",
1929
+ "summary": "Ignore conflicts and preview the retrieve of remote components, even if they will overwrite local changes.",
1930
+ "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.",
1931
+ "allowNo": false,
1932
+ "deprecateAliases": true
1933
+ },
1934
+ "target-org": {
1935
+ "name": "target-org",
1936
+ "type": "option",
1937
+ "char": "o",
1938
+ "summary": "Login username or alias for the target org.",
1939
+ "description": "Overrides your default org.",
1940
+ "required": true,
1941
+ "multiple": false,
1942
+ "deprecateAliases": true
1943
+ }
1944
+ },
1945
+ "args": {},
1946
+ "requiresProject": true,
1947
+ "hasDynamicHelp": true
913
1948
  },
914
- "deploy:metadata:validate": {
915
- "id": "deploy:metadata:validate",
916
- "summary": "Validate a metadata deployment without actually executing it.",
917
- "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 deploy metadata\", 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 deploy metadata 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.",
1949
+ "project:retrieve:start": {
1950
+ "id": "project:retrieve:start",
1951
+ "summary": "Retrieve metadata from an org to your local project.",
1952
+ "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 org, never allow source tracking. You can also use the \"--no-track-source\" flag when you create a scratch or sandbox org to disable source tracking.\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.",
918
1953
  "strict": true,
919
1954
  "pluginName": "@salesforce/plugin-deploy-retrieve",
920
1955
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
921
1956
  "pluginType": "core",
922
1957
  "state": "beta",
923
- "aliases": [],
1958
+ "aliases": [
1959
+ "retrieve:metadata"
1960
+ ],
924
1961
  "examples": [
925
- "NOTE: These examples focus on validating large deployments. See the help for \"sf deploy metadata\" for examples of deploying smaller sets of metadata which you can also use to validate.",
926
- "Validate the deployment of all source files in a directory to the default org:\n<%= config.bin %> <%= command.id %> --source-dir path/to/source",
927
- "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 path/to/source --async --test-level RunAllTestsInOrg --target-org my-prod-org",
928
- "Validate the deployment of all components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml"
1962
+ "Retrieve remote changes:\n<%= config.bin %> <%= command.id %>",
1963
+ "Retrieve the source files in a directory:\n<%= config.bin %> <%= command.id %> --source-dir path/to/source",
1964
+ "Retrieve a specific Apex class and the objects whose source is in a directory (both examples are equivalent):\n<%= config.bin %> <%= command.id %> --source-dir path/to/apex/classes/MyClass.cls path/to/source/objects\n<%= config.bin %> <%= command.id %> --source-dir path/to/apex/classes/MyClass.cls --source-dir path/to/source/objects",
1965
+ "Retrieve all Apex classes:\n<%= config.bin %> <%= command.id %> --metadata ApexClass",
1966
+ "Retrieve a specific Apex class:\n<%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass",
1967
+ "Retrieve all custom objects and Apex classes (both examples are equivalent):\n<%= config.bin %> <%= command.id %> --metadata CustomObject ApexClass\n<%= config.bin %> <%= command.id %> --metadata CustomObject --metadata ApexClass",
1968
+ "Retrieve all metadata components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml",
1969
+ "Retrieve metadata from a package:\n<%= config.bin %> <%= command.id %> --package-name MyPackageName",
1970
+ "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",
1971
+ "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",
1972
+ "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"
929
1973
  ],
1974
+ "deprecateAliases": true,
930
1975
  "flags": {
931
1976
  "json": {
932
1977
  "name": "json",
933
1978
  "type": "boolean",
934
1979
  "description": "Format output as json.",
935
1980
  "helpGroup": "GLOBAL",
936
- "allowNo": false
1981
+ "allowNo": false,
1982
+ "deprecateAliases": true
937
1983
  },
938
1984
  "api-version": {
939
1985
  "name": "api-version",
940
1986
  "type": "option",
941
1987
  "char": "a",
942
- "summary": "Target API version for the validation.",
943
- "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.",
944
- "multiple": false
945
- },
946
- "async": {
947
- "name": "async",
948
- "type": "boolean",
949
- "summary": "Run the command asynchronously.",
950
- "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 deploy metadata resume\". To check the status of the validation, run \"sf deploy metadata report\".",
951
- "allowNo": false
1988
+ "summary": "Target API version for the retrieve.",
1989
+ "description": "Use this flag to override the default API version, which is the latest version supported the CLI, with the API version in your package.xml file.",
1990
+ "multiple": false,
1991
+ "deprecateAliases": true
952
1992
  },
953
- "concise": {
954
- "name": "concise",
1993
+ "ignore-conflicts": {
1994
+ "name": "ignore-conflicts",
955
1995
  "type": "boolean",
956
- "summary": "Show concise output of the validation result.",
1996
+ "char": "c",
1997
+ "summary": "Ignore conflicts and retrieve and save files to your local filesystem, even if they overwrite your local changes.",
1998
+ "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.",
957
1999
  "allowNo": false,
958
- "exclusive": [
959
- "verbose"
960
- ]
2000
+ "deprecateAliases": true
961
2001
  },
962
2002
  "manifest": {
963
2003
  "name": "manifest",
964
2004
  "type": "option",
965
2005
  "char": "x",
966
- "summary": "Full file path for manifest (package.xml) of components to validate for deployment.",
967
- "description": "All child components are included. If you specify this flag, don’t specify --metadata or --source-dir.",
968
- "multiple": false
2006
+ "summary": "File path for the manifest (package.xml) that specifies the components to retrieve.",
2007
+ "description": "If you specify this parameter, don’t specify --metadata or --source-dir.",
2008
+ "multiple": false,
2009
+ "exclusive": [
2010
+ "metadata",
2011
+ "source-dir"
2012
+ ],
2013
+ "deprecateAliases": true
969
2014
  },
970
2015
  "metadata": {
971
2016
  "name": "metadata",
972
2017
  "type": "option",
973
2018
  "char": "m",
974
- "summary": "Metadata component names to validate for deployment.",
975
- "multiple": true
976
- },
977
- "source-dir": {
978
- "name": "source-dir",
979
- "type": "option",
980
- "char": "d",
981
- "summary": "Path to the local source files to validate for deployment.",
982
- "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.",
983
- "multiple": true
2019
+ "summary": "Metadata component names to retrieve.",
2020
+ "multiple": true,
2021
+ "exclusive": [
2022
+ "manifest",
2023
+ "source-dir"
2024
+ ],
2025
+ "deprecateAliases": true
984
2026
  },
985
- "metadata-dir": {
986
- "name": "metadata-dir",
2027
+ "package-name": {
2028
+ "name": "package-name",
987
2029
  "type": "option",
988
- "summary": "Root of directory or zip file of metadata formatted files to deploy.",
989
- "multiple": false
2030
+ "char": "n",
2031
+ "summary": "Package names to retrieve.",
2032
+ "multiple": true,
2033
+ "deprecateAliases": true
990
2034
  },
991
2035
  "single-package": {
992
2036
  "name": "single-package",
993
2037
  "type": "boolean",
994
- "summary": "Indicates that the metadata zip file points to a directory structure for a single package.",
2038
+ "summary": "Indicates that the zip file points to a directory structure for a single package.",
995
2039
  "allowNo": false,
996
2040
  "dependsOn": [
997
- "metadata-dir"
998
- ]
2041
+ "target-metadata-dir"
2042
+ ],
2043
+ "exclusive": [
2044
+ "ignore-conflicts"
2045
+ ],
2046
+ "deprecateAliases": true
2047
+ },
2048
+ "source-dir": {
2049
+ "name": "source-dir",
2050
+ "type": "option",
2051
+ "char": "d",
2052
+ "summary": "File paths for source to retrieve from the org.",
2053
+ "description": "The supplied paths 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 source files in the directory and its subdirectories).",
2054
+ "multiple": true,
2055
+ "exclusive": [
2056
+ "manifest",
2057
+ "metadata"
2058
+ ],
2059
+ "deprecateAliases": true
2060
+ },
2061
+ "target-metadata-dir": {
2062
+ "name": "target-metadata-dir",
2063
+ "type": "option",
2064
+ "char": "t",
2065
+ "summary": "Directory that will contain the retrieved metadata format files or ZIP.",
2066
+ "multiple": false,
2067
+ "relationships": [
2068
+ {
2069
+ "type": "some",
2070
+ "flags": [
2071
+ "manifest",
2072
+ "metadata",
2073
+ "source-dir",
2074
+ "package-name"
2075
+ ]
2076
+ }
2077
+ ],
2078
+ "exclusive": [
2079
+ "ignore-conflicts"
2080
+ ],
2081
+ "deprecateAliases": true
999
2082
  },
1000
2083
  "target-org": {
1001
2084
  "name": "target-org",
@@ -1004,46 +2087,48 @@
1004
2087
  "summary": "Login username or alias for the target org.",
1005
2088
  "description": "Overrides your default org.",
1006
2089
  "required": true,
1007
- "multiple": false
1008
- },
1009
- "tests": {
1010
- "name": "tests",
1011
- "type": "option",
1012
- "char": "t",
1013
- "summary": "Apex tests to run when --test-level is RunSpecifiedTests.",
1014
- "multiple": true
2090
+ "multiple": false,
2091
+ "deprecateAliases": true
1015
2092
  },
1016
- "test-level": {
1017
- "name": "test-level",
2093
+ "wait": {
2094
+ "name": "wait",
1018
2095
  "type": "option",
1019
- "char": "l",
1020
- "summary": "Deployment Apex testing level.",
1021
- "description": "Valid values are:\n\n- RunSpecifiedTests — Runs only the tests that you specify with the --run-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. 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\".",
2096
+ "char": "w",
2097
+ "summary": "Number of minutes to wait for the command to complete and display results to the terminal window.",
2098
+ "description": "If the command continues to run after the wait period, the CLI returns control of the terminal window to you.",
1022
2099
  "multiple": false,
1023
- "options": [
1024
- "RunAllTestsInOrg",
1025
- "RunLocalTests",
1026
- "RunSpecifiedTests"
1027
- ],
1028
- "default": "RunLocalTests"
2100
+ "default": {
2101
+ "quantity": 33,
2102
+ "unit": 0
2103
+ },
2104
+ "deprecateAliases": true
1029
2105
  },
1030
- "verbose": {
1031
- "name": "verbose",
2106
+ "unzip": {
2107
+ "name": "unzip",
1032
2108
  "type": "boolean",
1033
- "summary": "Show verbose output of the validation result.",
2109
+ "char": "z",
2110
+ "summary": "Extract all files from the retrieved zip file.",
1034
2111
  "allowNo": false,
2112
+ "dependsOn": [
2113
+ "target-metadata-dir"
2114
+ ],
1035
2115
  "exclusive": [
1036
- "concise"
1037
- ]
2116
+ "ignore-conflicts"
2117
+ ],
2118
+ "deprecateAliases": true
1038
2119
  },
1039
- "wait": {
1040
- "name": "wait",
2120
+ "zip-file-name": {
2121
+ "name": "zip-file-name",
1041
2122
  "type": "option",
1042
- "char": "w",
1043
- "summary": "Number of minutes to wait for the command to complete and display results.",
1044
- "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 deploy metadata resume\". To check the status of the validation, run \"sf deploy metadata report\".",
1045
- "helpValue": "<minutes>",
1046
- "multiple": false
2123
+ "summary": "File name to use for the retrieved zip file.",
2124
+ "multiple": false,
2125
+ "dependsOn": [
2126
+ "target-metadata-dir"
2127
+ ],
2128
+ "exclusive": [
2129
+ "ignore-conflicts"
2130
+ ],
2131
+ "deprecateAliases": true
1047
2132
  }
1048
2133
  },
1049
2134
  "args": {},
@@ -1074,83 +2159,6 @@
1074
2159
  }
1075
2160
  ]
1076
2161
  },
1077
- "errorCodes": {
1078
- "header": "ERROR CODES",
1079
- "body": [
1080
- {
1081
- "name": "Succeeded (0)",
1082
- "description": "The deploy succeeded."
1083
- },
1084
- {
1085
- "name": "Canceled (1)",
1086
- "description": "The deploy was canceled."
1087
- },
1088
- {
1089
- "name": "Failed (1)",
1090
- "description": "The deploy failed."
1091
- },
1092
- {
1093
- "name": "SucceededPartial (68)",
1094
- "description": "The deploy partially succeeded."
1095
- },
1096
- {
1097
- "name": "InProgress (69)",
1098
- "description": "The deploy is in progress."
1099
- },
1100
- {
1101
- "name": "Pending (69)",
1102
- "description": "The deploy is pending."
1103
- },
1104
- {
1105
- "name": "Canceling (69)",
1106
- "description": "The deploy is being canceled."
1107
- }
1108
- ]
1109
- },
1110
- "hasDynamicHelp": true
1111
- },
1112
- "retrieve:metadata:preview": {
1113
- "id": "retrieve:metadata:preview",
1114
- "summary": "Preview a retrieval to see what will be retrieved from the org, the potential conflicts, and the ignored files.",
1115
- "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 retrieve metadata\" 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 considers conflicts between the org and local. Some orgs, such as production orgs, never allow source tracking. Use the \"--no-track-source\" flag when you create a scratch or sandbox org to disable source tracking.",
1116
- "strict": true,
1117
- "pluginName": "@salesforce/plugin-deploy-retrieve",
1118
- "pluginAlias": "@salesforce/plugin-deploy-retrieve",
1119
- "pluginType": "core",
1120
- "state": "beta",
1121
- "aliases": [],
1122
- "examples": [
1123
- "Preview the retrieve of all changes from the org:\n<%= config.bin %> <%= command.id %>",
1124
- "Preview the retrieve when ignoring any conflicts:\n<%= config.bin %> <%= command.id %> --ignore-conflicts"
1125
- ],
1126
- "flags": {
1127
- "json": {
1128
- "name": "json",
1129
- "type": "boolean",
1130
- "description": "Format output as json.",
1131
- "helpGroup": "GLOBAL",
1132
- "allowNo": false
1133
- },
1134
- "ignore-conflicts": {
1135
- "name": "ignore-conflicts",
1136
- "type": "boolean",
1137
- "char": "c",
1138
- "summary": "Ignore conflicts and preview the retrieve of remote components, even if they will overwrite local changes.",
1139
- "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.",
1140
- "allowNo": false
1141
- },
1142
- "target-org": {
1143
- "name": "target-org",
1144
- "type": "option",
1145
- "char": "o",
1146
- "summary": "Login username or alias for the target org.",
1147
- "description": "Overrides your default org.",
1148
- "required": true,
1149
- "multiple": false
1150
- }
1151
- },
1152
- "args": {},
1153
- "requiresProject": true,
1154
2162
  "hasDynamicHelp": true
1155
2163
  }
1156
2164
  }