-
-
Notifications
You must be signed in to change notification settings - Fork 69
Store filerev summary to file and strip summary paths #78
base: master
Are you sure you want to change the base?
Changes from 2 commits
b4cb832
206beb5
ff8f2a9
5beef65
b2dde35
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,9 +27,10 @@ module.exports = function (grunt) { | |
try { | ||
var stat = fs.lstatSync(el.dest); | ||
if (stat && !stat.isDirectory()) { | ||
grunt.fail.fatal('Destination ' + el.dest + ' for target ' + target + ' is not a directory'); | ||
grunt.fail.fatal('Destination ' + el.dest + ' for target ' + target + ' is not a directory'); | ||
} | ||
} catch (err) { | ||
} | ||
catch (err) { | ||
grunt.verbose.writeln('Destination dir ' + el.dest + ' does not exists for target ' + target + ': creating'); | ||
grunt.file.mkdir(el.dest); | ||
} | ||
|
@@ -50,12 +51,17 @@ module.exports = function (grunt) { | |
|
||
if (typeof options.process === 'function') { | ||
newName = options.process(path.basename(file, ext), suffix, ext.slice(1)); | ||
} else { | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
else { | ||
if (options.process) { | ||
grunt.log.error('options.process must be a function; ignoring'); | ||
} | ||
|
||
newName = [path.basename(file, ext), suffix, ext.slice(1)].join('.'); | ||
newName = [ | ||
path.basename(file, ext), | ||
suffix, | ||
ext.slice(1) | ||
].join('.'); | ||
} | ||
|
||
var resultPath; | ||
|
@@ -64,7 +70,8 @@ module.exports = function (grunt) { | |
dirname = path.dirname(file); | ||
resultPath = path.resolve(dirname, newName); | ||
fs.renameSync(file, resultPath); | ||
} else { | ||
} | ||
else { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. } else { |
||
dirname = el.dest; | ||
resultPath = path.resolve(dirname, newName); | ||
grunt.file.copy(file, resultPath); | ||
|
@@ -78,7 +85,8 @@ module.exports = function (grunt) { | |
if (grunt.file.exists(map)) { | ||
if (move) { | ||
fs.renameSync(map, resultPath); | ||
} else { | ||
} | ||
else { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. } else { |
||
grunt.file.copy(map, resultPath); | ||
} | ||
sourceMap = true; | ||
|
@@ -101,6 +109,42 @@ module.exports = function (grunt) { | |
next(); | ||
}, this.async()); | ||
|
||
if (options.stripPath) { | ||
// modify filerev summary | ||
var strippedSummary = {}; | ||
|
||
for (var key in filerev.summary) { | ||
if (filerev.summary.hasOwnProperty(key)) { | ||
var src; | ||
var dest; | ||
if (typeof options.stripPath === 'object') { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. var dest;
if (typeof options.stripPath === 'object') { |
||
if (options.stripPath.src) { | ||
src = options.stripPath.src; | ||
} | ||
if (options.stripPath.dest) { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. }
if (options.stripPath.dest) { |
||
dest = options.stripPath.dest; | ||
} | ||
} | ||
else { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
src = options.stripPath; | ||
dest = options.stripPath; | ||
} | ||
var value = filerev.summary[key]; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. }
var value = filerev.summary[key]; |
||
value = value.replace(dest, ''); | ||
key = key.replace(src, ''); | ||
strippedSummary[key] = value; | ||
} | ||
} | ||
|
||
filerev.summary = strippedSummary; | ||
} | ||
|
||
if (options.summaryFilePath) { | ||
// write filerev summary into file | ||
fs.writeFileSync(options.summaryFilePath, JSON.stringify(filerev.summary, null, 4)); | ||
grunt.log.writeln('Filerev summary was stored to ' + options.summaryFilePath); | ||
} | ||
|
||
grunt.filerev = filerev; | ||
}); | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
} catch (err) {