| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | 
							- import process from 'node:process';
 
- import { y as yargsParser, t as trimNewlines, r as redent, n as normalizePackageData, c as camelcaseKeys } from './dependencies.js';
 
- import { buildOptions } from './options.js';
 
- import { buildParserOptions } from './parser.js';
 
- import { checkUnknownFlags, validate, checkMissingRequiredFlags } from './validate.js';
 
- const buildResult = (options, parserOptions) => {
 
- 	const {pkg: package_} = options;
 
- 	const argv = yargsParser(options.argv, parserOptions);
 
- 	let help = '';
 
- 	if (options.help) {
 
- 		help = trimNewlines((options.help || '').replace(/\t+\n*$/, ''));
 
- 		if (help.includes('\n')) {
 
- 			help = redent(help, options.helpIndent);
 
- 		}
 
- 		help = `\n${help}`;
 
- 	}
 
- 	normalizePackageData(package_);
 
- 	let {description} = options;
 
- 	if (!description && description !== false) {
 
- 		({description} = package_);
 
- 	}
 
- 	description &&= help ? redent(`\n${description}\n`, options.helpIndent) : `\n${description}`;
 
- 	help = `${description || ''}${help}\n`;
 
- 	const showHelp = code => {
 
- 		console.log(help);
 
- 		process.exit(typeof code === 'number' ? code : 2);
 
- 	};
 
- 	const showVersion = () => {
 
- 		console.log(typeof options.version === 'string' ? options.version : package_.version);
 
- 		process.exit(0);
 
- 	};
 
- 	if (argv._.length === 0 && options.argv.length === 1) {
 
- 		if (argv.version === true && options.autoVersion) {
 
- 			showVersion();
 
- 		} else if (argv.help === true && options.autoHelp) {
 
- 			showHelp(0);
 
- 		}
 
- 	}
 
- 	const input = argv._;
 
- 	delete argv._;
 
- 	if (!options.allowUnknownFlags) {
 
- 		checkUnknownFlags(input);
 
- 	}
 
- 	const flags = camelcaseKeys(argv, {exclude: ['--', /^\w$/]});
 
- 	const unnormalizedFlags = {...flags};
 
- 	validate(flags, options);
 
- 	for (const flagValue of Object.values(options.flags)) {
 
- 		if (Array.isArray(flagValue.aliases)) {
 
- 			for (const alias of flagValue.aliases) {
 
- 				delete flags[alias];
 
- 			}
 
- 		}
 
- 		delete flags[flagValue.shortFlag];
 
- 	}
 
- 	checkMissingRequiredFlags(options.flags, flags, input);
 
- 	return {
 
- 		input,
 
- 		flags,
 
- 		unnormalizedFlags,
 
- 		pkg: package_,
 
- 		help,
 
- 		showHelp,
 
- 		showVersion,
 
- 	};
 
- };
 
- const meow = (helpText, options = {}) => {
 
- 	const parsedOptions = buildOptions(helpText, options);
 
- 	const parserOptions = buildParserOptions(parsedOptions);
 
- 	const result = buildResult(parsedOptions, parserOptions);
 
- 	process.title = result.pkg.bin ? Object.keys(result.pkg.bin).at(0) : result.pkg.name;
 
- 	return result;
 
- };
 
- export { meow as default };
 
 
  |