cmd-args
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.7 • Public • Published

    cmd-args

    GitHub release npm version npm downloads npm downloads

    A simple command-line argument parser for NodeJS command-line tools.

    Install:

    $ npm install cmd-args
    

    example:

    import { createArgParser } from 'cmd-args'
     
    const myParser = createArgParser({
      cmd: 'my-cmd',
      title: 'My CMD',
      description: 'my-cmd description...',
      help: true,
      version: 'v1.0.0',
      run: (options) => {
        console.log(options)
      },
      options: [
        {
          type: 'flag',
          key: 'verbose',
          alias: 'v',
          description: 'Enable verbose mode.',
        },
        {
          type: 'option',
          key: 'output-file',
          alias: 'o',
          description:
            'Specifies location to write the output file. If not set the output will go to stdout.',
        },
      ],
      arguments: [
        {
          key: 'input-files',
          description: 'List of input files to be used.',
          multi: true,
          required: true,
        },
      ],
    })
     
    myParser.run()

    example run:

    $ my-cmd --version

    outputs:

    v1.0.0
    

    example run:

    $ my-cmd --help

    outputs:

    My CMD
    
    my-cmd description...
    
    Usage:
      my-cmd [OPTIONS] --help
      OR
      my-cmd [OPTIONS] <input-files>...
    
    my-cmd [OPTIONS]:
          --version            Prints version of this command.
          --help               Prints help text for this command.
      -v, --verbose            Enable verbose mode.
      -o, --output-file[=ARG]  Specifies location to write the output file. If not set the output will go to stdout.
    
    ARGUMENTS:
      input-files=ARG+  List of input files to be used.
    
    

    example run:

    $ my-cmd file1 file2

    outputs:

    {
      "verbose": false,
      "input-files": ["file1", "file2"]
    }

    example run:

    $ my-cmd file1 file2 -o file-out

    outputs:

    {
      "verbose": false,
      "input-files": ["file1", "file2"],
      "output-file": "file-out"
    }

    example run:

    $ my-cmd file1 file2 --output-file file-out

    outputs:

    {
      "verbose": false,
      "input-files": ["file1", "file2"],
      "output-file": "file-out"
    }

    example run:

    $ my-cmd -v file1 file2 --output-file file-out

    outputs:

    {
      "verbose": true,
      "input-files": ["file1", "file2"],
      "output-file": "file-out"
    }

    Install

    npm i cmd-args

    DownloadsWeekly Downloads

    28

    Version

    2.0.7

    License

    MIT

    Unpacked Size

    67.6 kB

    Total Files

    28

    Last publish

    Collaborators

    • avatar