Like findup-sync and supports the same features but 20x-40x faster on avg.
Install with npm
npm i look-up --save
See the benchmarks or tests.
var lookup = require('look-up');
lookup(pattern, {cwd: cwd, ...});
pattern
{String|Array}: glob pattern for the file to findoptions
{Object}: options to pass to micromatchcwd
{String}: the directory to start looking (upwards) from
Examples:
lookup('**/c/package.json', { cwd: 'fixtures/a/b/c/d/e/f/g' });
//=> 'fixtures/a/b/c/package.json'
Pass options to micromatch
lookup('one.txt', { cwd: 'fixtures/a/b/c/d/e/f/g', matchBase: true });
//=> 'fixtures/a/b/c/d/one.txt'
Install dev dependencies:
npm i -d && npm run benchmark
Benchmarks were run on mac and windows. look-up is 20-50x faster than findup-sync on avg.
#1: deep-close.js
findup.js x 645 ops/sec ±2.04% (84 runs sampled)
lookup.js x 19,939 ops/sec ±0.98% (94 runs sampled)
#2: deep-far.js
findup.js x 85.16 ops/sec ±2.07% (73 runs sampled)
lookup.js x 5,546 ops/sec ±0.74% (95 runs sampled)
#3: nested.js
findup.js x 200 ops/sec ±2.13% (77 runs sampled)
lookup.js x 19,713 ops/sec ±0.86% (98 runs sampled)
#4: non-glob.js
findup.js x 5,465 ops/sec ±2.20% (87 runs sampled)
lookup.js x 20,068 ops/sec ±2.05% (86 runs sampled)
#5: shallow.js
findup.js x 135 ops/sec ±2.13% (75 runs sampled)
lookup.js x 10,228 ops/sec ±0.96% (94 runs sampled)
Install dev dependencies:
npm i -d && npm test
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Jon Schlinkert
Copyright (c) 2015 Jon Schlinkert
Released under the MIT license
This file was generated by verb-cli on April 07, 2015.