mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
60 lines
1.9 KiB
JavaScript
60 lines
1.9 KiB
JavaScript
var https = require('https'),
|
|
zlib = require('zlib'),
|
|
path = require('path'),
|
|
fs = require('fs');
|
|
|
|
var stable = '1.7.1',
|
|
done;
|
|
|
|
function getVersion(path, cb) {
|
|
var data = '',
|
|
|
|
req = https.request({
|
|
host: 'raw.github.com',
|
|
port: 443,
|
|
path: '/timrwood/moment/' + path
|
|
}, function (res) {
|
|
res.setEncoding('utf8');
|
|
res.on('data', function (chunk) {
|
|
data += chunk;
|
|
});
|
|
res.on('end', function (e) {
|
|
zlib.gzip(data, function (error, result) {
|
|
cb(data.length, result.length);
|
|
});
|
|
});
|
|
});
|
|
req.on('error', function (e) {
|
|
console.log('problem with request: ' + e.message);
|
|
});
|
|
req.end();
|
|
}
|
|
|
|
function printDiffs(stableLen, stableGzip, currentLen, currentGzip) {
|
|
var diff = currentLen - stableLen,
|
|
gzipDiff = currentGzip - stableGzip;
|
|
|
|
console.log('Filesize difference from current branch to ' + stable);
|
|
console.log(stable + ' ' + stableLen + ' / ' + stableGzip);
|
|
console.log('curr ' + currentLen + ' / ' + currentGzip);
|
|
console.log('diff ' + (diff > 0 ? '+' : '') + diff);
|
|
console.log('gzip ' + (gzipDiff > 0 ? '+' : '') + gzipDiff);
|
|
}
|
|
|
|
|
|
module.exports = function (grunt) {
|
|
grunt.registerTask('size', 'Check the codebase filesize against the latest stable version.', function () {
|
|
done = this.async();
|
|
fs.readFile(path.normalize(__dirname + '/../min/moment.min.js'), 'utf8', function (err, data) {
|
|
if (err) {
|
|
throw err;
|
|
}
|
|
zlib.gzip(data, function (error, result) {
|
|
getVersion(stable + '/min/moment.min.js', function (stableLength, stableGzipLength) {
|
|
printDiffs(stableLength, stableGzipLength, data.length, result.length);
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
});
|
|
}; |