@@ -14,6 +14,10 @@ function normalizeLf(string) {
1414 return string . replace ( / \r \n / g, '\n' ) ;
1515}
1616
17+ function getFilename ( path ) {
18+ return path . replace ( / ^ .* [ \\ \/ ] / , '' ) ;
19+ }
20+
1721module . exports = function ( grunt ) {
1822 var getAvailableFiles = function ( filesArray ) {
1923 return filesArray . filter ( function ( filepath ) {
@@ -47,23 +51,45 @@ module.exports = function (grunt) {
4751
4852 var obfuscated = '' ;
4953
50- try {
51- var totalCode = availableFiles . map ( function ( file ) {
52- return grunt . file . read ( file ) ;
53- } ) . join ( '' ) ;
54+ var filenameDest = getFilename ( file . dest ) ;
5455
55- obfuscated = obfuscate ( totalCode , options ) ;
56+ if ( filenameDest ) {
57+ try {
58+ var totalCode = availableFiles . map ( function ( file ) {
59+ return grunt . file . read ( file ) ;
60+ } ) . join ( '' ) ;
5661
57- } catch ( err ) {
58- grunt . log . error ( err ) ;
59- grunt . warn ( 'JavaScript Obfuscation failed at ' + availableFiles + '.' ) ;
60- }
62+ obfuscated = obfuscate ( totalCode , options ) ;
63+
64+ } catch ( err ) {
65+ grunt . log . error ( err ) ;
66+ grunt . warn ( 'JavaScript Obfuscation failed at ' + availableFiles + '.' ) ;
67+ }
68+
69+ var output = banner + obfuscated ;
6170
62- var output = banner + obfuscated ;
71+ grunt . file . write ( file . dest , output ) ;
6372
64- grunt . file . write ( file . dest , output ) ;
65- created . files ++ ;
73+ created . files ++ ;
74+ } else {
75+ availableFiles . forEach ( function ( fileSrc ) {
76+ try {
77+ var code = grunt . file . read ( fileSrc ) ;
6678
79+ obfuscated = obfuscate ( code , options ) ;
80+
81+ } catch ( err ) {
82+ grunt . log . error ( err ) ;
83+ grunt . warn ( 'JavaScript Obfuscation failed at ' + fileSrc + '.' ) ;
84+ }
85+
86+ var output = banner + obfuscated ;
87+
88+ grunt . file . write ( file . dest + fileSrc , output ) ;
89+
90+ created . files ++ ;
91+ } ) ;
92+ }
6793 } , this ) ;
6894
6995 if ( created . files > 0 ) {
0 commit comments