Closed
Description
@bmeck Please feel free to edit the title or anything else if I'm being imprecise or worse with anything.
CTC has tentatively agreed to try implementing async module loading. This issue is being opened to have a central place to track progress, issues, conversation, questions, whatever.
Labeling ctc-agenda
because we are probably going to want to talk about this at least a little bit every weekly meeting for a while.
- Docs
- CLI
- --module
- REPL
- 🚲 prepend full list of existing imports on every line / const declare them on global
- 🚲 warn on attempted export
- REPL
- --module
- Default ESM Loader
- Safe global cache manipulation
- 🚲
js:context
- url - 🚲
node:context
- require/__dirname/etc. - Hooks
- pre-resolve notification
- post-resolve notification
- VM Module bits
- import notification options on creating a Context
- vm.compileModule
- 🚲 vm.facadeModule (subset of WHATWG Loader Module)
- Expose Script::Module to JS
- Safe local cache
- import() support
- 🚫 awaiting v8
- require(esm) behavior
- add .mjs to require above .js (searches for CJS)
- 🚲 if no CJS fallback throw error saying to use
import()
- CJS -> ESM Facade
- ESM idempotency tests
- Cache propagation
- ESM idempotency tests
- Path algorithm
- errors include if
require
would have found something
- errors include if