From 8ff00a26e827dcd11f4b2155ca01f9c9c8d01d1e Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Sat, 27 May 2017 13:36:20 -0400 Subject: [PATCH] Upgrade uglify-js to version 3.0.12. Fixes #8704. --- History.md | 3 + .../.npm/package/npm-shrinkwrap.json | 85 +++---------------- packages/minifier-js/minifier.js | 12 ++- packages/minifier-js/package.js | 4 +- 4 files changed, 24 insertions(+), 80 deletions(-) diff --git a/History.md b/History.md index 27317d04b8..e57b31586a 100644 --- a/History.md +++ b/History.md @@ -43,6 +43,9 @@ * The `install` npm package has been upgraded to version 0.10.1. +* The `uglify-js` npm package has been upgraded to version 3.0.12, fixing + [#8704](https://github.com/meteor/meteor/issues/8704). + * If you're using the `standard-minifier-js` Meteor package, as most Meteor developers do, it will now produce a detailed analysis of package and module sizes within your production `.js` bundle whenever you run diff --git a/packages/minifier-js/.npm/package/npm-shrinkwrap.json b/packages/minifier-js/.npm/package/npm-shrinkwrap.json index d8ce156456..dede59a0fe 100644 --- a/packages/minifier-js/.npm/package/npm-shrinkwrap.json +++ b/packages/minifier-js/.npm/package/npm-shrinkwrap.json @@ -1,59 +1,14 @@ { "dependencies": { - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "from": "align-text@>=0.1.3 <0.2.0" + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "from": "commander@>=2.9.0 <2.10.0" }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "from": "camelcase@>=1.0.2 <2.0.0" - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "from": "center-align@>=0.1.1 <0.2.0" - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "from": "cliui@>=2.1.0 <3.0.0" - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "from": "decamelize@>=1.0.0 <2.0.0" - }, - "is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "from": "is-buffer@>=1.0.2 <2.0.0" - }, - "kind-of": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz", - "from": "kind-of@>=3.0.2 <4.0.0" - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "from": "lazy-cache@>=1.0.3 <2.0.0" - }, - "longest": { + "graceful-readlink": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "from": "longest@>=1.0.1 <2.0.0" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "from": "repeat-string@>=1.5.2 <2.0.0" - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "from": "right-align@>=0.1.1 <0.2.0" + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "from": "graceful-readlink@>=1.0.0" }, "source-map": { "version": "0.5.6", @@ -61,29 +16,9 @@ "from": "source-map@>=0.5.1 <0.6.0" }, "uglify-js": { - "version": "2.8.21", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.21.tgz", - "from": "uglify-js@2.8.21" - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "from": "uglify-to-browserify@>=1.0.0 <1.1.0" - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "from": "window-size@0.1.0" - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "from": "wordwrap@0.0.2" - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "from": "yargs@>=3.10.0 <3.11.0" + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.0.12.tgz", + "from": "uglify-js@3.0.12" } } } diff --git a/packages/minifier-js/minifier.js b/packages/minifier-js/minifier.js index 56f0ef7414..806c88e3ab 100644 --- a/packages/minifier-js/minifier.js +++ b/packages/minifier-js/minifier.js @@ -5,14 +5,20 @@ meteorJsMinify = function (source) { uglify = uglify || Npm.require("uglify-js"); try { - result.code = uglify.minify(source, { - fromString: true, + var uglifyResult = uglify.minify(source, { compress: { drop_debugger: false, unused: false, dead_code: false } - }).code; + }); + + if (typeof uglifyResult.code === "string") { + result.code = uglifyResult.code; + } else { + throw uglifyResult.error || + new Error("unknown uglify.minify failure"); + } } catch (e) { // Although Babel.minify can handle a wider variety of ECMAScript diff --git a/packages/minifier-js/package.js b/packages/minifier-js/package.js index 9223acefba..3ad26dd124 100644 --- a/packages/minifier-js/package.js +++ b/packages/minifier-js/package.js @@ -1,10 +1,10 @@ Package.describe({ summary: "JavaScript minifier", - version: "2.0.0" + version: "2.1.0" }); Npm.depends({ - "uglify-js": "2.8.21" + "uglify-js": "3.0.12" }); Package.onUse(function (api) {