tree-sitter-analyzer 1.4.0__tar.gz → 1.5.0__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.4.0 → tree_sitter_analyzer-1.5.0}/CHANGELOG.md +44 -1
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/PKG-INFO +106 -18
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/README.md +105 -9
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/README_ja.md +104 -8
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/README_zh.md +105 -9
- tree_sitter_analyzer-1.5.0/coverage.json +1 -0
- tree_sitter_analyzer-1.5.0/examples/ModernJavaScript.js +554 -0
- tree_sitter_analyzer-1.5.0/examples/ReactComponent.jsx +577 -0
- tree_sitter_analyzer-1.5.0/examples/javascript_analysis_demo.py +642 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/pyproject.toml +61 -4
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/scripts/sync_version.py +2 -6
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/__init__.py +1 -1
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/api.py +108 -8
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/commands/find_and_grep_cli.py +3 -2
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/commands/list_files_cli.py +0 -1
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/commands/search_content_cli.py +3 -2
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/encoding_utils.py +3 -3
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/formatters/formatter_factory.py +3 -0
- tree_sitter_analyzer-1.5.0/tree_sitter_analyzer/formatters/javascript_formatter.py +467 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/language_loader.py +2 -2
- tree_sitter_analyzer-1.5.0/tree_sitter_analyzer/languages/javascript_plugin.py +1497 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py +17 -4
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/utils/path_resolver.py +1 -1
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/models.py +9 -0
- tree_sitter_analyzer-1.5.0/tree_sitter_analyzer/queries/javascript.py +709 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/upload_to_pypi.py +6 -2
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/uv.lock +396 -6
- tree_sitter_analyzer-1.4.0/tree_sitter_analyzer/languages/javascript_plugin.py +0 -446
- tree_sitter_analyzer-1.4.0/tree_sitter_analyzer/queries/javascript.py +0 -148
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/.gitattributes +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/.gitignore +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/.kiro/steering/product.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/.kiro/steering/structure.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/.kiro/steering/tech.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/.pre-commit-config.yaml +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/.pre-commit-hooks.yaml +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/AI_COLLABORATION_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/CODE_STYLE_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/CONTRIBUTING.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/DEPLOYMENT_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/GITFLOW.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/GITFLOW_ja.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/GITFLOW_zh.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/LANGUAGE_GUIDELINES.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/LLM_CODING_GUIDELINES.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/MCP_SETUP_DEVELOPERS.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/MCP_SETUP_USERS.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/PROJECT_ROOT_CONFIG.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/PYPI_RELEASE_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/REFACTORING_SUMMARY.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/build_standalone.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/check_quality.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/docs/GITFLOW_BEST_PRACTICES.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/docs/RELEASE_EXECUTION_GUIDE.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/docs/api.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/docs/mcp_fd_rg_design.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/examples/BigService.java +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/examples/BigService.json +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/examples/BigService.summary.json +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/examples/JavaDocTest.java +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/examples/MultiClass.java +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/examples/Sample.java +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/examples/cache_demo.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/examples/calculate_token_comparison.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/examples/project_root_demo.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/examples/sample.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/examples/security_demo.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/examples/security_integration_demo.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/examples/smart_cache_demo.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/examples/total_only_optimization_demo.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/llm_code_checker.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/pypirc_example.txt +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/pytest.ini +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/scripts/README.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/scripts/gitflow_helper.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/scripts/gitflow_release_automation.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/scripts/sync_version_minimal.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/start_mcp_server.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/training/01_onboarding.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/training/02_architecture_map.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/training/03_cli_cheatsheet.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/training/04_mcp_cheatsheet.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/training/05_plugin_tutorial.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/training/06_quality_workflow.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/training/07_troubleshooting.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/training/08_prompt_library.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/training/09_tasks.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/training/10_glossary.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/training/11_takeover_plan.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/training/CLI_COMMAND_CORRECTIONS.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/training/IMPROVEMENT_SUMMARY.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/training/README.md +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/__main__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/__init__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/__main__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/commands/query_command.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli/info_commands.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/cli_main.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/constants.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/core/__init__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/core/cache_service.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/core/engine.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/core/parser.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/core/query.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/core/query_filter.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/core/query_service.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/exceptions.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/file_handler.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/formatters/__init__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/interfaces/cli.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/language_detector.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/languages/__init__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/languages/java_plugin.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/languages/python_plugin.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/__init__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/server.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/tools/fd_rg_utils.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/tools/list_files_tool.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/tools/query_tool.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/tools/search_content_tool.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/utils/gitignore_detector.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/mcp/utils/search_cache.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/output_manager.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/plugins/__init__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/plugins/base.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/plugins/manager.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/project_detector.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/queries/__init__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/queries/java.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/queries/python.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/queries/typescript.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/query_loader.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/security/__init__.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/security/boundary_manager.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/security/regex_checker.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/security/validator.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/table_formatter.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/tree_sitter_analyzer/utils.py +0 -0
- {tree_sitter_analyzer-1.4.0 → tree_sitter_analyzer-1.5.0}/upload_interactive.py +0 -0
|
@@ -1,5 +1,48 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.5.0] - 2025-01-19
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **🚀 Enhanced JavaScript Analysis**: Improved JavaScript plugin with extended query support
|
|
7
|
+
- **Advanced Pattern Recognition**: Enhanced detection of JavaScript-specific patterns and constructs
|
|
8
|
+
- **Better Error Handling**: Improved exception handling throughout the codebase
|
|
9
|
+
- **Extended Test Coverage**: Added comprehensive test suite with 1869 tests (up from 1797)
|
|
10
|
+
|
|
11
|
+
### Improved
|
|
12
|
+
- **📊 Quality Metrics**:
|
|
13
|
+
- Test count increased to 1869 (up from 1797)
|
|
14
|
+
- Maintained high code quality standards with 71.90% coverage
|
|
15
|
+
- Enhanced CI/CD pipeline with better cross-platform compatibility
|
|
16
|
+
- **🔧 Code Quality**: Improved encoding utilities and path resolution
|
|
17
|
+
- **💡 Plugin Architecture**: Enhanced JavaScript language plugin with better performance
|
|
18
|
+
|
|
19
|
+
### Technical Details
|
|
20
|
+
- **Files Modified**: Multiple files across the codebase for improved functionality
|
|
21
|
+
- **Test Coverage**: All 1869 tests pass with comprehensive coverage
|
|
22
|
+
- **Quality Metrics**: 71.90% code coverage maintained
|
|
23
|
+
- **Breaking Changes**: None - all improvements are backward compatible
|
|
24
|
+
|
|
25
|
+
This minor release focuses on enhanced JavaScript support and improved overall code quality,
|
|
26
|
+
making the tool more robust and reliable for JavaScript code analysis.
|
|
27
|
+
|
|
28
|
+
## [1.4.1] - 2025-01-19
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
- **🐛 find_and_grep File Search Scope Bug**: Fixed critical bug where ripgrep searched in parent directories instead of only in files found by fd
|
|
32
|
+
- **Root Cause**: Tool was using parent directories as search roots, causing broader search scope than intended
|
|
33
|
+
- **Solution**: Now uses specific file globs to limit ripgrep search to exact files discovered by fd
|
|
34
|
+
- **Impact**: Ensures `searched_file_count` and `total_files` metrics are consistent and accurate
|
|
35
|
+
- **Example**: When fd finds 7 files matching `*pattern*`, ripgrep now only searches those 7 files, not all files in their parent directories
|
|
36
|
+
|
|
37
|
+
### Technical Details
|
|
38
|
+
- **Files Modified**: `tree_sitter_analyzer/mcp/tools/find_and_grep_tool.py`
|
|
39
|
+
- **Test Coverage**: All 1797 tests pass, including 144 fd/rg tool tests
|
|
40
|
+
- **Quality Metrics**: 74.45% code coverage maintained
|
|
41
|
+
- **Breaking Changes**: None - fix improves accuracy without changing API
|
|
42
|
+
|
|
43
|
+
This patch release resolves a significant accuracy issue in the find_and_grep tool,
|
|
44
|
+
ensuring search results match user expectations and tool documentation.
|
|
45
|
+
|
|
3
46
|
## [1.4.0] - 2025-01-18
|
|
4
47
|
|
|
5
48
|
### Added
|
|
@@ -10,7 +53,7 @@
|
|
|
10
53
|
- **Backward Compatibility**: Maintains existing `results` structure when `group_by_file=False`
|
|
11
54
|
|
|
12
55
|
### Improved
|
|
13
|
-
- **📊 Search Results Optimization**:
|
|
56
|
+
- **📊 Search Results Optimization**:
|
|
14
57
|
- Same file matches are now grouped together instead of repeated entries
|
|
15
58
|
- Context consumption reduced by ~80% for multi-file searches
|
|
16
59
|
- Better organization for AI assistants processing search results
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tree-sitter-analyzer
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.5.0
|
|
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
|
|
@@ -58,14 +58,10 @@ Requires-Dist: pytest>=8.4.1; extra == 'all'
|
|
|
58
58
|
Requires-Dist: ruff>=0.5.0; extra == 'all'
|
|
59
59
|
Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'all'
|
|
60
60
|
Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4; extra == 'all'
|
|
61
|
-
Requires-Dist: tree-sitter-cpp>=0.23.4; extra == 'all'
|
|
62
61
|
Requires-Dist: tree-sitter-go<0.25.0,>=0.20.0; extra == 'all'
|
|
63
62
|
Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5; extra == 'all'
|
|
64
|
-
Requires-Dist: tree-sitter-java>=0.23.5; extra == 'all'
|
|
65
63
|
Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'all'
|
|
66
|
-
Requires-Dist: tree-sitter-javascript>=0.23.1; extra == 'all'
|
|
67
64
|
Requires-Dist: tree-sitter-python<0.25.0,>=0.23.0; extra == 'all'
|
|
68
|
-
Requires-Dist: tree-sitter-python>=0.23.0; extra == 'all'
|
|
69
65
|
Requires-Dist: tree-sitter-rust<0.25.0,>=0.20.0; extra == 'all'
|
|
70
66
|
Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'all'
|
|
71
67
|
Requires-Dist: types-psutil>=5.9.0; extra == 'all'
|
|
@@ -114,14 +110,10 @@ Requires-Dist: pytest>=8.4.1; extra == 'full'
|
|
|
114
110
|
Requires-Dist: ruff>=0.5.0; extra == 'full'
|
|
115
111
|
Requires-Dist: tree-sitter-c<0.25.0,>=0.20.0; extra == 'full'
|
|
116
112
|
Requires-Dist: tree-sitter-cpp<0.25.0,>=0.23.4; extra == 'full'
|
|
117
|
-
Requires-Dist: tree-sitter-cpp>=0.23.4; extra == 'full'
|
|
118
113
|
Requires-Dist: tree-sitter-go<0.25.0,>=0.20.0; extra == 'full'
|
|
119
114
|
Requires-Dist: tree-sitter-java<0.25.0,>=0.23.5; extra == 'full'
|
|
120
|
-
Requires-Dist: tree-sitter-java>=0.23.5; extra == 'full'
|
|
121
115
|
Requires-Dist: tree-sitter-javascript<0.25.0,>=0.23.1; extra == 'full'
|
|
122
|
-
Requires-Dist: tree-sitter-javascript>=0.23.1; extra == 'full'
|
|
123
116
|
Requires-Dist: tree-sitter-python<0.25.0,>=0.23.0; extra == 'full'
|
|
124
|
-
Requires-Dist: tree-sitter-python>=0.23.0; extra == 'full'
|
|
125
117
|
Requires-Dist: tree-sitter-rust<0.25.0,>=0.20.0; extra == 'full'
|
|
126
118
|
Requires-Dist: tree-sitter-typescript<0.25.0,>=0.20.0; extra == 'full'
|
|
127
119
|
Requires-Dist: types-psutil>=5.9.0; extra == 'full'
|
|
@@ -171,11 +163,11 @@ Description-Content-Type: text/markdown
|
|
|
171
163
|
|
|
172
164
|
[](https://python.org)
|
|
173
165
|
[](LICENSE)
|
|
174
|
-
[](#quality-assurance)
|
|
167
|
+
[](#quality-assurance)
|
|
176
168
|
[](#quality-assurance)
|
|
177
169
|
[](https://pypi.org/project/tree-sitter-analyzer/)
|
|
178
|
-
[](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
|
|
179
171
|
[](https://github.com/aimasteracc/tree-sitter-analyzer)
|
|
180
172
|
|
|
181
173
|
## 🚀 Break LLM Token Limits, Let AI Understand Code Files of Any Size
|
|
@@ -933,11 +925,107 @@ rg --version
|
|
|
933
925
|
### 🌍 **Multi-language Support**
|
|
934
926
|
- **Java** - Full support, including Spring, JPA frameworks
|
|
935
927
|
- **Python** - Full support, including type annotations, decorators
|
|
936
|
-
- **JavaScript
|
|
928
|
+
- **JavaScript** - 🆕 **Enterprise-grade support**, including modern ES6+ features, React/Vue/Angular frameworks, JSX, async functions, generators, arrow functions, classes, module systems
|
|
929
|
+
- **TypeScript** - Full support, including type annotations, interfaces
|
|
937
930
|
- **C/C++, Rust, Go** - Basic support
|
|
938
931
|
|
|
939
932
|
---
|
|
940
933
|
|
|
934
|
+
## 🆕 JavaScript Enterprise Support (v1.5.0+)
|
|
935
|
+
|
|
936
|
+
### 🚀 **Modern JavaScript Complete Support**
|
|
937
|
+
|
|
938
|
+
Tree-sitter Analyzer now provides enterprise-level JavaScript support at the same level as Java, including:
|
|
939
|
+
|
|
940
|
+
#### **📋 Core Language Features**
|
|
941
|
+
- **Function Types**: Traditional functions, arrow functions, async functions, generator functions
|
|
942
|
+
- **Class System**: ES6 classes, inheritance, static methods, getters/setters, constructors
|
|
943
|
+
- **Variable Declarations**: var, let, const, destructuring assignment, template literals
|
|
944
|
+
- **Module System**: ES6 import/export, CommonJS require/module.exports
|
|
945
|
+
- **Modern Features**: Spread/rest operators, Promises, async/await
|
|
946
|
+
|
|
947
|
+
#### **🎨 Framework & Ecosystem**
|
|
948
|
+
- **React Support**: JSX syntax, component analysis, Hook recognition, lifecycle methods
|
|
949
|
+
- **Vue.js Support**: Single-file components, template syntax, reactive data
|
|
950
|
+
- **Angular Support**: Components, services, dependency injection pattern recognition
|
|
951
|
+
- **Node.js Support**: Server-side patterns, Express routing, middleware
|
|
952
|
+
|
|
953
|
+
#### **🔍 Advanced Analysis Capabilities**
|
|
954
|
+
- **JSDoc Extraction**: Complete documentation comment parsing and type information
|
|
955
|
+
- **Complexity Analysis**: Cyclomatic complexity calculation and code quality metrics
|
|
956
|
+
- **Framework Detection**: Automatic recognition of React, Vue, Angular project types
|
|
957
|
+
- **Export Analysis**: Module export mapping and dependency relationship tracking
|
|
958
|
+
|
|
959
|
+
#### **💼 Enterprise Features**
|
|
960
|
+
- **Table Formatting**: Dedicated JavaScript table formatter for clear code structure display
|
|
961
|
+
- **Performance Optimization**: Caching mechanisms, iterative traversal, efficient large file handling
|
|
962
|
+
- **Error Handling**: Robust exception handling and detailed error reporting
|
|
963
|
+
- **Type Safety**: TypeScript-style type annotation support
|
|
964
|
+
|
|
965
|
+
### 📊 **JavaScript Analysis Examples**
|
|
966
|
+
|
|
967
|
+
```bash
|
|
968
|
+
# Analyze modern JavaScript files
|
|
969
|
+
uv run python -m tree_sitter_analyzer examples/ModernJavaScript.js --language javascript --advanced
|
|
970
|
+
|
|
971
|
+
# Generate detailed structure tables
|
|
972
|
+
uv run python -m tree_sitter_analyzer examples/ModernJavaScript.js --language javascript --table full
|
|
973
|
+
|
|
974
|
+
# Analyze React components
|
|
975
|
+
uv run python -m tree_sitter_analyzer examples/ReactComponent.jsx --language javascript --table full
|
|
976
|
+
|
|
977
|
+
# Query specific function types
|
|
978
|
+
uv run python -m tree_sitter_analyzer examples/ModernJavaScript.js --language javascript --query-key async_function
|
|
979
|
+
```
|
|
980
|
+
|
|
981
|
+
### 🎯 **Supported JavaScript Query Types**
|
|
982
|
+
- `function_declaration` - Traditional function declarations
|
|
983
|
+
- `arrow_function` - Arrow functions
|
|
984
|
+
- `async_function` - Async functions
|
|
985
|
+
- `generator_function` - Generator functions
|
|
986
|
+
- `class_declaration` - Class declarations
|
|
987
|
+
- `variable_declaration` - Variable declarations
|
|
988
|
+
- `import_statement` - Import statements
|
|
989
|
+
- `export_statement` - Export statements
|
|
990
|
+
- `jsx_element` - JSX elements
|
|
991
|
+
- `method_definition` - Method definitions
|
|
992
|
+
|
|
993
|
+
### 🏗️ **AI Assistant JavaScript Workflow**
|
|
994
|
+
|
|
995
|
+
```
|
|
996
|
+
I want to analyze the structure of this JavaScript file: examples/ModernJavaScript.js
|
|
997
|
+
```
|
|
998
|
+
|
|
999
|
+
**Example Response Format:**
|
|
1000
|
+
```json
|
|
1001
|
+
{
|
|
1002
|
+
"file_path": "examples/ModernJavaScript.js",
|
|
1003
|
+
"language": "javascript",
|
|
1004
|
+
"element_count": 24,
|
|
1005
|
+
"elements": [
|
|
1006
|
+
{
|
|
1007
|
+
"name": "fetchUserData",
|
|
1008
|
+
"type": "function",
|
|
1009
|
+
"start_line": 208,
|
|
1010
|
+
"end_line": 211,
|
|
1011
|
+
"is_async": true,
|
|
1012
|
+
"framework_type": "vanilla"
|
|
1013
|
+
},
|
|
1014
|
+
{
|
|
1015
|
+
"name": "ModernComponent",
|
|
1016
|
+
"type": "class",
|
|
1017
|
+
"start_line": 31,
|
|
1018
|
+
"end_line": 200,
|
|
1019
|
+
"is_react_component": true,
|
|
1020
|
+
"framework_type": "react"
|
|
1021
|
+
}
|
|
1022
|
+
],
|
|
1023
|
+
"success": true
|
|
1024
|
+
}
|
|
1025
|
+
```
|
|
1026
|
+
|
|
1027
|
+
---
|
|
1028
|
+
|
|
941
1029
|
## 📦 Installation Guide
|
|
942
1030
|
|
|
943
1031
|
### 👤 **End Users**
|
|
@@ -1008,15 +1096,15 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
|
|
|
1008
1096
|
|
|
1009
1097
|
### 📊 **Quality Metrics**
|
|
1010
1098
|
- **1,797 tests** - 100% pass rate ✅
|
|
1011
|
-
- **74.
|
|
1099
|
+
- **74.45% code coverage** - Industry-leading level
|
|
1012
1100
|
- **Zero test failures** - Fully CI/CD ready
|
|
1013
1101
|
- **Cross-platform compatibility** - Windows, macOS, Linux
|
|
1014
1102
|
|
|
1015
|
-
### ⚡ **Latest Quality Achievements (v1.
|
|
1103
|
+
### ⚡ **Latest Quality Achievements (v1.5.0)**
|
|
1016
1104
|
- ✅ **Cross-platform path compatibility** - Fixed Windows short path names and macOS symbolic link differences
|
|
1017
1105
|
- ✅ **Windows environment** - Implemented robust path normalization using Windows API
|
|
1018
1106
|
- ✅ **macOS environment** - Fixed `/var` vs `/private/var` symbolic link differences
|
|
1019
|
-
- ✅ **Comprehensive test coverage** - 1797 tests, 74.
|
|
1107
|
+
- ✅ **Comprehensive test coverage** - 1797 tests, 74.45% coverage
|
|
1020
1108
|
- ✅ **GitFlow implementation** - Professional development/release branch strategy. See [GitFlow documentation](GITFLOW.md) for details.
|
|
1021
1109
|
|
|
1022
1110
|
### ⚙️ **Running Tests**
|
|
@@ -1133,9 +1221,9 @@ All AI prompts in this document have been thoroughly tested in real environments
|
|
|
1133
1221
|
|
|
1134
1222
|
**Test Environment:**
|
|
1135
1223
|
- Operating System: Windows 10
|
|
1136
|
-
- Project: tree-sitter-analyzer v1.
|
|
1224
|
+
- Project: tree-sitter-analyzer v1.5.0
|
|
1137
1225
|
- Test Files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
|
|
1138
|
-
- Test Coverage: 1797 tests passed, 74.
|
|
1226
|
+
- Test Coverage: 1797 tests passed, 74.45% coverage
|
|
1139
1227
|
- Test Tools: All MCP tools (check_code_scale, analyze_code_structure, extract_code_section, query_code, list_files, search_content, find_and_grep)
|
|
1140
1228
|
|
|
1141
1229
|
**🚀 Start Now** → [30-Second Quick Start](#-30-second-quick-start)
|
|
@@ -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
|
|
@@ -764,11 +764,107 @@ rg --version
|
|
|
764
764
|
### 🌍 **Multi-language Support**
|
|
765
765
|
- **Java** - Full support, including Spring, JPA frameworks
|
|
766
766
|
- **Python** - Full support, including type annotations, decorators
|
|
767
|
-
- **JavaScript
|
|
767
|
+
- **JavaScript** - 🆕 **Enterprise-grade support**, including modern ES6+ features, React/Vue/Angular frameworks, JSX, async functions, generators, arrow functions, classes, module systems
|
|
768
|
+
- **TypeScript** - Full support, including type annotations, interfaces
|
|
768
769
|
- **C/C++, Rust, Go** - Basic support
|
|
769
770
|
|
|
770
771
|
---
|
|
771
772
|
|
|
773
|
+
## 🆕 JavaScript Enterprise Support (v1.5.0+)
|
|
774
|
+
|
|
775
|
+
### 🚀 **Modern JavaScript Complete Support**
|
|
776
|
+
|
|
777
|
+
Tree-sitter Analyzer now provides enterprise-level JavaScript support at the same level as Java, including:
|
|
778
|
+
|
|
779
|
+
#### **📋 Core Language Features**
|
|
780
|
+
- **Function Types**: Traditional functions, arrow functions, async functions, generator functions
|
|
781
|
+
- **Class System**: ES6 classes, inheritance, static methods, getters/setters, constructors
|
|
782
|
+
- **Variable Declarations**: var, let, const, destructuring assignment, template literals
|
|
783
|
+
- **Module System**: ES6 import/export, CommonJS require/module.exports
|
|
784
|
+
- **Modern Features**: Spread/rest operators, Promises, async/await
|
|
785
|
+
|
|
786
|
+
#### **🎨 Framework & Ecosystem**
|
|
787
|
+
- **React Support**: JSX syntax, component analysis, Hook recognition, lifecycle methods
|
|
788
|
+
- **Vue.js Support**: Single-file components, template syntax, reactive data
|
|
789
|
+
- **Angular Support**: Components, services, dependency injection pattern recognition
|
|
790
|
+
- **Node.js Support**: Server-side patterns, Express routing, middleware
|
|
791
|
+
|
|
792
|
+
#### **🔍 Advanced Analysis Capabilities**
|
|
793
|
+
- **JSDoc Extraction**: Complete documentation comment parsing and type information
|
|
794
|
+
- **Complexity Analysis**: Cyclomatic complexity calculation and code quality metrics
|
|
795
|
+
- **Framework Detection**: Automatic recognition of React, Vue, Angular project types
|
|
796
|
+
- **Export Analysis**: Module export mapping and dependency relationship tracking
|
|
797
|
+
|
|
798
|
+
#### **💼 Enterprise Features**
|
|
799
|
+
- **Table Formatting**: Dedicated JavaScript table formatter for clear code structure display
|
|
800
|
+
- **Performance Optimization**: Caching mechanisms, iterative traversal, efficient large file handling
|
|
801
|
+
- **Error Handling**: Robust exception handling and detailed error reporting
|
|
802
|
+
- **Type Safety**: TypeScript-style type annotation support
|
|
803
|
+
|
|
804
|
+
### 📊 **JavaScript Analysis Examples**
|
|
805
|
+
|
|
806
|
+
```bash
|
|
807
|
+
# Analyze modern JavaScript files
|
|
808
|
+
uv run python -m tree_sitter_analyzer examples/ModernJavaScript.js --language javascript --advanced
|
|
809
|
+
|
|
810
|
+
# Generate detailed structure tables
|
|
811
|
+
uv run python -m tree_sitter_analyzer examples/ModernJavaScript.js --language javascript --table full
|
|
812
|
+
|
|
813
|
+
# Analyze React components
|
|
814
|
+
uv run python -m tree_sitter_analyzer examples/ReactComponent.jsx --language javascript --table full
|
|
815
|
+
|
|
816
|
+
# Query specific function types
|
|
817
|
+
uv run python -m tree_sitter_analyzer examples/ModernJavaScript.js --language javascript --query-key async_function
|
|
818
|
+
```
|
|
819
|
+
|
|
820
|
+
### 🎯 **Supported JavaScript Query Types**
|
|
821
|
+
- `function_declaration` - Traditional function declarations
|
|
822
|
+
- `arrow_function` - Arrow functions
|
|
823
|
+
- `async_function` - Async functions
|
|
824
|
+
- `generator_function` - Generator functions
|
|
825
|
+
- `class_declaration` - Class declarations
|
|
826
|
+
- `variable_declaration` - Variable declarations
|
|
827
|
+
- `import_statement` - Import statements
|
|
828
|
+
- `export_statement` - Export statements
|
|
829
|
+
- `jsx_element` - JSX elements
|
|
830
|
+
- `method_definition` - Method definitions
|
|
831
|
+
|
|
832
|
+
### 🏗️ **AI Assistant JavaScript Workflow**
|
|
833
|
+
|
|
834
|
+
```
|
|
835
|
+
I want to analyze the structure of this JavaScript file: examples/ModernJavaScript.js
|
|
836
|
+
```
|
|
837
|
+
|
|
838
|
+
**Example Response Format:**
|
|
839
|
+
```json
|
|
840
|
+
{
|
|
841
|
+
"file_path": "examples/ModernJavaScript.js",
|
|
842
|
+
"language": "javascript",
|
|
843
|
+
"element_count": 24,
|
|
844
|
+
"elements": [
|
|
845
|
+
{
|
|
846
|
+
"name": "fetchUserData",
|
|
847
|
+
"type": "function",
|
|
848
|
+
"start_line": 208,
|
|
849
|
+
"end_line": 211,
|
|
850
|
+
"is_async": true,
|
|
851
|
+
"framework_type": "vanilla"
|
|
852
|
+
},
|
|
853
|
+
{
|
|
854
|
+
"name": "ModernComponent",
|
|
855
|
+
"type": "class",
|
|
856
|
+
"start_line": 31,
|
|
857
|
+
"end_line": 200,
|
|
858
|
+
"is_react_component": true,
|
|
859
|
+
"framework_type": "react"
|
|
860
|
+
}
|
|
861
|
+
],
|
|
862
|
+
"success": true
|
|
863
|
+
}
|
|
864
|
+
```
|
|
865
|
+
|
|
866
|
+
---
|
|
867
|
+
|
|
772
868
|
## 📦 Installation Guide
|
|
773
869
|
|
|
774
870
|
### 👤 **End Users**
|
|
@@ -839,15 +935,15 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
|
|
|
839
935
|
|
|
840
936
|
### 📊 **Quality Metrics**
|
|
841
937
|
- **1,797 tests** - 100% pass rate ✅
|
|
842
|
-
- **74.
|
|
938
|
+
- **74.45% code coverage** - Industry-leading level
|
|
843
939
|
- **Zero test failures** - Fully CI/CD ready
|
|
844
940
|
- **Cross-platform compatibility** - Windows, macOS, Linux
|
|
845
941
|
|
|
846
|
-
### ⚡ **Latest Quality Achievements (v1.
|
|
942
|
+
### ⚡ **Latest Quality Achievements (v1.5.0)**
|
|
847
943
|
- ✅ **Cross-platform path compatibility** - Fixed Windows short path names and macOS symbolic link differences
|
|
848
944
|
- ✅ **Windows environment** - Implemented robust path normalization using Windows API
|
|
849
945
|
- ✅ **macOS environment** - Fixed `/var` vs `/private/var` symbolic link differences
|
|
850
|
-
- ✅ **Comprehensive test coverage** - 1797 tests, 74.
|
|
946
|
+
- ✅ **Comprehensive test coverage** - 1797 tests, 74.45% coverage
|
|
851
947
|
- ✅ **GitFlow implementation** - Professional development/release branch strategy. See [GitFlow documentation](GITFLOW.md) for details.
|
|
852
948
|
|
|
853
949
|
### ⚙️ **Running Tests**
|
|
@@ -964,9 +1060,9 @@ All AI prompts in this document have been thoroughly tested in real environments
|
|
|
964
1060
|
|
|
965
1061
|
**Test Environment:**
|
|
966
1062
|
- Operating System: Windows 10
|
|
967
|
-
- Project: tree-sitter-analyzer v1.
|
|
1063
|
+
- Project: tree-sitter-analyzer v1.5.0
|
|
968
1064
|
- Test Files: BigService.java (1419 lines), sample.py (256 lines), MultiClass.java (54 lines)
|
|
969
|
-
- Test Coverage: 1797 tests passed, 74.
|
|
1065
|
+
- Test Coverage: 1797 tests passed, 74.45% coverage
|
|
970
1066
|
- Test Tools: All MCP tools (check_code_scale, analyze_code_structure, extract_code_section, query_code, list_files, search_content, find_and_grep)
|
|
971
1067
|
|
|
972
1068
|
**🚀 Start Now** → [30-Second Quick Start](#-30-second-quick-start)
|
|
@@ -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にあらゆるサイズのコードファイルを理解させる
|
|
@@ -745,11 +745,107 @@ rg --version
|
|
|
745
745
|
### 🌍 **多言語サポート**
|
|
746
746
|
- **Java** - フルサポート、Spring、JPAフレームワークを含む
|
|
747
747
|
- **Python** - 完全サポート、型注釈、デコレーターを含む
|
|
748
|
-
- **JavaScript
|
|
748
|
+
- **JavaScript** - 🆕 **エンタープライズグレードサポート**、モダンES6+機能、React/Vue/Angularフレームワーク、JSX、非同期関数、ジェネレーター、アロー関数、クラス、モジュールシステムを含む
|
|
749
|
+
- **TypeScript** - 完全サポート、型注釈、インターフェースを含む
|
|
749
750
|
- **C/C++、Rust、Go** - 基本サポート
|
|
750
751
|
|
|
751
752
|
---
|
|
752
753
|
|
|
754
|
+
## 🆕 JavaScriptエンタープライズサポート (v1.5.0+)
|
|
755
|
+
|
|
756
|
+
### 🚀 **モダンJavaScript完全サポート**
|
|
757
|
+
|
|
758
|
+
Tree-sitter AnalyzerはJavaと同レベルのエンタープライズグレードJavaScriptサポートを提供します:
|
|
759
|
+
|
|
760
|
+
#### **📋 コア言語機能**
|
|
761
|
+
- **関数タイプ**: 従来の関数、アロー関数、非同期関数、ジェネレーター関数
|
|
762
|
+
- **クラスシステム**: ES6クラス、継承、静的メソッド、getter/setter、コンストラクター
|
|
763
|
+
- **変数宣言**: var、let、const、分割代入、テンプレートリテラル
|
|
764
|
+
- **モジュールシステム**: ES6 import/export、CommonJS require/module.exports
|
|
765
|
+
- **モダン機能**: スプレッド/レスト演算子、Promise、async/await
|
|
766
|
+
|
|
767
|
+
#### **🎨 フレームワーク & エコシステム**
|
|
768
|
+
- **Reactサポート**: JSX構文、コンポーネント分析、Hook認識、ライフサイクルメソッド
|
|
769
|
+
- **Vue.jsサポート**: 単一ファイルコンポーネント、テンプレート構文、リアクティブデータ
|
|
770
|
+
- **Angularサポート**: コンポーネント、サービス、依存性注入パターン認識
|
|
771
|
+
- **Node.jsサポート**: サーバーサイドパターン、Expressルーティング、ミドルウェア
|
|
772
|
+
|
|
773
|
+
#### **🔍 高度な分析機能**
|
|
774
|
+
- **JSDoc抽出**: 完全なドキュメンテーションコメント解析と型情報
|
|
775
|
+
- **複雑度分析**: 循環的複雑度計算とコード品質メトリクス
|
|
776
|
+
- **フレームワーク検出**: React、Vue、Angularプロジェクトタイプの自動認識
|
|
777
|
+
- **エクスポート分析**: モジュールエクスポートマッピングと依存関係追跡
|
|
778
|
+
|
|
779
|
+
#### **💼 エンタープライズ機能**
|
|
780
|
+
- **テーブルフォーマット**: 専用JavaScriptテーブルフォーマッターによる明確なコード構造表示
|
|
781
|
+
- **パフォーマンス最適化**: キャッシュメカニズム、反復的トラバーサル、効率的な大ファイル処理
|
|
782
|
+
- **エラーハンドリング**: 堅牢な例外処理と詳細なエラーレポート
|
|
783
|
+
- **型安全性**: TypeScriptスタイルの型注釈サポート
|
|
784
|
+
|
|
785
|
+
### 📊 **JavaScript分析例**
|
|
786
|
+
|
|
787
|
+
```bash
|
|
788
|
+
# モダンJavaScriptファイルの分析
|
|
789
|
+
uv run python -m tree_sitter_analyzer examples/ModernJavaScript.js --language javascript --advanced
|
|
790
|
+
|
|
791
|
+
# 詳細構造テーブルの生成
|
|
792
|
+
uv run python -m tree_sitter_analyzer examples/ModernJavaScript.js --language javascript --table full
|
|
793
|
+
|
|
794
|
+
# Reactコンポーネントの分析
|
|
795
|
+
uv run python -m tree_sitter_analyzer examples/ReactComponent.jsx --language javascript --table full
|
|
796
|
+
|
|
797
|
+
# 特定の関数タイプのクエリ
|
|
798
|
+
uv run python -m tree_sitter_analyzer examples/ModernJavaScript.js --language javascript --query-key async_function
|
|
799
|
+
```
|
|
800
|
+
|
|
801
|
+
### 🎯 **サポートされるJavaScriptクエリタイプ**
|
|
802
|
+
- `function_declaration` - 従来の関数宣言
|
|
803
|
+
- `arrow_function` - アロー関数
|
|
804
|
+
- `async_function` - 非同期関数
|
|
805
|
+
- `generator_function` - ジェネレーター関数
|
|
806
|
+
- `class_declaration` - クラス宣言
|
|
807
|
+
- `variable_declaration` - 変数宣言
|
|
808
|
+
- `import_statement` - インポート文
|
|
809
|
+
- `export_statement` - エクスポート文
|
|
810
|
+
- `jsx_element` - JSX要素
|
|
811
|
+
- `method_definition` - メソッド定義
|
|
812
|
+
|
|
813
|
+
### 🏗️ **AIアシスタントJavaScriptワークフロー**
|
|
814
|
+
|
|
815
|
+
```
|
|
816
|
+
このJavaScriptファイルの構造を分析したいです:examples/ModernJavaScript.js
|
|
817
|
+
```
|
|
818
|
+
|
|
819
|
+
**レスポンス形式例:**
|
|
820
|
+
```json
|
|
821
|
+
{
|
|
822
|
+
"file_path": "examples/ModernJavaScript.js",
|
|
823
|
+
"language": "javascript",
|
|
824
|
+
"element_count": 24,
|
|
825
|
+
"elements": [
|
|
826
|
+
{
|
|
827
|
+
"name": "fetchUserData",
|
|
828
|
+
"type": "function",
|
|
829
|
+
"start_line": 208,
|
|
830
|
+
"end_line": 211,
|
|
831
|
+
"is_async": true,
|
|
832
|
+
"framework_type": "vanilla"
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
"name": "ModernComponent",
|
|
836
|
+
"type": "class",
|
|
837
|
+
"start_line": 31,
|
|
838
|
+
"end_line": 200,
|
|
839
|
+
"is_react_component": true,
|
|
840
|
+
"framework_type": "react"
|
|
841
|
+
}
|
|
842
|
+
],
|
|
843
|
+
"success": true
|
|
844
|
+
}
|
|
845
|
+
```
|
|
846
|
+
|
|
847
|
+
---
|
|
848
|
+
|
|
753
849
|
## 📦 インストールガイド
|
|
754
850
|
|
|
755
851
|
### 👤 **エンドユーザー**
|
|
@@ -819,16 +915,16 @@ Tree-sitter Analyzerは自動的にプロジェクト境界を検出・保護:
|
|
|
819
915
|
## 🏆 品質保証
|
|
820
916
|
|
|
821
917
|
### 📊 **品質メトリクス**
|
|
822
|
-
- **1,
|
|
823
|
-
- **74.
|
|
918
|
+
- **1,797テスト** - 100%合格率 ✅
|
|
919
|
+
- **74.45%コードカバレッジ** - 業界最高レベル
|
|
824
920
|
- **ゼロテスト失敗** - 完全なCI/CD対応
|
|
825
921
|
- **クロスプラットフォーム対応** - Windows、macOS、Linux
|
|
826
922
|
|
|
827
|
-
### ⚡ **最新の品質成果(v1.
|
|
923
|
+
### ⚡ **最新の品質成果(v1.5.0)**
|
|
828
924
|
- ✅ **クロスプラットフォームパス互換性** - Windows短パス名とmacOSシンボリックリンクの違いを修正
|
|
829
925
|
- ✅ **Windows環境** - Windows APIを使用した堅牢なパス正規化を実装
|
|
830
926
|
- ✅ **macOS環境** - `/var`と`/private/var`シンボリックリンクの違いを修正
|
|
831
|
-
- ✅ **包括的テストカバレッジ** - 1794テスト、74.
|
|
927
|
+
- ✅ **包括的テストカバレッジ** - 1794テスト、74.45%カバレッジ
|
|
832
928
|
- ✅ **GitFlow実装** - 開発/リリースブランチの専門的なブランチ戦略。詳細は[GitFlowドキュメント](GITFLOW_ja.md)を参照してください。
|
|
833
929
|
|
|
834
930
|
### ⚙️ **テスト実行**
|