Skip to content

Commit

Permalink
Use uglify-es instead of uglify-js
Browse files Browse the repository at this point in the history
  • Loading branch information
fusion2004 committed Jun 9, 2017
1 parent 1cbcb00 commit a8e2035
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 103 deletions.
25 changes: 15 additions & 10 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var walkSync = require('walk-sync');
var Plugin = require('broccoli-plugin');
var UglifyJS = require('uglify-js');
var UglifyJS = require('uglify-es');
var path = require('path');
var fs = require('fs');
var merge = require('lodash.merge');
Expand Down Expand Up @@ -99,30 +99,35 @@ UglifyWriter.prototype.processFile = function(inFile, outFile, relativePath, out
var src = fs.readFileSync(inFile, 'utf-8');
var mapName = path.basename(outFile).replace(/\.js$/,'') + '.map';
var mapDir;
var origSourcesContent;

if (this.sourceMapConfig.mapDir) {
mapDir = path.join(outDir, this.sourceMapConfig.mapDir);
} else {
mapDir = path.dirname(path.join(outDir, relativePath));
}

var sourceMapOptions = {
includeSources: this.options.sourceMapIncludeSources,
filename: inFile,
url: this.mapURL(mapName)
};

var opts = {
fromString: true,
outSourceMap: this.mapURL(mapName),
enableSourcemaps: this.enableSourcemaps()
compress: this.options.compress,
mangle: this.options.mangle,
sourceMap: this.enableSourcemaps() ? sourceMapOptions : false
};

if (opts.enableSourcemaps && srcURL.existsIn(src)) {
if (this.enableSourcemaps() && srcURL.existsIn(src)) {
var url = srcURL.getFrom(src);
opts.inSourceMap = path.join(path.dirname(inFile), url);
origSourcesContent = JSON.parse(fs.readFileSync(opts.inSourceMap)).sourcesContent;
opts.sourceMap.content = JSON.parse(fs.readFileSync(path.join(path.dirname(inFile), url)));
}

try {
var start = new Date();
debug('[starting]: %s %dKB', relativePath, (src.length / 1000));
var result = UglifyJS.minify(src, merge(opts, this.options));
var result = UglifyJS.minify(src, opts, this.options);
if (result.error) throw result.error;
var end = new Date();
var total = end - start;
debug('[finished]: %s %dKB in %dms', relativePath, (result.code.length / 1000), total);
Expand All @@ -137,7 +142,7 @@ UglifyWriter.prototype.processFile = function(inFile, outFile, relativePath, out
throw e;
}

if (opts.enableSourcemaps) {
if (this.enableSourcemaps()) {
var newSourceMap = JSON.parse(result.map);

// uglify is wrong about this and always puts the maps own name
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
"mkdirp": "^0.5.0",
"source-map-url": "^0.3.0",
"symlink-or-copy": "^1.0.1",
"uglify-js": "^2.7.0",
"uglify-es": "^3.0.15",
"walk-sync": "^0.1.3"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion test/expected/no-upstream-sourcemap.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion test/expected/no-upstream-sourcemap.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion test/expected/with-upstream-sourcemap.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion test/expected/with-upstream-sourcemap.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

94 changes: 6 additions & 88 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,6 @@
# yarn lockfile v1


align-text@^0.1.1, align-text@^0.1.3:
version "0.1.4"
resolved "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
dependencies:
kind-of "^3.0.2"
longest "^1.0.1"
repeat-string "^1.5.2"

amdefine@>=0.0.4:
version "1.0.1"
resolved "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
Expand Down Expand Up @@ -86,32 +78,13 @@ bytes@1, bytes@1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8"

camelcase@^1.0.2:
version "1.2.1"
resolved "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"

center-align@^0.1.1:
version "0.1.3"
resolved "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
dependencies:
align-text "^0.1.3"
lazy-cache "^1.0.3"

chai@^1.10.0:
version "1.10.0"
resolved "https://registry.npmjs.org/chai/-/chai-1.10.0.tgz#e4031cc87654461a75943e5a35ab46eaf39c1eb9"
dependencies:
assertion-error "1.0.0"
deep-eql "0.1.3"

cliui@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
dependencies:
center-align "^0.1.1"
right-align "^0.1.1"
wordwrap "0.0.2"

commander@0.6.1:
version "0.6.1"
resolved "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz#fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06"
Expand All @@ -120,7 +93,7 @@ commander@2.3.0:
version "2.3.0"
resolved "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873"

commander@^2.0.0:
commander@^2.0.0, commander@~2.9.0:
version "2.9.0"
resolved "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
dependencies:
Expand Down Expand Up @@ -161,10 +134,6 @@ debug@~2.0.0:
dependencies:
ms "0.6.2"

decamelize@^1.0.0:
version "1.2.0"
resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"

deep-eql@0.1.3:
version "0.1.3"
resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2"
Expand Down Expand Up @@ -281,27 +250,13 @@ inherits@2:
version "2.0.3"
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"

is-buffer@^1.0.2:
version "1.1.4"
resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b"

jade@0.26.3:
version "0.26.3"
resolved "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz#8f10d7977d8d79f2f6ff862a81b0513ccb25686c"
dependencies:
commander "0.6.1"
mkdirp "0.3.0"

kind-of@^3.0.2:
version "3.1.0"
resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47"
dependencies:
is-buffer "^1.0.2"

lazy-cache@^1.0.3:
version "1.0.4"
resolved "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"

livereload-js@^2.2.0:
version "2.2.2"
resolved "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz#6c87257e648ab475bc24ea257457edcc1f8d0bc2"
Expand All @@ -314,10 +269,6 @@ lodash@~2.4.1:
version "2.4.2"
resolved "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz#fadd834b9683073da179b3eae6d9c0d15053f73e"

longest@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"

lru-cache@2:
version "2.7.3"
resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952"
Expand Down Expand Up @@ -465,16 +416,6 @@ raw-body@1.3.0:
bytes "1"
iconv-lite "0.4.4"

repeat-string@^1.5.2:
version "1.6.1"
resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"

right-align@^0.1.1:
version "0.1.3"
resolved "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
dependencies:
align-text "^0.1.1"

rimraf@^2.3.4:
version "2.5.4"
resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
Expand Down Expand Up @@ -505,7 +446,7 @@ source-map@~0.1.7:

source-map@~0.5.1:
version "0.5.6"
resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"

statuses@~1.3.0:
version "1.3.1"
Expand Down Expand Up @@ -545,14 +486,12 @@ type-is@~1.5.1:
media-typer "0.3.0"
mime-types "~2.0.9"

uglify-js@^2.7.0:
version "2.7.5"
resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8"
uglify-es@^3.0.15:
version "3.0.15"
resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.0.15.tgz#4a23d0e9cb5f25f7bb3f1f0bbe0bb364e600d047"
dependencies:
async "~0.2.6"
commander "~2.9.0"
source-map "~0.5.1"
uglify-to-browserify "~1.0.0"
yargs "~3.10.0"

uglify-js@~2.3:
version "2.3.6"
Expand All @@ -562,10 +501,6 @@ uglify-js@~2.3:
optimist "~0.3.5"
source-map "~0.1.7"

uglify-to-browserify@~1.0.0:
version "1.0.2"
resolved "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"

underscore.string@~2.3.3:
version "2.3.3"
resolved "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz#71c08bf6b428b1133f37e78fa3a21c82f7329b0d"
Expand All @@ -592,27 +527,10 @@ websocket-extensions@>=0.1.1:
version "0.1.1"
resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7"

window-size@0.1.0:
version "0.1.0"
resolved "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"

wordwrap@0.0.2:
version "0.0.2"
resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"

wordwrap@~0.0.2:
version "0.0.3"
resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"

wrappy@1:
version "1.0.2"
resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"

yargs@~3.10.0:
version "3.10.0"
resolved "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
dependencies:
camelcase "^1.0.2"
cliui "^2.1.0"
decamelize "^1.0.0"
window-size "0.1.0"

0 comments on commit a8e2035

Please sign in to comment.