grunt-file-regex-rename

Rename files matching regulaur expression

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
grunt-file-regex-rename
1.0.08 years ago11 years agoMinified + gzip package size for grunt-file-regex-rename in KB

Readme

grunt-file-regex-rename
Replaces strings on files by using string or regex patterns. Attempts to be a String.prototype.replace adapter task for your grunt project.

Getting Started

To install this grunt plugin on your project simply do: npm install grunt-file-regex-rename
Then add this line to your project's Gruntfile.js:
grunt.loadNpmTasks('grunt-file-regex-rename');

Documentation

Configuration

Inside your Gruntfile.js file add a section named fileregexrename. This section specifies the files to rename, destinations, patterns and replacements.

Parameters

files ``object``
This defines what files this task will edit and must follow Gruntfile Files mapping.
options ``object``
This controls how this task operates and should contain key:value pairs, see options below.

Options

replacements ``array``
This option will hold all your pattern/replacement pairs. A pattern/replacement pair should contain key:value pairs containing:
  • pattern ``string` or `regex`
  • replacement `string``

options: {
  replacements: [{
    pattern: /\/(asdf|qwer)\//ig,
    replacement: "'$1'"
  }, {
    pattern: ",",
    replacement: ";"
  }]
}
Note
If the pattern is a string, only the first occurrence will be replaced, as stated on String.prototype.replace.

Config Example

fileregexrename: {
  dist: {
    files: {
      "path/to/directory/": "path/to/source/*", // includes files in dir
      "path/to/directory/": "path/to/source/**", // includes files in dir and subdirs
      "path/to/project-<%= pkg.version %>/": "path/to/source/**", // variables in destination
      "path/to/directory/": ["path/to/sources/*.js", "path/to/more/*.js"], // include JS files in two diff dirs
      "path/to/filename.ext": "path/to/source.ext"
    },
    options: {
      replacements: [{
        pattern: /\/(asdf|qwer)\//ig,
        replacement: "'$1'"
      }, {
        pattern: ",",
        replacement: ";"
      }]
    }
  },
  inline: {
    options: {
      replacements: [
        // place files inline example
      	{
        	pattern: '<script src="js/async.min.js"></script>',
        	replacement: '<script><%= grunt.file.read("path/to/source/js/async.min.js") %></script>'
      	}
      ]
    },
    files: {...}
  }
}

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using gruntgrunt.

Release History

0.1.0 - Initial release.

License

Copyright (c) 2012 Kashif Iqbal Khan. Licensed under the MIT license.