@@ -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,21 +51,44 @@ 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 ) ;
72+ } else {
73+ availableFiles . forEach ( function ( fileSrc ) {
74+ try {
75+ var code = grunt . file . read ( fileSrc ) ;
76+
77+ obfuscated = obfuscate ( code , options ) ;
78+
79+ } catch ( err ) {
80+ grunt . log . error ( err ) ;
81+ grunt . warn ( 'JavaScript Obfuscation failed at ' + fileSrc + '.' ) ;
82+ }
83+
84+ var output = banner + obfuscated ;
85+
86+ var filename = getFilename ( fileSrc ) ;
87+
88+ grunt . file . write ( file . dest + filename , output ) ;
89+ } ) ;
90+ }
6391
64- grunt . file . write ( file . dest , output ) ;
6592 created . files ++ ;
6693
6794 } , this ) ;
0 commit comments