look-up
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.
Usage
var lookup = require('look-up');
lookup(pattern, {cwd: cwd, ...});
pattern
{String|Array}: glob pattern for the file to findoptions
{Object}: options to pass to micromatch
cwd
{String}: the directory to start looking (upwards) from
Examples:
lookup('**/c/package.json', { cwd: 'fixtures/a/b/c/d/e/f/g' });
Pass options to micromatch
lookup('one.txt', { cwd: 'fixtures/a/b/c/d/e/f/g', matchBase: true });
Running benchmarks
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.
findup.js x 560 ops/sec ±2.56% (84 runs sampled)
lookup.js x 18,117 ops/sec ±1.34% (92 runs sampled)
findup.js x 102 ops/sec ±2.25% (74 runs sampled)
lookup.js x 3,269 ops/sec ±1.43% (93 runs sampled)
findup.js x 219 ops/sec ±2.02% (78 runs sampled)
lookup.js x 4,112 ops/sec ±1.16% (95 runs sampled)
findup.js x 5,597 ops/sec ±2.11% (88 runs sampled)
lookup.js x 15,197 ops/sec ±1.87% (83 runs sampled)
findup.js x 149 ops/sec ±2.23% (76 runs sampled)
lookup.js x 1,771 ops/sec ±1.46% (96 runs sampled)
Running tests
Install dev dependencies:
npm i -d && npm test
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Author
Jon Schlinkert
License
Copyright (c) 2015 Jon Schlinkert
Released under the MIT license
This file was generated by verb on February 05, 2015.