summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorkpdecker <kpdecker@gmail.com>2011-08-22 00:15:06 -0500
committerkpdecker <kpdecker@gmail.com>2011-08-22 00:15:06 -0500
commit48726c7feddbcc8f9dd78e3b71ca5a9acf6391f1 (patch)
treef9cb230eb56060668a5781d21f1e27845b9e9a09 /bin
parent47c5cd71ea408ada4efec9598d48168000eb91b0 (diff)
downloadhandlebars.js-48726c7feddbcc8f9dd78e3b71ca5a9acf6391f1.zip
handlebars.js-48726c7feddbcc8f9dd78e3b71ca5a9acf6391f1.tar.gz
handlebars.js-48726c7feddbcc8f9dd78e3b71ca5a9acf6391f1.tar.bz2
Minimize js commandline option
Diffstat (limited to 'bin')
-rwxr-xr-xbin/handlebars15
1 files changed, 14 insertions, 1 deletions
diff --git a/bin/handlebars b/bin/handlebars
index b79933e..a90a364 100755
--- a/bin/handlebars
+++ b/bin/handlebars
@@ -16,6 +16,11 @@ var optimist = require('optimist')
'type': 'boolean',
'description': 'Known helpers only',
'alias': 'knownOnly'
+ },
+ 'm': {
+ 'type': 'boolean',
+ 'description': 'Minimize output',
+ 'alias': 'min'
}
})
@@ -32,7 +37,8 @@ var optimist = require('optimist')
});
var fs = require('fs'),
- handlebars = require('../lib/handlebars');
+ handlebars = require('../lib/handlebars'),
+ uglify = require('uglify-js');
var argv = optimist.argv,
template = argv._[0];
@@ -60,6 +66,13 @@ fs.readFile(template, 'utf8', function(err, data) {
};
var output = 'Handlebars.template(' + handlebars.precompile(data, options) + ')';
+ if (argv.min) {
+ var ast = uglify.parser.parse(output);
+ ast = uglify.uglify.ast_mangle(ast);
+ ast = uglify.uglify.ast_squeeze(ast);
+ output = uglify.uglify.gen_code(ast);
+ }
+
if (argv.output) {
fs.writeFileSync(argv.output, output, 'utf8');
} else {