import { foo, bar } as obj from 'module

kai zhu kaizhu256 at
Wed Dec 13 05:54:09 UTC 2017

we're talking about the same thing. class-based libraries like backbone.js
for example cannot be tree-shaken.  i've done manual tree-shaking for the
entire frontend-stack for swagger-ui, by writing tests and doing
deadcode-elimination from code-coverage.  the takeaway from that was most
of its libraries could not be tree-shaken, until the underlying class
methods and constructors were manually refactored into separable

On Dec 13, 2017 12:08 PM, "Darien Valentine" <valentinium at> wrote:

> > tree-shaking is incompatible with class-inheritance and meta-programming
> in javascript. it has negligible effect in practice, unless the majority of
> your code uses static-functions instead of classes.
> It’s just a form of dead code elimination that takes advantage of the fact
> that imports/export statements are static. More often useful for library
> code than local app code (since if you had unused stuff there, you’d likely
> just delete it). I’m pretty perplexed by the suggestion that it has any
> sort of relationship with classes or inheritance. Are we talking about
> different things?
> _______________________________________________
> es-discuss mailing list
> es-discuss at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list