diff options
Diffstat (limited to 'cli/tools')
-rw-r--r-- | cli/tools/doc.rs | 23 | ||||
-rw-r--r-- | cli/tools/test.rs | 24 |
2 files changed, 28 insertions, 19 deletions
diff --git a/cli/tools/doc.rs b/cli/tools/doc.rs index e52693b16..6e17c9fca 100644 --- a/cli/tools/doc.rs +++ b/cli/tools/doc.rs @@ -18,7 +18,9 @@ use deno_graph::create_graph; use deno_graph::source::LoadFuture; use deno_graph::source::LoadResponse; use deno_graph::source::Loader; +use deno_graph::source::ResolveResponse; use deno_graph::source::Resolver; +use deno_graph::ModuleKind; use deno_graph::ModuleSpecifier; use deno_runtime::permissions::Permissions; use import_map::ImportMap; @@ -47,17 +49,18 @@ impl Resolver for DocResolver { &self, specifier: &str, referrer: &ModuleSpecifier, - ) -> Result<ModuleSpecifier, AnyError> { + ) -> ResolveResponse { if let Some(import_map) = &self.import_map { - return import_map - .resolve(specifier, referrer) - .map_err(AnyError::from); + return match import_map.resolve(specifier, referrer) { + Ok(specifier) => ResolveResponse::Specifier(specifier), + Err(err) => ResolveResponse::Err(err.into()), + }; } - let module_specifier = - deno_core::resolve_import(specifier, referrer.as_str())?; - - Ok(module_specifier) + match deno_core::resolve_import(specifier, referrer.as_str()) { + Ok(specifier) => ResolveResponse::Specifier(specifier), + Err(err) => ResolveResponse::Err(err.into()), + } } } @@ -104,7 +107,7 @@ pub async fn print_docs( let source_file_specifier = ModuleSpecifier::parse("deno://lib.deno.d.ts").unwrap(); let graph = create_graph( - vec![source_file_specifier.clone()], + vec![(source_file_specifier.clone(), ModuleKind::Esm)], false, None, &mut loader, @@ -144,7 +147,7 @@ pub async fn print_docs( import_map: ps.maybe_import_map.clone(), }; let graph = create_graph( - vec![root_specifier.clone()], + vec![(root_specifier.clone(), ModuleKind::Esm)], false, None, &mut loader, diff --git a/cli/tools/test.rs b/cli/tools/test.rs index daae61d7f..2cc1ac808 100644 --- a/cli/tools/test.rs +++ b/cli/tools/test.rs @@ -15,6 +15,7 @@ use crate::flags::TestFlags; use crate::fs_util::collect_specifiers; use crate::fs_util::is_supported_test_ext; use crate::fs_util::is_supported_test_path; +use crate::graph_util::contains_specifier; use crate::graph_util::graph_valid; use crate::located_script_name; use crate::lockfile; @@ -34,7 +35,7 @@ use deno_core::futures::FutureExt; use deno_core::futures::StreamExt; use deno_core::serde_json::json; use deno_core::ModuleSpecifier; -use deno_graph::Module; +use deno_graph::ModuleKind; use deno_runtime::permissions::Permissions; use deno_runtime::tokio_util::run_basic; use log::Level; @@ -724,7 +725,7 @@ async fn check_specifiers( if !inline_files.is_empty() { let specifiers = inline_files .iter() - .map(|file| file.specifier.clone()) + .map(|file| (file.specifier.clone(), ModuleKind::Esm)) .collect(); for file in inline_files { @@ -746,7 +747,7 @@ async fn check_specifiers( .iter() .filter_map(|(specifier, mode)| { if *mode != TestMode::Documentation { - Some(specifier.clone()) + Some((specifier.clone(), ModuleKind::Esm)) } else { None } @@ -1113,7 +1114,7 @@ pub async fn run_tests_with_watch( } else { test_modules .iter() - .filter_map(|url| deno_core::resolve_url(url.as_str()).ok()) + .map(|url| (url.clone(), ModuleKind::Esm)) .collect() }; let maybe_imports = if let Some(result) = maybe_imports { @@ -1129,7 +1130,10 @@ pub async fn run_tests_with_watch( .map(|im| im.as_resolver()) }; let graph = deno_graph::create_graph( - test_modules.clone(), + test_modules + .iter() + .map(|s| (s.clone(), ModuleKind::Esm)) + .collect(), false, maybe_imports, cache.as_mut_loader(), @@ -1151,7 +1155,7 @@ pub async fn run_tests_with_watch( output: &mut HashSet<&'a ModuleSpecifier>, no_check: bool, ) { - if let Some(Module::Es(module)) = maybe_module { + if let Some(module) = maybe_module { for dep in module.dependencies.values() { if let Some(specifier) = &dep.get_code() { if !output.contains(specifier) { @@ -1197,7 +1201,7 @@ pub async fn run_tests_with_watch( deno_core::resolve_url_or_path(&path.to_string_lossy()).ok() }) { if modules.contains(&&path) { - modules_to_reload.push(specifier); + modules_to_reload.push((specifier, ModuleKind::Esm)); break; } } @@ -1228,7 +1232,7 @@ pub async fn run_tests_with_watch( }) }; - let operation = |modules_to_reload: Vec<ModuleSpecifier>| { + let operation = |modules_to_reload: Vec<(ModuleSpecifier, ModuleKind)>| { let filter = test_flags.filter.clone(); let include = include.clone(); let ignore = ignore.clone(); @@ -1245,7 +1249,9 @@ pub async fn run_tests_with_watch( ) .await? .iter() - .filter(|(specifier, _)| modules_to_reload.contains(specifier)) + .filter(|(specifier, _)| { + contains_specifier(&modules_to_reload, specifier) + }) .cloned() .collect::<Vec<(ModuleSpecifier, TestMode)>>(); |