Nor does ESM if you import * as. Plus I believe it can be made to support tree shaking
Edit: the proof my point reside in the many libraries which have an open issue because, even if ESM, they don't support tree shaking
Nor does ESM if you import * as. Plus I believe it can be made to support tree shaking
Edit: the proof my point reside in the many libraries which have an open issue because, even if ESM, they don't support tree shaking
`import * as` is still treeshakeable and Browsers will do it in-memory as the imports form weak proxies.
Bundlers can treeshake it, it is just harder to do, and so it hasn't always been a priority feature. esbuild especially in the last few years has done a lot of work to treeshake `import * as` in many more scenarios than before. Sure it isn't treeshaking "all" scenarios yet, but it's still getting better.