Phase1: tree sitter dependency extraction for diffgraph#13
Open
avikalpg wants to merge 4 commits intomerged-foundation-prsfrom
Open
Phase1: tree sitter dependency extraction for diffgraph#13avikalpg wants to merge 4 commits intomerged-foundation-prsfrom
avikalpg wants to merge 4 commits intomerged-foundation-prsfrom
Conversation
- Add TreeSitterProcessor with multi-language support framework - Implement Python component extraction (classes, functions, methods) - Use tree-sitter-language-pack for AST parsing - Support Python, TypeScript, JavaScript, Go, Rust, Java, Swift (Python fully working) - Extract component relationships from static analysis - Register as 'tree-sitter-dependency-graph' mode - Add basic test demonstrating Python extraction Component extraction includes: - Classes/containers with nested methods - Standalone functions - Import statements - Function call analysis for dependency mapping Successfully tested with Python code showing proper extraction of: - 1 class (MyClass) - 2 methods (__init__, increment) - 2 functions (standalone_function, another_function) Next steps: - Complete TypeScript/JavaScript extraction (partial implementation) - Complete Go, Rust, Java, Swift extraction (partial implementation) - Add comprehensive testing across all supported languages - Enhance dependency detection for cross-file references
- Add tree-sitter-dependency-graph to available modes in README - Document Python support as fully working - Note other languages as in progress - Update CHANGELOG with phase 1 implementation details - Add usage examples for tree-sitter mode
- Document completed work: Python extraction fully functional - Detail in-progress work for other languages - Explain tree-sitter API migration (0.25+) - Provide technical insights and lessons learned - Outline next steps for phases 2-4 - Include usage examples and performance notes
Move documentation files to docs/: - PHASE1_SUMMARY.md -> docs/ - GRAPH_EXPORT_FEATURE.md -> docs/ - TESTING_GUIDE.md -> docs/ Move test files to tests/: - test_tree_sitter_basic.py -> tests/ - test_graph_export.py -> tests/ - test_structured_export.py -> tests/ - test_cli_manual.sh -> tests/ Move example to tests/examples/: - example_usage.py -> tests/examples/ This improves project organization and follows standard conventions.
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (2)
Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.