diff options
Diffstat (limited to 'node_modules/istanbul/lib/util/file-matcher.js')
-rw-r--r-- | node_modules/istanbul/lib/util/file-matcher.js | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/node_modules/istanbul/lib/util/file-matcher.js b/node_modules/istanbul/lib/util/file-matcher.js deleted file mode 100644 index 986064252..000000000 --- a/node_modules/istanbul/lib/util/file-matcher.js +++ /dev/null @@ -1,76 +0,0 @@ -/* - Copyright (c) 2012, Yahoo! Inc. All rights reserved. - Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. - */ - -var async = require('async'), - glob = require('glob'), - fs = require('fs'), - path = require('path'), - seq = 0; - -function filesFor(options, callback) { - if (!callback && typeof options === 'function') { - callback = options; - options = null; - } - options = options || {}; - - var root = options.root, - includes = options.includes, - excludes = options.excludes, - realpath = options.realpath, - relative = options.relative, - opts; - - root = root || process.cwd(); - includes = includes && Array.isArray(includes) ? includes : [ '**/*.js' ]; - excludes = excludes && Array.isArray(excludes) ? excludes : [ '**/node_modules/**' ]; - - opts = { cwd: root, nodir: true, ignore: excludes }; - seq += 1; - opts['x' + seq + new Date().getTime()] = true; //cache buster for minimatch cache bug - glob(includes.join(' '), opts, function (err, files) { - if (err) { return callback(err); } - if (relative) { return callback(err, files); } - - if (!realpath) { - files = files.map(function (file) { return path.resolve(root, file); }); - return callback(err, files); - } - - var realPathCache = module.constructor._realpathCache || {}; - - async.map(files, function (file, done) { - fs.realpath(path.resolve(root, file), realPathCache, done); - }, callback); - }); -} - -function matcherFor(options, callback) { - - if (!callback && typeof options === 'function') { - callback = options; - options = null; - } - options = options || {}; - options.relative = false; //force absolute paths - options.realpath = true; //force real paths (to match Node.js module paths) - - filesFor(options, function (err, files) { - var fileMap = {}, - matchFn; - if (err) { return callback(err); } - files.forEach(function (file) { fileMap[file] = true; }); - - matchFn = function (file) { return fileMap[file]; }; - matchFn.files = Object.keys(fileMap); - return callback(null, matchFn); - }); -} - -module.exports = { - filesFor: filesFor, - matcherFor: matcherFor -}; - |