node-dir
node-dir copied to clipboard
patern match in filenames (without reading content)
The pattern matching works very well with "dir.readFiles()" but couldn't figure it out for dir.files(). The exclude and include examples do not seem to be supporting glob-like matching or regex. Here is a sample to illustrate the issue:
dir.files(myDir, { match: /pattern/ }, function(err, files) {
if (err) throw err;
console.log("files)
});
When executed, this throws a callback error:
node_modules/node-dir/lib/paths.js:25
callback(null, results);
^
TypeError: callback is not a function
at done (..node_modules/node-dir/lib/paths.js:25:13)
at ..node_modules/node-dir/lib/paths.js:53:37
at done (..node_modules/node-dir/lib/paths.js:25:13)
at ..node_modules/node-dir/lib/paths.js:60:33
at FSReqWrap.oncomplete (fs.js:82:15)
I hit this same error today, but it's nothing to do with pattern matching - dir.files
just doesn't accept an object as the second argument. I was trying with:
var files = dir.files(__dirname, { sync: true });
.. and it fails in exactly the same place, because the signature for files
is expecting something different. Looking at the code this is a problem in v0.1.16 which is the most recent version published to npm, but looks fixed in v0.1.17 which is in this repo, but not on npm.
I had the same issue today.
I manually copied the content of the /lib
folder from this repo into the /node_modules/node-dir/lib
Now it works fine.
Thanks @photonstorm
Latest npm version is 0.1.16 while git latest version is 0.1.17. Please update it to let us use npm install
Any solution for @GroovyQA original question? That is, using regex with files()?
Any update? I'd still very much lilke to have pattern matching without having to read all the files