tree-sitter-analyzer 1.2.0__tar.gz → 1.2.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of tree-sitter-analyzer might be problematic. Click here for more details.
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/.pre-commit-config.yaml +0 -20
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/CHANGELOG.md +72 -1
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/PKG-INFO +8 -8
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/README.md +7 -7
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/README_ja.md +7 -7
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/README_zh.md +7 -7
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/pyproject.toml +2 -2
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/scripts/README.md +5 -21
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/languages/java_plugin.py +65 -1
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/uv.lock +1 -1
- tree_sitter_analyzer-1.2.0/scripts/improved_readme_updater.py +0 -558
- tree_sitter_analyzer-1.2.0/scripts/readme_config.py +0 -162
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/.gitignore +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/.kiro/steering/product.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/.kiro/steering/structure.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/.kiro/steering/tech.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/.pre-commit-hooks.yaml +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/AI_COLLABORATION_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/CODE_STYLE_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/CONTRIBUTING.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/DEPLOYMENT_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/GITFLOW.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/GITFLOW_ja.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/GITFLOW_zh.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/LANGUAGE_GUIDELINES.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/LLM_CODING_GUIDELINES.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/MCP_SETUP_DEVELOPERS.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/MCP_SETUP_USERS.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/PROJECT_ROOT_CONFIG.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/PYPI_RELEASE_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/REFACTORING_SUMMARY.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/build_standalone.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/check_quality.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/docs/GITFLOW_BEST_PRACTICES.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/docs/RELEASE_EXECUTION_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/docs/api.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/BigService.java +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/BigService.json +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/BigService.summary.json +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/JavaDocTest.java +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/MultiClass.java +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/Sample.java +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/calculate_token_comparison.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/project_root_demo.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/sample.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/security_demo.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/security_integration_demo.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/llm_code_checker.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/pypirc_example.txt +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/pytest.ini +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/scripts/gitflow_helper.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/scripts/gitflow_release_automation.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/scripts/sync_version.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/scripts/sync_version_minimal.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/start_mcp_server.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/01_onboarding.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/02_architecture_map.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/03_cli_cheatsheet.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/04_mcp_cheatsheet.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/05_plugin_tutorial.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/06_quality_workflow.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/07_troubleshooting.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/08_prompt_library.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/09_tasks.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/10_glossary.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/11_takeover_plan.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/CLI_COMMAND_CORRECTIONS.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/IMPROVEMENT_SUMMARY.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/README.md +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/__main__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/api.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/__main__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/query_command.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/info_commands.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli_main.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/constants.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/cache_service.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/engine.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/parser.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/query.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/query_filter.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/query_service.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/encoding_utils.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/exceptions.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/file_handler.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/formatter_factory.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/cli.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/language_detector.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/language_loader.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/languages/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/languages/python_plugin.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/server.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/query_tool.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/utils/path_resolver.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/models.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/output_manager.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/plugins/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/plugins/base.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/plugins/manager.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/project_detector.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/java.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/javascript.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/python.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/typescript.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/query_loader.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/security/__init__.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/security/boundary_manager.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/security/regex_checker.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/security/validator.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/table_formatter.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/utils.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/upload_interactive.py +0 -0
- {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/upload_to_pypi.py +0 -0
|
@@ -85,27 +85,7 @@ repos:
|
|
|
85
85
|
pass_filenames: false
|
|
86
86
|
stages: [pre-push] # Only run on push
|
|
87
87
|
|
|
88
|
-
# README stats update (improved version)
|
|
89
|
-
- repo: local
|
|
90
|
-
hooks:
|
|
91
|
-
- id: update-readme-stats
|
|
92
|
-
name: Update README Statistics
|
|
93
|
-
entry: uv run python scripts/improved_readme_updater.py
|
|
94
|
-
language: system
|
|
95
|
-
pass_filenames: false
|
|
96
|
-
stages: [pre-push] # Only run on push
|
|
97
|
-
files: ^(README.*\.md|pyproject\.toml|examples/.*\.java)$
|
|
98
88
|
|
|
99
|
-
# README stats validation
|
|
100
|
-
- repo: local
|
|
101
|
-
hooks:
|
|
102
|
-
- id: validate-readme-stats
|
|
103
|
-
name: Validate README Statistics
|
|
104
|
-
entry: uv run python scripts/improved_readme_updater.py --validate-only
|
|
105
|
-
language: system
|
|
106
|
-
pass_filenames: false
|
|
107
|
-
stages: [pre-commit] # Run on every commit
|
|
108
|
-
files: ^README.*\.md$
|
|
109
89
|
|
|
110
90
|
# Configuration
|
|
111
91
|
default_stages: [pre-commit]
|
|
@@ -1,6 +1,77 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [1.2.
|
|
3
|
+
## [1.2.3] - 2025-08-27
|
|
4
|
+
|
|
5
|
+
### Release: v1.2.3
|
|
6
|
+
|
|
7
|
+
#### 🐛 Java Import Parsing Fix
|
|
8
|
+
- **Robust fallback mechanism**: Added regex-based import extraction when tree-sitter parsing fails
|
|
9
|
+
- **CI environment compatibility**: Resolved import count assertion failures across different CI environments
|
|
10
|
+
- **Cross-platform stability**: Enhanced Java parser robustness for Windows, macOS, and Linux
|
|
11
|
+
|
|
12
|
+
#### 🔧 Technical Improvements
|
|
13
|
+
- **Fallback import extraction**: Implemented backup parsing method for Java import statements
|
|
14
|
+
- **Environment handling**: Better handling of tree-sitter version differences in CI environments
|
|
15
|
+
- **Error recovery**: Improved error handling and recovery in Java element extraction
|
|
16
|
+
- **GitFlow process correction**: Standardized release process documentation and workflow
|
|
17
|
+
|
|
18
|
+
#### 📚 Documentation Updates
|
|
19
|
+
- **Multi-language support**: Updated version numbers across all language variants (English, Japanese, Chinese)
|
|
20
|
+
- **Process documentation**: Corrected and standardized GitFlow release process
|
|
21
|
+
- **Version consistency**: Synchronized version numbers across all project files
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## [1.2.2] - 2025-08-27
|
|
26
|
+
|
|
27
|
+
### Release: v1.2.2
|
|
28
|
+
|
|
29
|
+
#### 🐛 Documentation Fix
|
|
30
|
+
|
|
31
|
+
##### 📅 Date Corrections
|
|
32
|
+
- **Fixed incorrect dates** in CHANGELOG.md for recent releases
|
|
33
|
+
- **v1.2.1**: Corrected from `2025-01-27` to `2025-08-27`
|
|
34
|
+
- **v1.2.0**: Corrected from `2025-01-27` to `2025-08-26`
|
|
35
|
+
|
|
36
|
+
#### 🔧 What was fixed
|
|
37
|
+
- CHANGELOG.md contained incorrect dates (showing January instead of August)
|
|
38
|
+
- This affected the accuracy of project release history
|
|
39
|
+
- All dates now correctly reflect actual release dates
|
|
40
|
+
|
|
41
|
+
#### 📋 Files changed
|
|
42
|
+
- `CHANGELOG.md` - Date corrections for v1.2.1 and v1.2.0
|
|
43
|
+
|
|
44
|
+
#### 🚀 Impact
|
|
45
|
+
- Improved documentation accuracy
|
|
46
|
+
- Better project history tracking
|
|
47
|
+
- Enhanced user experience with correct release information
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## [1.2.1] - 2025-08-27
|
|
52
|
+
|
|
53
|
+
### Release: v1.2.1
|
|
54
|
+
|
|
55
|
+
#### 🚀 Development Efficiency Improvements
|
|
56
|
+
- **Removed README statistics check**: Eliminated time-consuming README statistics validation to improve development efficiency
|
|
57
|
+
- **Simplified CI/CD pipeline**: Streamlined GitHub Actions workflows by removing unnecessary README checks
|
|
58
|
+
- **Reduced manual intervention**: No more manual fixes for README statistics mismatches
|
|
59
|
+
- **Focused development**: Concentrate on core functionality rather than statistics maintenance
|
|
60
|
+
|
|
61
|
+
#### 🔧 Technical Improvements
|
|
62
|
+
- **GitHub Actions cleanup**: Removed `readme-check-improved.yml` workflow
|
|
63
|
+
- **Pre-commit hooks optimization**: Removed README statistics validation hooks
|
|
64
|
+
- **Script cleanup**: Deleted `improved_readme_updater.py` and `readme_config.py`
|
|
65
|
+
- **Workflow simplification**: Updated `develop-automation.yml` to remove README update steps
|
|
66
|
+
|
|
67
|
+
#### 📚 Documentation Updates
|
|
68
|
+
- **Updated scripts documentation**: Removed references to deleted README update scripts
|
|
69
|
+
- **Streamlined workflow docs**: Updated automation workflow documentation
|
|
70
|
+
- **Maintained core functionality**: Preserved essential GitFlow and version management scripts
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## [1.2.0] - 2025-08-26
|
|
4
75
|
|
|
5
76
|
### Release: v1.2.0
|
|
6
77
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tree-sitter-analyzer
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.3
|
|
4
4
|
Summary: Extensible multi-language code analyzer framework using Tree-sitter with dynamic plugin architecture
|
|
5
5
|
Project-URL: Homepage, https://github.com/aimasteracc/tree-sitter-analyzer
|
|
6
6
|
Project-URL: Documentation, https://github.com/aimasteracc/tree-sitter-analyzer#readme
|
|
@@ -163,11 +163,11 @@ Description-Content-Type: text/markdown
|
|
|
163
163
|
|
|
164
164
|
[](https://python.org)
|
|
165
165
|
[](LICENSE)
|
|
166
|
-
[](#quality-assurance)
|
|
167
|
+
[](#quality-assurance)
|
|
168
168
|
[](#quality-assurance)
|
|
169
169
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
170
|
-
[](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
|
|
171
171
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
172
172
|
|
|
173
173
|
## 🚀 Break LLM Token Limits, Let AI Understand Code Files of Any Size
|
|
@@ -734,16 +734,16 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
|
|
|
734
734
|
## 🏆 Quality Assurance
|
|
735
735
|
|
|
736
736
|
### 📊 **Quality Metrics**
|
|
737
|
-
- **1,
|
|
738
|
-
- **74.
|
|
737
|
+
- **1,514 tests** - 100% pass rate ✅
|
|
738
|
+
- **74.24% code coverage** - Industry-leading level
|
|
739
739
|
- **Zero test failures** - Fully CI/CD ready
|
|
740
740
|
- **Cross-platform compatibility** - Windows, macOS, Linux
|
|
741
741
|
|
|
742
|
-
### ⚡ **Latest Quality Achievements (v1.2.
|
|
742
|
+
### ⚡ **Latest Quality Achievements (v1.2.3)**
|
|
743
743
|
- ✅ **Cross-platform path compatibility** - Fixed Windows short path names and macOS symbolic link differences
|
|
744
744
|
- ✅ **Windows environment** - Implemented robust path normalization using Windows API
|
|
745
745
|
- ✅ **macOS environment** - Fixed `/var` vs `/private/var` symbolic link differences
|
|
746
|
-
- ✅ **Comprehensive test coverage** -
|
|
746
|
+
- ✅ **Comprehensive test coverage** - 1514 tests, 74.24% coverage
|
|
747
747
|
- ✅ **GitFlow implementation** - Professional development/release branch strategy. See [GitFlow documentation](GITFLOW.md) for details.
|
|
748
748
|
|
|
749
749
|
### ⚙️ **Running Tests**
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://python.org)
|
|
4
4
|
[](LICENSE)
|
|
5
|
-
[](#quality-assurance)
|
|
6
|
+
[](#quality-assurance)
|
|
7
7
|
[](#quality-assurance)
|
|
8
8
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
9
|
-
[](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
|
|
10
10
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
11
11
|
|
|
12
12
|
## 🚀 Break LLM Token Limits, Let AI Understand Code Files of Any Size
|
|
@@ -573,16 +573,16 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
|
|
|
573
573
|
## 🏆 Quality Assurance
|
|
574
574
|
|
|
575
575
|
### 📊 **Quality Metrics**
|
|
576
|
-
- **1,
|
|
577
|
-
- **74.
|
|
576
|
+
- **1,514 tests** - 100% pass rate ✅
|
|
577
|
+
- **74.24% code coverage** - Industry-leading level
|
|
578
578
|
- **Zero test failures** - Fully CI/CD ready
|
|
579
579
|
- **Cross-platform compatibility** - Windows, macOS, Linux
|
|
580
580
|
|
|
581
|
-
### ⚡ **Latest Quality Achievements (v1.2.
|
|
581
|
+
### ⚡ **Latest Quality Achievements (v1.2.3)**
|
|
582
582
|
- ✅ **Cross-platform path compatibility** - Fixed Windows short path names and macOS symbolic link differences
|
|
583
583
|
- ✅ **Windows environment** - Implemented robust path normalization using Windows API
|
|
584
584
|
- ✅ **macOS environment** - Fixed `/var` vs `/private/var` symbolic link differences
|
|
585
|
-
- ✅ **Comprehensive test coverage** -
|
|
585
|
+
- ✅ **Comprehensive test coverage** - 1514 tests, 74.24% coverage
|
|
586
586
|
- ✅ **GitFlow implementation** - Professional development/release branch strategy. See [GitFlow documentation](GITFLOW.md) for details.
|
|
587
587
|
|
|
588
588
|
### ⚙️ **Running Tests**
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://python.org)
|
|
4
4
|
[](LICENSE)
|
|
5
|
-
[](#品質保証)
|
|
6
|
+
[](#品質保証)
|
|
7
7
|
[](#品質保証)
|
|
8
8
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
9
|
-
[](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
|
|
10
10
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
11
11
|
|
|
12
12
|
## 🚀 LLMトークン制限を突破し、AIにあらゆるサイズのコードファイルを理解させる
|
|
@@ -561,16 +561,16 @@ Tree-sitter Analyzerは自動的にプロジェクト境界を検出・保護:
|
|
|
561
561
|
## 🏆 品質保証
|
|
562
562
|
|
|
563
563
|
### 📊 **品質メトリクス**
|
|
564
|
-
- **1,
|
|
565
|
-
- **74.
|
|
564
|
+
- **1,514テスト** - 100%合格率 ✅
|
|
565
|
+
- **74.24%コードカバレッジ** - 業界最高レベル
|
|
566
566
|
- **ゼロテスト失敗** - 完全なCI/CD対応
|
|
567
567
|
- **クロスプラットフォーム対応** - Windows、macOS、Linux
|
|
568
568
|
|
|
569
|
-
### ⚡ **最新の品質成果(v1.2.
|
|
569
|
+
### ⚡ **最新の品質成果(v1.2.3)**
|
|
570
570
|
- ✅ **クロスプラットフォームパス互換性** - Windows短パス名とmacOSシンボリックリンクの違いを修正
|
|
571
571
|
- ✅ **Windows環境** - Windows APIを使用した堅牢なパス正規化を実装
|
|
572
572
|
- ✅ **macOS環境** - `/var`と`/private/var`シンボリックリンクの違いを修正
|
|
573
|
-
- ✅ **包括的テストカバレッジ** -
|
|
573
|
+
- ✅ **包括的テストカバレッジ** - 1514テスト、74.24%カバレッジ
|
|
574
574
|
- ✅ **GitFlow実装** - 開発/リリースブランチの専門的なブランチ戦略。詳細は[GitFlowドキュメント](GITFLOW_ja.md)を参照してください。
|
|
575
575
|
|
|
576
576
|
### ⚙️ **テスト実行**
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://python.org)
|
|
4
4
|
[](LICENSE)
|
|
5
|
-
[](#质量保证)
|
|
6
|
+
[](#质量保证)
|
|
7
7
|
[](#质量保证)
|
|
8
8
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
9
|
-
[](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
|
|
10
10
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
11
11
|
|
|
12
12
|
## 🚀 突破LLM token限制,让AI理解任意大小的代码文件
|
|
@@ -561,16 +561,16 @@ Tree-sitter Analyzer自动检测和保护项目边界:
|
|
|
561
561
|
## 🏆 质量保证
|
|
562
562
|
|
|
563
563
|
### 📊 **质量指标**
|
|
564
|
-
- **1,
|
|
565
|
-
- **74.
|
|
564
|
+
- **1,514个测试** - 100%通过率 ✅
|
|
565
|
+
- **74.24%代码覆盖率** - 行业领先水平
|
|
566
566
|
- **零测试失败** - 完全CI/CD就绪
|
|
567
567
|
- **跨平台兼容** - Windows、macOS、Linux
|
|
568
568
|
|
|
569
|
-
### ⚡ **最新质量成就(v1.2.
|
|
569
|
+
### ⚡ **最新质量成就(v1.2.3)**
|
|
570
570
|
- ✅ **跨平台路径兼容性** - 修复Windows短路径名称和macOS符号链接差异
|
|
571
571
|
- ✅ **Windows环境** - 使用Windows API实现稳健的路径标准化
|
|
572
572
|
- ✅ **macOS环境** - 修复`/var`与`/private/var`符号链接差异
|
|
573
|
-
- ✅ **全面测试覆盖** -
|
|
573
|
+
- ✅ **全面测试覆盖** - 1514个测试,74.24%覆盖率
|
|
574
574
|
- ✅ **GitFlow实现** - 专业的开发/发布分支策略。详见[GitFlow文档](GITFLOW_zh.md)。
|
|
575
575
|
|
|
576
576
|
### ⚙️ **运行测试**
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tree-sitter-analyzer"
|
|
7
|
-
version = "1.2.
|
|
7
|
+
version = "1.2.3"
|
|
8
8
|
description = "Extensible multi-language code analyzer framework using Tree-sitter with dynamic plugin architecture"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -320,7 +320,7 @@ directory = "htmlcov"
|
|
|
320
320
|
# MCP server configuration
|
|
321
321
|
[tool.mcp]
|
|
322
322
|
server_name = "tree-sitter-analyzer"
|
|
323
|
-
server_version = "1.2.
|
|
323
|
+
server_version = "1.2.3"
|
|
324
324
|
description = "Tree-sitter based code analysis MCP server with multi-language support"
|
|
325
325
|
capabilities = [
|
|
326
326
|
"check_code_scale",
|
|
@@ -8,20 +8,9 @@
|
|
|
8
8
|
|
|
9
9
|
### 🔧 **核心工具(保留)**
|
|
10
10
|
|
|
11
|
-
#### 1. `improved_readme_updater.py` - README统计同步工具
|
|
12
|
-
- **用途**: 自动同步所有README文件中的测试数量、覆盖率等统计信息
|
|
13
|
-
- **何时使用**:
|
|
14
|
-
- 发布新版本前
|
|
15
|
-
- 测试数量发生变化后
|
|
16
|
-
- 需要手动同步README时
|
|
17
|
-
- **命令**: `uv run python scripts/improved_readme_updater.py`
|
|
18
11
|
|
|
19
|
-
#### 2. `readme_config.py` - README配置管理
|
|
20
|
-
- **用途**: 管理README更新的配置和模板
|
|
21
|
-
- **何时使用**: 需要修改README更新策略时
|
|
22
|
-
- **注意**: 这是配置文件,不是执行脚本
|
|
23
12
|
|
|
24
|
-
####
|
|
13
|
+
#### 1. `sync_version_minimal.py` - 版本同步工具
|
|
25
14
|
- **用途**: 同步核心文件中的版本号(pyproject.toml → __init__.py)
|
|
26
15
|
- **何时使用**:
|
|
27
16
|
- 发布新版本前
|
|
@@ -30,14 +19,14 @@
|
|
|
30
19
|
|
|
31
20
|
### 🚀 **GitFlow自动化(保留)**
|
|
32
21
|
|
|
33
|
-
####
|
|
22
|
+
#### 2. `gitflow_release_automation.py` - GitFlow发布自动化
|
|
34
23
|
- **用途**: 完整的GitFlow发布流程自动化
|
|
35
24
|
- **何时使用**:
|
|
36
25
|
- 从develop分支创建release分支
|
|
37
26
|
- 自动化发布流程
|
|
38
27
|
- **命令**: `uv run python scripts/gitflow_release_automation.py --version v1.1.2`
|
|
39
28
|
|
|
40
|
-
####
|
|
29
|
+
#### 3. `gitflow_helper.py` - GitFlow辅助工具
|
|
41
30
|
- **用途**: GitFlow工作流的辅助功能
|
|
42
31
|
- **何时使用**: 需要GitFlow相关辅助操作时
|
|
43
32
|
|
|
@@ -46,7 +35,7 @@
|
|
|
46
35
|
- `quick_fix_v1_1_1.py` - 特定版本脚本,不应该存在
|
|
47
36
|
- `version_1_1_2_release_prep.py` - 特定版本脚本,不应该存在
|
|
48
37
|
- `sync_version.py` - 与sync_version_minimal.py重复
|
|
49
|
-
|
|
38
|
+
|
|
50
39
|
- `automated_release.py` - 与gitflow_release_automation.py重复
|
|
51
40
|
|
|
52
41
|
## 🎯 **最佳实践**
|
|
@@ -72,12 +61,7 @@
|
|
|
72
61
|
|
|
73
62
|
### 发布新版本时:
|
|
74
63
|
|
|
75
|
-
1.
|
|
76
|
-
```bash
|
|
77
|
-
uv run python scripts/improved_readme_updater.py
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
2. **同步版本号**:
|
|
64
|
+
1. **同步版本号**:
|
|
81
65
|
```bash
|
|
82
66
|
uv run python scripts/sync_version_minimal.py
|
|
83
67
|
```
|
|
@@ -150,7 +150,7 @@ class JavaElementExtractor(ElementExtractor):
|
|
|
150
150
|
def extract_imports(
|
|
151
151
|
self, tree: "tree_sitter.Tree", source_code: str
|
|
152
152
|
) -> list[Import]:
|
|
153
|
-
"""Extract Java import statements"""
|
|
153
|
+
"""Extract Java import statements with enhanced robustness"""
|
|
154
154
|
self.source_code = source_code
|
|
155
155
|
self.content_lines = source_code.split("\n")
|
|
156
156
|
|
|
@@ -172,9 +172,73 @@ class JavaElementExtractor(ElementExtractor):
|
|
|
172
172
|
# After package and imports come class declarations, so stop
|
|
173
173
|
break
|
|
174
174
|
|
|
175
|
+
# Fallback: if no imports found via tree-sitter, try regex-based extraction
|
|
176
|
+
if not imports and "import" in source_code:
|
|
177
|
+
log_debug("No imports found via tree-sitter, trying regex fallback")
|
|
178
|
+
fallback_imports = self._extract_imports_fallback(source_code)
|
|
179
|
+
imports.extend(fallback_imports)
|
|
180
|
+
|
|
175
181
|
log_debug(f"Extracted {len(imports)} imports")
|
|
176
182
|
return imports
|
|
177
183
|
|
|
184
|
+
def _extract_imports_fallback(self, source_code: str) -> list[Import]:
|
|
185
|
+
"""Fallback import extraction using regex when tree-sitter fails"""
|
|
186
|
+
imports = []
|
|
187
|
+
lines = source_code.split("\n")
|
|
188
|
+
|
|
189
|
+
for line_num, line in enumerate(lines, 1):
|
|
190
|
+
line = line.strip()
|
|
191
|
+
if line.startswith("import ") and line.endswith(";"):
|
|
192
|
+
# Extract import statement
|
|
193
|
+
import_content = line[:-1] # Remove semicolon
|
|
194
|
+
|
|
195
|
+
if "static" in import_content:
|
|
196
|
+
# Static import
|
|
197
|
+
static_match = re.search(r"import\s+static\s+([\w.]+)", import_content)
|
|
198
|
+
if static_match:
|
|
199
|
+
import_name = static_match.group(1)
|
|
200
|
+
if import_content.endswith(".*"):
|
|
201
|
+
import_name = import_name.replace(".*", "")
|
|
202
|
+
parts = import_name.split(".")
|
|
203
|
+
if len(parts) > 1:
|
|
204
|
+
import_name = ".".join(parts[:-1])
|
|
205
|
+
|
|
206
|
+
imports.append(Import(
|
|
207
|
+
name=import_name,
|
|
208
|
+
start_line=line_num,
|
|
209
|
+
end_line=line_num,
|
|
210
|
+
raw_text=line,
|
|
211
|
+
language="java",
|
|
212
|
+
module_name=import_name,
|
|
213
|
+
is_static=True,
|
|
214
|
+
is_wildcard=import_content.endswith(".*"),
|
|
215
|
+
import_statement=import_content,
|
|
216
|
+
))
|
|
217
|
+
else:
|
|
218
|
+
# Normal import
|
|
219
|
+
normal_match = re.search(r"import\s+([\w.]+)", import_content)
|
|
220
|
+
if normal_match:
|
|
221
|
+
import_name = normal_match.group(1)
|
|
222
|
+
if import_content.endswith(".*"):
|
|
223
|
+
if import_name.endswith(".*"):
|
|
224
|
+
import_name = import_name[:-2]
|
|
225
|
+
elif import_name.endswith("."):
|
|
226
|
+
import_name = import_name[:-1]
|
|
227
|
+
|
|
228
|
+
imports.append(Import(
|
|
229
|
+
name=import_name,
|
|
230
|
+
start_line=line_num,
|
|
231
|
+
end_line=line_num,
|
|
232
|
+
raw_text=line,
|
|
233
|
+
language="java",
|
|
234
|
+
module_name=import_name,
|
|
235
|
+
is_static=False,
|
|
236
|
+
is_wildcard=import_content.endswith(".*"),
|
|
237
|
+
import_statement=import_content,
|
|
238
|
+
))
|
|
239
|
+
|
|
240
|
+
return imports
|
|
241
|
+
|
|
178
242
|
def extract_packages(
|
|
179
243
|
self, tree: "tree_sitter.Tree", source_code: str
|
|
180
244
|
) -> list[Package]:
|