Is your feature request related to a problem? Please describe.
The new project deploy start command has many issues and is a regression from the previous sfdx style commands. The new command is replacing three previously separate commands force:source:push, force:source:deploy, and force:mdapi:deploy. This causes a list of issues.
force:source:deploy isn't actually replaced because source tracking is always done if possible, this means this command is effectively abandoned/lost (loss of functionality)
- Flags overload, there are 23 flags! Many of which are mutually exclusive
- Metadata API functions are clearly second class citizens with no shorthand single letter flag options for mdapi only flags
- If I have a Metadata API patch to distribute, suddenly the CLI is no longer an option to just deploy a simple zip file because the command is "project" and requires an sfdx-project even though deploying a metadata api zip file almost never has anything to do with an sfdx project. This makes creating a patch to give to a customer and tell them they can deploy with the CLI completely out of the question as they would need to create a fake project, and understand what that even means, to deploy the zip.
- When the default is to wait 33 min for the deploy, it is not "start" it is just a straight "deploy". The start feels unnecessary and not what I am doing most of the time.
What are you trying to do
Trying to deploy both source and metadata code to orgs in a way that is comprehensible to the user.
Sometimes source tracking in a project is not the answer. Source tracking gets messed up (like the source clear command demonstrate) or I have a test org I don't need source tracking or I have a patch I need to ensure gets applied. There is no way to ignore source tracking and force re-deploy a source folder. Changing to metadata api format is an option but that needlessly requires a project and an extra step and longer, clunkier flags.
Describe the solution you'd like
I propose a couple of changes:
- Create a completely separate command for Metadata API based operations that does not require an sfdx-project. This can then also have short hand flags for all of the mdapi flags
- Drop the "project". Deploying a whole project is only one of many use cases for deploying. Any time I am specifying --metadata-dir, -x, -m or even -d that is not a whole project and the project wording doesn't really make sense
- Drop the "start" or make it optional. 99% of the time I want to wait for the deploy (-w ) so it isn't start it is the complete deploy
- Either add a flag to turn source tracking off or split the concepts of push (w/tracking) vs deploy (no tracking) into separate commands
Describe alternatives you've considered
Staying with the abandoned SFDX commands that make much more sense.
Is your feature request related to a problem? Please describe.
The new
project deploy startcommand has many issues and is a regression from the previous sfdx style commands. The new command is replacing three previously separate commandsforce:source:push,force:source:deploy, andforce:mdapi:deploy. This causes a list of issues.force:source:deployisn't actually replaced because source tracking is always done if possible, this means this command is effectively abandoned/lost (loss of functionality)What are you trying to do
Trying to deploy both source and metadata code to orgs in a way that is comprehensible to the user.
Sometimes source tracking in a project is not the answer. Source tracking gets messed up (like the source clear command demonstrate) or I have a test org I don't need source tracking or I have a patch I need to ensure gets applied. There is no way to ignore source tracking and force re-deploy a source folder. Changing to metadata api format is an option but that needlessly requires a project and an extra step and longer, clunkier flags.
Describe the solution you'd like
I propose a couple of changes:
Describe alternatives you've considered
Staying with the abandoned SFDX commands that make much more sense.