File tree 1 file changed +14
-7
lines changed
1 file changed +14
-7
lines changed Original file line number Diff line number Diff line change @@ -38,16 +38,23 @@ class TestInitCommand implements ICommand {
38
38
optional : false ,
39
39
} ) ;
40
40
41
- let modulePath = path . join ( projectDir , "node_modules" , mod ) ;
42
- let modulePackageJsonPath = path . join ( modulePath , "package.json" ) ;
43
- let modulePackageJsonContent = this . $fs . readJson ( modulePackageJsonPath ) ;
44
- let modulePeerDependencies = modulePackageJsonContent . peerDependencies || { } ;
41
+ const modulePath = path . join ( projectDir , "node_modules" , mod ) ;
42
+ const modulePackageJsonPath = path . join ( modulePath , "package.json" ) ;
43
+ const modulePackageJsonContent = this . $fs . readJson ( modulePackageJsonPath ) ;
44
+ const modulePeerDependencies = modulePackageJsonContent . peerDependencies || { } ;
45
45
46
46
for ( let peerDependency in modulePeerDependencies ) {
47
47
let dependencyVersion = modulePeerDependencies [ peerDependency ] || "*" ;
48
- await this . $npm . install ( `${ peerDependency } @${ dependencyVersion } ` , projectDir , {
49
- 'save-dev' : true
50
- } ) ;
48
+
49
+ // catch errors when a peerDependency is already installed
50
+ // e.g karma is installed; karma-jasmine depends on karma and will try to install it again
51
+ try {
52
+ await this . $npm . install ( `${ peerDependency } @${ dependencyVersion } ` , projectDir , {
53
+ 'save-dev' : true
54
+ } ) ;
55
+ } catch ( e ) {
56
+ this . $logger . info ( e . message ) ;
57
+ }
51
58
}
52
59
}
53
60
You can’t perform that action at this time.
0 commit comments