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
This commit is contained in:
Bartek Iwańczuk 2022-09-05 12:36:35 +02:00 committed by GitHub
parent 16dbf4adc3
commit 264ad49e18
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 32 additions and 75 deletions

View file

@ -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)
}