Collect size metrics

This commit is contained in:
kpdecker
2013-08-25 14:14:47 -05:00
parent 672aeda17f
commit ab64fec1a8
2 changed files with 34 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
var _ = require('underscore'),
fs = require('fs');
module.exports = function(grunt, callback) {
var distFiles = fs.readdirSync('dist'),
distSizes = {};
_.each(distFiles, function(file) {
var stat = fs.statSync('dist/' + file);
distSizes[file.replace(/\.js/, '').replace(/\./g, '_')] = stat.size;
});
grunt.log.writeln('Distribution sizes: ' + JSON.stringify(distSizes, undefined, 2));
callback([distSizes]);
};
+19
View File
@@ -0,0 +1,19 @@
var _ = require('underscore'),
templates = require('./templates');
module.exports = function(grunt, callback) {
// Deferring to here in case we have a build for parser, etc as part of this grunt exec
var Handlebars = require('../lib/handlebars');
var templateSizes = {};
_.each(templates, function(info, template) {
var src = info.handlebars,
compiled = Handlebars.precompile(src, {}),
knownHelpers = Handlebars.precompile(src, {knownHelpersOnly: true, knownHelpers: info.helpers});
templateSizes[template] = compiled.length;
templateSizes['knownOnly_' + template] = knownHelpers.length;
});
grunt.log.writeln('Precompiled sizes: ' + JSON.stringify(templateSizes, undefined, 2));
callback([templateSizes]);
};