-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Description
Module execution of ES modules is based on post-order execution up the graph (with circular deduping).
The Edge behaviour is incorrectly implementing a reverse post-order execution.
The simple example of this is the following:
<script>order=[]</script>
<script type="module">
import '/a.js';
import '/b.js';
console.log(order);
</script>where a.js contains order.push('a') and b.js similarly.
where edge will execute b and then a, instead of a and then b!
The fix should be simple (one loop can just be reversed somewhere), but this is a really important bug to fix as many projects will write code like the following:
import 'polyfill';
import 'stuff-that-needs-polyfill';and without these guaranatees those code paths break down.
I would highly recommend marking this as an urgent priority.
Metadata
Metadata
Assignees
Labels
No labels