@salesforce/plugin-deploy-retrieve 3.24.51 → 3.24.53

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 (3) hide show
  1. package/README.md +17 -17
  2. package/oclif.manifest.json +720 -720
  3. package/package.json +5 -5
@@ -1902,20 +1902,18 @@
1902
1902
  "validate:deploy:project"
1903
1903
  ]
1904
1904
  },
1905
- "project:generate:manifest": {
1905
+ "project:delete:source": {
1906
1906
  "aliases": [
1907
- "force:source:manifest:create"
1907
+ "force:source:delete"
1908
1908
  ],
1909
1909
  "args": {},
1910
1910
  "deprecateAliases": true,
1911
- "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 flags, 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 flag, 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.\n\nTo build a manifest from the metadata in an org, use the --from-org flag. You can combine --from-org with the --metadata flag to include only certain metadata types, or with the --excluded-metadata flag to exclude certain metadata types. When building a manifest from an org, the command makes many concurrent API calls to discover the metadata that exists in the org. To limit the number of concurrent requests, use the SF_LIST_METADATA_BATCH_SIZE environment variable and set it to a size that works best for your org and environment. If you experience timeouts or inconsistent manifest contents, then setting this environment variable can improve accuracy. However, the command takes longer to run because it sends fewer requests at a time.",
1911
+ "description": "Use this command to delete components from orgs that don’t have source tracking. To remove deleted items from orgs that have source tracking enabled, \"<%= config.bin %> project deploy start\".\n\nWhen you run this command, both the local source file and the metadata component in the org are deleted.\n\nTo delete multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax applies to --source-dir.",
1912
1912
  "examples": [
1913
- "Create a manifest for deploying or retrieving all Apex classes and custom objects:\n$ <%= config.bin %> <%= command.id %> --metadata ApexClass --metadata CustomObject",
1914
- "Create a manifest for deleting the specified Apex class:\n$ <%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass --type destroy",
1915
- "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",
1916
- "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",
1917
- "Create a manifest from specific metadata types in an org:\n$ <%= config.bin %> <%= command.id %> --from-org test@myorg.com --metadata ApexClass,CustomObject,CustomLabels",
1918
- "Create a manifest from all metadata components in an org excluding specific metadata types:\n$ <%= config.bin %> <%= command.id %> --from-org test@myorg.com --excluded-metadata StandardValueSet"
1913
+ "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",
1914
+ "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",
1915
+ "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",
1916
+ "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"
1919
1917
  ],
1920
1918
  "flags": {
1921
1919
  "json": {
@@ -1954,137 +1952,150 @@
1954
1952
  "multiple": false,
1955
1953
  "type": "option"
1956
1954
  },
1957
- "metadata": {
1958
- "char": "m",
1959
- "name": "metadata",
1960
- "summary": "Names of metadata components to include in the manifest.",
1961
- "delimiter": ",",
1962
- "hasDynamicHelp": false,
1963
- "multiple": true,
1964
- "type": "option"
1965
- },
1966
- "source-dir": {
1955
+ "target-org": {
1967
1956
  "aliases": [
1968
- "sourcepath"
1957
+ "targetusername",
1958
+ "u"
1969
1959
  ],
1970
- "char": "p",
1960
+ "char": "o",
1971
1961
  "deprecateAliases": true,
1972
- "name": "source-dir",
1973
- "summary": "Paths to the local source files to include in the manifest.",
1974
- "delimiter": ",",
1975
- "hasDynamicHelp": false,
1976
- "multiple": true,
1962
+ "name": "target-org",
1963
+ "noCacheDefault": true,
1964
+ "required": true,
1965
+ "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
1966
+ "hasDynamicHelp": true,
1967
+ "multiple": false,
1977
1968
  "type": "option"
1978
1969
  },
1979
- "name": {
1970
+ "check-only": {
1980
1971
  "aliases": [
1981
- "manifestname"
1972
+ "checkonly"
1982
1973
  ],
1983
- "char": "n",
1974
+ "char": "c",
1984
1975
  "deprecateAliases": true,
1985
- "exclusive": [
1986
- "type"
1987
- ],
1988
- "name": "name",
1989
- "summary": "Name of a custom manifest file to create.",
1990
- "hasDynamicHelp": false,
1976
+ "description": "IMPORTANT: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.\n\nValidates the deleted metadata and runs all Apex tests, but prevents the deletion from being saved to the org.\n\nIf you change a field type from Master-Detail to Lookup or vice versa, that change isn’t supported when using the --check-only flag to test a deletion (validation). This kind of change isn’t supported for test deletions to avoid the risk of data loss or corruption. If a change that isn’t supported for test deletions is included in a deletion package, the test deletion fails and issues an error.\n\nIf your deletion package changes a field type from Master-Detail to Lookup or vice versa, you can still validate the changes prior to deploying to Production by performing a full deletion to another test Sandbox. A full deletion includes a validation of the changes as part of the deletion process.\n\nNote: A Metadata API deletion that includes Master-Detail relationships deletes all detail records in the Recycle Bin in the following cases.\n\n 1. For a deletion with a new Master-Detail field, soft delete (send to the Recycle Bin) all detail records before proceeding to delete the Master-Detail field, or the deletion fails. During the deletion, detail records are permanently deleted from the Recycle Bin and cannot be recovered.\n\n 2. For a deletion that converts a Lookup field relationship to a Master-Detail relationship, detail records must reference a master record or be soft-deleted (sent to the Recycle Bin) for the deletion to succeed. However, a successful deletion permanently deletes any detail records in the Recycle Bin.",
1977
+ "name": "check-only",
1978
+ "summary": "Validate delete command but don't delete anything from the org or the local project.",
1979
+ "allowNo": false,
1980
+ "type": "boolean"
1981
+ },
1982
+ "wait": {
1983
+ "char": "w",
1984
+ "description": "If the command continues to run after the wait period, the CLI returns control of the terminal window to you.",
1985
+ "name": "wait",
1986
+ "summary": "Number of minutes to wait for the command to finish.",
1987
+ "hasDynamicHelp": true,
1991
1988
  "multiple": false,
1992
1989
  "type": "option"
1993
1990
  },
1994
- "type": {
1991
+ "tests": {
1992
+ "description": "If a test name contains a space, enclose it in double quotes.\nFor multiple test names, use one of the following formats:\n\n- Repeat the flag for multiple test names: --tests Test1 --tests Test2 --tests \"Test With Space\"\n- Separate the test names with spaces: --tests Test1 Test2 \"Test With Space\"",
1993
+ "helpGroup": "Test",
1994
+ "name": "tests",
1995
+ "summary": "Apex tests to run when --test-level is RunSpecifiedTests.",
1996
+ "hasDynamicHelp": false,
1997
+ "multiple": true,
1998
+ "type": "option"
1999
+ },
2000
+ "test-level": {
1995
2001
  "aliases": [
1996
- "manifesttype"
2002
+ "testlevel"
1997
2003
  ],
1998
- "char": "t",
2004
+ "char": "l",
1999
2005
  "deprecateAliases": true,
2000
- "exclusive": [
2001
- "name"
2002
- ],
2003
- "name": "type",
2004
- "summary": "Type of manifest to create; the type determines the name of the created file.",
2006
+ "description": "Valid values are:\n\n- NoTestRun — No tests are run. This test level applies only to deployments to development environments, such as sandbox, Developer Edition, or trial orgs. This test level is the default for development environments.\n\n- RunSpecifiedTests — Runs only the tests that you specify with the --tests flag. Code coverage requirements differ from the default coverage requirements when using this test level. Executed tests must comprise a minimum of 75% code coverage for each class and trigger in the deployment package. This coverage is computed for each class and trigger individually and is different than the overall coverage percentage.\n\n- RunLocalTests — All tests in your org are run, except the ones that originate from installed managed and unlocked packages. This test level is the default for production deployments that include Apex classes or triggers.\n\n- RunAllTestsInOrg — All tests in your org are run, including tests of managed packages.\n\n- RunRelevantTests (Beta) — Runs only tests that are relevant to the files being deployed. Salesforce automatically identifies the relevant tests based on an analysis of the deployment payload and the payload dependencies. For fine-grained control, you can also annotate test classes so that they always run in certain conditions. See \"@IsTest Annotation\" in the \"Apex Developer Guide\" (https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_annotation_isTest.htm). Each class and trigger in the deployment package must be covered by the executed tests for a minimum of 75% code coverage. This coverage is computed for each class and triggers individually and is different than the overall coverage percentage.\n\nIf you don’t specify a test level, the default behavior depends on the contents of your deployment package and target org. For more information, see \"Running Tests in a Deployment\" (https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_running_tests.htm) in the \"Metadata API Developer Guide\".",
2007
+ "helpGroup": "Test",
2008
+ "name": "test-level",
2009
+ "summary": "Deployment Apex testing level.",
2005
2010
  "hasDynamicHelp": false,
2006
2011
  "multiple": false,
2007
2012
  "options": [
2008
- "pre",
2009
- "post",
2010
- "destroy",
2011
- "package"
2013
+ "NoTestRun",
2014
+ "RunSpecifiedTests",
2015
+ "RunLocalTests",
2016
+ "RunAllTestsInOrg",
2017
+ "RunRelevantTests"
2012
2018
  ],
2013
2019
  "type": "option"
2014
2020
  },
2015
- "include-packages": {
2021
+ "no-prompt": {
2016
2022
  "aliases": [
2017
- "includepackages"
2018
- ],
2019
- "char": "c",
2020
- "dependsOn": [
2021
- "from-org"
2023
+ "noprompt"
2022
2024
  ],
2025
+ "char": "r",
2023
2026
  "deprecateAliases": true,
2024
- "name": "include-packages",
2025
- "summary": "Package types (managed, unlocked) whose metadata is included in the manifest; by default, metadata in managed and unlocked packages is excluded. Metadata in unmanaged packages is always included.",
2027
+ "name": "no-prompt",
2028
+ "summary": "Don't prompt for delete confirmation.",
2029
+ "allowNo": false,
2030
+ "type": "boolean"
2031
+ },
2032
+ "metadata": {
2033
+ "char": "m",
2034
+ "description": "If you specify this flag, don’t specify --source-dir.",
2035
+ "name": "metadata",
2036
+ "summary": "Metadata components to delete.",
2026
2037
  "delimiter": ",",
2027
2038
  "hasDynamicHelp": false,
2028
2039
  "multiple": true,
2029
- "options": [
2030
- "managed",
2031
- "unlocked"
2032
- ],
2033
2040
  "type": "option"
2034
2041
  },
2035
- "excluded-metadata": {
2036
- "name": "excluded-metadata",
2037
- "relationships": [
2038
- {
2039
- "type": "some",
2040
- "flags": [
2041
- "from-org",
2042
- "source-dir"
2043
- ]
2044
- }
2042
+ "source-dir": {
2043
+ "aliases": [
2044
+ "sourcepath"
2045
2045
  ],
2046
- "summary": "Metadata types to exclude when building a manifest from an org. Specify the name of the type, not the name of a specific component.",
2046
+ "char": "p",
2047
+ "deprecateAliases": true,
2048
+ "description": "The supplied paths can be a single file (in which case the operation is applied to only one file) or a folder (in which case the operation is applied to all metadata types in the directory and its sub-directories).\n\nIf you specify this flag, don’t specify --metadata.",
2049
+ "name": "source-dir",
2050
+ "summary": "Source file paths to delete.",
2047
2051
  "delimiter": ",",
2048
2052
  "hasDynamicHelp": false,
2049
2053
  "multiple": true,
2050
2054
  "type": "option"
2051
2055
  },
2052
- "from-org": {
2056
+ "track-source": {
2053
2057
  "aliases": [
2054
- "fromorg"
2058
+ "tracksource"
2055
2059
  ],
2060
+ "char": "t",
2056
2061
  "deprecateAliases": true,
2057
2062
  "exclusive": [
2058
- "source-dir"
2063
+ "check-only"
2059
2064
  ],
2060
- "name": "from-org",
2061
- "summary": "Username or alias of the org that contains the metadata components from which to build a manifest.",
2062
- "hasDynamicHelp": false,
2063
- "multiple": false,
2064
- "type": "option"
2065
+ "name": "track-source",
2066
+ "summary": "If the delete succeeds, update the source tracking information.",
2067
+ "allowNo": false,
2068
+ "type": "boolean"
2065
2069
  },
2066
- "output-dir": {
2070
+ "force-overwrite": {
2067
2071
  "aliases": [
2068
- "outputdir",
2069
- "o"
2072
+ "forceoverwrite"
2073
+ ],
2074
+ "char": "f",
2075
+ "dependsOn": [
2076
+ "track-source"
2070
2077
  ],
2071
- "char": "d",
2072
2078
  "deprecateAliases": true,
2073
- "name": "output-dir",
2074
- "summary": "Directory to save the created manifest.",
2075
- "hasDynamicHelp": false,
2076
- "multiple": false,
2077
- "type": "option"
2079
+ "name": "force-overwrite",
2080
+ "summary": "Ignore conflict warnings and overwrite changes to the org.",
2081
+ "allowNo": false,
2082
+ "type": "boolean"
2083
+ },
2084
+ "verbose": {
2085
+ "name": "verbose",
2086
+ "summary": "Verbose output of the delete result.",
2087
+ "allowNo": false,
2088
+ "type": "boolean"
2078
2089
  }
2079
2090
  },
2080
- "hasDynamicHelp": false,
2091
+ "hasDynamicHelp": true,
2081
2092
  "hiddenAliases": [],
2082
- "id": "project:generate:manifest",
2093
+ "id": "project:delete:source",
2083
2094
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
2084
2095
  "pluginName": "@salesforce/plugin-deploy-retrieve",
2085
2096
  "pluginType": "core",
2086
2097
  "strict": true,
2087
- "summary": "Create a project manifest that lists the metadata components you want to deploy or retrieve.",
2098
+ "summary": "Delete source from your project and from a non-source-tracked org.",
2088
2099
  "enableJsonFlag": true,
2089
2100
  "requiresProject": true,
2090
2101
  "isESM": true,
@@ -2092,55 +2103,35 @@
2092
2103
  "lib",
2093
2104
  "commands",
2094
2105
  "project",
2095
- "generate",
2096
- "manifest.js"
2106
+ "delete",
2107
+ "source.js"
2097
2108
  ],
2098
2109
  "aliasPermutations": [
2099
- "force:source:manifest:create",
2100
- "source:force:manifest:create",
2101
- "source:manifest:force:create",
2102
- "source:manifest:create:force",
2103
- "force:manifest:source:create",
2104
- "manifest:force:source:create",
2105
- "manifest:source:force:create",
2106
- "manifest:source:create:force",
2107
- "force:manifest:create:source",
2108
- "manifest:force:create:source",
2109
- "manifest:create:force:source",
2110
- "manifest:create:source:force",
2111
- "force:source:create:manifest",
2112
- "source:force:create:manifest",
2113
- "source:create:force:manifest",
2114
- "source:create:manifest:force",
2115
- "force:create:source:manifest",
2116
- "create:force:source:manifest",
2117
- "create:source:force:manifest",
2118
- "create:source:manifest:force",
2119
- "force:create:manifest:source",
2120
- "create:force:manifest:source",
2121
- "create:manifest:force:source",
2122
- "create:manifest:source:force"
2110
+ "force:source:delete",
2111
+ "source:force:delete",
2112
+ "source:delete:force",
2113
+ "force:delete:source",
2114
+ "delete:force:source",
2115
+ "delete:source:force"
2123
2116
  ],
2124
2117
  "permutations": [
2125
- "project:generate:manifest",
2126
- "generate:project:manifest",
2127
- "generate:manifest:project",
2128
- "project:manifest:generate",
2129
- "manifest:project:generate",
2130
- "manifest:generate:project"
2118
+ "project:delete:source",
2119
+ "delete:project:source",
2120
+ "delete:source:project",
2121
+ "project:source:delete",
2122
+ "source:project:delete",
2123
+ "source:delete:project"
2131
2124
  ]
2132
2125
  },
2133
- "project:list:ignored": {
2126
+ "project:delete:tracking": {
2134
2127
  "aliases": [
2135
- "force:source:ignored:list"
2128
+ "force:source:tracking:clear"
2136
2129
  ],
2137
2130
  "args": {},
2138
2131
  "deprecateAliases": true,
2139
- "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.",
2132
+ "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.",
2140
2133
  "examples": [
2141
- "List all the files in all package directories that are ignored:\n<%= config.bin %> <%= command.id %>",
2142
- "List all the files in a specific directory that are ignored:\n<%= config.bin %> <%= command.id %> --source-dir force-app",
2143
- "Check if a particular file is ignored:\n<%= config.bin %> <%= command.id %> --source-dir package.xml"
2134
+ "Delete local source tracking for the org with alias \"my-scratch\":\n$ <%= config.bin %> <%= command.id %> --target-org my-scratch"
2144
2135
  ],
2145
2136
  "flags": {
2146
2137
  "json": {
@@ -2158,95 +2149,23 @@
2158
2149
  "multiple": false,
2159
2150
  "type": "option"
2160
2151
  },
2161
- "source-dir": {
2152
+ "api-version": {
2162
2153
  "aliases": [
2163
- "sourcepath"
2154
+ "apiversion"
2164
2155
  ],
2165
- "char": "p",
2166
2156
  "deprecateAliases": true,
2167
- "name": "source-dir",
2168
- "summary": "File or directory of files that the command checks for foreceignored files.",
2157
+ "description": "Override the api version used for api requests made by this command",
2158
+ "name": "api-version",
2169
2159
  "hasDynamicHelp": false,
2170
2160
  "multiple": false,
2171
2161
  "type": "option"
2172
- }
2173
- },
2174
- "hasDynamicHelp": false,
2175
- "hiddenAliases": [],
2176
- "id": "project:list:ignored",
2177
- "pluginAlias": "@salesforce/plugin-deploy-retrieve",
2178
- "pluginName": "@salesforce/plugin-deploy-retrieve",
2179
- "pluginType": "core",
2180
- "strict": true,
2181
- "summary": "Check your local project package directories for forceignored files.",
2182
- "enableJsonFlag": true,
2183
- "requiresProject": true,
2184
- "isESM": true,
2185
- "relativePath": [
2186
- "lib",
2187
- "commands",
2188
- "project",
2189
- "list",
2190
- "ignored.js"
2191
- ],
2192
- "aliasPermutations": [
2193
- "force:source:ignored:list",
2194
- "source:force:ignored:list",
2195
- "source:ignored:force:list",
2196
- "source:ignored:list:force",
2197
- "force:ignored:source:list",
2198
- "ignored:force:source:list",
2199
- "ignored:source:force:list",
2200
- "ignored:source:list:force",
2201
- "force:ignored:list:source",
2202
- "ignored:force:list:source",
2203
- "ignored:list:force:source",
2204
- "ignored:list:source:force",
2205
- "force:source:list:ignored",
2206
- "source:force:list:ignored",
2207
- "source:list:force:ignored",
2208
- "source:list:ignored:force",
2209
- "force:list:source:ignored",
2210
- "list:force:source:ignored",
2211
- "list:source:force:ignored",
2212
- "list:source:ignored:force",
2213
- "force:list:ignored:source",
2214
- "list:force:ignored:source",
2215
- "list:ignored:force:source",
2216
- "list:ignored:source:force"
2217
- ],
2218
- "permutations": [
2219
- "project:list:ignored",
2220
- "list:project:ignored",
2221
- "list:ignored:project",
2222
- "project:ignored:list",
2223
- "ignored:project:list",
2224
- "ignored:list:project"
2225
- ]
2226
- },
2227
- "project:reset:tracking": {
2228
- "aliases": [
2229
- "force:source:tracking:reset"
2230
- ],
2231
- "args": {},
2232
- "deprecateAliases": true,
2233
- "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 flag to reset source tracking to a specific revision number of an org source member. To get the revision number, query the SourceMember Tooling API object with the 'data soql' command. For example:\n\n <%= config.bin %> data query --query \"SELECT MemberName, MemberType, RevisionCounter FROM SourceMember\" --use-tooling-api --target-org my-scratch",
2234
- "examples": [
2235
- "Reset source tracking for the org with alias \"my-scratch\":\n$ <%= config.bin %> <%= command.id %> --target-org my-scratch",
2236
- "Reset source tracking to revision number 30 for your default org:\n$ <%= config.bin %> <%= command.id %> --revision 30"
2237
- ],
2238
- "flags": {
2239
- "json": {
2240
- "description": "Format output as json.",
2241
- "helpGroup": "GLOBAL",
2242
- "name": "json",
2243
- "allowNo": false,
2244
- "type": "boolean"
2245
2162
  },
2246
- "flags-dir": {
2247
- "helpGroup": "GLOBAL",
2248
- "name": "flags-dir",
2249
- "summary": "Import flag values from a directory.",
2163
+ "loglevel": {
2164
+ "deprecated": {
2165
+ "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."
2166
+ },
2167
+ "hidden": true,
2168
+ "name": "loglevel",
2250
2169
  "hasDynamicHelp": false,
2251
2170
  "multiple": false,
2252
2171
  "type": "option"
@@ -2266,35 +2185,6 @@
2266
2185
  "multiple": false,
2267
2186
  "type": "option"
2268
2187
  },
2269
- "api-version": {
2270
- "aliases": [
2271
- "apiversion"
2272
- ],
2273
- "deprecateAliases": true,
2274
- "description": "Override the api version used for api requests made by this command",
2275
- "name": "api-version",
2276
- "hasDynamicHelp": false,
2277
- "multiple": false,
2278
- "type": "option"
2279
- },
2280
- "loglevel": {
2281
- "deprecated": {
2282
- "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."
2283
- },
2284
- "hidden": true,
2285
- "name": "loglevel",
2286
- "hasDynamicHelp": false,
2287
- "multiple": false,
2288
- "type": "option"
2289
- },
2290
- "revision": {
2291
- "char": "r",
2292
- "name": "revision",
2293
- "summary": "SourceMember revision counter number to reset to.",
2294
- "hasDynamicHelp": false,
2295
- "multiple": false,
2296
- "type": "option"
2297
- },
2298
2188
  "no-prompt": {
2299
2189
  "aliases": [
2300
2190
  "noprompt"
@@ -2309,12 +2199,12 @@
2309
2199
  },
2310
2200
  "hasDynamicHelp": true,
2311
2201
  "hiddenAliases": [],
2312
- "id": "project:reset:tracking",
2202
+ "id": "project:delete:tracking",
2313
2203
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
2314
2204
  "pluginName": "@salesforce/plugin-deploy-retrieve",
2315
2205
  "pluginType": "core",
2316
2206
  "strict": true,
2317
- "summary": "Reset local and remote source tracking.",
2207
+ "summary": "Delete all local source tracking information.",
2318
2208
  "enableJsonFlag": true,
2319
2209
  "requiresProject": true,
2320
2210
  "isESM": true,
@@ -2322,54 +2212,58 @@
2322
2212
  "lib",
2323
2213
  "commands",
2324
2214
  "project",
2325
- "reset",
2215
+ "delete",
2326
2216
  "tracking.js"
2327
2217
  ],
2328
2218
  "aliasPermutations": [
2329
- "force:source:tracking:reset",
2330
- "source:force:tracking:reset",
2331
- "source:tracking:force:reset",
2332
- "source:tracking:reset:force",
2333
- "force:tracking:source:reset",
2334
- "tracking:force:source:reset",
2335
- "tracking:source:force:reset",
2336
- "tracking:source:reset:force",
2337
- "force:tracking:reset:source",
2338
- "tracking:force:reset:source",
2339
- "tracking:reset:force:source",
2340
- "tracking:reset:source:force",
2341
- "force:source:reset:tracking",
2342
- "source:force:reset:tracking",
2343
- "source:reset:force:tracking",
2344
- "source:reset:tracking:force",
2345
- "force:reset:source:tracking",
2346
- "reset:force:source:tracking",
2347
- "reset:source:force:tracking",
2348
- "reset:source:tracking:force",
2349
- "force:reset:tracking:source",
2350
- "reset:force:tracking:source",
2351
- "reset:tracking:force:source",
2352
- "reset:tracking:source:force"
2219
+ "force:source:tracking:clear",
2220
+ "source:force:tracking:clear",
2221
+ "source:tracking:force:clear",
2222
+ "source:tracking:clear:force",
2223
+ "force:tracking:source:clear",
2224
+ "tracking:force:source:clear",
2225
+ "tracking:source:force:clear",
2226
+ "tracking:source:clear:force",
2227
+ "force:tracking:clear:source",
2228
+ "tracking:force:clear:source",
2229
+ "tracking:clear:force:source",
2230
+ "tracking:clear:source:force",
2231
+ "force:source:clear:tracking",
2232
+ "source:force:clear:tracking",
2233
+ "source:clear:force:tracking",
2234
+ "source:clear:tracking:force",
2235
+ "force:clear:source:tracking",
2236
+ "clear:force:source:tracking",
2237
+ "clear:source:force:tracking",
2238
+ "clear:source:tracking:force",
2239
+ "force:clear:tracking:source",
2240
+ "clear:force:tracking:source",
2241
+ "clear:tracking:force:source",
2242
+ "clear:tracking:source:force"
2353
2243
  ],
2354
2244
  "permutations": [
2355
- "project:reset:tracking",
2356
- "reset:project:tracking",
2357
- "reset:tracking:project",
2358
- "project:tracking:reset",
2359
- "tracking:project:reset",
2360
- "tracking:reset:project"
2245
+ "project:delete:tracking",
2246
+ "delete:project:tracking",
2247
+ "delete:tracking:project",
2248
+ "project:tracking:delete",
2249
+ "tracking:project:delete",
2250
+ "tracking:delete:project"
2361
2251
  ]
2362
2252
  },
2363
- "project:retrieve:preview": {
2253
+ "project:generate:manifest": {
2364
2254
  "aliases": [
2365
- "retrieve:metadata:preview"
2255
+ "force:source:manifest:create"
2366
2256
  ],
2367
2257
  "args": {},
2368
2258
  "deprecateAliases": true,
2369
- "description": "You must run this command from within a project.\n\nThe command outputs a table that describes what will happen if you run the \"<%= config.bin %> project retrieve start\" command. The table lists the metadata components that will be retrieved and deleted. The table also lists the current conflicts between files in your local project and components in the org. Finally, the table lists the files that won't be retrieved because they're included in your .forceignore file.\n\nIf your org allows source tracking, then this command displays potential conflicts between the org and your local project. Some orgs, such as production org, never allow source tracking. Source tracking is enabled by default on scratch and sandbox orgs; you can disable source tracking when you create the orgs by specifying the --no-track-source flag on the \"<%= config.bin %> org create scratch|sandbox\" commands.",
2259
+ "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 flags, 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 flag, 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.\n\nTo build a manifest from the metadata in an org, use the --from-org flag. You can combine --from-org with the --metadata flag to include only certain metadata types, or with the --excluded-metadata flag to exclude certain metadata types. When building a manifest from an org, the command makes many concurrent API calls to discover the metadata that exists in the org. To limit the number of concurrent requests, use the SF_LIST_METADATA_BATCH_SIZE environment variable and set it to a size that works best for your org and environment. If you experience timeouts or inconsistent manifest contents, then setting this environment variable can improve accuracy. However, the command takes longer to run because it sends fewer requests at a time.",
2370
2260
  "examples": [
2371
- "Preview the retrieve of all changes from your default org:\n<%= config.bin %> <%= command.id %>",
2372
- "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"
2261
+ "Create a manifest for deploying or retrieving all Apex classes and custom objects:\n$ <%= config.bin %> <%= command.id %> --metadata ApexClass --metadata CustomObject",
2262
+ "Create a manifest for deleting the specified Apex class:\n$ <%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass --type destroy",
2263
+ "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",
2264
+ "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",
2265
+ "Create a manifest from specific metadata types in an org:\n$ <%= config.bin %> <%= command.id %> --from-org test@myorg.com --metadata ApexClass,CustomObject,CustomLabels",
2266
+ "Create a manifest from all metadata components in an org excluding specific metadata types:\n$ <%= config.bin %> <%= command.id %> --from-org test@myorg.com --excluded-metadata StandardValueSet"
2373
2267
  ],
2374
2268
  "flags": {
2375
2269
  "json": {
@@ -2387,336 +2281,307 @@
2387
2281
  "multiple": false,
2388
2282
  "type": "option"
2389
2283
  },
2390
- "ignore-conflicts": {
2391
- "char": "c",
2392
- "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.",
2393
- "name": "ignore-conflicts",
2394
- "summary": "Don't display conflicts in the preview of the retrieval.",
2395
- "allowNo": false,
2396
- "type": "boolean"
2284
+ "api-version": {
2285
+ "aliases": [
2286
+ "apiversion"
2287
+ ],
2288
+ "deprecateAliases": true,
2289
+ "description": "Override the api version used for api requests made by this command",
2290
+ "name": "api-version",
2291
+ "hasDynamicHelp": false,
2292
+ "multiple": false,
2293
+ "type": "option"
2397
2294
  },
2398
- "target-org": {
2399
- "char": "o",
2400
- "name": "target-org",
2401
- "noCacheDefault": true,
2402
- "required": true,
2403
- "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
2404
- "hasDynamicHelp": true,
2405
- "multiple": false,
2406
- "type": "option"
2407
- },
2408
- "concise": {
2409
- "name": "concise",
2410
- "summary": "Show only the changes that will be retrieved; omits files that are forceignored.",
2411
- "allowNo": false,
2412
- "type": "boolean"
2413
- }
2414
- },
2415
- "hasDynamicHelp": true,
2416
- "hiddenAliases": [],
2417
- "id": "project:retrieve:preview",
2418
- "pluginAlias": "@salesforce/plugin-deploy-retrieve",
2419
- "pluginName": "@salesforce/plugin-deploy-retrieve",
2420
- "pluginType": "core",
2421
- "strict": true,
2422
- "summary": "Preview a retrieval to see what will be retrieved from the org, the potential conflicts, and the ignored files.",
2423
- "enableJsonFlag": true,
2424
- "requiresProject": true,
2425
- "isESM": true,
2426
- "relativePath": [
2427
- "lib",
2428
- "commands",
2429
- "project",
2430
- "retrieve",
2431
- "preview.js"
2432
- ],
2433
- "aliasPermutations": [
2434
- "retrieve:metadata:preview",
2435
- "metadata:retrieve:preview",
2436
- "metadata:preview:retrieve",
2437
- "retrieve:preview:metadata",
2438
- "preview:retrieve:metadata",
2439
- "preview:metadata:retrieve"
2440
- ],
2441
- "permutations": [
2442
- "project:retrieve:preview",
2443
- "retrieve:project:preview",
2444
- "retrieve:preview:project",
2445
- "project:preview:retrieve",
2446
- "preview:project:retrieve",
2447
- "preview:retrieve:project"
2448
- ]
2449
- },
2450
- "project:retrieve:start": {
2451
- "aliases": [
2452
- "retrieve:metadata"
2453
- ],
2454
- "args": {},
2455
- "deprecateAliases": true,
2456
- "description": "You must run this command from within a project.\n\nMetadata components are retrieved in source format by default. Retrieve them in metadata format by specifying the --target-metadata-dir flag, which retrieves the components into a ZIP file in the specified directory.\n\nIf your org allows source tracking, then this command tracks the changes in your source. Some orgs, such as production orgs, never allow source tracking. Source tracking is enabled by default on scratch and sandbox orgs; you can disable source tracking when you create the orgs by specifying the --no-track-source flag on the \"<%= config.bin %> org create scratch|sandbox\" commands.\n\nTo retrieve multiple metadata components, either use multiple --metadata <name> flags or use a single --metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax applies to --source-dir.",
2457
- "examples": [
2458
- "Retrieve all remote changes from your default org:\n<%= config.bin %> <%= command.id %>",
2459
- "Retrieve the source files in the \"force-app\" directory from an org with alias \"my-scratch\":\n<%= config.bin %> <%= command.id %> --source-dir force-app --target-org my-scratch",
2460
- "Retrieve all the Apex classes and custom objects whose source is in the \"force-app\" directory. The list views, layouts, etc, that are associated with the custom objects are also retrieved. Both examples are equivalent:\n<%= config.bin %> <%= command.id %> --source-dir force-app/main/default/classes force-app/main/default/objects\n<%= config.bin %> <%= command.id %> --source-dir force-app/main/default/classes --source-dir force-app/main/default/objects",
2461
- "Retrieve all Apex classes that are in all package directories defined in the \"sfdx-project.json\" file:\n<%= config.bin %> <%= command.id %> --metadata ApexClass",
2462
- "Retrieve a specific Apex class; ignore any conflicts between the local project and org (be careful with this flag, because it will overwrite the Apex class source files in your local project if there are conflicts!):\n<%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass --ignore-conflicts",
2463
- "Retrieve specific Apex classes that match a pattern; in this example, retrieve Apex classes whose names contain the string \"MyApex\":\n<%= config.bin %> <%= command.id %> --metadata 'ApexClass:MyApex*'",
2464
- "Retrieve a custom object called ExcitingObject that's in the SBQQ namespace:\nsf <%= command.id %> --metadata CustomObject:SBQQ__ExcitingObject",
2465
- "Retrieve all custom objects in the SBQQ namespace by using a wildcard and quotes:\nsf <%= command.id %> --metadata 'CustomObject:SBQQ__*'",
2466
- "Retrieve all list views for the Case standard object:\nsf <%= command.id %> --metadata 'ListView:Case*'",
2467
- "Retrieve all custom objects and Apex classes found in all defined package directories (both examples are equivalent):\n<%= config.bin %> <%= command.id %> --metadata CustomObject ApexClass\n<%= config.bin %> <%= command.id %> --metadata CustomObject --metadata ApexClass",
2468
- "Retrieve all metadata components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml",
2469
- "Retrieve metadata from a package:\n<%= config.bin %> <%= command.id %> --package-name MyPackageName",
2470
- "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",
2471
- "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",
2472
- "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"
2473
- ],
2474
- "flags": {
2475
- "json": {
2476
- "description": "Format output as json.",
2477
- "helpGroup": "GLOBAL",
2478
- "name": "json",
2479
- "allowNo": false,
2480
- "type": "boolean"
2481
- },
2482
- "flags-dir": {
2483
- "helpGroup": "GLOBAL",
2484
- "name": "flags-dir",
2485
- "summary": "Import flag values from a directory.",
2486
- "hasDynamicHelp": false,
2487
- "multiple": false,
2488
- "type": "option"
2489
- },
2490
- "api-version": {
2491
- "char": "a",
2492
- "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.",
2493
- "name": "api-version",
2494
- "summary": "Target API version for the retrieve.",
2495
- "hasDynamicHelp": false,
2496
- "multiple": false,
2497
- "type": "option"
2498
- },
2499
- "ignore-conflicts": {
2500
- "char": "c",
2501
- "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.",
2502
- "name": "ignore-conflicts",
2503
- "summary": "Ignore conflicts and retrieve and save files to your local filesystem, even if they overwrite your local changes.",
2504
- "allowNo": false,
2505
- "type": "boolean"
2506
- },
2507
- "manifest": {
2508
- "char": "x",
2509
- "description": "If you specify this flag, don’t specify --metadata or --source-dir.",
2510
- "exclusive": [
2511
- "metadata",
2512
- "source-dir"
2513
- ],
2514
- "name": "manifest",
2515
- "summary": "File path for the manifest (package.xml) that specifies the components to retrieve.",
2516
- "hasDynamicHelp": false,
2295
+ "loglevel": {
2296
+ "deprecated": {
2297
+ "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."
2298
+ },
2299
+ "hidden": true,
2300
+ "name": "loglevel",
2301
+ "hasDynamicHelp": false,
2517
2302
  "multiple": false,
2518
2303
  "type": "option"
2519
2304
  },
2520
2305
  "metadata": {
2521
2306
  "char": "m",
2522
- "exclusive": [
2523
- "manifest",
2524
- "source-dir"
2525
- ],
2526
2307
  "name": "metadata",
2527
- "summary": "Metadata component names to retrieve. Wildcards (`*`) supported as long as you use quotes, such as `ApexClass:MyClass*`.",
2308
+ "summary": "Names of metadata components to include in the manifest.",
2309
+ "delimiter": ",",
2528
2310
  "hasDynamicHelp": false,
2529
2311
  "multiple": true,
2530
2312
  "type": "option"
2531
2313
  },
2532
- "package-name": {
2533
- "char": "n",
2534
- "description": "The metadata of the supplied package name(s) will be retrieved into a child directory of the project. The name of that child directory matches the name of the package. The retrieved metadata is meant for your reference only, don't add it to a source control system for development and deployment. For package development, retrieve the metadata using a manifest (`--manifest` flag) or by targeting a source controlled package directory within your project (`--source-dir` flag).",
2535
- "name": "package-name",
2536
- "summary": "Package names to retrieve. Use of this flag is for reference only; don't use it to retrieve packaged metadata for development.",
2314
+ "source-dir": {
2315
+ "aliases": [
2316
+ "sourcepath"
2317
+ ],
2318
+ "char": "p",
2319
+ "deprecateAliases": true,
2320
+ "name": "source-dir",
2321
+ "summary": "Paths to the local source files to include in the manifest.",
2322
+ "delimiter": ",",
2537
2323
  "hasDynamicHelp": false,
2538
2324
  "multiple": true,
2539
2325
  "type": "option"
2540
2326
  },
2541
- "output-dir": {
2542
- "char": "r",
2543
- "description": "The root of the directory structure into which the source files are retrieved.\nIf the target directory matches one of the package directories in your sfdx-project.json file, the command fails.\nRunning the command multiple times with the same target adds new files and overwrites existing files.",
2327
+ "name": {
2328
+ "aliases": [
2329
+ "manifestname"
2330
+ ],
2331
+ "char": "n",
2332
+ "deprecateAliases": true,
2544
2333
  "exclusive": [
2545
- "package-name",
2546
- "source-dir"
2334
+ "type"
2547
2335
  ],
2548
- "name": "output-dir",
2549
- "summary": "Directory root for the retrieved source files.",
2336
+ "name": "name",
2337
+ "summary": "Name of a custom manifest file to create.",
2550
2338
  "hasDynamicHelp": false,
2551
2339
  "multiple": false,
2552
2340
  "type": "option"
2553
2341
  },
2554
- "single-package": {
2555
- "dependsOn": [
2556
- "target-metadata-dir"
2342
+ "type": {
2343
+ "aliases": [
2344
+ "manifesttype"
2557
2345
  ],
2346
+ "char": "t",
2347
+ "deprecateAliases": true,
2558
2348
  "exclusive": [
2559
- "ignore-conflicts"
2349
+ "name"
2560
2350
  ],
2561
- "helpGroup": "Metadata API Format",
2562
- "name": "single-package",
2563
- "summary": "Indicates that the zip file points to a directory structure for a single package.",
2564
- "allowNo": false,
2565
- "type": "boolean"
2351
+ "name": "type",
2352
+ "summary": "Type of manifest to create; the type determines the name of the created file.",
2353
+ "hasDynamicHelp": false,
2354
+ "multiple": false,
2355
+ "options": [
2356
+ "pre",
2357
+ "post",
2358
+ "destroy",
2359
+ "package"
2360
+ ],
2361
+ "type": "option"
2566
2362
  },
2567
- "source-dir": {
2568
- "char": "d",
2569
- "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).",
2570
- "exclusive": [
2571
- "manifest",
2572
- "metadata"
2363
+ "include-packages": {
2364
+ "aliases": [
2365
+ "includepackages"
2573
2366
  ],
2574
- "name": "source-dir",
2575
- "summary": "File paths for source to retrieve from the org.",
2367
+ "char": "c",
2368
+ "dependsOn": [
2369
+ "from-org"
2370
+ ],
2371
+ "deprecateAliases": true,
2372
+ "name": "include-packages",
2373
+ "summary": "Package types (managed, unlocked) whose metadata is included in the manifest; by default, metadata in managed and unlocked packages is excluded. Metadata in unmanaged packages is always included.",
2374
+ "delimiter": ",",
2576
2375
  "hasDynamicHelp": false,
2577
2376
  "multiple": true,
2377
+ "options": [
2378
+ "managed",
2379
+ "unlocked"
2380
+ ],
2578
2381
  "type": "option"
2579
2382
  },
2580
- "target-metadata-dir": {
2581
- "char": "t",
2582
- "exclusive": [
2583
- "ignore-conflicts"
2584
- ],
2585
- "helpGroup": "Metadata API Format",
2586
- "name": "target-metadata-dir",
2383
+ "excluded-metadata": {
2384
+ "name": "excluded-metadata",
2587
2385
  "relationships": [
2588
2386
  {
2589
2387
  "type": "some",
2590
2388
  "flags": [
2591
- "manifest",
2592
- "metadata",
2593
- "source-dir",
2594
- "package-name"
2389
+ "from-org",
2390
+ "source-dir"
2595
2391
  ]
2596
2392
  }
2597
2393
  ],
2598
- "summary": "Directory that will contain the retrieved metadata format files or ZIP.",
2394
+ "summary": "Metadata types to exclude when building a manifest from an org. Specify the name of the type, not the name of a specific component.",
2395
+ "delimiter": ",",
2599
2396
  "hasDynamicHelp": false,
2600
- "multiple": false,
2397
+ "multiple": true,
2601
2398
  "type": "option"
2602
2399
  },
2603
- "target-org": {
2604
- "char": "o",
2605
- "name": "target-org",
2606
- "noCacheDefault": true,
2607
- "required": true,
2608
- "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
2609
- "hasDynamicHelp": true,
2400
+ "from-org": {
2401
+ "aliases": [
2402
+ "fromorg"
2403
+ ],
2404
+ "deprecateAliases": true,
2405
+ "exclusive": [
2406
+ "source-dir"
2407
+ ],
2408
+ "name": "from-org",
2409
+ "summary": "Username or alias of the org that contains the metadata components from which to build a manifest.",
2410
+ "hasDynamicHelp": false,
2610
2411
  "multiple": false,
2611
2412
  "type": "option"
2612
2413
  },
2613
- "wait": {
2614
- "char": "w",
2615
- "description": "If the command continues to run after the wait period, the CLI returns control of the terminal window to you.",
2616
- "name": "wait",
2617
- "summary": "Number of minutes to wait for the command to complete and display results to the terminal window.",
2618
- "default": "33 minutes",
2619
- "hasDynamicHelp": true,
2414
+ "output-dir": {
2415
+ "aliases": [
2416
+ "outputdir",
2417
+ "o"
2418
+ ],
2419
+ "char": "d",
2420
+ "deprecateAliases": true,
2421
+ "name": "output-dir",
2422
+ "summary": "Directory to save the created manifest.",
2423
+ "hasDynamicHelp": false,
2620
2424
  "multiple": false,
2621
2425
  "type": "option"
2622
- },
2623
- "unzip": {
2624
- "char": "z",
2625
- "dependsOn": [
2626
- "target-metadata-dir"
2627
- ],
2628
- "exclusive": [
2629
- "ignore-conflicts"
2630
- ],
2631
- "helpGroup": "Metadata API Format",
2632
- "name": "unzip",
2633
- "summary": "Extract all files from the retrieved zip file.",
2426
+ }
2427
+ },
2428
+ "hasDynamicHelp": false,
2429
+ "hiddenAliases": [],
2430
+ "id": "project:generate:manifest",
2431
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
2432
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
2433
+ "pluginType": "core",
2434
+ "strict": true,
2435
+ "summary": "Create a project manifest that lists the metadata components you want to deploy or retrieve.",
2436
+ "enableJsonFlag": true,
2437
+ "requiresProject": true,
2438
+ "isESM": true,
2439
+ "relativePath": [
2440
+ "lib",
2441
+ "commands",
2442
+ "project",
2443
+ "generate",
2444
+ "manifest.js"
2445
+ ],
2446
+ "aliasPermutations": [
2447
+ "force:source:manifest:create",
2448
+ "source:force:manifest:create",
2449
+ "source:manifest:force:create",
2450
+ "source:manifest:create:force",
2451
+ "force:manifest:source:create",
2452
+ "manifest:force:source:create",
2453
+ "manifest:source:force:create",
2454
+ "manifest:source:create:force",
2455
+ "force:manifest:create:source",
2456
+ "manifest:force:create:source",
2457
+ "manifest:create:force:source",
2458
+ "manifest:create:source:force",
2459
+ "force:source:create:manifest",
2460
+ "source:force:create:manifest",
2461
+ "source:create:force:manifest",
2462
+ "source:create:manifest:force",
2463
+ "force:create:source:manifest",
2464
+ "create:force:source:manifest",
2465
+ "create:source:force:manifest",
2466
+ "create:source:manifest:force",
2467
+ "force:create:manifest:source",
2468
+ "create:force:manifest:source",
2469
+ "create:manifest:force:source",
2470
+ "create:manifest:source:force"
2471
+ ],
2472
+ "permutations": [
2473
+ "project:generate:manifest",
2474
+ "generate:project:manifest",
2475
+ "generate:manifest:project",
2476
+ "project:manifest:generate",
2477
+ "manifest:project:generate",
2478
+ "manifest:generate:project"
2479
+ ]
2480
+ },
2481
+ "project:list:ignored": {
2482
+ "aliases": [
2483
+ "force:source:ignored:list"
2484
+ ],
2485
+ "args": {},
2486
+ "deprecateAliases": true,
2487
+ "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.",
2488
+ "examples": [
2489
+ "List all the files in all package directories that are ignored:\n<%= config.bin %> <%= command.id %>",
2490
+ "List all the files in a specific directory that are ignored:\n<%= config.bin %> <%= command.id %> --source-dir force-app",
2491
+ "Check if a particular file is ignored:\n<%= config.bin %> <%= command.id %> --source-dir package.xml"
2492
+ ],
2493
+ "flags": {
2494
+ "json": {
2495
+ "description": "Format output as json.",
2496
+ "helpGroup": "GLOBAL",
2497
+ "name": "json",
2634
2498
  "allowNo": false,
2635
2499
  "type": "boolean"
2636
2500
  },
2637
- "zip-file-name": {
2638
- "dependsOn": [
2639
- "target-metadata-dir"
2640
- ],
2641
- "exclusive": [
2642
- "ignore-conflicts"
2501
+ "flags-dir": {
2502
+ "helpGroup": "GLOBAL",
2503
+ "name": "flags-dir",
2504
+ "summary": "Import flag values from a directory.",
2505
+ "hasDynamicHelp": false,
2506
+ "multiple": false,
2507
+ "type": "option"
2508
+ },
2509
+ "source-dir": {
2510
+ "aliases": [
2511
+ "sourcepath"
2643
2512
  ],
2644
- "helpGroup": "Metadata API Format",
2645
- "name": "zip-file-name",
2646
- "summary": "File name to use for the retrieved zip file.",
2513
+ "char": "p",
2514
+ "deprecateAliases": true,
2515
+ "name": "source-dir",
2516
+ "summary": "File or directory of files that the command checks for foreceignored files.",
2647
2517
  "hasDynamicHelp": false,
2648
2518
  "multiple": false,
2649
2519
  "type": "option"
2650
2520
  }
2651
2521
  },
2652
- "hasDynamicHelp": true,
2522
+ "hasDynamicHelp": false,
2653
2523
  "hiddenAliases": [],
2654
- "id": "project:retrieve:start",
2524
+ "id": "project:list:ignored",
2655
2525
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
2656
2526
  "pluginName": "@salesforce/plugin-deploy-retrieve",
2657
2527
  "pluginType": "core",
2658
2528
  "strict": true,
2659
- "summary": "Retrieve metadata from an org to your local project.",
2529
+ "summary": "Check your local project package directories for forceignored files.",
2660
2530
  "enableJsonFlag": true,
2661
- "configurationVariablesSection": {
2662
- "header": "CONFIGURATION VARIABLES",
2663
- "body": [
2664
- {
2665
- "name": "target-org",
2666
- "description": "Username or alias of the org that all commands run against by default. (sf only)"
2667
- },
2668
- {
2669
- "name": "org-api-version",
2670
- "description": "API version of your project. Default: API version of your Dev Hub org."
2671
- }
2672
- ]
2673
- },
2674
- "envVariablesSection": {
2675
- "header": "ENVIRONMENT VARIABLES",
2676
- "body": [
2677
- {
2678
- "name": "SF_TARGET_ORG",
2679
- "description": "Username or alias of your default org. Overrides the target-org configuration variable."
2680
- },
2681
- {
2682
- "name": "SF_USE_PROGRESS_BAR",
2683
- "description": "Set to false to disable the progress bar when running the metadata deploy command."
2684
- }
2685
- ]
2686
- },
2531
+ "requiresProject": true,
2687
2532
  "isESM": true,
2688
2533
  "relativePath": [
2689
2534
  "lib",
2690
2535
  "commands",
2691
2536
  "project",
2692
- "retrieve",
2693
- "start.js"
2537
+ "list",
2538
+ "ignored.js"
2694
2539
  ],
2695
2540
  "aliasPermutations": [
2696
- "retrieve:metadata",
2697
- "metadata:retrieve"
2541
+ "force:source:ignored:list",
2542
+ "source:force:ignored:list",
2543
+ "source:ignored:force:list",
2544
+ "source:ignored:list:force",
2545
+ "force:ignored:source:list",
2546
+ "ignored:force:source:list",
2547
+ "ignored:source:force:list",
2548
+ "ignored:source:list:force",
2549
+ "force:ignored:list:source",
2550
+ "ignored:force:list:source",
2551
+ "ignored:list:force:source",
2552
+ "ignored:list:source:force",
2553
+ "force:source:list:ignored",
2554
+ "source:force:list:ignored",
2555
+ "source:list:force:ignored",
2556
+ "source:list:ignored:force",
2557
+ "force:list:source:ignored",
2558
+ "list:force:source:ignored",
2559
+ "list:source:force:ignored",
2560
+ "list:source:ignored:force",
2561
+ "force:list:ignored:source",
2562
+ "list:force:ignored:source",
2563
+ "list:ignored:force:source",
2564
+ "list:ignored:source:force"
2698
2565
  ],
2699
2566
  "permutations": [
2700
- "project:retrieve:start",
2701
- "retrieve:project:start",
2702
- "retrieve:start:project",
2703
- "project:start:retrieve",
2704
- "start:project:retrieve",
2705
- "start:retrieve:project"
2567
+ "project:list:ignored",
2568
+ "list:project:ignored",
2569
+ "list:ignored:project",
2570
+ "project:ignored:list",
2571
+ "ignored:project:list",
2572
+ "ignored:list:project"
2706
2573
  ]
2707
2574
  },
2708
- "project:delete:source": {
2575
+ "project:reset:tracking": {
2709
2576
  "aliases": [
2710
- "force:source:delete"
2577
+ "force:source:tracking:reset"
2711
2578
  ],
2712
2579
  "args": {},
2713
2580
  "deprecateAliases": true,
2714
- "description": "Use this command to delete components from orgs that don’t have source tracking. To remove deleted items from orgs that have source tracking enabled, \"<%= config.bin %> project deploy start\".\n\nWhen you run this command, both the local source file and the metadata component in the org are deleted.\n\nTo delete multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax applies to --source-dir.",
2715
- "examples": [
2716
- "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",
2717
- "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",
2718
- "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",
2719
- "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"
2581
+ "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 flag to reset source tracking to a specific revision number of an org source member. To get the revision number, query the SourceMember Tooling API object with the 'data soql' command. For example:\n\n <%= config.bin %> data query --query \"SELECT MemberName, MemberType, RevisionCounter FROM SourceMember\" --use-tooling-api --target-org my-scratch",
2582
+ "examples": [
2583
+ "Reset source tracking for the org with alias \"my-scratch\":\n$ <%= config.bin %> <%= command.id %> --target-org my-scratch",
2584
+ "Reset source tracking to revision number 30 for your default org:\n$ <%= config.bin %> <%= command.id %> --revision 30"
2720
2585
  ],
2721
2586
  "flags": {
2722
2587
  "json": {
@@ -2734,27 +2599,6 @@
2734
2599
  "multiple": false,
2735
2600
  "type": "option"
2736
2601
  },
2737
- "api-version": {
2738
- "aliases": [
2739
- "apiversion"
2740
- ],
2741
- "deprecateAliases": true,
2742
- "description": "Override the api version used for api requests made by this command",
2743
- "name": "api-version",
2744
- "hasDynamicHelp": false,
2745
- "multiple": false,
2746
- "type": "option"
2747
- },
2748
- "loglevel": {
2749
- "deprecated": {
2750
- "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."
2751
- },
2752
- "hidden": true,
2753
- "name": "loglevel",
2754
- "hasDynamicHelp": false,
2755
- "multiple": false,
2756
- "type": "option"
2757
- },
2758
2602
  "target-org": {
2759
2603
  "aliases": [
2760
2604
  "targetusername",
@@ -2770,135 +2614,160 @@
2770
2614
  "multiple": false,
2771
2615
  "type": "option"
2772
2616
  },
2773
- "check-only": {
2617
+ "api-version": {
2774
2618
  "aliases": [
2775
- "checkonly"
2619
+ "apiversion"
2776
2620
  ],
2777
- "char": "c",
2778
2621
  "deprecateAliases": true,
2779
- "description": "IMPORTANT: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.\n\nValidates the deleted metadata and runs all Apex tests, but prevents the deletion from being saved to the org.\n\nIf you change a field type from Master-Detail to Lookup or vice versa, that change isn’t supported when using the --check-only flag to test a deletion (validation). This kind of change isn’t supported for test deletions to avoid the risk of data loss or corruption. If a change that isn’t supported for test deletions is included in a deletion package, the test deletion fails and issues an error.\n\nIf your deletion package changes a field type from Master-Detail to Lookup or vice versa, you can still validate the changes prior to deploying to Production by performing a full deletion to another test Sandbox. A full deletion includes a validation of the changes as part of the deletion process.\n\nNote: A Metadata API deletion that includes Master-Detail relationships deletes all detail records in the Recycle Bin in the following cases.\n\n 1. For a deletion with a new Master-Detail field, soft delete (send to the Recycle Bin) all detail records before proceeding to delete the Master-Detail field, or the deletion fails. During the deletion, detail records are permanently deleted from the Recycle Bin and cannot be recovered.\n\n 2. For a deletion that converts a Lookup field relationship to a Master-Detail relationship, detail records must reference a master record or be soft-deleted (sent to the Recycle Bin) for the deletion to succeed. However, a successful deletion permanently deletes any detail records in the Recycle Bin.",
2780
- "name": "check-only",
2781
- "summary": "Validate delete command but don't delete anything from the org or the local project.",
2782
- "allowNo": false,
2783
- "type": "boolean"
2784
- },
2785
- "wait": {
2786
- "char": "w",
2787
- "description": "If the command continues to run after the wait period, the CLI returns control of the terminal window to you.",
2788
- "name": "wait",
2789
- "summary": "Number of minutes to wait for the command to finish.",
2790
- "hasDynamicHelp": true,
2622
+ "description": "Override the api version used for api requests made by this command",
2623
+ "name": "api-version",
2624
+ "hasDynamicHelp": false,
2791
2625
  "multiple": false,
2792
2626
  "type": "option"
2793
2627
  },
2794
- "tests": {
2795
- "description": "If a test name contains a space, enclose it in double quotes.\nFor multiple test names, use one of the following formats:\n\n- Repeat the flag for multiple test names: --tests Test1 --tests Test2 --tests \"Test With Space\"\n- Separate the test names with spaces: --tests Test1 Test2 \"Test With Space\"",
2796
- "helpGroup": "Test",
2797
- "name": "tests",
2798
- "summary": "Apex tests to run when --test-level is RunSpecifiedTests.",
2628
+ "loglevel": {
2629
+ "deprecated": {
2630
+ "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."
2631
+ },
2632
+ "hidden": true,
2633
+ "name": "loglevel",
2799
2634
  "hasDynamicHelp": false,
2800
- "multiple": true,
2635
+ "multiple": false,
2801
2636
  "type": "option"
2802
2637
  },
2803
- "test-level": {
2804
- "aliases": [
2805
- "testlevel"
2806
- ],
2807
- "char": "l",
2808
- "deprecateAliases": true,
2809
- "description": "Valid values are:\n\n- NoTestRun — No tests are run. This test level applies only to deployments to development environments, such as sandbox, Developer Edition, or trial orgs. This test level is the default for development environments.\n\n- RunSpecifiedTests — Runs only the tests that you specify with the --tests flag. Code coverage requirements differ from the default coverage requirements when using this test level. Executed tests must comprise a minimum of 75% code coverage for each class and trigger in the deployment package. This coverage is computed for each class and trigger individually and is different than the overall coverage percentage.\n\n- RunLocalTests — All tests in your org are run, except the ones that originate from installed managed and unlocked packages. This test level is the default for production deployments that include Apex classes or triggers.\n\n- RunAllTestsInOrg — All tests in your org are run, including tests of managed packages.\n\n- RunRelevantTests (Beta) — Runs only tests that are relevant to the files being deployed. Salesforce automatically identifies the relevant tests based on an analysis of the deployment payload and the payload dependencies. For fine-grained control, you can also annotate test classes so that they always run in certain conditions. See \"@IsTest Annotation\" in the \"Apex Developer Guide\" (https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_annotation_isTest.htm). Each class and trigger in the deployment package must be covered by the executed tests for a minimum of 75% code coverage. This coverage is computed for each class and triggers individually and is different than the overall coverage percentage.\n\nIf you don’t specify a test level, the default behavior depends on the contents of your deployment package and target org. For more information, see \"Running Tests in a Deployment\" (https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_running_tests.htm) in the \"Metadata API Developer Guide\".",
2810
- "helpGroup": "Test",
2811
- "name": "test-level",
2812
- "summary": "Deployment Apex testing level.",
2638
+ "revision": {
2639
+ "char": "r",
2640
+ "name": "revision",
2641
+ "summary": "SourceMember revision counter number to reset to.",
2813
2642
  "hasDynamicHelp": false,
2814
2643
  "multiple": false,
2815
- "options": [
2816
- "NoTestRun",
2817
- "RunSpecifiedTests",
2818
- "RunLocalTests",
2819
- "RunAllTestsInOrg",
2820
- "RunRelevantTests"
2821
- ],
2822
2644
  "type": "option"
2823
2645
  },
2824
2646
  "no-prompt": {
2825
2647
  "aliases": [
2826
2648
  "noprompt"
2827
2649
  ],
2828
- "char": "r",
2650
+ "char": "p",
2829
2651
  "deprecateAliases": true,
2830
2652
  "name": "no-prompt",
2831
- "summary": "Don't prompt for delete confirmation.",
2653
+ "summary": "Don't prompt for source tracking override confirmation.",
2654
+ "allowNo": false,
2655
+ "type": "boolean"
2656
+ }
2657
+ },
2658
+ "hasDynamicHelp": true,
2659
+ "hiddenAliases": [],
2660
+ "id": "project:reset:tracking",
2661
+ "pluginAlias": "@salesforce/plugin-deploy-retrieve",
2662
+ "pluginName": "@salesforce/plugin-deploy-retrieve",
2663
+ "pluginType": "core",
2664
+ "strict": true,
2665
+ "summary": "Reset local and remote source tracking.",
2666
+ "enableJsonFlag": true,
2667
+ "requiresProject": true,
2668
+ "isESM": true,
2669
+ "relativePath": [
2670
+ "lib",
2671
+ "commands",
2672
+ "project",
2673
+ "reset",
2674
+ "tracking.js"
2675
+ ],
2676
+ "aliasPermutations": [
2677
+ "force:source:tracking:reset",
2678
+ "source:force:tracking:reset",
2679
+ "source:tracking:force:reset",
2680
+ "source:tracking:reset:force",
2681
+ "force:tracking:source:reset",
2682
+ "tracking:force:source:reset",
2683
+ "tracking:source:force:reset",
2684
+ "tracking:source:reset:force",
2685
+ "force:tracking:reset:source",
2686
+ "tracking:force:reset:source",
2687
+ "tracking:reset:force:source",
2688
+ "tracking:reset:source:force",
2689
+ "force:source:reset:tracking",
2690
+ "source:force:reset:tracking",
2691
+ "source:reset:force:tracking",
2692
+ "source:reset:tracking:force",
2693
+ "force:reset:source:tracking",
2694
+ "reset:force:source:tracking",
2695
+ "reset:source:force:tracking",
2696
+ "reset:source:tracking:force",
2697
+ "force:reset:tracking:source",
2698
+ "reset:force:tracking:source",
2699
+ "reset:tracking:force:source",
2700
+ "reset:tracking:source:force"
2701
+ ],
2702
+ "permutations": [
2703
+ "project:reset:tracking",
2704
+ "reset:project:tracking",
2705
+ "reset:tracking:project",
2706
+ "project:tracking:reset",
2707
+ "tracking:project:reset",
2708
+ "tracking:reset:project"
2709
+ ]
2710
+ },
2711
+ "project:retrieve:preview": {
2712
+ "aliases": [
2713
+ "retrieve:metadata:preview"
2714
+ ],
2715
+ "args": {},
2716
+ "deprecateAliases": true,
2717
+ "description": "You must run this command from within a project.\n\nThe command outputs a table that describes what will happen if you run the \"<%= config.bin %> project retrieve start\" command. The table lists the metadata components that will be retrieved and deleted. The table also lists the current conflicts between files in your local project and components in the org. Finally, the table lists the files that won't be retrieved because they're included in your .forceignore file.\n\nIf your org allows source tracking, then this command displays potential conflicts between the org and your local project. Some orgs, such as production org, never allow source tracking. Source tracking is enabled by default on scratch and sandbox orgs; you can disable source tracking when you create the orgs by specifying the --no-track-source flag on the \"<%= config.bin %> org create scratch|sandbox\" commands.",
2718
+ "examples": [
2719
+ "Preview the retrieve of all changes from your default org:\n<%= config.bin %> <%= command.id %>",
2720
+ "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"
2721
+ ],
2722
+ "flags": {
2723
+ "json": {
2724
+ "description": "Format output as json.",
2725
+ "helpGroup": "GLOBAL",
2726
+ "name": "json",
2832
2727
  "allowNo": false,
2833
2728
  "type": "boolean"
2834
2729
  },
2835
- "metadata": {
2836
- "char": "m",
2837
- "description": "If you specify this flag, don’t specify --source-dir.",
2838
- "name": "metadata",
2839
- "summary": "Metadata components to delete.",
2840
- "delimiter": ",",
2841
- "hasDynamicHelp": false,
2842
- "multiple": true,
2843
- "type": "option"
2844
- },
2845
- "source-dir": {
2846
- "aliases": [
2847
- "sourcepath"
2848
- ],
2849
- "char": "p",
2850
- "deprecateAliases": true,
2851
- "description": "The supplied paths can be a single file (in which case the operation is applied to only one file) or a folder (in which case the operation is applied to all metadata types in the directory and its sub-directories).\n\nIf you specify this flag, don’t specify --metadata.",
2852
- "name": "source-dir",
2853
- "summary": "Source file paths to delete.",
2854
- "delimiter": ",",
2730
+ "flags-dir": {
2731
+ "helpGroup": "GLOBAL",
2732
+ "name": "flags-dir",
2733
+ "summary": "Import flag values from a directory.",
2855
2734
  "hasDynamicHelp": false,
2856
- "multiple": true,
2735
+ "multiple": false,
2857
2736
  "type": "option"
2858
2737
  },
2859
- "track-source": {
2860
- "aliases": [
2861
- "tracksource"
2862
- ],
2863
- "char": "t",
2864
- "deprecateAliases": true,
2865
- "exclusive": [
2866
- "check-only"
2867
- ],
2868
- "name": "track-source",
2869
- "summary": "If the delete succeeds, update the source tracking information.",
2738
+ "ignore-conflicts": {
2739
+ "char": "c",
2740
+ "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.",
2741
+ "name": "ignore-conflicts",
2742
+ "summary": "Don't display conflicts in the preview of the retrieval.",
2870
2743
  "allowNo": false,
2871
2744
  "type": "boolean"
2872
2745
  },
2873
- "force-overwrite": {
2874
- "aliases": [
2875
- "forceoverwrite"
2876
- ],
2877
- "char": "f",
2878
- "dependsOn": [
2879
- "track-source"
2880
- ],
2881
- "deprecateAliases": true,
2882
- "name": "force-overwrite",
2883
- "summary": "Ignore conflict warnings and overwrite changes to the org.",
2884
- "allowNo": false,
2885
- "type": "boolean"
2746
+ "target-org": {
2747
+ "char": "o",
2748
+ "name": "target-org",
2749
+ "noCacheDefault": true,
2750
+ "required": true,
2751
+ "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
2752
+ "hasDynamicHelp": true,
2753
+ "multiple": false,
2754
+ "type": "option"
2886
2755
  },
2887
- "verbose": {
2888
- "name": "verbose",
2889
- "summary": "Verbose output of the delete result.",
2756
+ "concise": {
2757
+ "name": "concise",
2758
+ "summary": "Show only the changes that will be retrieved; omits files that are forceignored.",
2890
2759
  "allowNo": false,
2891
2760
  "type": "boolean"
2892
2761
  }
2893
2762
  },
2894
2763
  "hasDynamicHelp": true,
2895
2764
  "hiddenAliases": [],
2896
- "id": "project:delete:source",
2765
+ "id": "project:retrieve:preview",
2897
2766
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
2898
2767
  "pluginName": "@salesforce/plugin-deploy-retrieve",
2899
2768
  "pluginType": "core",
2900
2769
  "strict": true,
2901
- "summary": "Delete source from your project and from a non-source-tracked org.",
2770
+ "summary": "Preview a retrieval to see what will be retrieved from the org, the potential conflicts, and the ignored files.",
2902
2771
  "enableJsonFlag": true,
2903
2772
  "requiresProject": true,
2904
2773
  "isESM": true,
@@ -2906,35 +2775,49 @@
2906
2775
  "lib",
2907
2776
  "commands",
2908
2777
  "project",
2909
- "delete",
2910
- "source.js"
2778
+ "retrieve",
2779
+ "preview.js"
2911
2780
  ],
2912
2781
  "aliasPermutations": [
2913
- "force:source:delete",
2914
- "source:force:delete",
2915
- "source:delete:force",
2916
- "force:delete:source",
2917
- "delete:force:source",
2918
- "delete:source:force"
2782
+ "retrieve:metadata:preview",
2783
+ "metadata:retrieve:preview",
2784
+ "metadata:preview:retrieve",
2785
+ "retrieve:preview:metadata",
2786
+ "preview:retrieve:metadata",
2787
+ "preview:metadata:retrieve"
2919
2788
  ],
2920
2789
  "permutations": [
2921
- "project:delete:source",
2922
- "delete:project:source",
2923
- "delete:source:project",
2924
- "project:source:delete",
2925
- "source:project:delete",
2926
- "source:delete:project"
2790
+ "project:retrieve:preview",
2791
+ "retrieve:project:preview",
2792
+ "retrieve:preview:project",
2793
+ "project:preview:retrieve",
2794
+ "preview:project:retrieve",
2795
+ "preview:retrieve:project"
2927
2796
  ]
2928
2797
  },
2929
- "project:delete:tracking": {
2798
+ "project:retrieve:start": {
2930
2799
  "aliases": [
2931
- "force:source:tracking:clear"
2800
+ "retrieve:metadata"
2932
2801
  ],
2933
2802
  "args": {},
2934
2803
  "deprecateAliases": true,
2935
- "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.",
2804
+ "description": "You must run this command from within a project.\n\nMetadata components are retrieved in source format by default. Retrieve them in metadata format by specifying the --target-metadata-dir flag, which retrieves the components into a ZIP file in the specified directory.\n\nIf your org allows source tracking, then this command tracks the changes in your source. Some orgs, such as production orgs, never allow source tracking. Source tracking is enabled by default on scratch and sandbox orgs; you can disable source tracking when you create the orgs by specifying the --no-track-source flag on the \"<%= config.bin %> org create scratch|sandbox\" commands.\n\nTo retrieve multiple metadata components, either use multiple --metadata <name> flags or use a single --metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax applies to --source-dir.",
2936
2805
  "examples": [
2937
- "Delete local source tracking for the org with alias \"my-scratch\":\n$ <%= config.bin %> <%= command.id %> --target-org my-scratch"
2806
+ "Retrieve all remote changes from your default org:\n<%= config.bin %> <%= command.id %>",
2807
+ "Retrieve the source files in the \"force-app\" directory from an org with alias \"my-scratch\":\n<%= config.bin %> <%= command.id %> --source-dir force-app --target-org my-scratch",
2808
+ "Retrieve all the Apex classes and custom objects whose source is in the \"force-app\" directory. The list views, layouts, etc, that are associated with the custom objects are also retrieved. Both examples are equivalent:\n<%= config.bin %> <%= command.id %> --source-dir force-app/main/default/classes force-app/main/default/objects\n<%= config.bin %> <%= command.id %> --source-dir force-app/main/default/classes --source-dir force-app/main/default/objects",
2809
+ "Retrieve all Apex classes that are in all package directories defined in the \"sfdx-project.json\" file:\n<%= config.bin %> <%= command.id %> --metadata ApexClass",
2810
+ "Retrieve a specific Apex class; ignore any conflicts between the local project and org (be careful with this flag, because it will overwrite the Apex class source files in your local project if there are conflicts!):\n<%= config.bin %> <%= command.id %> --metadata ApexClass:MyApexClass --ignore-conflicts",
2811
+ "Retrieve specific Apex classes that match a pattern; in this example, retrieve Apex classes whose names contain the string \"MyApex\":\n<%= config.bin %> <%= command.id %> --metadata 'ApexClass:MyApex*'",
2812
+ "Retrieve a custom object called ExcitingObject that's in the SBQQ namespace:\nsf <%= command.id %> --metadata CustomObject:SBQQ__ExcitingObject",
2813
+ "Retrieve all custom objects in the SBQQ namespace by using a wildcard and quotes:\nsf <%= command.id %> --metadata 'CustomObject:SBQQ__*'",
2814
+ "Retrieve all list views for the Case standard object:\nsf <%= command.id %> --metadata 'ListView:Case*'",
2815
+ "Retrieve all custom objects and Apex classes found in all defined package directories (both examples are equivalent):\n<%= config.bin %> <%= command.id %> --metadata CustomObject ApexClass\n<%= config.bin %> <%= command.id %> --metadata CustomObject --metadata ApexClass",
2816
+ "Retrieve all metadata components listed in a manifest:\n<%= config.bin %> <%= command.id %> --manifest path/to/package.xml",
2817
+ "Retrieve metadata from a package:\n<%= config.bin %> <%= command.id %> --package-name MyPackageName",
2818
+ "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",
2819
+ "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",
2820
+ "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"
2938
2821
  ],
2939
2822
  "flags": {
2940
2823
  "json": {
@@ -2953,33 +2836,120 @@
2953
2836
  "type": "option"
2954
2837
  },
2955
2838
  "api-version": {
2956
- "aliases": [
2957
- "apiversion"
2958
- ],
2959
- "deprecateAliases": true,
2960
- "description": "Override the api version used for api requests made by this command",
2839
+ "char": "a",
2840
+ "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.",
2961
2841
  "name": "api-version",
2842
+ "summary": "Target API version for the retrieve.",
2962
2843
  "hasDynamicHelp": false,
2963
2844
  "multiple": false,
2964
2845
  "type": "option"
2965
2846
  },
2966
- "loglevel": {
2967
- "deprecated": {
2968
- "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."
2969
- },
2970
- "hidden": true,
2971
- "name": "loglevel",
2847
+ "ignore-conflicts": {
2848
+ "char": "c",
2849
+ "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.",
2850
+ "name": "ignore-conflicts",
2851
+ "summary": "Ignore conflicts and retrieve and save files to your local filesystem, even if they overwrite your local changes.",
2852
+ "allowNo": false,
2853
+ "type": "boolean"
2854
+ },
2855
+ "manifest": {
2856
+ "char": "x",
2857
+ "description": "If you specify this flag, don’t specify --metadata or --source-dir.",
2858
+ "exclusive": [
2859
+ "metadata",
2860
+ "source-dir"
2861
+ ],
2862
+ "name": "manifest",
2863
+ "summary": "File path for the manifest (package.xml) that specifies the components to retrieve.",
2972
2864
  "hasDynamicHelp": false,
2973
2865
  "multiple": false,
2974
2866
  "type": "option"
2975
2867
  },
2976
- "target-org": {
2977
- "aliases": [
2978
- "targetusername",
2979
- "u"
2868
+ "metadata": {
2869
+ "char": "m",
2870
+ "exclusive": [
2871
+ "manifest",
2872
+ "source-dir"
2873
+ ],
2874
+ "name": "metadata",
2875
+ "summary": "Metadata component names to retrieve. Wildcards (`*`) supported as long as you use quotes, such as `ApexClass:MyClass*`.",
2876
+ "hasDynamicHelp": false,
2877
+ "multiple": true,
2878
+ "type": "option"
2879
+ },
2880
+ "package-name": {
2881
+ "char": "n",
2882
+ "description": "The metadata of the supplied package name(s) will be retrieved into a child directory of the project. The name of that child directory matches the name of the package. The retrieved metadata is meant for your reference only, don't add it to a source control system for development and deployment. For package development, retrieve the metadata using a manifest (`--manifest` flag) or by targeting a source controlled package directory within your project (`--source-dir` flag).",
2883
+ "name": "package-name",
2884
+ "summary": "Package names to retrieve. Use of this flag is for reference only; don't use it to retrieve packaged metadata for development.",
2885
+ "hasDynamicHelp": false,
2886
+ "multiple": true,
2887
+ "type": "option"
2888
+ },
2889
+ "output-dir": {
2890
+ "char": "r",
2891
+ "description": "The root of the directory structure into which the source files are retrieved.\nIf the target directory matches one of the package directories in your sfdx-project.json file, the command fails.\nRunning the command multiple times with the same target adds new files and overwrites existing files.",
2892
+ "exclusive": [
2893
+ "package-name",
2894
+ "source-dir"
2895
+ ],
2896
+ "name": "output-dir",
2897
+ "summary": "Directory root for the retrieved source files.",
2898
+ "hasDynamicHelp": false,
2899
+ "multiple": false,
2900
+ "type": "option"
2901
+ },
2902
+ "single-package": {
2903
+ "dependsOn": [
2904
+ "target-metadata-dir"
2905
+ ],
2906
+ "exclusive": [
2907
+ "ignore-conflicts"
2908
+ ],
2909
+ "helpGroup": "Metadata API Format",
2910
+ "name": "single-package",
2911
+ "summary": "Indicates that the zip file points to a directory structure for a single package.",
2912
+ "allowNo": false,
2913
+ "type": "boolean"
2914
+ },
2915
+ "source-dir": {
2916
+ "char": "d",
2917
+ "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).",
2918
+ "exclusive": [
2919
+ "manifest",
2920
+ "metadata"
2921
+ ],
2922
+ "name": "source-dir",
2923
+ "summary": "File paths for source to retrieve from the org.",
2924
+ "hasDynamicHelp": false,
2925
+ "multiple": true,
2926
+ "type": "option"
2927
+ },
2928
+ "target-metadata-dir": {
2929
+ "char": "t",
2930
+ "exclusive": [
2931
+ "ignore-conflicts"
2932
+ ],
2933
+ "helpGroup": "Metadata API Format",
2934
+ "name": "target-metadata-dir",
2935
+ "relationships": [
2936
+ {
2937
+ "type": "some",
2938
+ "flags": [
2939
+ "manifest",
2940
+ "metadata",
2941
+ "source-dir",
2942
+ "package-name"
2943
+ ]
2944
+ }
2980
2945
  ],
2946
+ "summary": "Directory that will contain the retrieved metadata format files or ZIP.",
2947
+ "hasDynamicHelp": false,
2948
+ "multiple": false,
2949
+ "type": "option"
2950
+ },
2951
+ "target-org": {
2981
2952
  "char": "o",
2982
- "deprecateAliases": true,
2983
2953
  "name": "target-org",
2984
2954
  "noCacheDefault": true,
2985
2955
  "required": true,
@@ -2988,71 +2958,101 @@
2988
2958
  "multiple": false,
2989
2959
  "type": "option"
2990
2960
  },
2991
- "no-prompt": {
2992
- "aliases": [
2993
- "noprompt"
2961
+ "wait": {
2962
+ "char": "w",
2963
+ "description": "If the command continues to run after the wait period, the CLI returns control of the terminal window to you.",
2964
+ "name": "wait",
2965
+ "summary": "Number of minutes to wait for the command to complete and display results to the terminal window.",
2966
+ "default": "33 minutes",
2967
+ "hasDynamicHelp": true,
2968
+ "multiple": false,
2969
+ "type": "option"
2970
+ },
2971
+ "unzip": {
2972
+ "char": "z",
2973
+ "dependsOn": [
2974
+ "target-metadata-dir"
2994
2975
  ],
2995
- "char": "p",
2996
- "deprecateAliases": true,
2997
- "name": "no-prompt",
2998
- "summary": "Don't prompt for source tracking override confirmation.",
2976
+ "exclusive": [
2977
+ "ignore-conflicts"
2978
+ ],
2979
+ "helpGroup": "Metadata API Format",
2980
+ "name": "unzip",
2981
+ "summary": "Extract all files from the retrieved zip file.",
2999
2982
  "allowNo": false,
3000
2983
  "type": "boolean"
2984
+ },
2985
+ "zip-file-name": {
2986
+ "dependsOn": [
2987
+ "target-metadata-dir"
2988
+ ],
2989
+ "exclusive": [
2990
+ "ignore-conflicts"
2991
+ ],
2992
+ "helpGroup": "Metadata API Format",
2993
+ "name": "zip-file-name",
2994
+ "summary": "File name to use for the retrieved zip file.",
2995
+ "hasDynamicHelp": false,
2996
+ "multiple": false,
2997
+ "type": "option"
3001
2998
  }
3002
2999
  },
3003
3000
  "hasDynamicHelp": true,
3004
3001
  "hiddenAliases": [],
3005
- "id": "project:delete:tracking",
3002
+ "id": "project:retrieve:start",
3006
3003
  "pluginAlias": "@salesforce/plugin-deploy-retrieve",
3007
3004
  "pluginName": "@salesforce/plugin-deploy-retrieve",
3008
3005
  "pluginType": "core",
3009
3006
  "strict": true,
3010
- "summary": "Delete all local source tracking information.",
3007
+ "summary": "Retrieve metadata from an org to your local project.",
3011
3008
  "enableJsonFlag": true,
3012
- "requiresProject": true,
3009
+ "configurationVariablesSection": {
3010
+ "header": "CONFIGURATION VARIABLES",
3011
+ "body": [
3012
+ {
3013
+ "name": "target-org",
3014
+ "description": "Username or alias of the org that all commands run against by default. (sf only)"
3015
+ },
3016
+ {
3017
+ "name": "org-api-version",
3018
+ "description": "API version of your project. Default: API version of your Dev Hub org."
3019
+ }
3020
+ ]
3021
+ },
3022
+ "envVariablesSection": {
3023
+ "header": "ENVIRONMENT VARIABLES",
3024
+ "body": [
3025
+ {
3026
+ "name": "SF_TARGET_ORG",
3027
+ "description": "Username or alias of your default org. Overrides the target-org configuration variable."
3028
+ },
3029
+ {
3030
+ "name": "SF_USE_PROGRESS_BAR",
3031
+ "description": "Set to false to disable the progress bar when running the metadata deploy command."
3032
+ }
3033
+ ]
3034
+ },
3013
3035
  "isESM": true,
3014
3036
  "relativePath": [
3015
3037
  "lib",
3016
3038
  "commands",
3017
3039
  "project",
3018
- "delete",
3019
- "tracking.js"
3040
+ "retrieve",
3041
+ "start.js"
3020
3042
  ],
3021
3043
  "aliasPermutations": [
3022
- "force:source:tracking:clear",
3023
- "source:force:tracking:clear",
3024
- "source:tracking:force:clear",
3025
- "source:tracking:clear:force",
3026
- "force:tracking:source:clear",
3027
- "tracking:force:source:clear",
3028
- "tracking:source:force:clear",
3029
- "tracking:source:clear:force",
3030
- "force:tracking:clear:source",
3031
- "tracking:force:clear:source",
3032
- "tracking:clear:force:source",
3033
- "tracking:clear:source:force",
3034
- "force:source:clear:tracking",
3035
- "source:force:clear:tracking",
3036
- "source:clear:force:tracking",
3037
- "source:clear:tracking:force",
3038
- "force:clear:source:tracking",
3039
- "clear:force:source:tracking",
3040
- "clear:source:force:tracking",
3041
- "clear:source:tracking:force",
3042
- "force:clear:tracking:source",
3043
- "clear:force:tracking:source",
3044
- "clear:tracking:force:source",
3045
- "clear:tracking:source:force"
3044
+ "retrieve:metadata",
3045
+ "metadata:retrieve"
3046
3046
  ],
3047
3047
  "permutations": [
3048
- "project:delete:tracking",
3049
- "delete:project:tracking",
3050
- "delete:tracking:project",
3051
- "project:tracking:delete",
3052
- "tracking:project:delete",
3053
- "tracking:delete:project"
3048
+ "project:retrieve:start",
3049
+ "retrieve:project:start",
3050
+ "retrieve:start:project",
3051
+ "project:start:retrieve",
3052
+ "start:project:retrieve",
3053
+ "start:retrieve:project"
3054
3054
  ]
3055
3055
  }
3056
3056
  },
3057
- "version": "3.24.51"
3057
+ "version": "3.24.53"
3058
3058
  }