diff options
author | Bert Belder <bertbelder@gmail.com> | 2019-07-08 09:55:24 +0200 |
---|---|---|
committer | Bert Belder <bertbelder@gmail.com> | 2019-07-08 13:07:32 +0200 |
commit | 9b1997b8b6f82e17e42c43aae3621e2b932f5843 (patch) | |
tree | 3367eadf1cdbd7d1f6f3e1ba647d80d85a6d3caa /cli/compiler.rs | |
parent | 92ac616708cb067a1b895283913c5ecd25c6d873 (diff) |
core: clearly define when module lookup is path-based vs URL-based
The rules are now as follows:
* In `import` statements, as mandated by the WHATWG specification,
the import specifier is always treated as a URL.
If it is a relative URL, it must start with either / or ./ or ../
* A script name passed to deno as a command line argument may be either
an absolute URL or a local path.
- If the name starts with a valid URI scheme followed by a colon, e.g.
'http:', 'https:', 'file:', 'foo+bar:', it always interpreted as a
URL (even if Deno doesn't support the indicated protocol).
- Otherwise, the script name is interpreted as a local path. The local
path may be relative, and operating system semantics determine how
it is resolved. Prefixing a relative path with ./ is not required.
Diffstat (limited to 'cli/compiler.rs')
-rw-r--r-- | cli/compiler.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/cli/compiler.rs b/cli/compiler.rs index 872ed28a2..c7adbe390 100644 --- a/cli/compiler.rs +++ b/cli/compiler.rs @@ -249,7 +249,7 @@ mod tests { tokio_util::init(|| { let specifier = "./tests/002_hello.ts"; use deno::ModuleSpecifier; - let module_name = ModuleSpecifier::resolve_root(specifier) + let module_name = ModuleSpecifier::resolve_url_or_path(specifier) .unwrap() .to_string(); @@ -296,7 +296,7 @@ mod tests { fn test_bundle_async() { let specifier = "./tests/002_hello.ts"; use deno::ModuleSpecifier; - let module_name = ModuleSpecifier::resolve_root(specifier) + let module_name = ModuleSpecifier::resolve_url_or_path(specifier) .unwrap() .to_string(); |