From 9e65d8bea72068f042b41ffa0df55791b4c7d71f Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 31 Oct 2017 14:32:53 -0400 Subject: [PATCH] Enable dead code elimination in minifier-js to fix #9260. The react-dom@16 npm package recently got stricter about how it checks that dead code elimination is enabled. Specifically, it no longer just checks that process.env.NODE_ENV is replaced with "production" but also requires conditional branches to be completely removed if the replacement makes them unreachable: https://github.com/facebook/react/blob/master/packages/react-dom/npm/index.js The minifier-js package recently had its minor version bumped for Meteor 1.6, so I think it's safe to enable dead code elimination in a patch version update. If we bumped the minor version again (to 2.3.0), this version of minifier-js would not be usable with Meteor 1.6, and would probably have to wait for Meteor 1.6.1. Bumping the patch version of standard-minifier-js is also necessary because it uses minifier-js as a compiler plugin, and would otherwise continue to bundle the old minifier-js plugin. --- packages/minifier-js/minifier.js | 2 +- packages/minifier-js/package.js | 2 +- packages/standard-minifier-js/package.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/minifier-js/minifier.js b/packages/minifier-js/minifier.js index ba60671422..4defbfb704 100644 --- a/packages/minifier-js/minifier.js +++ b/packages/minifier-js/minifier.js @@ -11,7 +11,7 @@ meteorJsMinify = function (source) { compress: { drop_debugger: false, unused: false, - dead_code: false, + dead_code: true, global_defs: { "process.env.NODE_ENV": NODE_ENV } diff --git a/packages/minifier-js/package.js b/packages/minifier-js/package.js index 8bfb2c5f3e..51d89ccb8f 100644 --- a/packages/minifier-js/package.js +++ b/packages/minifier-js/package.js @@ -1,6 +1,6 @@ Package.describe({ summary: "JavaScript minifier", - version: "2.2.0" + version: "2.2.1" }); Npm.depends({ diff --git a/packages/standard-minifier-js/package.js b/packages/standard-minifier-js/package.js index 4ef422de3f..100ca25df0 100644 --- a/packages/standard-minifier-js/package.js +++ b/packages/standard-minifier-js/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'standard-minifier-js', - version: '2.2.0', + version: '2.2.1', summary: 'Standard javascript minifiers used with Meteor apps by default.', documentation: 'README.md', });