Skip to content

Commit 3a40a2a

Browse files
committed
feat(pack): 将 uglify-js 升级到 uglify-js2
1 parent 932a93e commit 3a40a2a

File tree

4 files changed

+22
-22
lines changed

4 files changed

+22
-22
lines changed

lib/modules/minWorker.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
var path = require('path');
44
var fs = require('fs');
55
var crypto = require('crypto');
6-
var jsParser = require('uglify-js').parser;
7-
var jsUglify = require('uglify-js').uglify;
6+
var UglifyJS = require('uglify-js');
87
var cssUglify = require('uglifycss');
98
var extend = require('extend');
109

@@ -25,17 +24,18 @@ process.on('message', function (m) {
2524
// variable name mangling
2625
var willMangle = true;
2726
var uglifyjsOpts = buildOpts.uglifyjs || {};
28-
var isCliArgvCloseMangle = typeof opt.min === 'string' && opt.min.split('=')[0] === 'mangle' && opt.min.split('=')[1] === 'false';
2927
var isBuildOptsCloseMangle = uglifyjsOpts.mangle === false;
30-
if (isCliArgvCloseMangle || isBuildOptsCloseMangle) {
28+
var isCliArgvCloseMangle = typeof opt.min === 'string' && opt.min.split('=')[0] === 'mangle' && opt.min.split('=')[1] === 'false';
29+
if (isBuildOptsCloseMangle || isCliArgvCloseMangle) {
3130
willMangle = false;
3231
}
3332

3433
try {
35-
var ast = jsParser.parse(content);
36-
ast = willMangle ? jsUglify.ast_mangle(ast, uglifyjsOpts.mangle) : ast;
37-
ast = uglifyjsOpts.squeeze ? jsUglify.ast_squeeze(ast, uglifyjsOpts.squeeze) : ast;
38-
minifiedCode = jsUglify.gen_code(ast, uglifyjsOpts.genCode);
34+
var minifyResult = UglifyJS.minify(content, extend({
35+
fromString: true,
36+
mangle: willMangle
37+
}, uglifyjsOpts));
38+
minifiedCode = minifyResult.code;
3939
} catch (e) {
4040
response.error = extend(true, e, { assetName: assetName });
4141
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
"shelljs": "^0.7.5",
5454
"style-loader": "^0.13.1",
5555
"through2": "^2.0.1",
56-
"uglify-js": "^1.3.5",
56+
"uglify-js": "2.7.5",
5757
"uglifycss": "0.0.25",
5858
"webpack": "1.14.0",
5959
"webpack-dev-middleware": "1.9.0",

src/modules/minWorker.js

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
const path = require('path');
22
const fs = require('fs');
33
const crypto = require('crypto');
4-
const jsParser = require('uglify-js').parser;
5-
const jsUglify = require('uglify-js').uglify;
4+
const UglifyJS = require('uglify-js');
65
const cssUglify = require('uglifycss');
76
const extend = require('extend');
87

@@ -23,17 +22,22 @@ process.on('message', function(m) {
2322
// variable name mangling
2423
let willMangle = true;
2524
const uglifyjsOpts = buildOpts.uglifyjs || {};
26-
const isCliArgvCloseMangle = typeof opt.min === 'string' && opt.min.split('=')[0] === 'mangle' && opt.min.split('=')[1] === 'false';
2725
const isBuildOptsCloseMangle = uglifyjsOpts.mangle === false;
28-
if (isCliArgvCloseMangle || isBuildOptsCloseMangle) {
26+
const isCliArgvCloseMangle = typeof opt.min === 'string' && opt.min.split('=')[0] === 'mangle'
27+
&& opt.min.split('=')[1] === 'false';
28+
if (isBuildOptsCloseMangle || isCliArgvCloseMangle) {
2929
willMangle = false;
3030
}
3131

3232
try {
33-
let ast = jsParser.parse(content);
34-
ast = willMangle ? jsUglify.ast_mangle(ast, uglifyjsOpts.mangle) : ast;
35-
ast = uglifyjsOpts.squeeze ? jsUglify.ast_squeeze(ast, uglifyjsOpts.squeeze) : ast;
36-
minifiedCode = jsUglify.gen_code(ast, uglifyjsOpts.genCode);
33+
const minifyResult = UglifyJS.minify(content, extend(
34+
{
35+
fromString: true,
36+
mangle: willMangle
37+
},
38+
uglifyjsOpts
39+
));
40+
minifiedCode = minifyResult.code;
3741
} catch(e) {
3842
response.error = extend(true, e, {assetName: assetName});
3943
}

yarn.lock

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5096,7 +5096,7 @@ typedarray@~0.0.5:
50965096
version "0.0.6"
50975097
resolved "https://registry.npm.taobao.orgtypedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
50985098

5099-
uglify-js@2.7.x, uglify-js@^2.6, uglify-js@~2.7.3:
5099+
uglify-js@2.7.5, uglify-js@2.7.x, uglify-js@^2.6, uglify-js@~2.7.3:
51005100
version "2.7.5"
51015101
resolved "https://registry.npm.taobao.orguglify-js/download/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8"
51025102
dependencies:
@@ -5105,10 +5105,6 @@ uglify-js@2.7.x, uglify-js@^2.6, uglify-js@~2.7.3:
51055105
uglify-to-browserify "~1.0.0"
51065106
yargs "~3.10.0"
51075107

5108-
uglify-js@^1.3.5:
5109-
version "1.3.5"
5110-
resolved "https://registry.npm.taobao.orguglify-js/download/uglify-js-1.3.5.tgz#4b5bfff9186effbaa888e4c9e94bd9fc4c94929d"
5111-
51125108
uglify-to-browserify@~1.0.0:
51135109
version "1.0.2"
51145110
resolved "https://registry.npm.taobao.orguglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"

0 commit comments

Comments
 (0)