Current File : /home/tradevaly/www/node_modules/.bin/findup
#!/usr/bin/env node

var findup = require('..'),
  path = require('path'),
  pkg = require('../package'),
  program = require('commander'),
  options = {},
  optionKeys = ['name', 'dir', 'maxdepth', 'verbose'],
  EXIT_FAILURE = -1;
  
  program
    .version(pkg.version)
    .option('--name <name>', 'The name of the file to find', String)
    .option('--dir <dir>', 'The directoy where we will start walking up', process.cwd(), path)
    .option('--maxdepth <levels>', 'Ascend at most <levels> levels before giving up. -1 means no limit', -1, Number)
    .option('--verbose', 'print log', false, Boolean)
    .parse(process.argv);

optionKeys.forEach(function(optionKey){
  if (optionKey === 'maxdepth') {
    options[optionKey] = +program[optionKey];
  } else {
    options[optionKey] = program[optionKey];
  }
});

if(program.args && program.args.length >=1 && !options.name){
  options.name = program.args[0];
}

if(!options.name) {
  program.outputHelp();
  process.exit(EXIT_FAILURE);
}

var file = options.name;

findup(options.dir, file, options, function(err, dir){
  if(err) return console.error(err.message ? err.message : err);
  console.log(path.join(dir, file));
});