Minimize js commandline option

This commit is contained in:
kpdecker
2011-08-22 00:15:06 -05:00
parent 47c5cd71ea
commit 48726c7fed
2 changed files with 16 additions and 2 deletions
+14 -1
View File
@@ -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 {
+2 -1
View File
@@ -9,7 +9,8 @@
"node": ">=0.4.7"
},
"dependencies": {
"optimist": "~0.2"
"optimist": "~0.2",
"uglify": "~1.0"
},
"devDependencies": {},
"bin": {