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-100x faster than findup-syncon avg.
findup.js x 645 ops/sec ±2.04% (84 runs sampled)
lookup.js x 19,939 ops/sec ±0.98% (94 runs sampled)
findup.js x 85.16 ops/sec ±2.07% (73 runs sampled)
lookup.js x 5,546 ops/sec ±0.74% (95 runs sampled)
findup.js x 200 ops/sec ±2.13% (77 runs sampled)
lookup.js x 19,713 ops/sec ±0.86% (98 runs sampled)
findup.js x 5,465 ops/sec ±2.20% (87 runs sampled)
lookup.js x 20,068 ops/sec ±2.05% (86 runs sampled)
findup.js x 135 ops/sec ±2.13% (75 runs sampled)
lookup.js x 10,228 ops/sec ±0.96% (94 runs sampled)
Related
- is-glob: Returns
true
if the given string looks like a glob pattern. | 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
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 September 12, 2015.