You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 22, 2023. It is now read-only.
Currently, if we have a flag that accepts multiple values followed by a boolean flag and then positional arguments, the multiple flag will erroneously receive the arguments that come after the boolean flag. Example
myProg --extensions .js .ts --strict ./myDir1 ./myDir2
# extensions is set to [ '.js', '.ts', './myDir1', './myDir2' ]
This PR changes that behavior so boolean flags end the parsing just like option flags do.
myProg --extensions .js .ts --strict ./myDir1 ./myDir2
# extensions is set to [ '.js', '.ts' ]
Bug is due to this.currentFlag not being set for non-option (bool) flags in parse.ts lines 109-147
firefish5000
changed the title
Stop processing Flag multiple when another flag is found
Stop processing flag multiple when a non-option flag is found
Nov 16, 2020
Unrelated, but while reading the test I had to question why we have --foo '=bar' resolve to {foo: 'bar'}. It seems like an unintuitive edge case for the end users who are trying to pass strings that may or may not start with an = sign to flags.
Parsing the equal out of --foo=bar is fine, standard even. But that space, imo, clearly signifies that whatever string comes after it is the argument, equal sign included.
Also unrelated. Commits 120e121 and 76fa11c are just expansion of test cases. Not really part of this issue. These were things I needed to assure myself occurred in general and didn't see in the tests
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Currently, if we have a flag that accepts multiple values followed by a boolean flag and then positional arguments, the multiple flag will erroneously receive the arguments that come after the boolean flag. Example
myProg --extensions .js .ts --strict ./myDir1 ./myDir2 # extensions is set to [ '.js', '.ts', './myDir1', './myDir2' ]This PR changes that behavior so boolean flags end the parsing just like option flags do.
myProg --extensions .js .ts --strict ./myDir1 ./myDir2 # extensions is set to [ '.js', '.ts' ]Bug is due to
this.currentFlagnot being set for non-option (bool) flags in parse.ts lines 109-147