@@ -237,33 +237,25 @@ class CSSMonster {
237237 for ( let i = 0 ; i < files . length ; i ++ ) {
238238 const filename = files [ i ] . replace ( / ( .* \/ ) | ( .* \\ ) / , "" ) ;
239239 if ( ! fs . existsSync ( `${ this . tempDir } /${ filename } ` ) ) {
240- fs . copyFile ( files [ i ] , `${ this . tempDir } /${ filename } ` , ( error ) => {
241- if ( error ) {
242- reject ( error ) ;
243- }
244- movedFiles . push ( `${ this . tempDir } /${ filename } ` ) ;
245- count ++ ;
246- if ( count === files . length ) {
247- resolve ( movedFiles ) ;
248- }
249- } ) ;
240+ fs . copyFileSync ( files [ i ] , `${ this . tempDir } /${ filename } ` ) ;
241+ movedFiles . push ( `${ this . tempDir } /${ filename } ` ) ;
242+ count ++ ;
243+ if ( count === files . length ) {
244+ resolve ( movedFiles ) ;
245+ }
250246 } else {
251247 if ( this . config . autoresolve ) {
252248 const newFileData = fs . readFileSync ( files [ i ] ) . toString ( ) ;
253249 let tempFileData = fs . readFileSync ( `${ this . tempDir } /${ filename } ` ) . toString ( ) ;
254250 tempFileData += "\n" ;
255251 tempFileData += newFileData ;
256- fs . writeFile ( `${ this . tempDir } /${ filename } ` , tempFileData , ( error ) => {
257- if ( error ) {
258- reject ( error ) ;
259- }
260- count ++ ;
261- if ( count === files . length ) {
262- resolve ( movedFiles ) ;
263- }
264- } ) ;
252+ fs . writeFileSync ( `${ this . tempDir } /${ filename } ` , tempFileData ) ;
253+ count ++ ;
254+ if ( count === files . length ) {
255+ resolve ( movedFiles ) ;
256+ }
265257 } else {
266- reject ( `Two files have the same name "${ filename } " rename one of the files or enable the CSSMonster autoresolve setting.` ) ;
258+ reject ( `Two css files have the same name "${ filename } ". Rename one of the files or enable the CSSMonster autoresolve setting.` ) ;
267259 }
268260 }
269261 }
@@ -312,6 +304,7 @@ class CSSMonster {
312304 resolve ( files ) ;
313305 }
314306 const compiledFiles = [ ] ;
307+ let count = 0 ;
315308 for ( let i = 0 ; i < files . length ; i ++ ) {
316309 const file = files [ i ] ;
317310 sass . render (
@@ -327,15 +320,27 @@ class CSSMonster {
327320 let fileName = result . stats . entry . replace ( / ( .* \/ ) | ( .* \\ ) / , "" ) . replace ( / ( .s c s s ) $ / g, "" ) ;
328321 if ( fileName ) {
329322 const newFile = `${ this . tempDir } /${ fileName } .css` ;
330- fs . writeFile ( newFile , result . css . toString ( ) , ( error ) => {
331- if ( error ) {
332- reject ( "Something went wrong saving the file" + error ) ;
333- }
323+ if ( ! fs . existsSync ( newFile ) ) {
324+ fs . writeFileSync ( newFile , result . css . toString ( ) ) ;
334325 compiledFiles . push ( newFile ) ;
335- if ( compiledFiles . length === files . length ) {
326+ count ++ ;
327+ if ( count === files . length ) {
336328 resolve ( compiledFiles ) ;
337329 }
338- } ) ;
330+ } else {
331+ if ( this . config . autoresolve ) {
332+ let tempFileData = fs . readFileSync ( newFile ) . toString ( ) ;
333+ tempFileData += "\n" ;
334+ tempFileData += result . css . toString ( ) ;
335+ fs . writeFileSync ( newFile , tempFileData ) ;
336+ count ++ ;
337+ if ( count === files . length ) {
338+ resolve ( compiledFiles ) ;
339+ }
340+ } else {
341+ reject ( `Two scss files have the same name "${ fileName } ". Rename one of the files or enable the CSSMonster autoresolve setting.` ) ;
342+ }
343+ }
339344 } else {
340345 reject ( "Something went wrong with the file name of " + result . stats . entry ) ;
341346 }
0 commit comments