bublejs / bublejs/buble

incorrect aliased/shadowed variable name when destructuring in the loop

Open
#142 4 comments 1 reaction 0 assignees View on GitHub
bug
Dominant language
JavaScript
Stars
874
Forks
62
PR merge metrics
No merged PRs in 30d

Description

input:

```js
function abc(items) {

if (items.length > 0) {
const params = 3;
console.log(params);
}

for (let [params, foo] of items) {
if (params) { // <--- here
console.log(foo);
}
}
}
```

output:

```js
function abc(items) {

if (items.length > 0) {
var params = 3;
console.log(params);
}

for (var i = 0, list = items; i < list.length; i += 1) {
var ref = list[i];
var params = ref[0];
var foo = ref[1];

if (params$1) { // <--- here
console.log(foo);
}
}
}
```
`params$1` is undeclared

It used to work in 0.18.0, but is broken in 0.19.0
Seems somewhat related to #94

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.