grunt-hash
Append a unique hash to the end of a filename for cache busting. For example:
examples/test1.js => examples/dist/test1.b93fd451.js
##Grunt 0.4
This task now depends on grunt 0.4.x. Please see the grunt 0.3 to 0.4 migration guide for more details.
If you are still using grunt 0.3, please install grunt-hash 0.1x
Getting Started
Install this grunt plugin next to your project's grunt.js gruntfile with: npm install grunt-hash
Then add this line to your project's grunt.js
gruntfile:
grunt.loadNpmTasks('grunt-hash');
Documentation
grunt.initConfig({
hash: {
options: {
mapping: 'examples/assets.json',
srcBasePath: 'examples/',
destBasePath: 'out/',
flatten: false,
hashLength: 8,
hashFunction: function(source, encoding){
return require('crypto').createHash('sha1').update(source, encoding).digest('hex');
}
},
js: {
src: 'examples/*.js',
dest: 'examples/dist/js/'
},
css: {
src: 'examples/*.css',
dest: 'examples/dist/css/'
}
}
});
grunt.loadNpmTasks('grunt-hash');
Configuration follow the multi-task standard configuration format: http://gruntjs.com/configuring-tasks
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 grunt.
License
Copyright (c) 2012 Greg Allen
Licensed under the MIT license.