@y-a-v-a/grunt-commenthash
v0.1.1
Published
Calculates a unique hash for a file and adds it to the file as inline comment. Can be used for file comparison between cached environments.
Downloads
394
Readme
@y-a-v-a/grunt-commenthash
Calculates a unique hash of a file. This hash will be added as a comment to javascript, CSS, PHP and HTML files.
Getting Started
This plugin requires Grunt ^1.5.0
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 @y-a-v-a/grunt-commenthash --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-commmenthash');
Documentation
grunt.initConfig({
commenthash: {
options: {
hashLength: 8, // hash length, the max value depends on your hash function
hashFunction: function (source, encoding) {
// default is md5
return require('crypto').createHash('sha1').update(source, encoding).digest('hex');
},
footer: '<%= grunt.template.today("yyyy-mm-dd") %> - <%= commenthash.value %>', // Comment text template
banner: false, // Can be true, false, a string or a function that returns a template/boolean. Function retrieves some metadata.
},
expand: true,
cwd: 'src/',
src: '**/*.js',
dest: 'dist/',
},
});
grunt.loadNpmTasks('grunt-commenthash');
Configuration follow the multi-task standard configuration format: http://gruntjs.com/configuring-tasks
grunt.initConfig({
commenthash: {
options: {
footer: false,
banner: function (data) {
if (data.src === 'src/test1.js') {
return 'test1 - <%= commenthash.value %>';
} else {
return true;
}
},
},
expand: true,
cwd: 'src/',
src: '**/*.js',
dest: 'dist/',
},
});
grunt.loadNpmTasks('grunt-commenthash');
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Test your code using grunt.
License
Based on the hard work of grunt-hash creator Greg Allen: https://github.com/jgallen23/grunt-hash
Copyright (c) 2014 Meinaart van Straalen Licensed under the MIT license.