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.

Files changed (148) hide show
  1. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/.pre-commit-config.yaml +0 -20
  2. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/CHANGELOG.md +72 -1
  3. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/PKG-INFO +8 -8
  4. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/README.md +7 -7
  5. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/README_ja.md +7 -7
  6. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/README_zh.md +7 -7
  7. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/pyproject.toml +2 -2
  8. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/scripts/README.md +5 -21
  9. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/languages/java_plugin.py +65 -1
  10. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/uv.lock +1 -1
  11. tree_sitter_analyzer-1.2.0/scripts/improved_readme_updater.py +0 -558
  12. tree_sitter_analyzer-1.2.0/scripts/readme_config.py +0 -162
  13. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/.gitignore +0 -0
  14. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/.kiro/steering/product.md +0 -0
  15. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/.kiro/steering/structure.md +0 -0
  16. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/.kiro/steering/tech.md +0 -0
  17. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/.pre-commit-hooks.yaml +0 -0
  18. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/AI_COLLABORATION_GUIDE.md +0 -0
  19. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/CODE_STYLE_GUIDE.md +0 -0
  20. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/CONTRIBUTING.md +0 -0
  21. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/DEPLOYMENT_GUIDE.md +0 -0
  22. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/GITFLOW.md +0 -0
  23. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/GITFLOW_ja.md +0 -0
  24. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/GITFLOW_zh.md +0 -0
  25. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/LANGUAGE_GUIDELINES.md +0 -0
  26. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/LLM_CODING_GUIDELINES.md +0 -0
  27. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/MCP_SETUP_DEVELOPERS.md +0 -0
  28. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/MCP_SETUP_USERS.md +0 -0
  29. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/PROJECT_ROOT_CONFIG.md +0 -0
  30. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/PYPI_RELEASE_GUIDE.md +0 -0
  31. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/REFACTORING_SUMMARY.md +0 -0
  32. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/build_standalone.py +0 -0
  33. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/check_quality.py +0 -0
  34. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/docs/GITFLOW_BEST_PRACTICES.md +0 -0
  35. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/docs/RELEASE_EXECUTION_GUIDE.md +0 -0
  36. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/docs/api.md +0 -0
  37. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/BigService.java +0 -0
  38. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/BigService.json +0 -0
  39. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/BigService.summary.json +0 -0
  40. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/JavaDocTest.java +0 -0
  41. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/MultiClass.java +0 -0
  42. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/Sample.java +0 -0
  43. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/calculate_token_comparison.py +0 -0
  44. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/project_root_demo.py +0 -0
  45. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/sample.py +0 -0
  46. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/security_demo.py +0 -0
  47. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/examples/security_integration_demo.py +0 -0
  48. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/llm_code_checker.py +0 -0
  49. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/pypirc_example.txt +0 -0
  50. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/pytest.ini +0 -0
  51. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/scripts/gitflow_helper.py +0 -0
  52. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/scripts/gitflow_release_automation.py +0 -0
  53. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/scripts/sync_version.py +0 -0
  54. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/scripts/sync_version_minimal.py +0 -0
  55. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/start_mcp_server.py +0 -0
  56. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/01_onboarding.md +0 -0
  57. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/02_architecture_map.md +0 -0
  58. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/03_cli_cheatsheet.md +0 -0
  59. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/04_mcp_cheatsheet.md +0 -0
  60. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/05_plugin_tutorial.md +0 -0
  61. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/06_quality_workflow.md +0 -0
  62. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/07_troubleshooting.md +0 -0
  63. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/08_prompt_library.md +0 -0
  64. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/09_tasks.md +0 -0
  65. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/10_glossary.md +0 -0
  66. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/11_takeover_plan.md +0 -0
  67. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/CLI_COMMAND_CORRECTIONS.md +0 -0
  68. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/IMPROVEMENT_SUMMARY.md +0 -0
  69. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/training/README.md +0 -0
  70. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/__init__.py +0 -0
  71. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/__main__.py +0 -0
  72. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/api.py +0 -0
  73. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/__init__.py +0 -0
  74. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/__main__.py +0 -0
  75. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
  76. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
  77. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
  78. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
  79. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
  80. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/query_command.py +0 -0
  81. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
  82. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
  83. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
  84. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/info_commands.py +0 -0
  85. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli_main.py +0 -0
  86. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/constants.py +0 -0
  87. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/__init__.py +0 -0
  88. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
  89. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/cache_service.py +0 -0
  90. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/engine.py +0 -0
  91. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/parser.py +0 -0
  92. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/query.py +0 -0
  93. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/query_filter.py +0 -0
  94. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/query_service.py +0 -0
  95. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/encoding_utils.py +0 -0
  96. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/exceptions.py +0 -0
  97. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/file_handler.py +0 -0
  98. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/__init__.py +0 -0
  99. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
  100. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/formatter_factory.py +0 -0
  101. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
  102. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
  103. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
  104. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/cli.py +0 -0
  105. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
  106. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
  107. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
  108. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/language_detector.py +0 -0
  109. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/language_loader.py +0 -0
  110. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/languages/__init__.py +0 -0
  111. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
  112. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/languages/python_plugin.py +0 -0
  113. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/__init__.py +0 -0
  114. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -0
  115. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
  116. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
  117. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/server.py +0 -0
  118. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -0
  119. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
  120. {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
  121. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
  122. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/query_tool.py +0 -0
  123. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
  124. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
  125. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
  126. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -0
  127. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
  128. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/utils/path_resolver.py +0 -0
  129. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/models.py +0 -0
  130. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/output_manager.py +0 -0
  131. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/plugins/__init__.py +0 -0
  132. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/plugins/base.py +0 -0
  133. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/plugins/manager.py +0 -0
  134. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/project_detector.py +0 -0
  135. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/__init__.py +0 -0
  136. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/java.py +0 -0
  137. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/javascript.py +0 -0
  138. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/python.py +0 -0
  139. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/typescript.py +0 -0
  140. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/query_loader.py +0 -0
  141. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/security/__init__.py +0 -0
  142. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/security/boundary_manager.py +0 -0
  143. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/security/regex_checker.py +0 -0
  144. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/security/validator.py +0 -0
  145. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/table_formatter.py +0 -0
  146. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/utils.py +0 -0
  147. {tree_sitter_analyzer-1.2.0 → tree_sitter_analyzer-1.2.3}/upload_interactive.py +0 -0
  148. {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.0] - 2025-01-27
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.0
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
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
165
165
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
166
- [![Tests](https://img.shields.io/badge/tests-1504%20passed-brightgreen.svg)](#quality-assurance)
167
- [![Coverage](https://img.shields.io/badge/coverage-74.30%25-green.svg)](#quality-assurance)
166
+ [![Tests](https://img.shields.io/badge/tests-1514%20passed-brightgreen.svg)](#quality-assurance)
167
+ [![Coverage](https://img.shields.io/badge/coverage-74.10%25-green.svg)](#quality-assurance)
168
168
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
169
169
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
170
- [![Version](https://img.shields.io/badge/version-1.2.0-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
170
+ [![Version](https://img.shields.io/badge/version-1.2.3-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
171
171
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](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,504 tests** - 100% pass rate ✅
738
- - **74.30% code coverage** - Industry-leading level
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.0)**
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** - 1504 tests, 74.30% 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
  [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
4
4
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
5
- [![Tests](https://img.shields.io/badge/tests-1504%20passed-brightgreen.svg)](#quality-assurance)
6
- [![Coverage](https://img.shields.io/badge/coverage-74.30%25-green.svg)](#quality-assurance)
5
+ [![Tests](https://img.shields.io/badge/tests-1514%20passed-brightgreen.svg)](#quality-assurance)
6
+ [![Coverage](https://img.shields.io/badge/coverage-74.10%25-green.svg)](#quality-assurance)
7
7
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
8
8
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
9
- [![Version](https://img.shields.io/badge/version-1.2.0-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
9
+ [![Version](https://img.shields.io/badge/version-1.2.3-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
10
10
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](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,504 tests** - 100% pass rate ✅
577
- - **74.30% code coverage** - Industry-leading level
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.0)**
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** - 1504 tests, 74.30% 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
  [![Pythonバージョン](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
4
4
  [![ライセンス](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
5
- [![テスト](https://img.shields.io/badge/tests-1504%20passed-brightgreen.svg)](#品質保証)
6
- [![カバレッジ](https://img.shields.io/badge/coverage-74.30%25-green.svg)](#品質保証)
5
+ [![テスト](https://img.shields.io/badge/tests-1514%20passed-brightgreen.svg)](#品質保証)
6
+ [![カバレッジ](https://img.shields.io/badge/coverage-74.10%25-green.svg)](#品質保証)
7
7
  [![品質](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#品質保証)
8
8
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
9
- [![バージョン](https://img.shields.io/badge/version-1.2.0-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
9
+ [![バージョン](https://img.shields.io/badge/version-1.2.3-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
10
10
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](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,504テスト** - 100%合格率 ✅
565
- - **74.30%コードカバレッジ** - 業界最高レベル
564
+ - **1,514テスト** - 100%合格率 ✅
565
+ - **74.24%コードカバレッジ** - 業界最高レベル
566
566
  - **ゼロテスト失敗** - 完全なCI/CD対応
567
567
  - **クロスプラットフォーム対応** - Windows、macOS、Linux
568
568
 
569
- ### ⚡ **最新の品質成果(v1.2.0)**
569
+ ### ⚡ **最新の品質成果(v1.2.3)**
570
570
  - ✅ **クロスプラットフォームパス互換性** - Windows短パス名とmacOSシンボリックリンクの違いを修正
571
571
  - ✅ **Windows環境** - Windows APIを使用した堅牢なパス正規化を実装
572
572
  - ✅ **macOS環境** - `/var`と`/private/var`シンボリックリンクの違いを修正
573
- - ✅ **包括的テストカバレッジ** - 1504テスト、74.30%カバレッジ
573
+ - ✅ **包括的テストカバレッジ** - 1514テスト、74.24%カバレッジ
574
574
  - ✅ **GitFlow実装** - 開発/リリースブランチの専門的なブランチ戦略。詳細は[GitFlowドキュメント](GITFLOW_ja.md)を参照してください。
575
575
 
576
576
  ### ⚙️ **テスト実行**
@@ -2,11 +2,11 @@
2
2
 
3
3
  [![Python版本](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
4
4
  [![许可证](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
5
- [![测试](https://img.shields.io/badge/tests-1504%20passed-brightgreen.svg)](#质量保证)
6
- [![覆盖率](https://img.shields.io/badge/coverage-74.30%25-green.svg)](#质量保证)
5
+ [![测试](https://img.shields.io/badge/tests-1514%20passed-brightgreen.svg)](#质量保证)
6
+ [![覆盖率](https://img.shields.io/badge/coverage-74.10%25-green.svg)](#质量保证)
7
7
  [![质量](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#质量保证)
8
8
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
9
- [![版本](https://img.shields.io/badge/version-1.2.0-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
9
+ [![版本](https://img.shields.io/badge/version-1.2.3-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
10
10
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](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,504个测试** - 100%通过率 ✅
565
- - **74.30%代码覆盖率** - 行业领先水平
564
+ - **1,514个测试** - 100%通过率 ✅
565
+ - **74.24%代码覆盖率** - 行业领先水平
566
566
  - **零测试失败** - 完全CI/CD就绪
567
567
  - **跨平台兼容** - Windows、macOS、Linux
568
568
 
569
- ### ⚡ **最新质量成就(v1.2.0)**
569
+ ### ⚡ **最新质量成就(v1.2.3)**
570
570
  - ✅ **跨平台路径兼容性** - 修复Windows短路径名称和macOS符号链接差异
571
571
  - ✅ **Windows环境** - 使用Windows API实现稳健的路径标准化
572
572
  - ✅ **macOS环境** - 修复`/var`与`/private/var`符号链接差异
573
- - ✅ **全面测试覆盖** - 1504个测试,74.30%覆盖率
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.0"
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.0"
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
- #### 3. `sync_version_minimal.py` - 版本同步工具
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
- #### 4. `gitflow_release_automation.py` - GitFlow发布自动化
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
- #### 5. `gitflow_helper.py` - GitFlow辅助工具
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
- - `quick_fix_readme.py` - 与improved_readme_updater.py重复
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. **同步README统计**:
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]:
@@ -1495,7 +1495,7 @@ wheels = [
1495
1495
 
1496
1496
  [[package]]
1497
1497
  name = "tree-sitter-analyzer"
1498
- version = "1.2.0"
1498
+ version = "1.2.3"
1499
1499
  source = { editable = "." }
1500
1500
  dependencies = [
1501
1501
  { name = "cachetools" },