@@ -34,6 +34,10 @@ var Engine = CoreObject.extend({
3434 } ,
3535
3636 _queueMoveFile : function ( source , dest ) {
37+ if ( source === dest ) {
38+ return ;
39+ }
40+
3741 var logger = this . _logger ;
3842
3943 this . _promise = this . _promise
@@ -45,24 +49,23 @@ var Engine = CoreObject.extend({
4549 } ) ;
4650 } ,
4751
52+ _safeWalkSync : function ( dir ) {
53+ var projectDir = this . projectRoot + '/' + dir ;
54+ return fse . existsSync ( projectDir ) ? walkSync ( projectDir ) : [ ] ;
55+ } ,
56+
4857 _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- } ) ;
58+ return this . _safeWalkSync ( dir )
59+ // add the dir back as a prefix
60+ . map ( relativePath => dir + '/' + relativePath )
61+ // remove entries for directories
62+ . filter ( relativePath => relativePath . slice ( - 1 ) !== '/' ) ;
5863 } ,
5964
6065 _queueRemoveEmptyDirs : function ( dir ) {
61- var projectRoot = this . projectRoot ;
62-
6366 this . _promise = this . _promise
64- . then ( function ( ) {
65- var contents = walkSync ( projectRoot + '/' + dir ) ;
67+ . then ( ( ) => {
68+ var contents = this . _safeWalkSync ( dir ) ;
6669 var files = contents
6770 . filter ( function ( entry ) {
6871 return entry . slice ( - 1 ) !== '/' && entry . slice ( - 8 ) !== '.gitkeep' ;
@@ -74,7 +77,7 @@ var Engine = CoreObject.extend({
7477
7578 // there are no files left
7679 if ( files . length === 0 ) {
77- fse . removeSync ( projectRoot + '/' + dir ) ;
80+ fse . removeSync ( this . projectRoot + '/' + dir ) ;
7881 }
7982
8083 // there are files, so we need to only delete empty dirs
@@ -86,7 +89,7 @@ var Engine = CoreObject.extend({
8689 } ) ;
8790
8891 if ( ! hasFiles ) {
89- fse . removeSync ( projectRoot + '/' + dir + '/' + directory ) ;
92+ fse . removeSync ( this . projectRoot + '/' + dir + '/' + directory ) ;
9093 }
9194 }
9295 } ) ;
@@ -96,7 +99,8 @@ var Engine = CoreObject.extend({
9699 this . _promise = RSVP . resolve ( ) ;
97100 var inputFiles = [ ] . concat (
98101 this . _filesInDir ( 'app' ) ,
99- this . _filesInDir ( 'tests' )
102+ this . _filesInDir ( 'tests' ) ,
103+ this . _filesInDir ( 'config' )
100104 ) ;
101105
102106 var verbose = this . verbose ;
0 commit comments