diff options
Diffstat (limited to 'install/ui/util/uglifyjs/uglify-js.js')
-rw-r--r-- | install/ui/util/uglifyjs/uglify-js.js | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/install/ui/util/uglifyjs/uglify-js.js b/install/ui/util/uglifyjs/uglify-js.js new file mode 100644 index 000000000..471c07e9f --- /dev/null +++ b/install/ui/util/uglifyjs/uglify-js.js @@ -0,0 +1,86 @@ +// Modified version of the orignal uglify-js.js. Modified to be runnable +// under rhino by Petr Vobornik, Red Hat +// writeFile(), read() code written by John Resig. + +function uglify(orig_code, options){ + options || (options = {}); + var jsp = uglify.parser; + var pro = uglify.uglify; + + var ast = jsp.parse(orig_code, options.strict_semicolons); // parse code and get the initial AST + ast = pro.ast_mangle(ast, options.mangle_options); // get a new AST with mangled names + ast = pro.ast_squeeze(ast, options.squeeze_options); // get an AST with compression optimizations + var final_code = pro.gen_code(ast, options.gen_options); // compressed code here + return final_code; +}; + +uglify.parser = require("./lib/parse-js"); +uglify.uglify = require("./lib/process"); +uglify.consolidator = require("./lib/consolidator"); + +module.exports = uglify + + +importPackage(java.io); + +function writeFile( file, stream ) { + var buffer = new PrintWriter( new FileWriter( file ) ); + buffer.print( stream ); + buffer.close(); +} + +function read( file ) { + var f = new File(file); + var reader = new BufferedReader(new FileReader(f)); + var line = null; + var buffer = new java.lang.StringBuffer(f.length()); + while( (line = reader.readLine()) != null) { + buffer.append(line); + buffer.append("\n"); + } + return buffer.toString(); +} + +var options = { + ast: false, + consolidate: false, + mangle: true, + mangle_toplevel: false, + no_mangle_functions: false, + squeeze: true, + make_seqs: true, + dead_code: true, + verbose: false, + show_copyright: true, + out_same_file: false, + max_line_length: 32 * 1024, + unsafe: false, + reserved_names: null, + defines: { }, + lift_vars: false, + codegen_options: { + ascii_only: false, + beautify: false, + indent_level: 4, + indent_start: 0, + quote_keys: false, + space_colon: false, + inline_script: false + }, + make: false, + output: true // stdout +}; + +if (arguments.length < 2) { + print('Invalid input\nUsage: uglify inputFile outputFile'); + quit(); +} + +if (arguments.indexOf('-v')) { + print('Uglifying '+arguments[0] +'\nOutput: '+arguments[1]); +} + +//read input file +var input = read(arguments[0]) + ''; +var output = uglify(input, options); +writeFile(arguments[1], output);
\ No newline at end of file |