diff options
Diffstat (limited to 'node_modules/findup-sync')
-rw-r--r-- | node_modules/findup-sync/README.md | 67 | ||||
-rw-r--r-- | node_modules/findup-sync/index.js | 54 | ||||
-rw-r--r-- | node_modules/findup-sync/package.json | 108 |
3 files changed, 104 insertions, 125 deletions
diff --git a/node_modules/findup-sync/README.md b/node_modules/findup-sync/README.md new file mode 100644 index 000000000..c8c4a0b47 --- /dev/null +++ b/node_modules/findup-sync/README.md @@ -0,0 +1,67 @@ +# findup-sync [](https://travis-ci.org/js-cli/node-findup-sync) [](http://badge.fury.io/js/findup-sync) + +> Find the first file matching a given pattern in the current directory or the nearest ancestor directory. + +Matching is done with [micromatch][], please report any matching related issues on that repository. + +## Install with [npm](npmjs.org) + +```bash +npm i findup-sync --save +``` + +## Usage + +```js +var findup = require('findup-sync'); +findup(patternOrPatterns [, micromatchOptions]); + +// Start looking in the CWD. +var filepath1 = findup('{a,b}*.txt'); + +// Start looking somewhere else, and ignore case (probably a good idea). +var filepath2 = findup('{a,b}*.txt', {cwd: '/some/path', nocase: true}); +``` + +* `patterns` **{String|Array}**: Glob pattern(s) or file path(s) to match against. +* `options` **{Object}**: Options to pass to [micromatch]. Note that if you want to start in a different directory than the current working directory, specify a `cwd` property here. +* `returns` **{String}**: Returns the first matching file. + +## Running tests + +Install dev dependencies: + +```bash +npm i -d && npm test +``` + +## Contributing + +In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/) + +For bugs and feature requests, [please create an issue](https://github.com/cowboy/node-findup-sync/issues). + +## Release History + +2015-01-30 - v0.4.0 - Refactored, not also uses [micromatch][] instead of minimatch. +2015-09-14 - v0.3.0 - updated glob to ~5.0. +2014-12-17 - v0.2.1 - Updated to glob 4.3. +2014-12-16 - v0.2.0 - Removed lodash, updated to glob 4.x. +2014-03-14 - v0.1.3 - Updated dependencies. +2013-03-08 - v0.1.2 - Updated dependencies. Fixed a Node 0.9.x bug. Updated unit tests to work cross-platform. +2012-11-15 - v0.1.1 - Now works without an options object. +2012-11-01 - v0.1.0 - Initial release. + +## Authors + +**"Cowboy" Ben Alman** + ++ [github/cowboy](https://github.com/cowboy) ++ [twitter/cowboy](http://twitter.com/cowboy) + +## License + +Copyright (c) 2012-2016 "Cowboy" Ben Alman +Released under the MIT license + +[micromatch]: http://github.com/jonschlinkert/micromatch diff --git a/node_modules/findup-sync/index.js b/node_modules/findup-sync/index.js index 1707660ef..b84349575 100644 --- a/node_modules/findup-sync/index.js +++ b/node_modules/findup-sync/index.js @@ -19,35 +19,41 @@ var mm = require('micromatch'); */ module.exports = function(patterns, options) { + options = options || {}; + var cwd = path.resolve(resolveDir(options.cwd || '')); + if (typeof patterns === 'string') { - return lookup(patterns, options); + return lookup(cwd, [patterns], options); } if (!Array.isArray(patterns)) { throw new TypeError('findup-sync expects a string or array as the first argument.'); } + return lookup(cwd, patterns, options); +}; + +function lookup(cwd, patterns, options) { var len = patterns.length; var idx = -1; + var res; while (++idx < len) { - var res = lookup(patterns[idx], options); + if (isGlob(patterns[idx])) { + res = matchFile(cwd, patterns[idx], options); + } else { + res = findFile(cwd, patterns[idx], options); + } if (res) { return res; } } - return null; -}; - -function lookup(pattern, options) { - options = options || {}; - var cwd = path.resolve(resolveDir(options.cwd || '')); - if (isGlob(pattern)) { - return matchFile(cwd, pattern, options); - } else { - return findFile(cwd, pattern, options); + var dir = path.dirname(cwd); + if (dir === cwd) { + return null; } + return lookup(dir, patterns, options); } function matchFile(cwd, pattern, opts) { @@ -63,32 +69,12 @@ function matchFile(cwd, pattern, opts) { return fp; } } - - var dir = path.dirname(cwd); - if (dir === cwd) { - return null; - } - return matchFile(dir, pattern, opts); + return null; } function findFile(cwd, filename, options) { - var res; var fp = cwd ? path.resolve(cwd, filename) : filename; - if (res = detect(fp, options)) { - return res; - } - - var segs = cwd.split(path.sep); - var len = segs.length; - - while (len--) { - cwd = segs.slice(0, len).join(path.sep); - fp = path.resolve(cwd, filename); - if (res = detect(fp, options)) { - return res; - } - } - return null; + return detect(fp, options); } function tryReaddirSync(fp) { diff --git a/node_modules/findup-sync/package.json b/node_modules/findup-sync/package.json index 4826463c7..7068dd0eb 100644 --- a/node_modules/findup-sync/package.json +++ b/node_modules/findup-sync/package.json @@ -1,56 +1,23 @@ { - "_args": [ - [ - { - "raw": "findup-sync@^0.4.2", - "scope": null, - "escapedName": "findup-sync", - "name": "findup-sync", - "rawSpec": "^0.4.2", - "spec": ">=0.4.2 <0.5.0", - "type": "range" - }, - "/home/dold/repos/taler/wallet-webex/node_modules/liftoff" - ] - ], - "_from": "findup-sync@>=0.4.2 <0.5.0", - "_id": "findup-sync@0.4.2", - "_inCache": true, - "_location": "/findup-sync", - "_nodeVersion": "6.2.0", - "_npmOperationalInternal": { - "host": "packages-16-east.internal.npmjs.com", - "tmp": "tmp/findup-sync-0.4.2.tgz_1468194510974_0.19327558996155858" - }, - "_npmUser": { - "name": "jonschlinkert", - "email": "github@sellside.com" - }, - "_npmVersion": "3.8.9", - "_phantomChildren": {}, - "_requested": { - "raw": "findup-sync@^0.4.2", - "scope": null, - "escapedName": "findup-sync", - "name": "findup-sync", - "rawSpec": "^0.4.2", - "spec": ">=0.4.2 <0.5.0", - "type": "range" + "name": "findup-sync", + "description": "Find the first file matching a given pattern in the current directory or the nearest ancestor directory.", + "version": "0.4.3", + "homepage": "https://github.com/cowboy/node-findup-sync", + "author": "\"Cowboy\" Ben Alman (http://benalman.com)", + "repository": "cowboy/node-findup-sync", + "bugs": { + "url": "https://github.com/cowboy/node-findup-sync/issues" }, - "_requiredBy": [ - "/liftoff" + "license": "MIT", + "files": [ + "index.js" ], - "_resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.2.tgz", - "_shasum": "a8117d0f73124f5a4546839579fe52d7129fb5e5", - "_shrinkwrap": null, - "_spec": "findup-sync@^0.4.2", - "_where": "/home/dold/repos/taler/wallet-webex/node_modules/liftoff", - "author": { - "name": "\"Cowboy\" Ben Alman", - "url": "http://benalman.com" + "main": "index.js", + "engines": { + "node": ">= 0.8.0" }, - "bugs": { - "url": "https://github.com/cowboy/node-findup-sync/issues" + "scripts": { + "test": "grunt && mocha" }, "dependencies": { "detect-file": "^0.1.0", @@ -58,7 +25,6 @@ "micromatch": "^2.3.7", "resolve-dir": "^0.1.0" }, - "description": "Find the first file matching a given pattern in the current directory or the nearest ancestor directory.", "devDependencies": { "fs-exists-sync": "^0.1.0", "grunt": "^1.0.1", @@ -70,19 +36,6 @@ "os-homedir": "^1.0.1", "resolve": "^1.1.7" }, - "directories": {}, - "dist": { - "shasum": "a8117d0f73124f5a4546839579fe52d7129fb5e5", - "tarball": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.2.tgz" - }, - "engines": { - "node": ">= 0.8.0" - }, - "files": [ - "index.js" - ], - "gitHead": "3515969ca312d2b24fc66397dac1a0a4ce9b4aaa", - "homepage": "https://github.com/cowboy/node-findup-sync", "keywords": [ "file", "find", @@ -93,32 +46,5 @@ "pattern", "resolve", "search" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "cowboy", - "email": "cowboy@rj3.net" - }, - { - "name": "jonschlinkert", - "email": "github@sellside.com" - }, - { - "name": "tkellen", - "email": "tyler@sleekcode.net" - } - ], - "name": "findup-sync", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/cowboy/node-findup-sync.git" - }, - "scripts": { - "test": "grunt && mocha" - }, - "version": "0.4.2" + ] } |