diff --git a/lib/InteractiveOptions.ts b/lib/InteractiveOptions.ts index 1cca9a0..789af42 100644 --- a/lib/InteractiveOptions.ts +++ b/lib/InteractiveOptions.ts @@ -96,9 +96,13 @@ export class InteractiveOptions extends Persistent { // eslint-disable-next-line no-await-in-loop await src.parse (this.options); } - for (const opt of this.options) + for (const opt of this.options) { + if (!opt.filled) { + opt.value = opt.default; + opt.filled = true; + } this.set (opt.name, opt.value); - + } return this.to_object (); } } diff --git a/lib/Sources/ArgSource.ts b/lib/Sources/ArgSource.ts index e5ebc27..74efc64 100644 --- a/lib/Sources/ArgSource.ts +++ b/lib/Sources/ArgSource.ts @@ -28,10 +28,12 @@ export class ArgSource extends OptionSource { } }; for (const opt of options) { + const type = opt.type_validation.persistent_type; yargs_config[opt.name] = { alias: opt.alias, - default: opt.default, - type: opt.type_validation.persistent_type, + // eslint-disable-next-line no-undefined + default: type === 'boolean' ? undefined : opt.default, + type, describe: opt.description }; }