The dead code elimination pass of swc was too aggressive and it broke some code. It's now overly conservative, and I'll improve it over time.
The swc project uses very creatitve (and strange) approach to handle scoping issue because rust does not allow two mutable reference to same data. Previously, the bundler of swc tried to do something smart. I patched it to depend on the approach I mentioned and as a result, almost all bugs are fixed.