diff --git a/lib/grunt-text-replace.js b/lib/grunt-text-replace.js index 6220456..6f77a94 100644 --- a/lib/grunt-text-replace.js +++ b/lib/grunt-text-replace.js @@ -1,10 +1,14 @@ var grunt = require('grunt'); var path = require('path'); var gruntTextReplace = {}; +var filesReplaced; +var strsReplaced; exports.replace = function (settings) { gruntTextReplace.replace(settings); + filesReplaced = 0; + strsReplaced = 0; } exports.replaceText = function (settings) { @@ -46,6 +50,7 @@ gruntTextReplace = { if (isReplacementRequired) { grunt.file.copy(pathToSourceFile, pathToDestinationFile, { process: function (text) { + filesReplaced++; return gruntTextReplace.replaceTextMultiple(text, replacements); } }); @@ -66,6 +71,7 @@ gruntTextReplace = { var text = settings.text; var from = this.convertPatternToRegex(settings.from); var to = this.expandReplacement(settings.to); + strsReplaced += (text.match(from) || []).length return text.replace(from, to); }, @@ -95,6 +101,7 @@ gruntTextReplace = { dest: dest, replacements: replacements }); + grunt.log.oklns("Replaced " + strsReplaced + " occurences in " + filesReplaced + " files."); } }, diff --git a/tasks/text-replace.js b/tasks/text-replace.js index 84daa07..add27fb 100644 --- a/tasks/text-replace.js +++ b/tasks/text-replace.js @@ -19,8 +19,13 @@ module.exports = function(grunt) { 'General purpose text replacement for grunt. Allows you to replace ' + 'text in files using strings, regexs or functions.', function () { + var srcs = this.data.src; + if (!srcs && this.data.files) + srcs = Array.prototype.concat.apply([], this.data.files.map(function(filesHash){ + return filesHash.src + })); gruntTextReplace.replace({ - src: this.data.src, + src: srcs, dest: this.data.dest, overwrite: this.data.overwrite, replacements: this.data.replacements