find

Find files or directories by name.

Usage no npm install needed!

<script type="module">
  import find from 'https://cdn.skypack.dev/find';
</script>

README

find Status

Find files or directories by name.

NPM

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);