About
Specifications
Unfortunately the W3C/WHATWG clowncar process cannot deliver us an authoritative standard, so there are unspecified behavior complexities at all levels. Luckily, though some of the stakeholders publish the choices they make on their implementation of the standard and we can use whatever the common denominator is.
- Modules Spec - Even though WHATWG is the "living standard" the ECMA 2015 standard was the first to the party and all WHATWG loader implementations reference it.
- WHATWG Specification - While working on implementations another spec was developed.
- MDN Docs - Browsers have to implement the standards (they sort of already are in the WHATWG), so their docs may contain even more detail. Unfortunately, Mozilla is the only browser that does this(which is why most module tutorials/articles you will see are focused on an unrealistic "Hello World" or build output from commonjs)
- Node.js Docs - Node.js implemented it's own strategy which encourages migration over integration and have taken criticism in the community for it, even though there are imperfect solutions to those problems.
Articles
As the community adopts these standards and learns how to deliver with them, the information space is being explored. Here you can find articles on modules' history, nuance and strategy for usage.
- History - An article describing the various module standards, their prevalence, use cases and generally: how we got here.
- Going Buildless - As esmodules and webcomponents become standards the need for building lessens significantly. As a result buildless is having a resurgence, especially for lightweight projects.
- Module Deep Dive - A visual/graphical tour of esmodules.
- Back to the Future - A walkthrough of a particular buildless setup.
- Going Buildless with importmaps - Another webcomponents + importmap focused article on buildless.
- Importmaps for Microfrontends - A look at esmodules through the lens of developing encapsulated functional components.
- You may not need Module Federation - How importmap usage can stand in for some of the use cases of module federation.
SPA Frameworks
Because if you aren't going to build, your framework needs to not want to.
- Buildless Vue - Because if you aren't going to build, your framework needs to not want to.
- Buildless React - Because if you aren't going to build, your framework needs to not want to.
- Buildless Angular - TL;DR: Only Angular 1 supports buildless