@@ -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