Nonchalantly Perusing Magazines
    Have ideas to improve npm?Join in the discussion! »

    nopt-usage

    0.1.0 • Public • Published

    Show usage

    This module generates a usage string for nopt options. It's based on this PR from Filirom1.

    var noptUsage = require('nopt-usage');
    noptUsage(knownOpts, shortHands, description1, description2, ...)
    

    install

    npm install nopt-usage
    

    example

    You could pass as many description objects as you want. Take a look at the following example to understand how it could be used.

    #!/usr/bin/env node
    
    var nopt = require("nopt")
      , noptUsage = require("nopt-usage")
      , Stream = require("stream").Stream
      , path = require("path")
      , knownOpts = { "foo" : [String, null]
                    , "bar" : [Stream, Number]
                    , "baz" : path
                    , "bloo" : [ "big", "medium", "small" ]
                    , "flag" : Boolean
                    , "pick" : Boolean
                    }
      , shortHands = { "foofoo" : ["--foo", "Mr. Foo"]
                     , "b7" : ["--bar", "7"]
                     , "m" : ["--bloo", "medium"]
                     , "p" : ["--pick"]
                     , "f" : ["--flag", "true"]
                     , "g" : ["--flag"]
                     , "s" : "--flag"
                     }
      , description = { "foo" : "Something really foooooooo"
                      , "bar" : "A bar thing"
                      , "baz" : "More or less baz"
                      , "flag" : "Flag it as well"
                      , "pick" : "Or pick something"
                      }
      , defaults = { "foo" : null
                   , "bar" : 42
                   , "baz" : "/etc/passwd"
                   , "bloo" : "small"
                   , "pick" : false
                   }
                 // everything is optional.
                 // knownOpts and shorthands default to {}
                 // arg list defaults to process.argv
                 // slice defaults to 2
      , parsed = nopt(knownOpts, shortHands, process.argv, 2)
      , usage = noptUsage(knownOpts, shortHands, description, defaults)
    
    console.log('Usage: ')
    console.log(usage)
    

    The output is:

    Usage:
        --foo, -foofoo        Something really foooooooo    null           
        --bar, -b7            A bar thing                   42             
        --baz                 More or less baz              /etc/passwd    
        --bloo, -m                                          small          
        --flag, -f, -g, -s    Flag it as well                              
        --pick, -p            Or pick something             false          
    

    Keywords

    none

    Install

    npm i nopt-usage

    DownloadsWeekly Downloads

    16,503

    Version

    0.1.0

    License

    MIT

    Last publish

    Collaborators

    • avatar