@salesforce/plugin-deploy-retrieve 1.8.5-beta.5 → 1.8.6

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