gulp-cachebust
IMPORTANT! This project is not being actively maintained. So use it at your own risk. I am open to collaboration. So feel free to open your pull requests with fixes and improvements.
Generates checksums and renames references to files
Useful for cachebusting
This plugin is only compatible with files that contain a stream, it only works in buffer mode.
This is the new repository for gulp-cachebust plugin. The plugin was originaly created by Josiah Truasheim and it has been transfered to this new repository (link to the previous one). Development will continue in this repository.
Install
Install with npm
npm install --save-dev gulp-cachebust
Example
var gulp = require('gulp');
var CacheBuster = require('gulp-cachebust');
var cachebust = new CacheBuster();
gulp.task('build-css', function () {
return gulp.src('styles/*.css')
// Awesome css stuff
.pipe(cachebust.resources())
.pipe(gulp.dest('dist/css'));
});
gulp.task('build-html', ['build-css'], function () {
return gulp.src('templates/*')
// Awesome html stuff
.pipe(cachebust.references())
.pipe(gulp.dest('dist'));
});
API
new CacheBuster(options)
options.checksumLength
Optional
Type: Number
Default: 8
options.random
Generates the checksum based on a random sha1 hash and not on the file contents.
Useful for changing the file names on each deploy regardless if the content was changed or not.
Optional
Type: Boolean
Default: false
options.pathFormatter
Specify a custom formatting function for busted paths. The default will output
filenames like /path/to/basename.[hash].ext
.
Optional
Type: Function
Default: null
An example for outputing a custom hash prefix:
{
pathFormatter: function(dirname, basename, extname, checksum) {
return require('path').join(dirname, basename + '._v' + checksum + extname);
}
}
CacheBuster.resources()
Renames and collects resources according to their MD5 checksum.
CacheBuster.references()
Rewrites references to resources which have been renamed according to their MD5 checksum.
License
MIT © Josiah Truasheim