diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/expected.js index a5c21a754e..019d8d755a 100644 --- a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/expected.js +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4943/expected.js @@ -2,9 +2,9 @@ let foo = (() => { var _ref = _asyncToGenerator(function* (_ref2) { - let a = _ref2.a; - var _ref2$b = _ref2.b; - let b = _ref2$b === undefined ? mandatory("b") : _ref2$b; + let a = _ref2.a, + _ref2$b = _ref2.b, + b = _ref2$b === undefined ? mandatory("b") : _ref2$b; return Promise.resolve(b); }); diff --git a/packages/babel-plugin-transform-es2015-destructuring/src/index.js b/packages/babel-plugin-transform-es2015-destructuring/src/index.js index ea6ffe5ab8..733c32be2a 100644 --- a/packages/babel-plugin-transform-es2015-destructuring/src/index.js +++ b/packages/babel-plugin-transform-es2015-destructuring/src/index.js @@ -459,6 +459,7 @@ export default function ({ types: t }) { if (!parent || !path.container) return; // i don't know why this is necessary - TODO if (!variableDeclarationHasPattern(node)) return; + const nodeKind = node.kind; const nodes = []; let declar; @@ -493,13 +494,12 @@ export default function ({ types: t }) { const nodesOut = []; for (const node of nodes) { const tail = nodesOut[nodesOut.length - 1]; - if ( - tail && t.isVariableDeclaration(tail) && t.isVariableDeclaration(node) && - tail.kind === node.kind - ) { - // Create a single compound let/var rather than many. + if (tail && t.isVariableDeclaration(tail) && t.isVariableDeclaration(node)) { + // Create a single compound declarations tail.declarations.push(...node.declarations); } else { + // Make sure the original node kind is used for each compound declaration + node.kind = nodeKind; nodesOut.push(node); } } diff --git a/packages/babel-plugin-transform-es2015-destructuring/test/fixtures/destructuring/export-variable/expected.js b/packages/babel-plugin-transform-es2015-destructuring/test/fixtures/destructuring/export-variable/expected.js index 54ea198599..7fd11922df 100644 --- a/packages/babel-plugin-transform-es2015-destructuring/test/fixtures/destructuring/export-variable/expected.js +++ b/packages/babel-plugin-transform-es2015-destructuring/test/fixtures/destructuring/export-variable/expected.js @@ -1,8 +1,8 @@ -var _ref = {}; -var a = _ref.a, - b = _ref.b; -var _ref$c = _ref.c; -var d = _ref$c.d; -var _ref$c$e$f = _ref$c.e.f; -var f = _ref$c$e$f === undefined ? 4 : _ref$c$e$f; +var _ref = {}, + a = _ref.a, + b = _ref.b, + _ref$c = _ref.c, + d = _ref$c.d, + _ref$c$e$f = _ref$c.e.f, + f = _ref$c$e$f === undefined ? 4 : _ref$c$e$f; export { a, b, d, f }; diff --git a/packages/babel-plugin-transform-es2015-destructuring/test/fixtures/destructuring/for-let/actual.js b/packages/babel-plugin-transform-es2015-destructuring/test/fixtures/destructuring/for-let/actual.js new file mode 100644 index 0000000000..9bf99bfebf --- /dev/null +++ b/packages/babel-plugin-transform-es2015-destructuring/test/fixtures/destructuring/for-let/actual.js @@ -0,0 +1,2 @@ +for (let [ i, n ] = range; ; ) { +} diff --git a/packages/babel-plugin-transform-es2015-destructuring/test/fixtures/destructuring/for-let/expected.js b/packages/babel-plugin-transform-es2015-destructuring/test/fixtures/destructuring/for-let/expected.js new file mode 100644 index 0000000000..0264ddfbef --- /dev/null +++ b/packages/babel-plugin-transform-es2015-destructuring/test/fixtures/destructuring/for-let/expected.js @@ -0,0 +1 @@ +for (var _range = range, _range2 = babelHelpers.slicedToArray(_range, 2), i = _range2[0], n = _range2[1];;) {} diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/regression/T7199/expected.js b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/regression/T7199/expected.js index 3c43558543..abef5e279e 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/regression/T7199/expected.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/test/fixtures/regression/T7199/expected.js @@ -8,7 +8,6 @@ var _foo2 = _interopRequireDefault(_foo); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } -var _bar = bar, - _bar2 = _slicedToArray(_bar, 1); - -const x = _bar2[0]; +const _bar = bar, + _bar2 = _slicedToArray(_bar, 1), + x = _bar2[0]; diff --git a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/destructure/expected.js b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/destructure/expected.js index 4f730edf03..79a27dee94 100644 --- a/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/destructure/expected.js +++ b/packages/babel-plugin-transform-react-constant-elements/test/fixtures/constant-elements/destructure/expected.js @@ -1,7 +1,7 @@ class AnchorLink extends Component { render() { - var _props = this.props; - const isExternal = _props.isExternal, + const _props = this.props, + isExternal = _props.isExternal, children = _props.children; if (isExternal) { @@ -10,4 +10,4 @@ class AnchorLink extends Component { return {children}; } -} \ No newline at end of file +}