@@ -7,12 +7,12 @@ var eachAsync = require('each-async');
7
7
8
8
module . exports = function ( grunt ) {
9
9
grunt . registerMultiTask ( 'filerev' , 'File revisioning based on content hashing' , function ( ) {
10
+ var target = this . target ;
11
+ var filerev = grunt . filerev || { summary : { } } ;
10
12
var options = this . options ( {
11
13
algorithm : 'md5' ,
12
14
length : 8
13
15
} ) ;
14
- var target = this . target ;
15
- var filerev = grunt . filerev || { summary : { } } ;
16
16
17
17
eachAsync ( this . files , function ( el , i , next ) {
18
18
var move = true ;
@@ -26,6 +26,7 @@ module.exports = function (grunt) {
26
26
27
27
try {
28
28
var stat = fs . lstatSync ( el . dest ) ;
29
+
29
30
if ( stat && ! stat . isDirectory ( ) ) {
30
31
grunt . fail . fatal ( 'Destination ' + el . dest + ' for target ' + target + ' is not a directory' ) ;
31
32
}
@@ -72,9 +73,11 @@ module.exports = function (grunt) {
72
73
73
74
// Source maps
74
75
var sourceMap = false ;
76
+
75
77
if ( ext === '.js' || ext === '.css' ) {
76
78
var map = file + '.map' ;
77
79
var resultPathMap = resultPath + '.map' ;
80
+
78
81
if ( grunt . file . exists ( map ) ) {
79
82
if ( move ) {
80
83
fs . renameSync ( map , resultPathMap ) ;
@@ -92,11 +95,11 @@ module.exports = function (grunt) {
92
95
93
96
filerev . summary [ path . normalize ( file ) ] = path . join ( dirname , newName ) ;
94
97
grunt . verbose . writeln ( chalk . green ( '✔ ' ) + file + chalk . gray ( ' changed to ' ) + newName ) ;
98
+
95
99
if ( sourceMap ) {
96
100
filerev . summary [ path . normalize ( file + '.map' ) ] = path . join ( dirname , newName + '.map' ) ;
97
101
grunt . verbose . writeln ( chalk . green ( '✔ ' ) + file + '.map' + chalk . gray ( ' changed to ' ) + newName + '.map' ) ;
98
102
}
99
-
100
103
} ) ;
101
104
102
105
grunt . log . writeln ( 'Revved ' + chalk . cyan ( el . src . length ) + ' ' +
0 commit comments