diff --git a/Cargo.lock b/Cargo.lock index 1189ec4bf2..9af6e1f167 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2109,9 +2109,9 @@ dependencies = [ [[package]] name = "deno_graph" -version = "0.98.0" +version = "0.98.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0985b39cb178c6828c0029b11c544b9dd596e9424b4b076ad156a01cc73314ee" +checksum = "d54ddae9ecbb3fb155a65a01d169b94a7219619b2f41de65458c4aa8c78d4123" dependencies = [ "async-trait", "boxed_error", diff --git a/Cargo.toml b/Cargo.toml index 2f68384fda..76f4a7ccb6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -65,7 +65,7 @@ deno_core = { version = "0.354.0" } deno_cache_dir = "=0.24.0" deno_doc = "=0.181.0" deno_error = "=0.7.0" -deno_graph = { version = "=0.98.0", default-features = false } +deno_graph = { version = "=0.98.1", default-features = false } deno_lint = "=0.77.0" deno_lockfile = "=0.31.2" deno_media_type = { version = "=0.2.9", features = ["module_specifier"] } diff --git a/cli/type_checker.rs b/cli/type_checker.rs index 946458be33..474fce0219 100644 --- a/cli/type_checker.rs +++ b/cli/type_checker.rs @@ -791,20 +791,30 @@ impl<'a> GraphWalker<'a> { deno_graph::Resolution::Ok(resolution) => { self.handle_specifier(&resolution.specifier, dep.is_dynamic); } - deno_graph::Resolution::Err(resolution_error) => { - if let Some(err) = - resolution_error_for_tsc_diagnostic(resolution_error) - { - self.missing_diagnostics.push( - tsc::Diagnostic::from_missing_error( - err.specifier, - err.maybe_range, - None, - ), - ); - } + deno_graph::Resolution::Err(_) | deno_graph::Resolution::None => { } - deno_graph::Resolution::None => {} + } + } + + // only surface the code error if there's no type + let dep_to_check_error = if dep.maybe_type.is_none() { + &dep.maybe_code + } else { + &dep.maybe_type + }; + if let deno_graph::Resolution::Err(resolution_error) = + dep_to_check_error + { + if let Some(err) = + resolution_error_for_tsc_diagnostic(resolution_error) + { + self.missing_diagnostics.push( + tsc::Diagnostic::from_missing_error( + err.specifier, + err.maybe_range, + None, + ), + ); } } } diff --git a/tests/node_compat/run_all_test_unmodified.ts b/tests/node_compat/run_all_test_unmodified.ts index 5b71f9663d..85303cc4ff 100644 --- a/tests/node_compat/run_all_test_unmodified.ts +++ b/tests/node_compat/run_all_test_unmodified.ts @@ -227,7 +227,8 @@ export async function runSingle( } else if (e instanceof Deno.errors.WouldBlock && retry < 3) { // retry 2 times on WouldBlock error (Resource temporarily unavailable) return runSingle(testPath, { flaky, retry: retry + 1 }); - } else if (flaky && retry < 3) { + } else if (flaky && retry < 5) { + await new Promise((resolve) => setTimeout(resolve, 100 * retry)); return runSingle(testPath, { flaky, retry: retry + 1 }); } else { return {