Invaid code generation: object spread + computed properties
With this input:
const x = { ...state, inner: { [id]: value }}
Buble produces invalid output (notice the mis-matched braces):
var x = Object.assign({}, state, {inner: ( obj = {}}, obj[id] = value, obj ))
var obj;
The correct output would be more like:
var x = Object.assign({}, state, {inner: ( obj = {}, obj[id] = value, obj )})
var obj;
The only change is to move the curly brace outside the parentheses.