evanw / evanw/esbuild

same short name used for import and for class

Open
#4,480 2 comments 0 reactions 0 assignees View on GitHub
unactionable
Dominant language
Go
Stars
40.1k
Forks
1.3k
PR merge metrics
No merged PRs in 30d

Description

```js
import * as e from '@angular/core'; // module scope: e = Angular core namespace

let e$1 = class e { // named class expression: inner `e` = the class
static {
this.ɵprov = e.ɵɵdefineInjectable(...) // `e` here is the CLASS, not Angular core → TypeError!
}
}
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start from the JavaScript reproduction in the issue and trace esbuild's handling of the import namespace and named class-expression bindings. Confirm the transformed output keeps the two short names distinct and no longer produces the reported TypeError when the static block runs.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, javascript
Domain
compilers
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.