Skip to content

Commit f4215fc

Browse files
FatmeFatme
Fatme
authored and
Fatme
committed
Merge pull request #353 from NativeScript/fatme/merge-release-0.9.4
Merge release 0.9.4
2 parents c41cb54 + 22367d6 commit f4215fc

File tree

3 files changed

+22
-20
lines changed

3 files changed

+22
-20
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
NativeScript CLI Changelog
22
================
33

4+
0.9.4 (2015, March 18)
5+
==
6+
7+
### Fixed
8+
9+
* [Fixed #348](https://github.com/NativeScript/nativescript-cli/issues/348): `tns platform add ios` downloads the latest experimental version of the ios runtime instead of the latest stable version.
10+
411
0.9.3 (2015, March 18)
512
==
613

lib/node-package-manager.ts

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ export class NodePackageManager implements INodePackageManager {
1818

1919
constructor(private $logger: ILogger,
2020
private $errors: IErrors,
21-
private $httpClient: Server.IHttpClient,
2221
private $fs: IFileSystem,
2322
private $lockfile: ILockFile) {
2423
this.versionsCache = {};
@@ -73,11 +72,20 @@ export class NodePackageManager implements INodePackageManager {
7372
}
7473

7574
public getLatestVersion(packageName: string): IFuture<string> {
76-
return (() => {
77-
var versions = this.getAvailableVersions(packageName).wait();
78-
versions = _.sortBy(versions, (ver: string) => { return ver; });
79-
return versions.reverse()[0];
80-
}).future<string>()();
75+
var future = new Future<string>();
76+
77+
npm.commands["view"]([packageName, "dist-tags"], [false], (err: any, data: any) => { // [false] - silent
78+
if(err) {
79+
future.throw(err);
80+
} else {
81+
var latestVersion = _.first(_.keys(data));
82+
this.$logger.trace("Using version %s. ", latestVersion);
83+
84+
future.return(latestVersion);
85+
}
86+
});
87+
88+
return future;
8189
}
8290

8391
public getCachedPackagePath(packageName: string, version: string): string {
@@ -166,18 +174,5 @@ export class NodePackageManager implements INodePackageManager {
166174
});
167175
return future;
168176
}
169-
170-
private getAvailableVersions(packageName: string): IFuture<string[]> {
171-
return (() => {
172-
if(!this.versionsCache[packageName]) {
173-
var url = NodePackageManager.NPM_REGISTRY_URL + packageName;
174-
var response = this.$httpClient.httpRequest(url).wait().body;
175-
var json = JSON.parse(response);
176-
this.versionsCache[packageName] = _.keys(json.versions);
177-
}
178-
179-
return this.versionsCache[packageName];
180-
}).future<string[]>()();
181-
}
182177
}
183178
$injector.register("npm", NodePackageManager);

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "nativescript",
33
"preferGlobal": true,
4-
"version": "0.9.3",
4+
"version": "0.9.4",
55
"author": "Telerik <[email protected]>",
66
"description": "Command-line interface for building NativeScript projects",
77
"bin": {

0 commit comments

Comments
 (0)