From 67611fd908b38d9216ba9179a81c38e865c192b8 Mon Sep 17 00:00:00 2001 From: Vignesh Shanmugam Date: Wed, 23 Nov 2016 00:29:14 +0100 Subject: [PATCH] run DCE on program exit (fix #289) --- .../src/index.js | 32 ++++++++++--------- .../__tests__/preset-tests.js | 2 +- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/packages/babel-plugin-minify-dead-code-elimination/src/index.js b/packages/babel-plugin-minify-dead-code-elimination/src/index.js index 782714b49..0f1283894 100644 --- a/packages/babel-plugin-minify-dead-code-elimination/src/index.js +++ b/packages/babel-plugin-minify-dead-code-elimination/src/index.js @@ -690,21 +690,23 @@ module.exports = ({ types: t, traverse }) => { path.remove(); } }, - Program(path, { - opts: { - // set defaults - optimizeRawSize = false, - keepFnName = false, - keepFnArgs = false, - } = {} - } = {}) { - // We need to run this plugin in isolation. - path.traverse(main, { - functionToBindings: new Map(), - optimizeRawSize, - keepFnName, - keepFnArgs, - }); + Program: { + exit(path, { + opts: { + // set defaults + optimizeRawSize = false, + keepFnName = false, + keepFnArgs = false, + } = {} + } = {}) { + // We need to run this plugin in isolation. + path.traverse(main, { + functionToBindings: new Map(), + optimizeRawSize, + keepFnName, + keepFnArgs, + }); + } }, }, }; diff --git a/packages/babel-preset-babili/__tests__/preset-tests.js b/packages/babel-preset-babili/__tests__/preset-tests.js index ef4e53f3c..c1ed19936 100644 --- a/packages/babel-preset-babili/__tests__/preset-tests.js +++ b/packages/babel-preset-babili/__tests__/preset-tests.js @@ -34,7 +34,7 @@ describe("preset", () => { const expected = unpad(` function foo() { var d, e, f; - d ? e && f : !b && f; + d ? e && f : e || f; } `); expect(transform(source)).toBe(expected);