123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import { d as decamelizeKeys, b as constructParserOptions } from './dependencies.js';
- const buildParserFlags = ({flags, booleanDefault}) => {
- const parserFlags = {};
- for (const [flagKey, flagValue] of Object.entries(flags)) {
- const flag = {...flagValue};
- // `minimist-options` expects `flag.alias`
- if (flag.shortFlag) {
- flag.alias = flag.shortFlag;
- delete flag.shortFlag;
- }
- if (
- booleanDefault !== undefined
- && flag.type === 'boolean'
- && !Object.hasOwn(flag, 'default')
- ) {
- flag.default = flag.isMultiple ? [booleanDefault] : booleanDefault;
- }
- if (flag.isMultiple) {
- flag.type = flag.type ? `${flag.type}-array` : 'array';
- flag.default = flag.default ?? [];
- delete flag.isMultiple;
- }
- if (Array.isArray(flag.aliases)) {
- if (flag.alias) {
- flag.aliases.push(flag.alias);
- }
- flag.alias = flag.aliases;
- delete flag.aliases;
- }
- parserFlags[flagKey] = flag;
- }
- return parserFlags;
- };
- const buildParserOptions = options => {
- let parserOptions = buildParserFlags(options);
- parserOptions.arguments = options.input;
- parserOptions = decamelizeKeys(parserOptions, {separator: '-', exclude: ['stopEarly', '--']});
- if (options.inferType) {
- delete parserOptions.arguments;
- }
- // Add --help and --version to known flags if autoHelp or autoVersion are set
- if (!options.allowUnknownFlags) {
- if (options.autoHelp && !parserOptions.help) {
- parserOptions.help = {type: 'boolean'};
- }
- if (options.autoVersion && !parserOptions.version) {
- parserOptions.version = {type: 'boolean'};
- }
- }
- parserOptions = constructParserOptions(parserOptions);
- parserOptions.configuration = {
- ...parserOptions.configuration,
- 'greedy-arrays': false,
- };
- if (parserOptions['--']) {
- parserOptions.configuration['populate--'] = true;
- }
- if (!options.allowUnknownFlags) {
- // Collect unknown options in `argv._` to be checked later.
- parserOptions.configuration['unknown-options-as-args'] = true;
- }
- return parserOptions;
- };
- export { buildParserOptions };
|