Consider the following module: import "a" import "b" and assume that "a" uses top-level await. The expected execution order is: 1. "a" starts executing, and then pauses at the await 2. "b" gets executed 3. at some point, "a" finishes executing However, this is what is currently happening in Safari: 1. "a" starts executing, and then pauses at the await 2. at some point, "a" finishes executing 3. then "b" gets executed I submitted a WPT test for this at https://github.com/web-platform-tests/wpt/pull/42944
<rdar://problem/118449289>