mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2024-12-30 10:47:08 -06:00
8c59ddbcbe
Uglify.js library was included in ui/util folder. A wrapper script util/uglifyjs/uglify was created to run Uglify.js in Rhino enviroment. https://fedorahosted.org/freeipa/ticket/112
86 lines
2.3 KiB
JavaScript
86 lines
2.3 KiB
JavaScript
// 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); |