added unit testing, and started implementing unit tests...phew

This commit is contained in:
Josh Burman
2019-03-12 22:28:02 -04:00
parent 74aad4a957
commit e8c2539f1b
3489 changed files with 464813 additions and 88 deletions

69
node_modules/findup-sync/README.md generated vendored Normal file
View File

@ -0,0 +1,69 @@
# findup-sync [![Build Status](https://travis-ci.org/js-cli/node-findup-sync.svg)](https://travis-ci.org/js-cli/node-findup-sync) [![NPM version](https://badge.fury.io/js/findup-sync.svg)](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
2017-08-07 - v2.0.0 - Drop node 0.8 support, Bump all dependencies (including some Majors)
2017-04-18 - v1.0.0 - Major bump from stable 0.4.3
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

85
node_modules/findup-sync/index.js generated vendored Normal file
View File

@ -0,0 +1,85 @@
'use strict';
/**
* Module dependencies
*/
var fs = require('fs');
var path = require('path');
var isGlob = require('is-glob');
var resolveDir = require('resolve-dir');
var detect = require('detect-file');
var mm = require('micromatch');
/**
* @param {String|Array} `pattern` Glob pattern or file path(s) to match against.
* @param {Object} `options` Options to pass to [micromatch]. Note that if you want to start in a different directory than the current working directory, specify the `options.cwd` property here.
* @return {String} Returns the first matching file.
* @api public
*/
module.exports = function(patterns, options) {
options = options || {};
var cwd = path.resolve(resolveDir(options.cwd || ''));
if (typeof patterns === 'string') {
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) {
if (isGlob(patterns[idx])) {
res = matchFile(cwd, patterns[idx], options);
} else {
res = findFile(cwd, patterns[idx], options);
}
if (res) {
return res;
}
}
var dir = path.dirname(cwd);
if (dir === cwd) {
return null;
}
return lookup(dir, patterns, options);
}
function matchFile(cwd, pattern, opts) {
var isMatch = mm.matcher(pattern, opts);
var files = tryReaddirSync(cwd);
var len = files.length;
var idx = -1;
while (++idx < len) {
var name = files[idx];
var fp = path.join(cwd, name);
if (isMatch(name) || isMatch(fp)) {
return fp;
}
}
return null;
}
function findFile(cwd, filename, options) {
var fp = cwd ? path.resolve(cwd, filename) : filename;
return detect(fp, options);
}
function tryReaddirSync(fp) {
try {
return fs.readdirSync(fp);
} catch(err) {}
return [];
}

79
node_modules/findup-sync/package.json generated vendored Normal file
View File

@ -0,0 +1,79 @@
{
"_from": "findup-sync@2.0.0",
"_id": "findup-sync@2.0.0",
"_inBundle": false,
"_integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
"_location": "/findup-sync",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
"raw": "findup-sync@2.0.0",
"name": "findup-sync",
"escapedName": "findup-sync",
"rawSpec": "2.0.0",
"saveSpec": null,
"fetchSpec": "2.0.0"
},
"_requiredBy": [
"/mocha"
],
"_resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
"_shasum": "9326b1488c22d1a6088650a86901b2d9a90a2cbc",
"_spec": "findup-sync@2.0.0",
"_where": "/Users/josh.burman/Projects/braid/node_modules/mocha",
"author": {
"name": "\"Cowboy\" Ben Alman",
"url": "http://benalman.com"
},
"bugs": {
"url": "https://github.com/js-cli/node-findup-sync/issues"
},
"bundleDependencies": false,
"dependencies": {
"detect-file": "^1.0.0",
"is-glob": "^3.1.0",
"micromatch": "^3.0.4",
"resolve-dir": "^1.0.1"
},
"deprecated": false,
"description": "Find the first file matching a given pattern in the current directory or the nearest ancestor directory.",
"devDependencies": {
"homedir-polyfill": "^1.0.1",
"is-absolute": "^1.0.0",
"jshint": "^2.9.5",
"mocha": "^3.5.0",
"normalize-path": "^2.1.1",
"resolve": "^1.4.0"
},
"engines": {
"node": ">= 0.10"
},
"files": [
"index.js"
],
"homepage": "https://github.com/js-cli/node-findup-sync#readme",
"keywords": [
"file",
"find",
"find-up",
"findup",
"glob",
"match",
"pattern",
"resolve",
"search"
],
"license": "MIT",
"main": "index.js",
"name": "findup-sync",
"repository": {
"type": "git",
"url": "git+https://github.com/js-cli/node-findup-sync.git"
},
"scripts": {
"lint": "jshint index.js test/support/index.js test/test.js",
"test": "npm run lint && mocha"
},
"version": "2.0.0"
}