Type safe CLI argument parser.
-f
, -force
) or double (--f
, --force
) dashes for both short and long flag arguments.'t'
, 'true'
, 1
, 'f'
, 'false'
, 0
).Reference docs: https://electrovir.github.io/cli-vir
npm i cli-vir
Use parseArgs
:
import {FlagRequirement, parseArgs} from 'cli-vir';
const myArgs = parseArgs(
process.argv,
{
arg1: {
flag: {
valueRequirement: FlagRequirement.Blocked,
},
},
arg2: {
required: true,
position: 0,
},
arg3: {
flag: {
aliases: ['-3'],
allowMultiple: true,
valueRequirement: FlagRequirement.Required,
},
},
},
{
/** The binName for your package, if relevant. */
binName: 'cli-vir',
/**
* Make sure this `import.meta` is accessed in your top level JavaScript/TypeScript file
* that is being executed.
*/
importMeta: import.meta,
},
);
console.info(myArgs.arg1); // boolean
console.info(myArgs.arg2); // string
console.info(myArgs.arg3); // string[]