diff options
author | kpdecker <kpdecker@gmail.com> | 2011-08-22 00:15:06 -0500 |
---|---|---|
committer | kpdecker <kpdecker@gmail.com> | 2011-08-22 00:15:06 -0500 |
commit | 48726c7feddbcc8f9dd78e3b71ca5a9acf6391f1 (patch) | |
tree | f9cb230eb56060668a5781d21f1e27845b9e9a09 /bin | |
parent | 47c5cd71ea408ada4efec9598d48168000eb91b0 (diff) | |
download | handlebars.js-48726c7feddbcc8f9dd78e3b71ca5a9acf6391f1.zip handlebars.js-48726c7feddbcc8f9dd78e3b71ca5a9acf6391f1.tar.gz handlebars.js-48726c7feddbcc8f9dd78e3b71ca5a9acf6391f1.tar.bz2 |
Minimize js commandline option
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/handlebars | 15 |
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 { |