Warning
I no longer maintain this lib, please use other alternatives.
find ![Status](https://camo.githubusercontent.com/381705ea0bcf8d322932025fbb2724c980c93f59f39e27307d2570973c97179a/68747470733a2f2f7472617669732d63692e6f72672f7975616e636875616e2f66696e642e7376673f6272616e63683d6d6173746572)
Find files or directories by name.
Installation
$ npm install --save find
Examples
Find all files in current directory.
var find = require('find');
find.file(__dirname, function(files) {
console.log(files.length);
})
Filter by regular expression.
find.file(/\.js$/, __dirname, function(files) {
console.log(files.length);
})
Features
- Recursively search each sub-directories
- Asynchronously or synchronously
- Filtering by regular expression or string comparing
Changelog
0.3.0
- Added
.use()
method
0.2.0
- The first
pattern
option is now optional - Will follow symbolic links
API
.file([pattern,] root, callback)
find.file(__dirname, function(files) {
//
})
.dir([pattern,] root, callback)
find.dir(__dirname, function(dirs) {
//
})
.eachfile([pattern,] root, action)
find.eachfile(__dirname, function(file) {
//
})
.eachdir([pattern,] root, action)
find.eachdir(__dirname, function(dir) {
//
})
.fileSync([pattern,] root)
var files = find.fileSync(__dirname);
.dirSync([pattern,] root)
var dirs = find.dirSync(__dirname);
.error([callback])
Handling errors in asynchronous interfaces
find
.file(__dirname, function(file) {
//
})
.error(function(err) {
if (err) {
//
}
})
.end([callback])
Detect end
in find.eachfile
and find.eachdir
find
.eachfile(__dirname, function(file) {
//
})
.end(function() {
console.log('find end');
})
.use(Options)
fs
: The internal fs object to be used.
const { fs, vol } = require('memfs');
const json = {
'./README.md': '1',
'./src/index.js': '2'
};
vol.fromJSON(json, '/app');
find
.use({ fs: fs })
.file('/app', console.log);