From review of PR #81.
If a user configures fileExtensions: [".py", ".cs"] (or any mix including .py), the should_run_dotnet logic sends everything to the C# dotnet path:
def should_run_dotnet(config):
return "fileExtensions" in config and ((len(config["fileExtensions"]) > 1) or (".py" not in config["fileExtensions"]))
Since len > 1, the dotnet path runs — but the C# parsers don't handle .py files, so Python dependencies are silently lost.
The Python parser (astroid) also can't handle .cs/.java/.go/.kt, so there's no single path that works for mixed projects today.
Questions to discuss
- Should mixed projects be explicitly disallowed in the config schema for now?
- Or should the tool run both parsers and merge the graphs?
- Should the config schema validation reject combinations that include
.py alongside other extensions?
From review of PR #81.
If a user configures
fileExtensions: [".py", ".cs"](or any mix including.py), theshould_run_dotnetlogic sends everything to the C# dotnet path:Since
len > 1, the dotnet path runs — but the C# parsers don't handle.pyfiles, so Python dependencies are silently lost.The Python parser (astroid) also can't handle
.cs/.java/.go/.kt, so there's no single path that works for mixed projects today.Questions to discuss
.pyalongside other extensions?