developit / developit/microbundle

[Bug] Wrong function scope with rest parameters after transpiled

Open
#1,037 9 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
8.1k
Forks
358
PR merge metrics
No merged PRs in 30d

Description

### description
async function with rest parameters seems got wrong function scope after transpiled

### version
microbundle@^0.15.1

### reproduce demo

```
// tsconfig.json

{
"compilerOptions": {
"esModuleInterop": true,
"target": "ES6",
"strict": true,
"moduleResolution": "node",
"experimentalDecorators": true,
"baseUrl": ".",
"allowJs": true
},
"include": ["*.ts"]
}

```

```
// test.ts

export const fn = async (...args: unknown[]) => {
await 1;
[].forEach(() => console.log(...args))
}
```

```
// test.js (generated by `microbundle -i test.ts -o test.js`)

exports.fn = function () {
return Promise.resolve(1).then(function () {
var n = arguments; // <- wrong function scope!!!
[].forEach(function () {
var o;
return (o = console).log.apply(o, [].slice.call(n));
});
});
};
//# sourceMappingURL=test.js.map
```

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.