From 9b1997b8b6f82e17e42c43aae3621e2b932f5843 Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Mon, 8 Jul 2019 09:55:24 +0200 Subject: 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. --- cli/deno_error.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'cli/deno_error.rs') diff --git a/cli/deno_error.rs b/cli/deno_error.rs index 2e683c504..6f11a6879 100644 --- a/cli/deno_error.rs +++ b/cli/deno_error.rs @@ -110,7 +110,8 @@ impl DenoError { use ModuleResolutionError::*; match err { InvalidUrl(err) | InvalidBaseUrl(err) => Self::url_error_kind(err), - ImportPathPrefixMissing => ErrorKind::ImportPathPrefixMissing, + InvalidPath => ErrorKind::InvalidPath, + ImportPrefixMissing => ErrorKind::ImportPrefixMissing, } } Repr::Diagnostic(ref _err) => ErrorKind::Diagnostic, -- cgit v1.2.3