evanw / evanw/esbuild

top-level-var will silent circular dependency TDZ error

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

Description

* Describe what esbuild is doing incorrectly and what it should be doing instead.
doing: esbuild's top-level-var will silence circular dependency tdz
should be doing: support not enable top-level-var or disable top-level-var by default

* Provide a way to reproduce the issue. The best way to do this is to demonstrate the issue on the playground (https://esbuild.github.io/try/) and paste the URL here. A link to a minimal code sample with instructions for how to reproduce the issue may also work. Issues without a way to reproduce them may be closed.
https://github.com/hardfist/circular-dependency-cases/pull/1 lots of edge cases here

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the circular-dependency reproduction in hardfist/circular-dependency-cases, especially the linked pull request and its edge cases. Then trace how esbuild handles the top-level-var option for circular JavaScript modules; done means the option no longer silently hides TDZ errors, or is disabled by default as the issue requests.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, javascript
Domain
compilers
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.