optjs

3.2.2 • Public • Published

opt.js

Probably the sole command line option parser you'll ever need to npm install optjs Ctrl+C, Ctrl+V. Proof:

function opt(argv) {
    var opt={},arg,p;argv=Array.prototype.slice.call(argv||process.argv);for(var i=2;i<argv.length;i++)if(argv[i].charAt(0)=='-')
    ((p=(arg=(""+argv.splice(i--,1)).replace(/^[\-]+/,'')).indexOf("="))>0?opt[arg.substring(0,p)]=arg.substring(p+1):opt[arg]=true);
    return {'node':argv[0],'script':argv[1],'argv':argv.slice(2),'opt':opt};
}

Usage

var opt = require("optjs")();
console.log(opt.node);   // Path to node executable
console.log(opt.script); // Path to the current script
console.log(opt.opt);    // Command line options as a hash
console.log(opt.argv);   // Remaining non-option arguments

Example

node somescript.js foo -a=1 -b --c="hello world" bar ----d

// Result
opt.node   == "/path/to/node[.exe]"
opt.script == "/path/to/somescript.js"
opt.opt    == { a: 1, b: true, c: "hello world", d: true }
opt.argv   == ["foo", "bar"]

Full-featured test suite

#!/usr/bin/env node
console.log(require("./opt.js")());

License

MIT

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 3.2.2
    269,929
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 3.2.2
    269,929
  • 3.2.1-boom
    0

Package Sidebar

Install

npm i optjs

Weekly Downloads

269,929

Version

3.2.2

License

MIT

Last publish

Collaborators

  • dcode