1.0.1 • Published 6 years ago
dir-walker-gen v1.0.1
dir-walker-gen 
JavaScript generator pattern for efficient directory listing.
Unlike other directory walkers, this coding pattern will NOT try to scan the entire tree. The directory listings are returned as a generator pattern and the subdirectories are only scanned when the calling method has consumed all the normal files in a directory.
The async nature of the function, it yield
s to the calling routine allowing it to process the file as needed.
Installation
$ npm install dir-walker-gen
Basic Usage
const DirGen = require('dir-walker-gen');
const options = {
folders: ["D:\\Dropbox"]
}
for (let file of DirGen(options)) {
console.log(file);
}
Options Object
const DirGen = require('dir-walker-gen');
const options = {
folders: ["D:\\Dropbox", "D:\\OneDrive"],
silent: true,
ignoreDotDir: true,
excludeFolders: ['Public'],
excludeExtensions: ['tmp', 'docx', 'xlsx'],
includeExtensions: ['jpeg', 'jpg', 'png', 'gif']
};
for (let file of DirGen(options)) {
console.log(file);
}
Option* | Comment | Default |
---|---|---|
folders | (Required) List of starting folders | |
silent | Does not show console warning when directories do not exist | false |
ignoreDotDir | Ignores directories that start with a dot (e.g. .git, .vscode, etc) | false |
excludeFolders | Exclude all folder that ends with any of the given strings | empty list (ignore nothing) |
excludeExtensions | List of extensions to ignore | empty list (ignore nothing) |
includeExtensions | List of extensions to scan (all other extensions are ignored) | empty list (ignore nothing) |
Notes:
1. excludeExtensions
is not really needed if includeExtensions
is supplied.
2. Include and Exclude strings are case sensitive