@@ -3,8 +3,6 @@ import * as semver from "semver";
3
3
import * as constants from "./constants" ;
4
4
5
5
export class NpmInstallationManager implements INpmInstallationManager {
6
- private static NPM_LOAD_FAILED = "Failed to retrieve data from npm. Please try again a little bit later." ;
7
-
8
6
constructor ( private $npm : INodePackageManager ,
9
7
private $childProcess : IChildProcess ,
10
8
private $logger : ILogger ,
@@ -35,7 +33,8 @@ export class NpmInstallationManager implements INpmInstallationManager {
35
33
}
36
34
37
35
public async install ( packageName : string , projectDir : string , opts ?: INpmInstallOptions ) : Promise < any > {
38
-
36
+ let packageJsonPath = path . join ( projectDir , "package.json" ) ;
37
+ let packageJsonContent = this . $fs . readJson ( packageJsonPath ) ;
39
38
try {
40
39
let packageToInstall = this . $options . frameworkPath || packageName ;
41
40
let pathToSave = projectDir ;
@@ -44,8 +43,9 @@ export class NpmInstallationManager implements INpmInstallationManager {
44
43
45
44
return await this . installCore ( packageToInstall , pathToSave , version , dependencyType ) ;
46
45
} catch ( error ) {
46
+ this . $fs . writeJson ( packageJsonPath , packageJsonContent ) ;
47
47
this . $logger . debug ( error ) ;
48
- this . $errors . fail ( "%s. Error: %s" , NpmInstallationManager . NPM_LOAD_FAILED , error ) ;
48
+ this . $errors . fail ( "%s" , error ) ;
49
49
}
50
50
}
51
51
0 commit comments