Improve backwards compatibility for command events #1403
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.
Pull Request
Problem
The custom command event (e.g.
'command:example'
) was being emit-ed from the wrong object to be useful and for backwards compatibility with Commander v4 and earlier.See: #1402
Solution
The command events used to be how Commander triggered the action handler, and custom listeners were somewhat of a free bonus. Now the parsing is rather different and it requires extra code to approximate the old behaviour.
There have never been explicit tests for the events. I have added some tests so at least the behaviour is more stable going forward.
(From code inspection, there may be some minor differences in edge cases from historical behaviour which I won't be attempting to match, like what event name is generated for aliases).
ChangeLog