config-comments

Parse argument commands/options from code comments using esprima and minimist.


Keywords
args, argument, arguments, argv, code, command, commands, comment, comments, esprima, getopt, minimist, opt, optimist, option, options, parse, parser
License
MIT
Install
npm install config-comments@0.3.2

Documentation

config-comments NPM version NPM downloads Build Status

Parse argument commands/options from code comments using esprima and minimist.

Install

Install with npm:

$ npm install config-comments --save

Usage

var configComments = require('config-comments');

configComments('my-app', string[, options]);

Example

Assuming we have the following in file lib.js:

// my-app: foo bar baz */
function foo(str) {
  return str;
}

function bar(str) {
  /* my-app: --disable=qux */
  return str;
}

We would pass lib.js as a string to configComments:

var config = configComments('my-app', str);

Result

{ 
  abc: { 
  _: [ 'foo', 'bar', 'baz' ], 
    disable: 'qux' 
  } 
}

API

configComments(keywords, string[, options]);

Pass one or more keywords to be used for matching comments that have arguments to be parsed by minimist.

Params

  • keywords {String|Array}: Keyword(s) to identify comments to parse.
  • str {String}: A string of valid javascript with comments to parse.
  • options {Object}: Options to pass to minimist
  • returns {Object}: Object of parsed arguments.

Requirements

In configComments comments:

  1. A keyword must be the first thing in the comment. Leading whitespace is allowed.
  2. A comment should only have arguments that can be parsed by minimist

Related projects

You might also be interested in these projects:

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Building docs

Generate readme and API documentation with [verb][]:

$ npm install verb && npm run docs

Or, if [verb][] is installed globally:

$ verb

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.


This file was generated by verb, v0.9.0, on April 20, 2016.