kkAyatakaのメモ帳。

誰かの役に立つかもしれない備忘録。

argv

Node.jsで組んで、必要なツールもNode.jsで書くのが楽だなぁと。ロジックもそのまま使えるので。

そうすると、引数の処理どうしようかなぁとなりますが、argvがヘルプを自動的に作ってくれていい感じでした。

var argv = require('argv');

argv.option({
  name: 'option',
  short: 'o',
  type: 'boolean',
  description: 'Description',
  example: 'Example'
});
    
var args = argv.run(); // 引数を処理
var opts = args.options;
var tars = args.targets;

if (opts.option) {
  console.log(opts, tars);
}
else {
  argv.help(); // ヘルプの表示
}

ヘルプ表示は以下のような感じ。引数なんかはすぐに忘れるので、非常に助かる。

$ node app.js

Usage: app.js [options]

    --help, -h
        Displays help information about this script
        'app.js -h' or 'app.js --help'

    --option, -o
        Description
        Example

更新が停滞してるっぽいし、引数処理は他にもいろいろあるし、ヘルプ表示がイマイチ好みで無かったりしますが、簡単に使えるので、ちょっとしたツールには十分です。