diff options
Diffstat (limited to 'node_modules/ignore-walk')
| -rw-r--r-- | node_modules/ignore-walk/LICENSE | 15 | ||||
| -rw-r--r-- | node_modules/ignore-walk/README.md | 60 | ||||
| -rw-r--r-- | node_modules/ignore-walk/index.js | 269 | ||||
| -rw-r--r-- | node_modules/ignore-walk/package.json | 74 |
4 files changed, 0 insertions, 418 deletions
diff --git a/node_modules/ignore-walk/LICENSE b/node_modules/ignore-walk/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/node_modules/ignore-walk/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/ignore-walk/README.md b/node_modules/ignore-walk/README.md deleted file mode 100644 index 278f610..0000000 --- a/node_modules/ignore-walk/README.md +++ /dev/null @@ -1,60 +0,0 @@ -# ignore-walk - -[](https://travis-ci.org/npm/ignore-walk) - -Nested/recursive `.gitignore`/`.npmignore` parsing and filtering. - -Walk a directory creating a list of entries, parsing any `.ignore` -files met along the way to exclude files. - -## USAGE - -```javascript -const walk = require('ignore-walk') - -// All options are optional, defaults provided. - -// this function returns a promise, but you can also pass a cb -// if you like that approach better. -walk({ - path: '...', // root dir to start in. defaults to process.cwd() - ignoreFiles: [ '.gitignore' ], // list of filenames. defaults to ['.ignore'] - includeEmpty: true|false, // true to include empty dirs, default false - follow: true|false // true to follow symlink dirs, default false -}, callback) - -// to walk synchronously, do it this way: -const result = walk.sync({ path: '/wow/such/filepath' }) -``` - -If you want to get at the underlying classes, they're at `walk.Walker` -and `walk.WalkerSync`. - -## OPTIONS - -* `path` The path to start in. Defaults to `process.cwd()` - -* `ignoreFiles` Filenames to treat as ignore files. The default is - `['.ignore']`. (This is where you'd put `.gitignore` or - `.npmignore` or whatever.) If multiple ignore files are in a - directory, then rules from each are applied in the order that the - files are listed. - -* `includeEmpty` Set to `true` to include empty directories, assuming - they are not excluded by any of the ignore rules. If not set, then - this follows the standard `git` behavior of not including - directories that are empty. - - Note: this will cause an empty directory to be included if it - would contain an included entry, even if it would have otherwise - been excluded itself. - - For example, given the rules `*` (ignore everything) and `!/a/b/c` - (re-include the entry at `/a/b/c`), the directory `/a/b` will be - included if it is empty. - -* `follow` Set to `true` to treat symbolically linked directories as - directories, recursing into them. There is no handling for nested - symlinks, so `ELOOP` errors can occur in some cases when using this - option. Defaults to `false`. diff --git a/node_modules/ignore-walk/index.js b/node_modules/ignore-walk/index.js deleted file mode 100644 index eec6851..0000000 --- a/node_modules/ignore-walk/index.js +++ /dev/null @@ -1,269 +0,0 @@ -'use strict' - -const fs = require('fs') -const path = require('path') -const EE = require('events').EventEmitter -const Minimatch = require('minimatch').Minimatch - -class Walker extends EE { - constructor (opts) { - opts = opts || {} - super(opts) - this.path = opts.path || process.cwd() - this.basename = path.basename(this.path) - this.ignoreFiles = opts.ignoreFiles || [ '.ignore' ] - this.ignoreRules = {} - this.parent = opts.parent || null - this.includeEmpty = !!opts.includeEmpty - this.root = this.parent ? this.parent.root : this.path - this.follow = !!opts.follow - this.result = this.parent ? this.parent.result : new Set() - this.entries = null - this.sawError = false - } - - sort (a, b) { - return a.localeCompare(b) - } - - emit (ev, data) { - let ret = false - if (!(this.sawError && ev === 'error')) { - if (ev === 'error') - this.sawError = true - else if (ev === 'done' && !this.parent) { - data = Array.from(data) - .map(e => /^@/.test(e) ? `./${e}` : e).sort(this.sort) - this.result = data - } - - if (ev === 'error' && this.parent) - ret = this.parent.emit('error', data) - else - ret = super.emit(ev, data) - } - return ret - } - - start () { - fs.readdir(this.path, (er, entries) => - er ? this.emit('error', er) : this.onReaddir(entries)) - return this - } - - isIgnoreFile (e) { - return e !== "." && - e !== ".." && - -1 !== this.ignoreFiles.indexOf(e) - } - - onReaddir (entries) { - this.entries = entries - if (entries.length === 0) { - if (this.includeEmpty) - this.result.add(this.path.substr(this.root.length + 1)) - this.emit('done', this.result) - } else { - const hasIg = this.entries.some(e => - this.isIgnoreFile(e)) - - if (hasIg) - this.addIgnoreFiles() - else - this.filterEntries() - } - } - - addIgnoreFiles () { - const newIg = this.entries - .filter(e => this.isIgnoreFile(e)) - - let igCount = newIg.length - const then = _ => { - if (--igCount === 0) - this.filterEntries() - } - - newIg.forEach(e => this.addIgnoreFile(e, then)) - } - - addIgnoreFile (file, then) { - const ig = path.resolve(this.path, file) - fs.readFile(ig, 'utf8', (er, data) => - er ? this.emit('error', er) : this.onReadIgnoreFile(file, data, then)) - } - - onReadIgnoreFile (file, data, then) { - const mmopt = { - matchBase: true, - dot: true, - flipNegate: true, - nocase: true - } - const rules = data.split(/\r?\n/) - .filter(line => !/^#|^$/.test(line.trim())) - .map(r => new Minimatch(r, mmopt)) - - this.ignoreRules[file] = rules - - then() - } - - filterEntries () { - // at this point we either have ignore rules, or just inheriting - // this exclusion is at the point where we know the list of - // entries in the dir, but don't know what they are. since - // some of them *might* be directories, we have to run the - // match in dir-mode as well, so that we'll pick up partials - // of files that will be included later. Anything included - // at this point will be checked again later once we know - // what it is. - const filtered = this.entries.map(entry => { - // at this point, we don't know if it's a dir or not. - const passFile = this.filterEntry(entry) - const passDir = this.filterEntry(entry, true) - return (passFile || passDir) ? [entry, passFile, passDir] : false - }).filter(e => e) - - // now we stat them all - // if it's a dir, and passes as a dir, then recurse - // if it's not a dir, but passes as a file, add to set - let entryCount = filtered.length - if (entryCount === 0) { - this.emit('done', this.result) - } else { - const then = _ => { - if (-- entryCount === 0) - this.emit('done', this.result) - } - filtered.forEach(filt => { - const entry = filt[0] - const file = filt[1] - const dir = filt[2] - this.stat(entry, file, dir, then) - }) - } - } - - onstat (st, entry, file, dir, then) { - const abs = this.path + '/' + entry - if (!st.isDirectory()) { - if (file) - this.result.add(abs.substr(this.root.length + 1)) - then() - } else { - // is a directory - if (dir) - this.walker(entry, then) - else - then() - } - } - - stat (entry, file, dir, then) { - const abs = this.path + '/' + entry - fs[this.follow ? 'stat' : 'lstat'](abs, (er, st) => { - if (er) - this.emit('error', er) - else - this.onstat(st, entry, file, dir, then) - }) - } - - walkerOpt (entry) { - return { - path: this.path + '/' + entry, - parent: this, - ignoreFiles: this.ignoreFiles, - follow: this.follow, - includeEmpty: this.includeEmpty - } - } - - walker (entry, then) { - new Walker(this.walkerOpt(entry)).on('done', then).start() - } - - filterEntry (entry, partial) { - let included = true - - // this = /a/b/c - // entry = d - // parent /a/b sees c/d - if (this.parent && this.parent.filterEntry) { - var pt = this.basename + "/" + entry - included = this.parent.filterEntry(pt, partial) - } - - this.ignoreFiles.forEach(f => { - if (this.ignoreRules[f]) { - this.ignoreRules[f].forEach(rule => { - // negation means inclusion - // so if it's negated, and already included, no need to check - // likewise if it's neither negated nor included - if (rule.negate !== included) { - // first, match against /foo/bar - // then, against foo/bar - // then, in the case of partials, match with a / - const match = rule.match('/' + entry) || - rule.match(entry) || - (!!partial && ( - rule.match('/' + entry + '/') || - rule.match(entry + '/'))) || - (!!partial && rule.negate && ( - rule.match('/' + entry, true) || - rule.match(entry, true))) - - if (match) - included = rule.negate - } - }) - } - }) - - return included - } -} - -class WalkerSync extends Walker { - constructor (opt) { - super(opt) - } - - start () { - this.onReaddir(fs.readdirSync(this.path)) - return this - } - - addIgnoreFile (file, then) { - const ig = path.resolve(this.path, file) - this.onReadIgnoreFile(file, fs.readFileSync(ig, 'utf8'), then) - } - - stat (entry, file, dir, then) { - const abs = this.path + '/' + entry - const st = fs[this.follow ? 'statSync' : 'lstatSync'](abs) - this.onstat(st, entry, file, dir, then) - } - - walker (entry, then) { - new WalkerSync(this.walkerOpt(entry)).start() - then() - } -} - -const walk = (options, callback) => { - const p = new Promise((resolve, reject) => { - new Walker(options).on('done', resolve).on('error', reject).start() - }) - return callback ? p.then(res => callback(null, res), callback) : p -} - -const walkSync = options => { - return new WalkerSync(options).start().result -} - -module.exports = walk -walk.sync = walkSync -walk.Walker = Walker -walk.WalkerSync = WalkerSync diff --git a/node_modules/ignore-walk/package.json b/node_modules/ignore-walk/package.json deleted file mode 100644 index cbfef89..0000000 --- a/node_modules/ignore-walk/package.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "_from": "ignore-walk@^3.0.1", - "_id": "[email protected]", - "_inBundle": false, - "_integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "_location": "/ignore-walk", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "ignore-walk@^3.0.1", - "name": "ignore-walk", - "escapedName": "ignore-walk", - "rawSpec": "^3.0.1", - "saveSpec": null, - "fetchSpec": "^3.0.1" - }, - "_requiredBy": [ - "/npm-packlist" - ], - "_resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "_shasum": "017e2447184bfeade7c238e4aefdd1e8f95b1e37", - "_spec": "ignore-walk@^3.0.1", - "_where": "E:\\Documents\\GitHub\\s5nical\\node_modules\\npm-packlist", - "author": { - "name": "Isaac Z. Schlueter", - "email": "[email protected]", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/ignore-walk/issues" - }, - "bundleDependencies": false, - "dependencies": { - "minimatch": "^3.0.4" - }, - "deprecated": false, - "description": "Nested/recursive `.gitignore`/`.npmignore` parsing and filtering.", - "devDependencies": { - "mkdirp": "^0.5.1", - "mutate-fs": "^1.1.0", - "rimraf": "^2.6.1", - "tap": "^14.6.9" - }, - "files": [ - "index.js" - ], - "homepage": "https://github.com/isaacs/ignore-walk#readme", - "keywords": [ - "ignorefile", - "ignore", - "file", - ".gitignore", - ".npmignore", - "glob" - ], - "license": "ISC", - "main": "index.js", - "name": "ignore-walk", - "repository": { - "type": "git", - "url": "git+https://github.com/isaacs/ignore-walk.git" - }, - "scripts": { - "postpublish": "git push origin --all; git push origin --tags", - "postversion": "npm publish", - "preversion": "npm test", - "test": "tap" - }, - "tap": { - "jobs": 1 - }, - "version": "3.0.3" -} |