Skip to content

tracking issue: async loader for module interop #11233

Closed
@Trott

Description

@Trott

@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
  • 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

Metadata

Metadata

Assignees

Labels

moduleIssues and PRs related to the module subsystem.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions