first commit
This commit is contained in:
84
node_modules/meow/build/parser.js
generated
vendored
Normal file
84
node_modules/meow/build/parser.js
generated
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
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 };
|
||||
Reference in New Issue
Block a user