@@ -109,8 +109,9 @@ export class ReactTemplate implements Template {
109109 const components = require ( "@igniteui/cli-core/packages/components" ) ;
110110 const igResPath = path . join ( projectPath , this . igniteResources ) ;
111111
112- if ( fs . existsSync ( igResPath ) ) {
113- let igniteuiResFile = fs . readFileSync ( igResPath , "utf8" ) ;
112+ try {
113+ const fd = fs . openSync ( igResPath , fs . constants . O_RDWR | fs . constants . O_CREAT ) ;
114+ let igniteuiResFile = fs . readFileSync ( fd , "utf8" ) ;
114115 const freeVersionPath = "ignite-ui/" ;
115116 const fullVersionPath = "@infragistics/ignite-ui-full/en/" ;
116117 const dvPath = "@infragistics/ignite-ui-full/en/js/infragistics.dv.js" ;
@@ -123,16 +124,19 @@ export class ReactTemplate implements Template {
123124 igniteuiResFile = igniteuiResFile . replace ( freeVersionPath , fullVersionPath ) ;
124125 igniteuiResFile = igniteuiResFile . replace ( "-lite" , "" ) ;
125126 }
126- fs . writeFileSync ( igResPath , igniteuiResFile ) ;
127+ fs . ftruncateSync ( fd , 0 ) ;
128+ fs . writeSync ( fd , igniteuiResFile , 0 ) ;
127129 }
128130
129131 if ( dvDep && ! igniteuiResFile . includes ( dvPath ) ) {
130- fs . appendFileSync ( igResPath , ` ${ '\r\n// Ignite UI Charts Required JavaScript File\r\nimport "'
131- + dvPath + '" ;\r\n' } ` ) ;
132+ const endPos = fs . fstatSync ( fd ) . size ;
133+ fs . writeSync ( fd , `\r\n// Ignite UI Charts Required JavaScript File\r\nimport " ${ dvPath } " ;\r\n` , endPos ) ;
132134 }
133135
134- } else {
135- Util . log ( `igniteuiResources.js file NOT found!` ) ;
136+ fs . closeSync ( fd ) ;
137+ } catch ( err ) {
138+ Util . error ( `Error while updating igniteuiResources.js: ${ err . message } ` ) ;
139+ throw err ;
136140 }
137141 }
138142
0 commit comments