Skip to content

Commit cc10916

Browse files
author
Tsvetan Raikov
committed
tns update should check for platforms installed in package.json but missing in platforms folder
1 parent 05382b1 commit cc10916

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

lib/commands/update.ts

+16
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ export class UpdateCommand implements ICommand {
55
constructor(
66
private $projectData: IProjectData,
77
private $platformService: IPlatformService,
8+
private $platformsData: IPlatformsData,
89
private $pluginsService: IPluginsService,
10+
private $projectDataService: IProjectDataService,
911
private $logger: ILogger,
1012
private $options: IOptions,
1113
private $errors: IErrors) { }
@@ -51,6 +53,19 @@ export class UpdateCommand implements ICommand {
5153

5254
private executeCore(args: string[], folders: string[]) {
5355
let platforms = this.$platformService.getInstalledPlatforms().wait();
56+
let availablePlatforms = this.$platformService.getAvailablePlatforms().wait();
57+
let packagePlatforms: string[] = [];
58+
59+
this.$projectDataService.initialize(this.$projectData.projectDir);
60+
for (let platform of availablePlatforms) {
61+
let platformData = this.$platformsData.getPlatformData(platform);
62+
let platformVersion = this.$projectDataService.getValue(platformData.frameworkPackageName).wait();
63+
if (platformVersion) {
64+
packagePlatforms.push(platform);
65+
this.$projectDataService.removeProperty(platformData.frameworkPackageName).wait();
66+
}
67+
}
68+
5469

5570
this.$platformService.removePlatforms(platforms).wait();
5671
this.$pluginsService.remove("tns-core-modules").wait();
@@ -60,6 +75,7 @@ export class UpdateCommand implements ICommand {
6075
shelljs.rm("-fr", folder);
6176
}
6277

78+
platforms = platforms.concat(packagePlatforms);
6379
if (args.length === 1) {
6480
for (let platform of platforms) {
6581
this.$platformService.addPlatforms([ platform+"@"+args[0] ]).wait();

0 commit comments

Comments
 (0)