summaryrefslogtreecommitdiffstats
path: root/install/ui/util/uglifyjs/uglify-js.js
diff options
context:
space:
mode:
Diffstat (limited to 'install/ui/util/uglifyjs/uglify-js.js')
-rw-r--r--install/ui/util/uglifyjs/uglify-js.js86
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