-
Notifications
You must be signed in to change notification settings - Fork 118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
yargs
doesn't enforce strictOptions
for options passed without =
#483
Comments
I was not able to reproduce this behaviour in a small test program. Both forms shows the help with an error In the linked issue, it mentions "unknown CLI params" and "unknown commands" and "unknown keyword arguments are being caught as expected but positional ones are not". To be clear, is the observed problem with an "option" starting with a |
It's with what y'all call "options". Sorry for the lack of clarity. I'm wondering where things go awry because when I took just our yargs definition that starts here and copy it into a new script and try to run with the noted |
I managed to reproduce your problem using your You can confirm by calling your broken program with unknown option and
See yargs/yargs#2010 (comment) for some research, which does not cover the settings you are using. As a work-around, you could use a special TypeScript import style that has worked with all the tsconfig settings I have tried:
See: https://www.typescriptlang.org/docs/handbook/modules.html#export--and-import--require |
Thank you for the guidance! I will research #2010 further and see if any of those options could work for us as I don't think the |
Just to round this out in case anybody has a similar issue. For us, the solution was just to change our import for Thanks again for the help! Great project and we just added |
(Thanks for circling back.) |
I'm not sure if this is user error or a bug in
yargs
but my team has recently observed that where we have.strictOptions
set, yargs doesn't error when we run our CLI app with an option passed like this:node index.js --unknownOption unknownValue
though it does error when we run it as:
node index.js --unknownOption=unknownValue
.However, when we run
node index.js --knownOption acceptableValue
, the behavior is the same as if we ran it withnode index.js --knownOption=acceptableValue
.Here is the actual issue we're tracking on our codebase if it's helpful.
Is my expectation incorrect that an option passed with
--option=value
should be parsed the same way as--option value
?The text was updated successfully, but these errors were encountered: