#!/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 ', 'The name of the file to find', String) .option('--dir ', 'The directoy where we will start walking up', process.cwd(), path) .option('--maxdepth ', 'Ascend at most 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)); });