synchronous version of dive
Switch branches/tags
Clone or download
Latest commit ac2eb0c Feb 10, 2015
Failed to load latest commit information.
test Add filter option Nov 12, 2011
LICENSE.mkd Initial commit Sep 20, 2011
README.mkd Add filter option Nov 12, 2011
diveSync.js Fix results Feb 10, 2015
package.json 0.3.0 Feb 10, 2015


diveSync is a tiny module for node that is able to recursively walk („dive“) a directory tree. diveSync is the synchronous version of dive.


var diveSync = require("diveSync");

diveSync(process.cwd(), function(err, file) {
  if (err) throw err;


This will list all files in your current working directory. The function call blocks until all files are handled.

You may also apply options to the function call.

dive(dir[, opt], action);

The default options are

  recursive: true,    // - If set to false, this will ignore subdirectories.
  all: false,         // - If set to true, this will show "dot files" and
                      //   files in "dot directories", e.g. ".gitinore" or
                      //   ".git/HEAD".
  directories: false  // - If set to true, this will show directories, too.
  filter: function filter(path, dir) { return true; }
                      // - Function that returns true for all paths that should
                      //   not be ignored.

filter takes two arguments (path, dir). path defines the path to file in the file system. dir is true, if path is a directory, otherwise false.

You can use this to filter out specific files or directories by their pathname.