feat: warn about missing sourceMembers #511
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
What issues does this PR fix or reference?
@W-14535759@
it's part of the solution for forcedotcom/cli#2495
ReleaseNotes
After a deployment, the CLI waits for SourceMembers to be created--the time it spends waiting is based on the deploy size. This can make it look like a large deployment is "stuck" after it completes.
There are lots of files that don't create SourceMembers, or created SourceMembers with unexpected names, causing the CLI to continue waiting for something that's never going to come. This change will surface those missing elements in the warnings. If you see one happening consistently, please open a github issues so we can stop unnecessarily waiting for it.
QA:
There's not a great way to cause these to happen. You could look in expectedSourceMembers and modify some of those, then change one of those types in the project and do a deploy.
There's also not a great way to get file conflicts (orgs do deploy/retrieve sequentially). I would have told you it couldn't happen except for the bug PDT had with multiple event handlers getting left listening and trying to edit the file simultaneously. It's more of a safeguard against that kind of unplanned bug.