@@ -8,6 +8,7 @@ export class UpdateCommand implements ICommand {
88 private $platformsData : IPlatformsData ,
99 private $pluginsService : IPluginsService ,
1010 private $projectDataService : IProjectDataService ,
11+ private $fs : IFileSystem ,
1112 private $logger : ILogger ,
1213 private $options : IOptions ,
1314 private $errors : IErrors ) { }
@@ -22,7 +23,10 @@ export class UpdateCommand implements ICommand {
2223 shelljs . mkdir ( tmpDir ) ;
2324 shelljs . cp ( path . join ( this . $projectData . projectDir , "package.json" ) , tmpDir ) ;
2425 for ( let folder of folders ) {
25- shelljs . cp ( "-rf" , path . join ( this . $projectData . projectDir , folder ) , tmpDir ) ;
26+ let folderToCopy = path . join ( this . $projectData . projectDir , folder ) ;
27+ if ( this . $fs . exists ( folderToCopy ) ) {
28+ shelljs . cp ( "-rf" , folderToCopy , tmpDir ) ;
29+ }
2630 }
2731 } catch ( error ) {
2832 this . $logger . error ( "Could not backup project folders!" ) ;
@@ -35,7 +39,10 @@ export class UpdateCommand implements ICommand {
3539 shelljs . cp ( "-f" , path . join ( tmpDir , "package.json" ) , this . $projectData . projectDir ) ;
3640 for ( let folder of folders ) {
3741 shelljs . rm ( "-rf" , path . join ( this . $projectData . projectDir , folder ) ) ;
38- shelljs . cp ( "-fr" , path . join ( tmpDir , folder ) , this . $projectData . projectDir ) ;
42+ let folderToCopy = path . join ( tmpDir , folder ) ;
43+ if ( this . $fs . exists ( folderToCopy ) ) {
44+ shelljs . cp ( "-fr" , folderToCopy , this . $projectData . projectDir ) ;
45+ }
3946 }
4047 this . $logger . error ( "Could not update the project!" ) ;
4148 } finally {
0 commit comments