Skip to content
This repository was archived by the owner on Sep 2, 2023. It is now read-only.

Terminology: Loader Phases #204

Closed
jkrems opened this issue Oct 17, 2018 · 5 comments
Closed

Terminology: Loader Phases #204

jkrems opened this issue Oct 17, 2018 · 5 comments

Comments

@jkrems
Copy link
Contributor

jkrems commented Oct 17, 2018

I'm not sure if this is a better fit for terminology or for a more implementation-focussed discussion. But I would suggest a separation of concerns when talking about module loading. The outcome would hopefully be a clear description of what happens when and what phases are responsible for which concerns.

One possible variant of this can be found here: https://github.com/jkrems/loader#module-loading

For ease of discussion, inlining the content below:

Module Loading

Module loading is split into three phases:

  1. Module resolution
  2. Resource fetching
  3. Module init

Module Resolution (resolve)

Given a specifier: string and referrerURL: string,
provide a url: string or a set of potential urls: string[] of a resource:

const resolve: (specifier: string, referrerURL: string) => string | string[];

Resource Fetching (fetch)

Given a resource url: string,
fetch the resource content and associated meta data.

type Resource = {
  bytes?: Buffer,
  contentType: string,
  contentTypeParameters?: string,
};

const fetch: (url: string) => Resource;

Module Init (init)

Given a resource: Resource and a target: Module module handle,
initialize the target.
Most implementations will check the resource.contentType
to select the appropriate behavior.

const init: (target: Module, resource: Resource, Module) => void;
@SMotaal
Copy link

SMotaal commented Oct 17, 2018

duplicate of #205

@SMotaal SMotaal closed this as completed Oct 17, 2018
@jkrems
Copy link
Contributor Author

jkrems commented Oct 17, 2018

Thanks, internet was doing weird stuff. :(

@SMotaal
Copy link

SMotaal commented Oct 17, 2018

Are u using Chrome?

@jkrems
Copy link
Contributor Author

jkrems commented Oct 17, 2018

Yep, Chrome. But when this happened my whole computer was freezing up. Not sure if it was Chrome, VPN, or Zoom (was in a meeting while it happened).

@SMotaal
Copy link

SMotaal commented Oct 17, 2018

Chrome has been giving me cache and duplicate request issues on GitHub and Google Forms which I previously assumed was flags related, but though may be related in this case.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants