Skip to content

Commit 70780a7

Browse files
authored
Fixed: tns update crashes with error message (#2421)
1 parent dac7acd commit 70780a7

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

lib/commands/update.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)