From 148779003593404131d5cd055167a0cea79d60f0 Mon Sep 17 00:00:00 2001 From: Gerard Moreno-Torres Bertran Date: Wed, 26 Oct 2016 16:34:05 +0100 Subject: [PATCH 1/2] add the possibility to ignore folders --- lib/filewalker.js | 11 +++++++---- package.json | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/filewalker.js b/lib/filewalker.js index 0a21c89..f565558 100644 --- a/lib/filewalker.js +++ b/lib/filewalker.js @@ -4,7 +4,8 @@ var fs = require('fs'), path = require('path'), util = require('util'), FunctionQueue = require('fqueue'), - immediately = process.nextTick; + immediately = process.nextTick, + contains = require('contains-path'); if (global.setImmediate !== undefined) { immediately = global.setImmediate; @@ -25,9 +26,7 @@ function Filewalker(root, options) { options = options || {}; Object.keys(options).forEach(function(k) { - if(self.hasOwnProperty(k)) { - self[k] = options[k]; - } + self[k] = options[k]; }); this.root = path.resolve(root||'.'); @@ -124,6 +123,10 @@ Filewalker.prototype._stat = function(p) { } else { self.total += 1; if(s.isDirectory()) { + if (self.ignoredFolders && self.ignoredFolders.some(f => contains(p, f))) { + self.done(); + return; + } self.enqueue(self._emitDir, [self._path(p), s, p]); } else { if(!self.matchRegExp || self.matchRegExp.test(p)) { diff --git a/package.json b/package.json index 95d9886..357389c 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "node": ">= 0.4.x" }, "dependencies": { + "contains-path": "^0.1.0", "fqueue": "0.0.x" }, "scripts": { From 65b5ab5699302baedeff4ada9123a1cc4a677d31 Mon Sep 17 00:00:00 2001 From: Gerard Moreno-Torres Bertran Date: Mon, 31 Oct 2016 11:19:53 +0000 Subject: [PATCH 2/2] remove arrow syntax for backwards compatibility --- lib/filewalker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/filewalker.js b/lib/filewalker.js index f565558..d1bb5b9 100644 --- a/lib/filewalker.js +++ b/lib/filewalker.js @@ -123,7 +123,7 @@ Filewalker.prototype._stat = function(p) { } else { self.total += 1; if(s.isDirectory()) { - if (self.ignoredFolders && self.ignoredFolders.some(f => contains(p, f))) { + if (self.ignoredFolders) && self.ignoredFolders.some(function(f) { return contains(p, f); })) { self.done(); return; }