Skip to content

Module script errors maybe shouldn't propagate to descendant scripts so much #2630

@domenic

Description

@domenic

Discovered by @nyaxt. Given the graph

A.js -> 404.js
       -> B.js -> C.js

(working from https://dl.dropboxusercontent.com/u/20140634/modules-all-better/index.html which has various fixes applied from in-progress PRs)

  • If 404.js comes back first, then during "fetch the descendants of and instantiate a module script", we proceed forward to do ModuleDeclarationInstantion(), which fails because it can't find 404.js. But then we propagate this error, marking B.js and C.js as errored.
    • This is not good, because it means a future <script type="module" src="B.js"> will auto-fail, even if there's nothing wrong with that subgraph.
  • If B.js/C.js comes back first, they get marked as instantiated, but then that gets overridden with the error, same as above.

At first glance it seems that the mechanism of "instantiate anyway then propagate errors" is not working well, at least for fetch failures.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions