JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 617
  • Score
    100M100P100Q94806F
  • License MIT

A useful wrapper for `util.parseArgs`

Package Exports

  • pargs
  • pargs/package.json

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.
  • 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!