@@ -80,6 +80,7 @@ export class ProjectService implements IProjectService {
80
80
// Delete app/package.json file, its just causing confusion.
81
81
// Also its dependencies and devDependencies are already merged in project's package.json.
82
82
this . $fs . deleteFile ( path . join ( projectDir , constants . APP_FOLDER_NAME , constants . PACKAGE_JSON_FILE_NAME ) ) . wait ( ) ;
83
+ this . $npm . install ( projectDir , projectDir , { "ignore-scripts" : this . $options . ignoreScripts } ) . wait ( ) ;
83
84
} catch ( err ) {
84
85
this . $fs . deleteDirectory ( projectDir ) . wait ( ) ;
85
86
throw err ;
@@ -91,20 +92,25 @@ export class ProjectService implements IProjectService {
91
92
92
93
private mergeProjectAndTemplateProperties ( projectDir : string , templatePath : string ) : IFuture < void > {
93
94
return ( ( ) => {
94
- let projectPackageJsonPath = path . join ( projectDir , constants . PACKAGE_JSON_FILE_NAME ) ;
95
- let projectPackageJsonData = this . $fs . readJson ( projectPackageJsonPath ) . wait ( ) ;
96
- this . $logger . trace ( "Initial project package.json data: " , projectPackageJsonData ) ;
97
- let templatePackageJsonData = this . $fs . readJson ( path . join ( templatePath , constants . PACKAGE_JSON_FILE_NAME ) ) . wait ( ) ;
98
- if ( projectPackageJsonData . dependencies || templatePackageJsonData . dependencies ) {
99
- projectPackageJsonData . dependencies = this . mergeDependencies ( projectPackageJsonData . dependencies , templatePackageJsonData . dependencies ) ;
100
- }
95
+ let templatePackageJsonPath = path . join ( templatePath , constants . PACKAGE_JSON_FILE_NAME ) ;
96
+ if ( this . $fs . exists ( templatePackageJsonPath ) . wait ( ) ) {
97
+ let projectPackageJsonPath = path . join ( projectDir , constants . PACKAGE_JSON_FILE_NAME ) ;
98
+ let projectPackageJsonData = this . $fs . readJson ( projectPackageJsonPath ) . wait ( ) ;
99
+ this . $logger . trace ( "Initial project package.json data: " , projectPackageJsonData ) ;
100
+ let templatePackageJsonData = this . $fs . readJson ( templatePackageJsonPath ) . wait ( ) ;
101
+ if ( projectPackageJsonData . dependencies || templatePackageJsonData . dependencies ) {
102
+ projectPackageJsonData . dependencies = this . mergeDependencies ( projectPackageJsonData . dependencies , templatePackageJsonData . dependencies ) ;
103
+ }
101
104
102
- if ( projectPackageJsonData . devDependencies || templatePackageJsonData . devDependencies ) {
103
- projectPackageJsonData . devDependencies = this . mergeDependencies ( projectPackageJsonData . devDependencies , templatePackageJsonData . devDependencies ) ;
104
- }
105
+ if ( projectPackageJsonData . devDependencies || templatePackageJsonData . devDependencies ) {
106
+ projectPackageJsonData . devDependencies = this . mergeDependencies ( projectPackageJsonData . devDependencies , templatePackageJsonData . devDependencies ) ;
107
+ }
105
108
106
- this . $logger . trace ( "New project package.json data: " , projectPackageJsonData ) ;
107
- this . $fs . writeJson ( projectPackageJsonPath , projectPackageJsonData ) . wait ( ) ;
109
+ this . $logger . trace ( "New project package.json data: " , projectPackageJsonData ) ;
110
+ this . $fs . writeJson ( projectPackageJsonPath , projectPackageJsonData ) . wait ( ) ;
111
+ } else {
112
+ this . $logger . trace ( `Template ${ templatePath } does not have ${ constants . PACKAGE_JSON_FILE_NAME } file.` ) ;
113
+ }
108
114
} ) . future < void > ( ) ( ) ;
109
115
}
110
116
0 commit comments