loader
webpack-common-shake
loader | webpack-common-shake | |
---|---|---|
1 | 2 | |
0 | 914 | |
- | - | |
7.9 | 0.0 | |
9 months ago | about 1 year ago | |
TypeScript | JavaScript | |
- | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
loader
-
CommonJS Is Hurting JavaScript
Your first point is absolutely spot-on but I am curious as to how much treeshaking was on the minds of masses at the time. The tooling of that era didn't really have any good support for tree shaking even for non-AMD includes and it was quite experimental tech (as in, I don't think it was a decision making factor for the majority of the tools on the scene).
The second point actually isn't strictly valid. I've written my own "all-in-one" async custom loader [0] that can require() CommonJS/AMD includes or regular "add a script tag" includes w/out any exports, all asynchronously, with asynchronous dependency trees for each async dependency in turn. You can define in the HTML source code a "source map" that maps each dependency name to a specific URL, so that you don't need knowledge of the filesystem tree to load dependencies.
Ideally, this source map can be generated via the tooling you use to compile the code (e.g. `tsc` is aware of the path to each dependency) but I haven't written my own tool to generate the require path to url map.
[0]: https://github.com/mqudsi/loader
webpack-common-shake
-
CommonJS Is Hurting JavaScript
While I agree the dynamic nature of CommonJS would be problematic, there were successful projects around treeshaking commonjs[0] that worked really well.
I think dynamic imports have some of the same footguns here, to be honest. Can't deny ESM is easier to statically analyze though, that much appears to be true across the board based on available evidence.
[0]: https://github.com/indutny/webpack-common-shake
-
[AskJS] What are still present issues in contemporary (2022) JavaScript?
Tree shaking in CommonJS is possible: here's a Webpack CommonJS Tree Shaking package.
What are some alternatives?
meta - Meta discussions and unicorns. Not necessarily in that order.
proposal-upsert - ECMAScript Proposal, specs, and reference implementation for Map.prototype.upsert
esm - Tomorrow's ECMAScript modules today!
proposal-do-expressions - Proposal for `do` expressions
node-fetch - A light-weight module that brings the Fetch API to Node.js
node - Node.js JavaScript runtime ✨🐢🚀✨
wtfjs - 🤪 A list of funny and tricky JavaScript examples
proposal-record-tuple - ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!