diff options
Diffstat (limited to 'node_modules/shelljs/src/find.js')
-rw-r--r-- | node_modules/shelljs/src/find.js | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/node_modules/shelljs/src/find.js b/node_modules/shelljs/src/find.js deleted file mode 100644 index 76a16c4ee..000000000 --- a/node_modules/shelljs/src/find.js +++ /dev/null @@ -1,61 +0,0 @@ -var fs = require('fs'); -var path = require('path'); -var common = require('./common'); -var _ls = require('./ls'); - -common.register('find', _find, {}); - -//@ -//@ ### find(path [, path ...]) -//@ ### find(path_array) -//@ Examples: -//@ -//@ ```javascript -//@ find('src', 'lib'); -//@ find(['src', 'lib']); // same as above -//@ find('.').filter(function(file) { return file.match(/\.js$/); }); -//@ ``` -//@ -//@ Returns array of all files (however deep) in the given paths. -//@ -//@ The main difference from `ls('-R', path)` is that the resulting file names -//@ include the base directories, e.g. `lib/resources/file1` instead of just `file1`. -function _find(options, paths) { - if (!paths) { - common.error('no path specified'); - } else if (typeof paths === 'string') { - paths = [].slice.call(arguments, 1); - } - - var list = []; - - function pushFile(file) { - if (process.platform === 'win32') { - file = file.replace(/\\/g, '/'); - } - list.push(file); - } - - // why not simply do ls('-R', paths)? because the output wouldn't give the base dirs - // to get the base dir in the output, we need instead ls('-R', 'dir/*') for every directory - - paths.forEach(function (file) { - var stat; - try { - stat = fs.statSync(file); - } catch (e) { - common.error('no such file or directory: ' + file); - } - - pushFile(file); - - if (stat.isDirectory()) { - _ls({ recursive: true, all: true }, file).forEach(function (subfile) { - pushFile(path.join(file, subfile)); - }); - } - }); - - return list; -} -module.exports = _find; |