node-dashdash
node-dashdash copied to clipboard
bug: dashdash doesn't check if default values match the type of arg
Say I have this:
const opts = [
{
names: ['force', 'f'],
type: 'bool',
help: 'Force everything (and say yes to everything).',
default: 'foobar' // should be a boolean, but we give a string
}
]
last time I checked, dashdash will not complain.
I am guessing that this would also fly, etc:
const opts = [
{
names: ['force', 'f'],
type: 'string',
help: 'Force everything (and say yes to everything).',
default: [1,2,3] // should be a string, but we have an array of numbers instead
}
]
the type of the default value should match the type? Or perhaps at least log a warning?
@ORESoftware How is this different from #23 ?
I'll note that the current types (@types/[email protected]
at time of writing) indicate that default
should be string | undefined
, which suggests the option default is pre-parsing?
If that's the case, I'm not sure if you'd be expected to write, say, default: "false"
for a boolean (though I'd guess this is a trivial example).
Not sure whether to comment on both issues...