@salesforce/plugin-deploy-retrieve 1.8.6 → 1.8.8-beta.1

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