grunt-pkgrev

Asset revisioning using package.json (or other) version property. Creates revmap.json file for usemin.

grunt-pkgrev

Asset revisioning using package.json (or other) version property. Creates revmap.json file for usemin.

This plugin requires Grunt ~0.4.2

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-pkgrev --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-pkgrev');

In your project's Gruntfile, add a section named pkgrev to the data object passed into grunt.initConfig().

grunt.initConfig({
  pkgrev: {
      all_options: {
        options: {
          'revmap': 'test/output/all/revmap.json',
          'vfile':  'version.json'
        },
        files: {
          'all': ['test/output/all/assets/**/*'],
          'vfile':  'version.json'
        },
      },
      only_options: {
        options: {
          'revmap': 'test/output/only/revmap.json',
          'vfile':  'version.json'
        },
        files: {
          'only': ['test/output/only/assets/**/*.{css,js,jpg}'],
        },
      },
      all_except_options: {
        options: {
          'revmap': 'test/output/except/revmap.json',
          'vfile':  'version.json'
        },
        files: {
          'except': ['test/output/except/assets/**/*', '!test/output/except/**/*.{png,jpg}'],
        },
      },
    }
});

Type: String Default value: 'revmap.json'

The path where you want to save the generated revmap.json file. The default is in the project root.

Type: String Default value: 'package.json'

Version File. The file with the version property to use for revision.

Type: String | Array

The files you want to rev. Currently this is a destructive operation. Use in conjunction with copy or similar to move original files. Typically you would rev after is said and done inside the distribution directory. See the Gruntfile.js for sample flow working with grunt-contrib-copy, grunt-bump and grunt-usemin.

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 Grunt.

  • 2014-03-08: 1.4.0 - Added support for specifying the file to use the version property.
  • 2014-03-07: 1.3.7 - Initial Release (Just because I forgot to reset the version number after testing).

Contribute, Comment, Fork, Enjoy!