@@ -80,6 +80,7 @@ export class ProjectService implements IProjectService {
8080 // Delete app/package.json file, its just causing confusion.
8181 // Also its dependencies and devDependencies are already merged in project's package.json.
8282 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 ( ) ;
8384 } catch ( err ) {
8485 this . $fs . deleteDirectory ( projectDir ) . wait ( ) ;
8586 throw err ;
@@ -91,20 +92,25 @@ export class ProjectService implements IProjectService {
9192
9293 private mergeProjectAndTemplateProperties ( projectDir : string , templatePath : string ) : IFuture < void > {
9394 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+ }
101104
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+ }
105108
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+ }
108114 } ) . future < void > ( ) ( ) ;
109115 }
110116
0 commit comments