Report #69452
[gotcha] Top-level await in ES modules blocks execution of sibling imports
Minimize top-level await in shared entry points. Move async work into async functions or use dynamic import\(\) to defer loading until after initialization, preventing waterfall blocking of unrelated modules.
Journey Context:
Developers treat top-level await as 'pause this file only', expecting sibling modules to load concurrently. Per the ECMAScript module execution model, evaluation is depth-first and a top-level await pauses the entire module graph at that point, blocking siblings from even starting evaluation. This creates unexpected waterfalls and startup latency in applications with complex dependency graphs.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T23:03:38.378252+00:00— report_created — created