Merge pull request #12210 from Snuffleupagus/minified-keep-names

Keep the original class/function names when minifying code (issue 12209)
This commit is contained in:
Tim van der Meij 2020-08-16 22:19:30 +02:00 committed by GitHub
commit 9be177d2de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 11 deletions

View File

@ -909,18 +909,30 @@ function parseMinified(dir) {
console.log("### Minifying js files"); console.log("### Minifying js files");
var Terser = require("terser"); var Terser = require("terser");
// V8 chokes on very long sequences. Works around that. var options = {
var optsForHugeFile = { compress: { sequences: false } }; compress: {
// V8 chokes on very long sequences, work around that.
sequences: false,
},
keep_classnames: true,
keep_fnames: true,
};
fs.writeFileSync(dir + "/web/pdf.viewer.js", Terser.minify(viewerFiles).code); fs.writeFileSync(
fs.writeFileSync(dir + "/build/pdf.min.js", Terser.minify(pdfFile).code); dir + "/web/pdf.viewer.js",
Terser.minify(viewerFiles, options).code
);
fs.writeFileSync(
dir + "/build/pdf.min.js",
Terser.minify(pdfFile, options).code
);
fs.writeFileSync( fs.writeFileSync(
dir + "/build/pdf.worker.min.js", dir + "/build/pdf.worker.min.js",
Terser.minify(pdfWorkerFile, optsForHugeFile).code Terser.minify(pdfWorkerFile, options).code
); );
fs.writeFileSync( fs.writeFileSync(
dir + "image_decoders/pdf.image_decoders.min.js", dir + "image_decoders/pdf.image_decoders.min.js",
Terser.minify(pdfImageDecodersFile).code Terser.minify(pdfImageDecodersFile, options).code
); );
console.log(); console.log();

View File

@ -2271,11 +2271,16 @@ class WorkerTransport {
reason = new UnknownErrorException(ex.message, ex.details); reason = new UnknownErrorException(ex.message, ex.details);
break; break;
} }
if ( if (!(reason instanceof Error)) {
typeof PDFJSDev === "undefined" || const msg = "DocException - expected a valid Error.";
PDFJSDev.test("!PRODUCTION || TESTING") if (
) { typeof PDFJSDev === "undefined" ||
assert(reason instanceof Error, "DocException: expected an Error."); PDFJSDev.test("!PRODUCTION || TESTING")
) {
unreachable(msg);
} else {
warn(msg);
}
} }
loadingTask._capability.reject(reason); loadingTask._capability.reject(reason);
}); });