diff --git a/packages/babel-helper-to-multiple-sequence-expressions/src/index.js b/packages/babel-helper-to-multiple-sequence-expressions/src/index.js index c9281c288..8f43dc84d 100644 --- a/packages/babel-helper-to-multiple-sequence-expressions/src/index.js +++ b/packages/babel-helper-to-multiple-sequence-expressions/src/index.js @@ -47,7 +47,7 @@ module.exports = function(t) { if (t.isExpression(node)) { exprs.push(node); } else if (t.isExpressionStatement(node)) { - exprs.push(node.expression); + if (node.expression) exprs.push(node.expression); } else if (t.isIfStatement(node)) { let consequent; if (node.consequent) { diff --git a/packages/babel-preset-minify/__tests__/babili-es2015-tests.js b/packages/babel-preset-minify/__tests__/babili-es2015-tests.js index 876aff558..8d21da040 100644 --- a/packages/babel-preset-minify/__tests__/babili-es2015-tests.js +++ b/packages/babel-preset-minify/__tests__/babili-es2015-tests.js @@ -26,4 +26,20 @@ describe("preset along with es2015", () => { cat = _obj.cat, _obj; ` ); + + thePlugin( + "should fix simplify with es2015 - issue#632", + ` + let obj, key; + if (1) ({k: key} = obj); + foo(); + `, + ` + "use strict"; + + var obj, + key = void 0; + key = obj.k, foo(); + ` + ); });