0.0.2 • Published 3 years ago

clinical v0.0.2

Weekly downloads
4
License
MIT
Repository
github
Last release
3 years ago

clinical npm Version build

A minimum-viable arguments parser in ~90 LOC with zero dependencies

Features

  • Casts values to the appropriate JavaScript primitive type
  • Converts option keys to camelCase
  • Throws on duplicated options
  • Stops parsing options after --
  • Prints the supplied version on --version or -v
  • Prints the supplied help message on --help or -h

Example

$ npm install --save clinical
#!/usr/bin/env node

import clinical from 'clinical'

try {
  const result = clinical('1.0.0', 'my help message')
  console.log(result)
} catch (error) {
  console.error(error.message)
  process.exit(1)
}
$ my-cli --foo --bar 42 -x=y -- baz null
{
  options: { foo: true, bar: 42, x: 'y' },
  positionals: [ 'baz', null ]
}
$ my-cli --version
1.0.0
$ my-cli --help
my help message

API

import clinical from 'clinical'

const result = clinical(version, helpMessage , args = process.argv.slice(2))

  • version (string) – Required. Writes this string to stdout on encountering the --version or -v flag, then exits the process.
  • helpMessage (string) – Required. Writes this string to stdout on encountering the --help or -h flag, then exits the process.
  • args (Array<string>) – Optional. The arguments to be parsed. Defaults to process.argv.slice(2).

The returned result object has the following keys:

  • positionals (Array<boolean | null | number | string>)
  • options ({ [key: string]: boolean | null | number | string })

Installation

$ npm install --save clinical

License

MIT

0.0.2

3 years ago

0.0.1

3 years ago