diff --git a/lib/6to5/transformation/transformers/es6-computed-property-names.js b/lib/6to5/transformation/transformers/es6-computed-property-names.js index 57312902e5..76081ceb64 100644 --- a/lib/6to5/transformation/transformers/es6-computed-property-names.js +++ b/lib/6to5/transformation/transformers/es6-computed-property-names.js @@ -80,7 +80,7 @@ exports.ObjectExpression = function (node, parent, file, scope) { var first = body[0].expression; if (t.isCallExpression(first)) { - first.arguments[0] = t.objectExpression([]); + first.arguments[0] = t.objectExpression(initProps); return first; } } diff --git a/test/fixtures/transformation/es6-computed-property-names/two/actual.js b/test/fixtures/transformation/es6-computed-property-names/two/actual.js new file mode 100644 index 0000000000..c63046dd19 --- /dev/null +++ b/test/fixtures/transformation/es6-computed-property-names/two/actual.js @@ -0,0 +1,4 @@ +var obj = { + first: "first", + ["second"]: "second", +}; diff --git a/test/fixtures/transformation/es6-computed-property-names/two/expected.js b/test/fixtures/transformation/es6-computed-property-names/two/expected.js new file mode 100644 index 0000000000..933bca223b --- /dev/null +++ b/test/fixtures/transformation/es6-computed-property-names/two/expected.js @@ -0,0 +1,13 @@ +"use strict"; + +var _defineProperty = function (obj, key, value) { + return Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); +}; + +var obj = _defineProperty({ + first: "first" }, "second", "second");