gulp-bytediff
Compare file sizes before and after your gulp build process.
Install
With npm do:
npm install gulp-bytediff --save-dev
Example
Take any gulp plugin, or series of gulp plugins, & see how much the build process impacted the file size. This example shows how much gulp-cssnano optimized a CSS file:
var gulp = require('gulp');
var bytediff = require('gulp-bytediff');
var cssnano = require('gulp-cssnano');
gulp.task('default', function() {
gulp.src('main.css')
.pipe(bytediff.start())
.pipe(cssnano())
.pipe(bytediff.stop())
.pipe(gulp.dest('./out'));
});
API
bytediff.start() or bytediff()
Creates a new property on the file object that saves its current size.
bytediff.stop(formatFunction)
Outputs the difference between the property saved with the start()
method
and the current file size.
Customise the output of this by using the format function. An example:
// ...
.pipe(bytediff.stop(function(data) {
var difference = (data.savings > 0) ? ' smaller.' : ' larger.';
return data.fileName + ' is ' + data.percent + '%' + difference;
}))
.pipe(gulp.dest('./out'));
The function gets passed an object with the following properties:
- fileName
- startSize
- endSize
- savings
- percent
Contributing
Pull requests are welcome. If you add functionality, then please add unit tests to cover it.
License
MIT © Ben Briggs