look-up
Faster drop-in replacement for find-up and findup-sync.
Install
Install with npm
$ npm i look-up --save
See the benchmarks or unit tests.
Usage
var lookup = require('look-up');
lookup('package.json');
look-up will recurse up from the cwd until it finds the given file.
lookup('package.json', { cwd: 'foo/bar' });
Glob patterns are also supported (string or array):
lookup(['*.json', '*.foo'], { cwd: 'foo/bar' });
Running benchmarks
Benchmarks were run on mac and windows. look-up is 5x-20x faster than findup-sync and 3x faster than find-up
Note that find-up does not support glob patterns, so these benchmarks only include arguments that are supported by all three libs.
As of November 20, 2015:
findup-sync x 5,797 ops/sec ±1.66% (90 runs sampled)
findup x 22,972 ops/sec ±0.82% (92 runs sampled)
lookup x 64,389 ops/sec ±0.75% (92 runs sampled)
findup-sync x 2,165 ops/sec ±1.01% (92 runs sampled)
findup x 8,250 ops/sec ±0.78% (96 runs sampled)
lookup x 12,730 ops/sec ±0.93% (92 runs sampled)
findup-sync x 21,603 ops/sec ±0.76% (93 runs sampled)
findup x 103,427 ops/sec ±0.93% (95 runs sampled)
lookup x 381,425 ops/sec ±0.91% (91 runs sampled)
findup-sync x 6,565 ops/sec ±0.66% (92 runs sampled)
findup x 23,674 ops/sec ±0.89% (95 runs sampled)
lookup x 57,029 ops/sec ±0.83% (93 runs sampled)
To run the benchmarks, install dev dependencies:
npm i -d && npm run benchmark
Related
- is-glob: Returns
true
if the given string looks like a glob pattern or an extglob pattern.… more | homepage - look-up-cli: Find a file matching a pattern by walking up parent directories | homepage
- micromatch: Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. Just… more | homepage
Running tests
Install dev dependencies:
$ npm i -d && npm test
Coverage
As of November 20, 2015:
Statements : 100% (57/57)
Branches : 100% (26/26)
Functions : 100% (5/5)
Lines : 100% (55/55)
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Author
Jon Schlinkert
License
Copyright © 2015 Jon Schlinkert
Released under the MIT license.
This file was generated by verb-cli on November 20, 2015.