From 69975a71238bfda3ae0a6b91b5bca7be9a1e06e6 Mon Sep 17 00:00:00 2001 From: Tristan Manchester Date: Fri, 17 Apr 2026 09:02:46 +0200 Subject: [PATCH] Fix tree-sitter dep graph path normalization --- .../languages/_framework/treesitter/imports/graph.py | 12 +++++++++--- .../lang/common/test_treesitter_imports_direct.py | 12 ++++++++---- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/desloppify/languages/_framework/treesitter/imports/graph.py b/desloppify/languages/_framework/treesitter/imports/graph.py index 361586356..fc1796fd0 100644 --- a/desloppify/languages/_framework/treesitter/imports/graph.py +++ b/desloppify/languages/_framework/treesitter/imports/graph.py @@ -31,14 +31,20 @@ def ts_build_dep_graph( query = _make_query(language, spec.import_query) scan_path = str(path.resolve()) - file_set = set(file_list) + abs_file_list = [ + filepath + if os.path.isabs(filepath) + else os.path.normpath(os.path.join(scan_path, filepath)) + for filepath in file_list + ] + file_set = set(abs_file_list) graph: dict[str, dict[str, Any]] = {} # Initialize all files in the graph. - for f in file_list: + for f in abs_file_list: graph[f] = {"imports": set(), "importers": set()} - for filepath in file_list: + for filepath in abs_file_list: cached = get_or_parse_tree(filepath, parser, spec.grammar) if cached is None: continue diff --git a/desloppify/tests/lang/common/test_treesitter_imports_direct.py b/desloppify/tests/lang/common/test_treesitter_imports_direct.py index 2a75eb119..7d50a3274 100644 --- a/desloppify/tests/lang/common/test_treesitter_imports_direct.py +++ b/desloppify/tests/lang/common/test_treesitter_imports_direct.py @@ -39,7 +39,11 @@ def test_graph_helpers_build_internal_edges_and_builder(monkeypatch, tmp_path: P source_file.parent.mkdir(parents=True) source_file.write_text("