diff --git a/lib/6to5/transformation/transformers/es6/constants.js b/lib/6to5/transformation/transformers/es6/constants.js index a58cd16256..f559a2cccc 100644 --- a/lib/6to5/transformation/transformers/es6/constants.js +++ b/lib/6to5/transformation/transformers/es6/constants.js @@ -10,6 +10,8 @@ exports.check = function (node) { var visitor = { enter: function (node, parent, scope, state) { if (t.isAssignmentExpression(node) || t.isUpdateExpression(node)) { + if (t.isMemberExpression(node.left || node.argument)) return; + var ids = t.getBindingIdentifiers(node); for (var name in ids) { diff --git a/test/fixtures/transformation/es6-constants/ignore-member-expressions/actual.js b/test/fixtures/transformation/es6-constants/ignore-member-expressions/actual.js new file mode 100644 index 0000000000..50ead66453 --- /dev/null +++ b/test/fixtures/transformation/es6-constants/ignore-member-expressions/actual.js @@ -0,0 +1,2 @@ +const x = {}; +x.key = "value"; diff --git a/test/fixtures/transformation/es6-constants/ignore-member-expressions/expected.js b/test/fixtures/transformation/es6-constants/ignore-member-expressions/expected.js new file mode 100644 index 0000000000..f78bd701f4 --- /dev/null +++ b/test/fixtures/transformation/es6-constants/ignore-member-expressions/expected.js @@ -0,0 +1,4 @@ +"use strict"; + +var x = {}; +x.key = "value";