Past, Present, and Future
summary
JavaScript modules currently miss concrete capabilities and the proposal set addresses them with measurable changes: six proposals aim to add import attributes (stage three), source‑phase imports for WASM integration, a lazy import/evolution to avoid async spillover, custom import hooks to replicate service worker and Node experimental loader behavior, and inline module declarations to let bundlers concatenate many modules without reimplementing ESM. Examples include using service workers to compile TypeScript on fetch and Node loaders to transform resolution, and several proposals are already implemented in runtimes.
AI-written summary · about
chapters (15)
- 0:00JavaScript modules timeline
- 1:48CommonJS origins
- 3:52AMD and async loading
- 4:59ECMAScript modules standardization
- 6:49Current module systems
- 8:35TC39 Module Harmony
- 10:18Import attributes
- 14:13How engines load modules
- 15:38WebAssembly imports
- 17:02Lazy module evaluation
- 19:05Custom module loading
- 21:57Node.js module hooks
- 23:44Modules as objects
- 25:07Inline modules and bundlers
- 27:35Future of modules
related talks
31mECMAScript Modules: Past, Present, and Future
19mModule Frontiers
47mNative JavaScript Modules: import {Browsers, Node.js}; export {production};
22mPlease wait... loading: a tale of two loaders
01h 10mThe future of JavaScript modules: JS module blocks and native bundling
32mPlease Wait... Loading: A Talk of Two Loaders
16mUnbundling the Future Web Runtime
37mModules for JS.next
