diff --git a/Cargo.lock b/Cargo.lock index 492cfa2606..bec2ec12cc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1584,9 +1584,9 @@ dependencies = [ [[package]] name = "deno_graph" -version = "0.82.1" +version = "0.82.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b63015c73aa203da206b5d35b4c1eaa23bc7fed37ab325da62d525a5524a04" +checksum = "9328b62ffc7e806f1c92fd7a22e4ff3046fcb53f2d46e3e1297482b2c4c2bb9d" dependencies = [ "anyhow", "async-trait", diff --git a/cli/Cargo.toml b/cli/Cargo.toml index fc3216a606..ec2243a818 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -68,7 +68,7 @@ deno_cache_dir = { workspace = true } deno_config = { version = "=0.35.0", features = ["workspace", "sync"] } deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] } deno_doc = { version = "0.148.0", features = ["html", "syntect"] } -deno_graph = { version = "=0.82.1" } +deno_graph = { version = "=0.82.2" } deno_lint = { version = "=0.67.0", features = ["docs"] } deno_lockfile.workspace = true deno_npm = "=0.25.2" diff --git a/cli/graph_util.rs b/cli/graph_util.rs index cd98c3824d..1add83eb99 100644 --- a/cli/graph_util.rs +++ b/cli/graph_util.rs @@ -55,7 +55,7 @@ use std::sync::Arc; #[derive(Clone, Copy)] pub struct GraphValidOptions { pub check_js: bool, - pub follow_type_only: bool, + pub kind: GraphKind, pub is_vendoring: bool, /// Whether to exit the process for lockfile errors. /// Otherwise, surfaces lockfile errors as errors. @@ -84,7 +84,7 @@ pub fn graph_valid( roots.iter(), deno_graph::WalkOptions { check_js: options.check_js, - follow_type_only: options.follow_type_only, + kind: options.kind, follow_dynamic: options.is_vendoring, prefer_fast_check_graph: false, }, @@ -708,7 +708,11 @@ impl ModuleGraphBuilder { roots, GraphValidOptions { is_vendoring: false, - follow_type_only: self.options.type_check_mode().is_true(), + kind: if self.options.type_check_mode().is_true() { + GraphKind::All + } else { + GraphKind::CodeOnly + }, check_js: self.options.check_js(), exit_lockfile_errors: true, }, @@ -928,7 +932,7 @@ pub fn has_graph_root_local_dependent_changed( std::iter::once(root), deno_graph::WalkOptions { follow_dynamic: true, - follow_type_only: true, + kind: GraphKind::All, prefer_fast_check_graph: true, check_js: true, }, diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs index a1cc5079d4..85daa4e289 100644 --- a/cli/lsp/language_server.rs +++ b/cli/lsp/language_server.rs @@ -275,7 +275,7 @@ impl LanguageServer { &roots, graph_util::GraphValidOptions { is_vendoring: false, - follow_type_only: true, + kind: GraphKind::All, check_js: false, exit_lockfile_errors: false, }, diff --git a/cli/tools/registry/graph.rs b/cli/tools/registry/graph.rs index d14e4cd845..184557e5df 100644 --- a/cli/tools/registry/graph.rs +++ b/cli/tools/registry/graph.rs @@ -128,7 +128,7 @@ impl GraphDiagnosticsCollector { follow_dynamic: true, // search the entire graph and not just the fast check subset prefer_fast_check_graph: false, - follow_type_only: true, + kind: deno_graph::GraphKind::All, }; let mut iter = graph.walk(graph.roots.iter(), options); while let Some((specifier, entry)) = iter.next() { diff --git a/tests/specs/check/dts_importing_non_existent/__test__.jsonc b/tests/specs/check/dts_importing_non_existent/__test__.jsonc new file mode 100644 index 0000000000..3775b7fb4c --- /dev/null +++ b/tests/specs/check/dts_importing_non_existent/__test__.jsonc @@ -0,0 +1,5 @@ +{ + "args": "check index.js", + "output": "check.out", + "exitCode": 1 +} diff --git a/tests/specs/check/dts_importing_non_existent/check.out b/tests/specs/check/dts_importing_non_existent/check.out new file mode 100644 index 0000000000..80ec9593b0 --- /dev/null +++ b/tests/specs/check/dts_importing_non_existent/check.out @@ -0,0 +1,2 @@ +error: Module not found "file:///[WILDLINE]/test". + at file:///[WILDLINE]/index.d.ts:1:22 diff --git a/tests/specs/check/dts_importing_non_existent/index.d.ts b/tests/specs/check/dts_importing_non_existent/index.d.ts new file mode 100644 index 0000000000..4216ca3ed0 --- /dev/null +++ b/tests/specs/check/dts_importing_non_existent/index.d.ts @@ -0,0 +1 @@ +export { Test } from "./test"; diff --git a/tests/specs/check/dts_importing_non_existent/index.js b/tests/specs/check/dts_importing_non_existent/index.js new file mode 100644 index 0000000000..4b2c5ecce3 --- /dev/null +++ b/tests/specs/check/dts_importing_non_existent/index.js @@ -0,0 +1 @@ +/// diff --git a/tests/specs/run/sloppy_imports/__test__.jsonc b/tests/specs/run/sloppy_imports/__test__.jsonc index 79aaaba69d..a992f390ba 100644 --- a/tests/specs/run/sloppy_imports/__test__.jsonc +++ b/tests/specs/run/sloppy_imports/__test__.jsonc @@ -1,10 +1,13 @@ { - "steps": [{ - "args": "run main.ts", - "output": "no_sloppy.out", - "exitCode": 1 - }, { - "args": "run --unstable-sloppy-imports main.ts", - "output": "sloppy.out" - }] + "tests": { + "no_sloppy": { + "args": "run --check main.ts", + "output": "no_sloppy.out", + "exitCode": 1 + }, + "sloppy": { + "args": "run --unstable-sloppy-imports --check main.ts", + "output": "sloppy.out" + } + } } diff --git a/tests/specs/run/sloppy_imports/sloppy.out b/tests/specs/run/sloppy_imports/sloppy.out index 170a4bb167..2cc57b6fc3 100644 --- a/tests/specs/run/sloppy_imports/sloppy.out +++ b/tests/specs/run/sloppy_imports/sloppy.out @@ -1,3 +1,4 @@ +Check file:///[WILDLINE]/main.ts [class A] [class B] [class C]