Inline function calls with `#__NO_SIDE_EFFECTS__` comments
- Dominant language
- Go
- Stars
- 40.1k
- Forks
- 1.3k
- PR merge metrics
- No merged PRs in 30d
Description
https://esbuild.github.io/try/#dAAwLjE5LjExAC0tbWluaWZ5AC8qI19fTk9fU0lERV9FRkZFQ1RTX18qLwpmdW5jdGlvbiBjaGlsZChub2RlKSB7CglyZXR1cm4gbm9kZS5maXJzdENoaWxkOwp9CgooZnVuY3Rpb24oKSB7Cgl2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lkJyk7Cgl2YXIgZGl2XzEgPSBjaGlsZChkaXYpOwoJdmFyIGRpdl8yID0gY2hpbGQoZGl2XzEpOwoJdmFyIGRpdl8zID0gY2hpbGQoZGl2XzIpOwoJdmFyIGRpdl80ID0gc2libGluZyhzaWJsaW5nKGRpdl8zKSk7Cgl2YXIgZGl2XzUgPSBjaGlsZChkaXZfNCk7Cgl2YXIgZGl2XzYgPSBjaGlsZChkaXZfNSk7Cgl2YXIgYnV0dG9uID0gY2hpbGQoZGl2XzYpOwoJdmFyIGRpdl83ID0gc2libGluZyhzaWJsaW5nKGRpdl82KSk7Cgl2YXIgYnV0dG9uXzEgPSBjaGlsZChkaXZfNyk7Cgl2YXIgZGl2XzggPSBzaWJsaW5nKHNpYmxpbmcoZGl2XzcpKTsKCXZhciBidXR0b25fMiA9IGNoaWxkKGRpdl84KTsKCXZhciBkaXZfOSA9IHNpYmxpbmcoc2libGluZyhkaXZfOCkpOwoJdmFyIGJ1dHRvbl8zID0gY2hpbGQoZGl2XzkpOwoJdmFyIGRpdl8xMCA9IHNpYmxpbmcoc2libGluZyhkaXZfOSkpOwoJdmFyIGJ1dHRvbl80ID0gY2hpbGQoZGl2XzEwKTsKCXZhciBkaXZfMTEgPSBzaWJsaW5nKHNpYmxpbmcoZGl2XzEwKSk7Cgl2YXIgYnV0dG9uXzUgPSBjaGlsZChkaXZfMTEpOwoJdmFyIHRhYmxlID0gc2libGluZyhzaWJsaW5nKGRpdl8xKSk7Cgl2YXIgdGJvZHkgPSBjaGlsZCh0YWJsZSk7Cn0pKCk
The minifier outputs code like `v=child(i),d=child(v),l=child(d)`. This could be simplified to `child(child(child(...)))`.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the esbuild Try reproduction in the issue and inspect the minifier's handling of `#__NO_SIDE_EFFECTS__` comments and chained function calls. The work is done when the shown `child(...)` sequence is emitted as nested calls such as `child(child(child(...)))` without changing behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, javascript
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100