{"name":"cliclopts","version":"1.1.1","description":"Command line options helper and usage printer","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"https://github.com/finnp/cliclopts.git"},"keywords":["cli","minimist","options"],"author":{"name":"Finn Pauls"},"license":"MIT","bugs":{"url":"https://github.com/finnp/cliclopts/issues"},"homepage":"https://github.com/finnp/cliclopts","readme":"# cliclopts\n[![NPM](https://nodei.co/npm/cliclopts.png)](https://nodei.co/npm/cliclopts/)\n\n![cliclopts](cliclopts.png)\n\nCommand line options helper and usage printer, works well with [minimist](https://www.npmjs.com/package/minimist), inspired by [nomnom](https://www.npmjs.com/package/nomnom)\n\n[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)\n\n## usage\n\nDefine the allowed options in an array and pass it to 'cliclopts'\n\n```js\nvar cliclopts = require('cliclopts')\n\nvar options = [\n  {\n    name: 'verbose',\n    abbr: 'v',\n    alias: ['loud'],\n    boolean: true,\n    help: 'be verbose'\n  },\n  {\n    name: 'path',\n    abbr: 'p',\n    default: './dat.json',\n    help: 'path to file'\n  }\n]\n\nvar cliOpts = cliclopts(options)\n```\n### cliclopts(options)\n\noptions is an array of objects with the following possible keys:\n\n* `name` primary name of option\n* `abbr` one character alias of the option\n* `alias` other options treated as alias\n* `boolean` if true the option is seen as a boolean flag\n* `help` usage string for the option\n* `default` default value of the option\n\n\n### cliOpts.usage()\n\nReturns the usage information as string:\n\n```\n--verbose, -v         be verbose\n--path, -p            path to file (default: \"dat.json\")\n```\n\n### cliOpts.print()\n\nPrints the usage information.\n\n### cliOpts.boolean()\n\nReturns Array of all command names that are specified as boolean.\n\n### cliOpts.alias()\n\nReturns Object with command names as keys and alias list as value (including abbr)\n\n### cliOpts.default()\n\nReturns Object with command names as keys and default values as values.\n\n### cliOpts.options()\n\nReturns\n```js\n{\n  alias: cliOpts.alias(),\n  boolean: cliOpts.boolean(),\n  default: cliOpts.default()\n}\n```\n\n\n## Example usage with `minimist`\n```js\nvar allowedOptions = [\n  {\n    name: 'verbose',\n    abbr: 'v',\n    alias: ['cry-at-me'],\n    boolean: true,\n    help: 'be verbose'\n  },\n  {\n    name: 'path',\n    abbr: 'p',\n    help: 'path to the file'\n  },\n  {\n    name: 'help',\n    abbr: 'h',\n    help: 'show help',\n    boolean: true\n  }\n]\n\nvar cliOpts = require('cliclopts')(allowedOptions)\n\nvar argv = require('minimist')(process.argv.slice(2), cliOpts.options())\n\nif (argv.help) {\n  console.log('Usage: command [options]')\n  cliOpts.print()\n  process.exit()\n}\n\nyourprogram(argv)\n```\n\n","readmeFilename":"readme.md","_id":"cliclopts@1.1.1","_shasum":"69431c7cb5af723774b0d3911b4c37512431910f","_from":"https://registry.npmjs.org/cliclopts/-/cliclopts-1.1.1.tgz","_resolved":"https://registry.npmjs.org/cliclopts/-/cliclopts-1.1.1.tgz"}