diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2022-09-05 12:36:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-05 12:36:35 +0200 |
commit | 264ad49e18161a29cf8831dff2e4bcbcea59d086 (patch) | |
tree | 6208eee3ad7bfabcc1a9885043cd8ba08b0a7618 /ext/node/errors.rs | |
parent | 16dbf4adc390c9fb7656372b42811c1929e755dd (diff) |
refactor: cleanup Node compatibility code (#15766)
- move errors related to Node compat from cli/node/errors.rs to "ext/node" crate
- remove dependency on "node_resolver" crate
- make some of structures private to the "cli/node" module
Diffstat (limited to 'ext/node/errors.rs')
-rw-r--r-- | ext/node/errors.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/ext/node/errors.rs b/ext/node/errors.rs index 9dc6c7e7e..4b55d1982 100644 --- a/ext/node/errors.rs +++ b/ext/node/errors.rs @@ -3,6 +3,7 @@ use deno_core::error::generic_error; use deno_core::error::type_error; use deno_core::error::AnyError; +use deno_core::url::Url; pub fn err_invalid_module_specifier( request: &str, @@ -120,3 +121,23 @@ pub fn err_package_import_not_defined( type_error(msg) } + +pub fn err_unsupported_dir_import(path: &str, base: &str) -> AnyError { + generic_error(format!("[ERR_UNSUPPORTED_DIR_IMPORT] Directory import '{}' is not supported resolving ES modules imported from {}", path, base)) +} + +pub fn err_unsupported_esm_url_scheme(url: &Url) -> AnyError { + let mut msg = + "[ERR_UNSUPPORTED_ESM_URL_SCHEME] Only file and data URLS are supported by the default ESM loader" + .to_string(); + + if cfg!(window) && url.scheme().len() == 2 { + msg = format!( + "{}. On Windows, absolute path must be valid file:// URLs", + msg + ); + } + + msg = format!("{}. Received protocol '{}'", msg, url.scheme()); + generic_error(msg) +} |