Please wait... loading: a tale of two loaders
summary
Browser support reaches ESModules in 3 of 4 browsers while Node still ships CommonJS via require(), creating concrete interoperability gaps: different loading phases (sync CJS vs async ESM), resolution rules (bare imports and directory resolution in Node vs explicit file-extensions in browsers), and execution goals. Node 10.2 adds named exports from core modules, import.meta.url appears as a CJS bridge, and dynamic import returns promises. A 42-member Node modules team with broad company and country representation works toward a practical path so npm packages can run in Node and the browser without a build step.
AI-written summary · about
chapters (17)
- 0:00Start
- 3:16Ripped out of standards track NEVER SEEN AGAIN
- 4:16ESMODULES LANDED IN ECMA262 IN 2015
- 4:51SYNCHRONOUS LOAD
- 5:29NO LOAD STEP
- 8:45THEY ARE NOT INTERCHANGEABLE
- 9:09SPECIFIER RESOLUTION ALGORITHM... ...is also different!
- 10:05CURRENTLY THE WEB DOES NOT SUPPORT BARE IMPORTS
- 11:34BEHAVIOR DIFFERENCE WILL ROBINSON A DANGER A
- 11:54Script Strict -Script Sloppy
- 12:05WHAT IS A TOP LEVEL GRAMMAR?
- 13:24ES Modules do not have in source way OF DETERMINING GOAL
- 14:47PAVING A COWPATH
- 15:01INTEROPERABILITY
- 16:32ESM does not have a way TO INJECT LEXICALLY SCOPE VARIABLES
- 17:06IMPORT.META TO THE RESCUE
- 19:09ENTER THE NODE.JS MODULES TEAM
related talks
32mPlease Wait... Loading: A Talk of Two Loaders
29mExtra Special Modules
47mNative JavaScript Modules: import {Browsers, Node.js}; export {production};
24mNavigating the Wild Seas of Native ES Modules
32mES Modules in Node JS
30mShipping Node.js packages in 2025
26mNode Es Modules - Something Almost, but not Quite Entirely Unlike Commonjs
48mESM: EcmaScript Modules in browser and NodeJS. It's about time!
