diff options
Diffstat (limited to 'node_modules/to-absolute-glob')
-rw-r--r-- | node_modules/to-absolute-glob/LICENSE | 21 | ||||
-rw-r--r-- | node_modules/to-absolute-glob/index.js | 28 | ||||
-rw-r--r-- | node_modules/to-absolute-glob/package.json | 41 | ||||
-rw-r--r-- | node_modules/to-absolute-glob/readme.md | 134 |
4 files changed, 224 insertions, 0 deletions
diff --git a/node_modules/to-absolute-glob/LICENSE b/node_modules/to-absolute-glob/LICENSE new file mode 100644 index 000000000..65f90aca8 --- /dev/null +++ b/node_modules/to-absolute-glob/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/node_modules/to-absolute-glob/index.js b/node_modules/to-absolute-glob/index.js new file mode 100644 index 000000000..08268a1f1 --- /dev/null +++ b/node_modules/to-absolute-glob/index.js @@ -0,0 +1,28 @@ +'use strict'; + +var path = require('path'); +var extend = require('extend-shallow'); + +module.exports = function(glob, options) { + var opts = extend({}, options); + opts.cwd = opts.cwd ? path.resolve(opts.cwd) : process.cwd(); + + // store first and last characters before glob is modified + var prefix = glob.charAt(0); + var suffix = glob.slice(-1); + + var isNegative = prefix === '!'; + if (isNegative) glob = glob.slice(1); + + if (opts.root && glob.charAt(0) === '/') { + glob = path.join(path.resolve(opts.root), '.' + glob); + } else { + glob = path.resolve(opts.cwd, glob); + } + + if (suffix === '/' && glob.slice(-1) !== '/') { + glob += '/'; + } + + return isNegative ? '!' + glob : glob; +}; diff --git a/node_modules/to-absolute-glob/package.json b/node_modules/to-absolute-glob/package.json new file mode 100644 index 000000000..22f05cf5d --- /dev/null +++ b/node_modules/to-absolute-glob/package.json @@ -0,0 +1,41 @@ +{ + "name": "to-absolute-glob", + "description": "Make a glob pattern absolute, ensuring that negative globs and patterns with trailing slashes are correctly handled.", + "version": "0.1.1", + "homepage": "https://github.com/jonschlinkert/to-absolute-glob", + "author": "Jon Schlinkert (https://github.com/jonschlinkert)", + "repository": "jonschlinkert/to-absolute-glob", + "bugs": "https://github.com/jonschlinkert/to-absolute-glob/issues", + "license": "MIT", + "files": [ + "index.js" + ], + "main": "index.js", + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "mocha" + }, + "dependencies": { + "extend-shallow": "^2.0.1" + }, + "devDependencies": { + "mocha": "*" + }, + "keywords": [ + "resolve", + "pattern", + "absolute", + "glob" + ], + "verb": { + "related": { + "list": [ + "is-glob", + "is-valid-glob", + "has-glob" + ] + } + } +} diff --git a/node_modules/to-absolute-glob/readme.md b/node_modules/to-absolute-glob/readme.md new file mode 100644 index 000000000..1834c23f5 --- /dev/null +++ b/node_modules/to-absolute-glob/readme.md @@ -0,0 +1,134 @@ +# to-absolute-glob [](http://badge.fury.io/js/to-absolute-glob) + +> Make a glob pattern absolute, ensuring that negative globs and patterns with trailing slashes are correctly handled. + +## Install + +Install with [npm](https://www.npmjs.com/) + +```sh +$ npm i to-absolute-glob --save +``` + +## Usage + +```js +var toAbsGlob = require('to-absolute-glob'); +toAbsGlob('a/*.js'); +//=> '/dev/foo/a/*.js' +``` + +## Examples + +Given the current project folder (cwd) is `/dev/foo/`: + +**makes a path absolute** + +```js +toAbsGlob('a'); +//=> '/dev/foo/a' +``` + +**makes a glob absolute** + +```js +toAbsGlob('a/*.js'); +//=> '/dev/foo/a/*.js' +``` + +**retains trailing slashes** + +```js +toAbsGlob('a/*/'); +//=> '/dev/foo/a/*/' +``` + +**retains trailing slashes with cwd** + +```js +toAbsGlob('./fixtures/whatsgoingon/*/', {cwd: __dirname}); +//=> '/dev/foo/' +``` + +**makes a negative glob absolute** + +```js +toAbsGlob('!a/*.js'); +//=> '!/dev/foo/a/*.js' +``` + +**from a cwd** + +```js +toAbsGlob('a/*.js', {cwd: 'foo'}); +//=> '/dev/foo/foo/a/*.js' +``` + +**makes a negative glob absolute from a cwd** + +```js +toAbsGlob('!a/*.js', {cwd: 'foo'}); +//=> '!/dev/foo/foo/a/*.js' +``` + +**from a root path** + +```js +toAbsGlob('/a/*.js', {root: 'baz'}); +//=> '/dev/foo/baz/a/*.js' +``` + +**from a root slash** + +```js +toAbsGlob('/a/*.js', {root: '/'}); +//=> '/dev/foo/a/*.js' +``` + +**from a negative root path** + +```js +toAbsGlob('!/a/*.js', {root: 'baz'}); +//=> '!/dev/foo/baz/a/*.js' +``` + +**from a negative root slash** + +```js +toAbsGlob('!/a/*.js', {root: '/'}); +//=> '!/dev/foo/a/*.js' +``` + +## Related projects + +* [has-glob](https://www.npmjs.com/package/has-glob): Returns `true` if an array has a glob pattern. | [homepage](https://github.com/jonschlinkert/has-glob) +* [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern.… [more](https://www.npmjs.com/package/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob) +* [is-valid-glob](https://www.npmjs.com/package/is-valid-glob): Return true if a value is a valid glob pattern or patterns. | [homepage](https://github.com/jonschlinkert/is-valid-glob) + +## Running tests + +Install dev dependencies: + +```sh +$ npm i -d && npm test +``` + +## Contributing + +Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](/new). + +## Author + +**Jon Schlinkert** + ++ [github/jonschlinkert](https://github.com/jonschlinkert) ++ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) + +## License + +Copyright © 2015 Jon Schlinkert +Released under the MIT license. + +*** + +_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on November 05, 2015._
\ No newline at end of file |