Skip to content

Commit 274bc67

Browse files
committed
Use safeWalkSync in case folders are missing
1 parent cfab36c commit 274bc67

1 file changed

Lines changed: 14 additions & 15 deletions

File tree

lib/index.js

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -45,24 +45,23 @@ var Engine = CoreObject.extend({
4545
});
4646
},
4747

48+
_safeWalkSync: function(dir) {
49+
var projectDir = this.projectRoot + '/' + dir;
50+
return fse.existsSync(projectDir) ? walkSync(projectDir) : [];
51+
},
52+
4853
_filesInDir: function(dir) {
49-
return walkSync(this.projectRoot + '/' + dir)
50-
.map(function(relativePath) {
51-
// add the dir back as a prefix
52-
return dir + '/' + relativePath;
53-
})
54-
.filter(function(relativePath) {
55-
// remove entries for directories
56-
return relativePath.slice(-1) !== '/';
57-
});
54+
return this._safeWalkSync(dir)
55+
// add the dir back as a prefix
56+
.map( relativePath => dir + '/' + relativePath )
57+
// remove entries for directories
58+
.filter( relativePath => relativePath.slice(-1) !== '/');
5859
},
5960

6061
_queueRemoveEmptyDirs: function(dir) {
61-
var projectRoot = this.projectRoot;
62-
6362
this._promise = this._promise
64-
.then(function() {
65-
var contents = walkSync(projectRoot + '/' + dir);
63+
.then(() => {
64+
var contents = this._safeWalkSync(dir);
6665
var files = contents
6766
.filter(function(entry) {
6867
return entry.slice(-1) !== '/' && entry.slice(-8) !== '.gitkeep';
@@ -74,7 +73,7 @@ var Engine = CoreObject.extend({
7473

7574
// there are no files left
7675
if (files.length === 0) {
77-
fse.removeSync(projectRoot + '/' + dir);
76+
fse.removeSync(this.projectRoot + '/' + dir);
7877
}
7978

8079
// there are files, so we need to only delete empty dirs
@@ -86,7 +85,7 @@ var Engine = CoreObject.extend({
8685
});
8786

8887
if (!hasFiles) {
89-
fse.removeSync(projectRoot + '/' + dir + '/' + directory);
88+
fse.removeSync(this.projectRoot + '/' + dir + '/' + directory);
9089
}
9190
}
9291
});

0 commit comments

Comments
 (0)