Adding out-of-band dependencies for a module

Ian Hickson ian at
Tue Aug 12 11:30:10 PDT 2014

On Tue, 12 Aug 2014, David Herman wrote:
> On Aug 11, 2014, at 5:06 PM, Ian Hickson <ian at> wrote:
> > So I'm trying to figure out how to spec the HTML spec's Loader.
> We should coordinate -- I've been actively working on this (not the spec 
> per se, but the design) with people engaged in the JS modules work. The 
> HTML default loader design has some requirements that touch on existing 
> JS ecosystems and practices, so we need to be sure we don't spec it in 
> isolation.

I've been chatting with people on #whatwg about this; I encourage you to 
join us!

> > One of the things that we're likely to add as part of this is a 
> > generic dependency system.
> You've mentioned this to me before, but I'm afraid I haven't seen any 
> clear rationale written up anywhere, nor a good description of what this 
> means.

I'm working on a more detailed description to send to the WHATWG list. I 
hope to be able to send something soon.

> One thing it might mean is a resource-fetching dependency system, 
> meaning that for any two elements A and B that require fetching a 
> network resource, you can state that A depends on B, meaning that 
> whenever A's resource is fetched, B's resource should be fetched too and 
> the system should not consider A's fetch complete until B's fetch is 
> complete. If that's what you mean, I'm skeptical that an attribute is 
> the right level for programmers to express this kind of resource 
> grouping.

We probably need a variety of approaches, sure. The attribute in my 
earlier mail is just a strawman; whatever the approach, if we end up with 
a way of saying "if you find that you need this module then you should 
also make sure to apply this style sheet" then the problem I described 
exists. I'm just trying to figure out how that should be specced.

> In particular, HTTP2 and the TAG's work on package management are better 
> approaches to grouping network resources than scattering dependency 
> attributes across a DOM tree.

I'm not familiar with the TAG's work (do you have a reference?). HTTP2's 
new features are somewhat orthogonal to the issue of saying what resources 
should be activated together, though. (Also, many people won't be using 
HTTP2, especially the server-cleverness aspects of HTTP2, for a long time, 
but may still want to be able to declare dependencies.)

Ian Hickson               U+1047E                )\._.,--....,'``.    fL       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

More information about the es-discuss mailing list