[dev-utils/run] expose unexpected flags as more than just names #54080
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.
The
@kbn/dev-utilsrun()helper automatically validates that all passed flags are expected, but when theflags.allowUnexpectedoption is set to true then the unexpected flags are passed to the run function asflags.unexpected. This was designed for the dev cli to use so it could forward the flags to the Kibana server, but was implemented in a somewhat useless way, only forwarding the names of the flags and not their values. Even supplying the parsed values is somewhat useless for our case as we'd have to convert them back into their unparsed representation before passing them to the Kibana server.To fix this I've updated
flags.unexpectedto include the full flag and value from theargvarray with one exception, shortcut flags which are defined as a single flag like-abcdare "exploded" as-a,-b, etc. and only the unexpected ones are passed. (see test case for an example,-xis expected butzandyare not).