Skip to content

tmpfs-archive/fs-find

Repository files navigation

Table of Contents

Filesystem Find

Build Status npm version Coverage Status.

Zero-dependency, asynchronous filesystem walk.

Requires node and npm.

Install

npm i fs-find --save

Usage

find(path, [opts], cb)
var find = require('fs-find')
  , path = process.cwd();
find(path, function(err, results) {
  if(err) {
    return console.error(err);
  }
  console.dir(results);
}

Arguments

  • path: String or array of strings referencing directories and/or files.
  • opts: Processing options, see below.
  • cb: Callback function with signature function(err, results) where results is an array of info objects.

Options

  • dirs: Include directories in results array (default: false).
  • exclude: Do not include the path argument values in the results.
  • filter: Generic filter function before stat is called.
  • file: Filter function for files.
  • folder: Filter function for directories.
  • fullpath: Use full file path for matching.
  • followLinks: Follow symbolic links (stat rather than lstat).
  • depth: Maximum folder depth to recurse.
  • absolute: Make all file paths absolute.
  • dedupe: Remove duplicate entries, possible if the path array contains overlapping folders, best used with absolute enabled.

Filter

Filter functions have the signature function filter(path, info) and should return a boolean. The info object may be modified in place and will be included in the results array.

Info

The info object contains the fields:

  • file: The full file path.
  • name: The basename of the file.
  • folder: The parent folder.
  • matcher: Either the file path or name depending upon the fullpath option.
  • stat: An fs.Stats object when available.
  • base: Base directory for the file.
  • relative: Path relative to base.

Developer

Test

To run the test suite:

npm test

Cover

To generate code coverage:

npm run cover

Lint

Run the source tree through jshint and jscs:

npm run lint

Docs

To build all documentation:

npm run docs

Readme

To build the readme file from the partial definitions (requires mdp):

npm run readme

License

Everything is MIT. Read the license if you feel inclined.

Generated by mdp(1).

About

Filesystem recursive asynchronous find

Resources

License

Stars

Watchers

Forks

Packages

No packages published