Package detail

pargs

ljharb56MIT1.1.0

A useful wrapper for util.parseArgs

parseArgs, parse, arguments, args

readme

pargs Version Badge

github actions coverage License Downloads

npm badge

A wrapper for node’s built-in util.parseArgs with helpful features added.

Usage

#!/usr/bin/env node

import pargs from 'pargs';

const {
    help,
    positionals,
    values,
    errors, // a mutable string array; push to it and pargs will include your error messages.
    name, // if subcommands are used
    tokens,
} = await pargs(import.meta.filename, options);

// do extra validation here

await help(); // to handle `--help` and print the help text if needed, or to print errors and exit

Help

Help text is automatically read from a help.txt file adjacent to import.meta.filename.

await an invocation of the help function returned from the pargs call to handle --help and print the help text if needed, or to print errors and exit.

Options

See the node.js parseArgs documentation for some context.

  • strict: can not be set to false - strictness all the way.
  • allowNegative: can not be set to false.
  • args: can not provide; pargs always uses process.cwd() - this may be added in the future, though.
  • options.type: in addition to 'boolean' and 'string', 'enum': when provided, a choices string array is also required.
  • allowPositionals: in addition to a boolean, or an integer representing the maximum number of allowed positional arguments.
  • minPositionals: an integer representing the minimum required number of positional arguments.
  • subcommands: if provided, must be an object. Keys are the subcommand names (eg, in npm ls, ls is the subcommand), and values are the configuration options for each subcommand - as if they were a top-level invocation.

Install

``

npm install --save pargs

License

MIT

Thanks

Thanks to @ibakaidov for donating the pargs package name!