Skip to content

feat(unstable): support TC39 import defer proposal#32360

Open
bartlomieju wants to merge 3 commits intodenoland:mainfrom
bartlomieju:feat/import-defer-eval
Open

feat(unstable): support TC39 import defer proposal#32360
bartlomieju wants to merge 3 commits intodenoland:mainfrom
bartlomieju:feat/import-defer-eval

Conversation

@bartlomieju
Copy link
Member

@bartlomieju bartlomieju commented Feb 27, 2026

This commit adds an experimental support for import defer ... syntax,
for https://github.com/tc39/proposal-defer-import-eval proposal.

Adds support for the TC39 "Deferred Module Evaluation" proposal
(https://github.com/tc39/proposal-defer-import-eval, Stage 3).

Changes:
- Enable V8 `--js-defer-import-eval` flag for parser/runtime support
- Separate `ModuleImportPhase::Defer` handling from `Evaluation` phase:
  deferred modules are instantiated but not evaluated, letting V8 create
  a deferred namespace that triggers evaluation on first property access
- Add integration test validating deferred evaluation semantics

Ported from denoland/deno_core#1280

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@bartlomieju bartlomieju changed the title feat(core): support TC39 import defer proposal feat(unstable): support TC39 import defer proposal Mar 3, 2026
@bartlomieju
Copy link
Member Author

Waiting on v8/v8@f2016e1 in V8 14.7.

@bartlomieju bartlomieju added the upstream Changes in upstream are required to solve these issues label Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

upstream Changes in upstream are required to solve these issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants