From 3a767400e01ba77d13f84c4a66efb5a3ec12160e Mon Sep 17 00:00:00 2001 From: Todor Totev Date: Wed, 26 Aug 2015 13:48:19 +0300 Subject: [PATCH] Guard against errors in npm See https://github.com/NativeScript/nativescript-cli/issues/819 --- lib/node-package-manager.ts | 6 +----- lib/services/platform-service.ts | 8 ++++---- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/node-package-manager.ts b/lib/node-package-manager.ts index ed8bec1cf4..9e18b9fd99 100644 --- a/lib/node-package-manager.ts +++ b/lib/node-package-manager.ts @@ -6,10 +6,6 @@ import * as npm from "npm"; export class NodePackageManager implements INodePackageManager { constructor(private $childProcess: IChildProcess, - private $logger: ILogger, - private $errors: IErrors, - private $fs: IFileSystem, - private $lockfile: ILockFile, private $options: IOptions) { } public getCache(): string { @@ -18,7 +14,7 @@ export class NodePackageManager implements INodePackageManager { public load(config?: any): IFuture { let future = new Future(); - npm.load(config, (err) => { + npm.load(config, (err: Error) => { if(err) { future.throw(err); } else { diff --git a/lib/services/platform-service.ts b/lib/services/platform-service.ts index 1579e8100c..03f58508e5 100644 --- a/lib/services/platform-service.ts +++ b/lib/services/platform-service.ts @@ -75,11 +75,11 @@ export class PlatformService implements IPlatformService { npmOptions["version"] = version; } - let downloadedPackagePath = this.$npmInstallationManager.install(packageToInstall, npmOptions).wait(); - let frameworkDir = path.join(downloadedPackagePath, constants.PROJECT_FRAMEWORK_FOLDER_NAME); - frameworkDir = path.resolve(frameworkDir); - try { + let downloadedPackagePath = this.$npmInstallationManager.install(packageToInstall, npmOptions).wait(); + let frameworkDir = path.join(downloadedPackagePath, constants.PROJECT_FRAMEWORK_FOLDER_NAME); + frameworkDir = path.resolve(frameworkDir); + this.addPlatformCore(platformData, frameworkDir).wait(); } catch(err) { this.$fs.deleteDirectory(platformPath).wait();