1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-25 09:38:06 +02:00

Use UglifyJS to minify files in minified target

It is written in JavaScript, is less buggy, and compresses better.
This commit is contained in:
Timothy Gu 2015-06-30 21:47:15 -07:00
parent 5d797e1a85
commit e403f52722
2 changed files with 12 additions and 19 deletions

30
make.js
View file

@ -652,15 +652,9 @@ function cleanupCSSSource(file) {
//
// make minified
// Builds the minified production viewer that should be compatible with most
// modern HTML5 browsers. Requires Google Closure Compiler.
// modern HTML5 browsers.
//
target.minified = function() {
var compilerPath = process.env['CLOSURE_COMPILER'];
if (!compilerPath) {
echo('### Closure Compiler is not set. Specify CLOSURE_COMPILER variable');
exit(1);
}
target.bundle({});
target.locale();
@ -703,22 +697,20 @@ target.minified = function() {
MINIFIED_DIR + BUILD_DIR + 'pdf.js',
MINIFIED_DIR + '/web/viewer.js'
];
var cmdPrefix = 'java -jar \"' + compilerPath + '\" ' +
'--language_in ECMASCRIPT5 ' +
'--warning_level QUIET ' +
'--compilation_level SIMPLE_OPTIMIZATIONS ';
echo();
echo('### Minifying js files');
exec(cmdPrefix + viewerFiles.map(function(s) {
return '--js \"' + s + '\"';
}).join(' ') +
' --js_output_file \"' + MINIFIED_DIR + '/web/pdf.viewer.js\"');
exec(cmdPrefix + '--js \"' + MINIFIED_DIR + '/build/pdf.js' + '\" ' +
'--js_output_file \"' + MINIFIED_DIR + '/build/pdf.min.js' + '\"');
exec(cmdPrefix + '--js \"' + MINIFIED_DIR + '/build/pdf.worker.js' + '\" ' +
'--js_output_file \"' + MINIFIED_DIR + '/build/pdf.worker.min.js' + '\"');
var UglifyJS = require('uglify-js');
// V8 chokes on very long sequences. Works around that.
var optsForHugeFile = {compress: {sequences: false}};
UglifyJS.minify(viewerFiles).code
.to(MINIFIED_DIR + '/web/pdf.viewer.js');
UglifyJS.minify(MINIFIED_DIR + '/build/pdf.js').code
.to(MINIFIED_DIR + '/build/pdf.min.js');
UglifyJS.minify(MINIFIED_DIR + '/build/pdf.worker.js', optsForHugeFile).code
.to(MINIFIED_DIR + '/build/pdf.worker.min.js');
echo();
echo('### Cleaning js files');