mirror of
https://github.com/tauri-apps/tauri-inliner.git
synced 2026-02-10 05:11:20 +01:00
- Update svgo promise - Update UglifyJS to v3 - Update deprecated `Buffer()` use - Fix `headers` 404 test
44 lines
980 B
JavaScript
44 lines
980 B
JavaScript
module.exports = uglify;
|
|
|
|
var debug = require('debug')('inliner');
|
|
var UglifyJS = require('uglify-js');
|
|
|
|
function uglify(source) {
|
|
var IESafe = this.options.iesafe;
|
|
|
|
this.emit('progress', 'compressing javascript');
|
|
|
|
source = source.trim();
|
|
|
|
if (source === '') {
|
|
this.jobs.done.js();
|
|
return '';
|
|
}
|
|
|
|
debug('uglifying %sbytes', source.length);
|
|
|
|
var result = '';
|
|
|
|
try {
|
|
result = UglifyJS.minify(source, {
|
|
// must set screw_ie8 for each option group
|
|
// https://github.com/mishoo/UglifyJS2/issues/1204#issuecomment-234714094
|
|
// jscs:disable requireCamelCaseOrUpperCaseIdentifiers
|
|
compress: { ie8: IESafe },
|
|
mangle: { ie8: IESafe },
|
|
output: { ie8: IESafe },
|
|
// jscs:enable requireCamelCaseOrUpperCaseIdentifiers
|
|
}).code;
|
|
if(!result){
|
|
throw Error("Code uglify error")
|
|
}
|
|
} catch (e) {
|
|
// failed to uglify, just return it plain
|
|
result = source;
|
|
}
|
|
|
|
this.jobs.done.js();
|
|
|
|
return result;
|
|
}
|