This package has been deprecated

Author message:

Deprecated in favor of findup-sync, please use that library instead.

look-up

0.8.3 • Public • Published

look-up NPM version Build Status

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');
//=> '/Users/jonschlinkert/dev/look-up/package.json'

look-up will recurse up from the cwd until it finds the given file.

lookup('package.json', { cwd: 'foo/bar' });
//=> '/Users/jonschlinkert/dev/look-up/package.json'

Glob patterns are also supported (string or array):

lookup(['*.json', '*.foo'], { cwd: 'foo/bar' });
//=> '/Users/jonschlinkert/dev/look-up/package.json'

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:

#1: deep-close 
  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)
 
#2: deep-far 
  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)
 
#3: nested 
  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)
 
#4: shallow 
  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.

Package Sidebar

Install

npm i look-up

Weekly Downloads

868

Version

0.8.3

License

MIT

Last publish

Collaborators

  • doowb
  • jonschlinkert