And Rollup already does this (although with less dramatic renaming).

On Fri, Dec 15, 2017, 23:40 Jérémy Judéaux <[email protected]>
wrote:

> One of the first assumptions in this discussion is that “Star imports
> prevent treeshaking”
>
>
>
> But thinking about it, I don’t see why tools cannot transform
>
> ```js
>
> import * as L from './lib';
>
> console.log(L.foo, L.bar());
>
> ```
>
> To
>
> ```js
>
> import {foo as $$generated$$1$$foo$$, bar as $$generated$$1$$bar$$} from
> './lib';
>
> console.log($$generated$$1$$foo$$, $$generated$$1$$bar$$());
>
> ```
>
> And then apply tree-shaking. As long as the code doesn’t contain something
> like `Object.keys(L)` it should be fine.
>
>
>
> At least that’s for the concept, maybe tools have better ways to do it.
>
> So I tried, webpack 3 + babel 7 beta. And it works. A very big function I
> put inside my lib.js only get exported if I use `Object.keys(L)`
>
>
>
> With treeshaking working with star imports, are there still benefits of
> the proposed syntax?
>
>
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to