Open Bug 880664 Opened 11 years ago Updated 2 years ago

[Chrome Workers] Make module loader handle non-absolute paths


(Toolkit :: General, defect)





(Reporter: Yoric, Unassigned)



(Whiteboard: [Async:team])

Followup to bug 872421

> I still think you should not share require to allow relative require forms that are very common:
> `require("./foo/bar")`, require("../bar")`
> All you need is to capture `uri` and resolve to it. As a matter of fact I'd also encourage to implement
> `require.main` which usually takes full `url` and all the modules then are resolved relative to it.
> Both devtools and jetpack code now supports `require("foo/bar")` that resolves to `resource://gre/modules/commonjs/foo/bar.js`
> I think it maybe a good idea to support that too. Note that neither node or any other commonjs implementations I'm aware of
> treat `foo/bar` equivalent to `./foo/bar` quite the contrary, usually `foo/bar` is equivalent to `/foo/bar` where `/` is root of your program.
Irakli, given that workers don't have a |document.uri|, how would you handle the "base uri"?
Flags: needinfo?(rFobic)
I would consider base URL to be an url of the script loaded into worker.
Flags: needinfo?(rFobic)
That's the problem, we don't know the url of the "main" script.
De-prioritizing until we have decided exactly what we want.
Whiteboard: [Async:P1] → [Async]
Whiteboard: [Async] → [Async:team]
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.