mvn-tree-visualizer 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.
Files changed (62) hide show
  1. mvn_tree_visualizer-1.5.0/.github/copilot-instructions.md +87 -0
  2. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/.github/workflows/release.yml +1 -1
  3. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/PKG-INFO +5 -7
  4. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/README.md +4 -6
  5. mvn_tree_visualizer-1.5.0/ROADMAP.md +149 -0
  6. mvn_tree_visualizer-1.5.0/examples/README.md +164 -0
  7. mvn_tree_visualizer-1.5.0/examples/complex-project/diagram-dark.html +649 -0
  8. mvn_tree_visualizer-1.5.0/examples/complex-project/diagram-minimal.html +624 -0
  9. mvn_tree_visualizer-1.5.0/examples/complex-project/maven_dependency_file +129 -0
  10. mvn_tree_visualizer-1.5.0/examples/simple-project/dependencies.json +192 -0
  11. {mvn_tree_visualizer-1.4.0/examples/complex-project → mvn_tree_visualizer-1.5.0/examples/simple-project}/diagram-dark.html +100 -157
  12. {mvn_tree_visualizer-1.4.0/examples/complex-project → mvn_tree_visualizer-1.5.0/examples/simple-project}/diagram-minimal.html +100 -157
  13. mvn_tree_visualizer-1.5.0/examples/simple-project/maven_dependency_file +44 -0
  14. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/pyproject.toml +1 -1
  15. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/src/mvn_tree_visualizer/enhanced_template.py +68 -5
  16. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/src/mvn_tree_visualizer/themes.py +13 -0
  17. mvn_tree_visualizer-1.5.0/tests/test_github_issue_7.py +147 -0
  18. mvn_tree_visualizer-1.5.0/tests/test_large_diagram_support.py +199 -0
  19. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/uv.lock +1 -1
  20. mvn_tree_visualizer-1.4.0/ROADMAP.md +0 -131
  21. mvn_tree_visualizer-1.4.0/examples/README.md +0 -91
  22. mvn_tree_visualizer-1.4.0/examples/complex-project/maven_dependency_file +0 -84
  23. mvn_tree_visualizer-1.4.0/examples/simple-project/dependencies.json +0 -40
  24. mvn_tree_visualizer-1.4.0/examples/simple-project/diagram-dark.html +0 -250
  25. mvn_tree_visualizer-1.4.0/examples/simple-project/diagram-minimal.html +0 -225
  26. mvn_tree_visualizer-1.4.0/examples/simple-project/maven_dependency_file +0 -9
  27. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/.github/FUNDING.yml +0 -0
  28. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  29. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  30. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/.github/ISSUE_TEMPLATE/question.md +0 -0
  31. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  32. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/.github/SECURITY.md +0 -0
  33. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/.github/dependabot.yml +0 -0
  34. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/.github/instructions/copilot-instructions.md +0 -0
  35. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/.github/workflows/ci.yml +0 -0
  36. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/.gitignore +0 -0
  37. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/.python-version +0 -0
  38. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/CHANGELOG.md +0 -0
  39. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/CODE_OF_CONDUCT.md +0 -0
  40. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/CONTRIBUTING.md +0 -0
  41. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/LICENSE +0 -0
  42. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/RELEASE.md +0 -0
  43. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/docs/INTEGRATION.md +0 -0
  44. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/docs/README.md +0 -0
  45. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/docs/THEMES.md +0 -0
  46. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/examples/watch-test/README.md +0 -0
  47. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/examples/watch-test/test_maven_file +0 -0
  48. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/issues.md +0 -0
  49. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/ruff.toml +0 -0
  50. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/src/mvn_tree_visualizer/__init__.py +0 -0
  51. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/src/mvn_tree_visualizer/__main__.py +0 -0
  52. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/src/mvn_tree_visualizer/cli.py +0 -0
  53. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/src/mvn_tree_visualizer/diagram.py +0 -0
  54. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/src/mvn_tree_visualizer/exceptions.py +0 -0
  55. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/src/mvn_tree_visualizer/file_watcher.py +0 -0
  56. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/src/mvn_tree_visualizer/get_dependencies_in_one_file.py +0 -0
  57. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/src/mvn_tree_visualizer/outputs/html_output.py +0 -0
  58. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/src/mvn_tree_visualizer/outputs/json_output.py +0 -0
  59. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/src/mvn_tree_visualizer/validation.py +0 -0
  60. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/tests/test_html_output.py +0 -0
  61. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/tests/test_json_output.py +0 -0
  62. {mvn_tree_visualizer-1.4.0 → mvn_tree_visualizer-1.5.0}/tests/test_watch_mode.py +0 -0
@@ -0,0 +1,87 @@
1
+ # Maven Dependency Tree Visualizer - AI Coding Agent Instructions
2
+
3
+ ## Architecture Overview
4
+
5
+ This is a **command-line tool** that converts Maven dependency tree output into interactive HTML diagrams and JSON data. The tool follows a **pipeline architecture**:
6
+
7
+ 1. **Input Processing**: Merges multiple `maven_dependency_file` files from different Maven modules (`get_dependencies_in_one_file.py`)
8
+ 2. **Data Transformation**: Parses Maven tree format and converts to Mermaid diagram syntax (`diagram.py`, `outputs/html_output.py`)
9
+ 3. **Output Generation**: Creates themed HTML with interactive features or structured JSON (`outputs/`)
10
+ 4. **Watch Mode**: Real-time file monitoring for development workflows (`file_watcher.py`)
11
+
12
+ ## Key Components & Data Flow
13
+
14
+ ### Core Pipeline (`cli.py`)
15
+ - Entry point validates inputs → merges dependency files → generates outputs
16
+ - **Error handling is comprehensive** - uses custom exception hierarchy in `exceptions.py`
17
+ - Supports both HTML (interactive) and JSON (programmatic) output formats
18
+
19
+ ### Multi-Module Maven Support (`get_dependencies_in_one_file.py`)
20
+ - **Critical pattern**: Recursively finds and merges `maven_dependency_file` from all subdirectories
21
+ - Maven projects often have complex module structures - tool handles this automatically
22
+ - Generated intermediate file `dependency_tree.txt` is cleaned up unless `--keep-tree` is used
23
+
24
+ ### Mermaid.js Conversion (`outputs/html_output.py`)
25
+ - **Node classification logic**: Root (blue), intermediate (orange), leaf (green) based on dependency relationships
26
+ - **Sanitization pattern**: Maven artifact names → valid Mermaid node IDs (hyphens to underscores)
27
+ - Tracks parent/child relationships to determine node types for consistent styling
28
+
29
+ ### Theme System (`themes.py`, `enhanced_template.py`)
30
+ - **Consistent color scheme** across all themes via `STANDARD_COLORS`
31
+ - Dark theme has specific text visibility fixes for Mermaid.js compatibility
32
+ - Template includes pan/zoom, download functionality, keyboard shortcuts
33
+
34
+ ## Maven Integration Workflow
35
+
36
+ The tool expects this Maven command to be run first:
37
+ ```bash
38
+ mvn dependency:tree -DoutputFile=maven_dependency_file -DappendOutput=true
39
+ ```
40
+
41
+ **Why this matters**: The tool is designed around Maven's specific output format and file placement in `target/` directories.
42
+
43
+ ## Development Conventions
44
+
45
+ ### Error Handling
46
+ - Custom exception hierarchy: `MvnTreeVisualizerError` → specific error types
47
+ - **Pattern**: Validate early, fail fast with helpful error messages including Maven commands
48
+ - File operations wrapped with encoding and permission checks
49
+
50
+ ### Testing Patterns (`tests/`)
51
+ - **Key test pattern**: Use temporary directories for file operations
52
+ - Mock file system events for watch mode testing
53
+ - Mermaid output validation focuses on relationships and styling classes
54
+
55
+ ### Code Organization
56
+ - **Outputs as pluggable modules**: `outputs/html_output.py`, `outputs/json_output.py`
57
+ - Validation logic centralized in `validation.py`
58
+ - Theme configuration as data classes, not inheritance
59
+
60
+ ## Critical Implementation Details
61
+
62
+ ### Watch Mode (`file_watcher.py`)
63
+ - Uses `watchdog` library with custom event handlers
64
+ - Monitors for changes to any file named `maven_dependency_file` in directory tree
65
+ - Callback-based architecture for diagram regeneration
66
+
67
+ ### Version Display Logic
68
+ - `--show-versions` flag affects both HTML and JSON output
69
+ - Version info stripped/included during Mermaid conversion, not at template level
70
+
71
+ ### File Path Handling
72
+ - **Windows compatibility**: Uses `pathlib.Path` consistently
73
+ - Intermediate files created in output directory, not temp
74
+ - Directory creation is recursive (`parents=True, exist_ok=True`)
75
+
76
+ ## Common Debugging Workflows
77
+
78
+ 1. **No dependency files found**: Check if Maven command was run and generated files in `target/` dirs
79
+ 2. **Empty diagrams**: Verify Maven output format and encoding (UTF-8 expected)
80
+ 3. **Theme rendering issues**: Dark theme has specific CSS overrides for Mermaid.js text visibility
81
+ 4. **Watch mode not triggering**: Ensure file names match exactly (`maven_dependency_file`)
82
+
83
+ ## Extension Points
84
+
85
+ - **New output formats**: Add modules to `outputs/` directory following existing pattern
86
+ - **Custom themes**: Extend `THEMES` dict in `themes.py` with `Theme` objects
87
+ - **New validation rules**: Add to `validation.py` following existing error patterns
@@ -29,7 +29,7 @@ jobs:
29
29
  python-version: '3.13'
30
30
 
31
31
  - name: Install uv
32
- uses: astral-sh/setup-uv@v4
32
+ uses: astral-sh/setup-uv@v6
33
33
 
34
34
  - name: Install dependencies
35
35
  run: |
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mvn-tree-visualizer
3
- Version: 1.4.0
3
+ Version: 1.5.0
4
4
  Summary: A simple command line tool to visualize the dependency tree of a Maven project in a graphical format.
5
5
  Project-URL: source, https://github.com/dyka3773/mvn-tree-visualizer
6
6
  Author-email: Iraklis Konsoulas <dyka3773@gmail.com>
@@ -57,12 +57,10 @@ pip install mvn-tree-visualizer
57
57
  - **JSON:** Creates a structured JSON representation of the dependency tree, perfect for scripting or integration with other tools.
58
58
  - **🎨 Theme System:** Choose from 2 built-in themes (minimal, dark) for clean and consistent diagram styling.
59
59
  - **🔄 Watch Mode:** Automatically regenerates diagrams when Maven dependency files change using the `--watch` flag.
60
- - **📋 Version Display:** Show or hide dependency versions in both HTML and JSON outputs using the `--show-versions` flag.
61
- - **⚡ Easy to Use:** A simple command-line interface that gets the job done with minimal configuration.
62
- - **📂 File Merging:** Automatically finds and merges multiple `maven_dependency_file` files from different subdirectories.
63
- - **🎨 Customizable Output:** Specify the output file name and location.
64
- - **💾 Enhanced Downloads:** Download diagrams as SVG or high-resolution PNG directly from the HTML page.
65
- - **🖱️ Interactive Features:** Hover tooltips, click-to-highlight connections, pan/zoom controls, and keyboard shortcuts.
60
+ - **📋 Version Display:** Toggle dependency versions in outputs with `--show-versions`
61
+ - **💾 Enhanced Downloads:** SVG and PNG export directly from browser
62
+ - **📂 Smart File Handling:** Automatically finds and merges multiple `maven_dependency_file` files from different subdirectories.
63
+ - **🎯 Color Coding:** Visual distinction between root, intermediate, and leaf dependencies
66
64
 
67
65
  ## How to Use
68
66
 
@@ -37,12 +37,10 @@ pip install mvn-tree-visualizer
37
37
  - **JSON:** Creates a structured JSON representation of the dependency tree, perfect for scripting or integration with other tools.
38
38
  - **🎨 Theme System:** Choose from 2 built-in themes (minimal, dark) for clean and consistent diagram styling.
39
39
  - **🔄 Watch Mode:** Automatically regenerates diagrams when Maven dependency files change using the `--watch` flag.
40
- - **📋 Version Display:** Show or hide dependency versions in both HTML and JSON outputs using the `--show-versions` flag.
41
- - **⚡ Easy to Use:** A simple command-line interface that gets the job done with minimal configuration.
42
- - **📂 File Merging:** Automatically finds and merges multiple `maven_dependency_file` files from different subdirectories.
43
- - **🎨 Customizable Output:** Specify the output file name and location.
44
- - **💾 Enhanced Downloads:** Download diagrams as SVG or high-resolution PNG directly from the HTML page.
45
- - **🖱️ Interactive Features:** Hover tooltips, click-to-highlight connections, pan/zoom controls, and keyboard shortcuts.
40
+ - **📋 Version Display:** Toggle dependency versions in outputs with `--show-versions`
41
+ - **💾 Enhanced Downloads:** SVG and PNG export directly from browser
42
+ - **📂 Smart File Handling:** Automatically finds and merges multiple `maven_dependency_file` files from different subdirectories.
43
+ - **🎯 Color Coding:** Visual distinction between root, intermediate, and leaf dependencies
46
44
 
47
45
  ## How to Use
48
46
 
@@ -0,0 +1,149 @@
1
+ # Project Roadmap
2
+
3
+ This document outlines the evolution and future direction of the `mvn-tree-visualizer` project. Major milestones show the progression from a basic tool to an enterprise-ready solution.
4
+
5
+ ## 🎉 Recently Completed ✅
6
+
7
+ ### v1.5.0 - Large Project Support & GitHub Issue #7 Resolution (Released)
8
+
9
+ **Focus:** Enterprise-ready support for massive dependency trees and enhanced navigation.
10
+
11
+ **Status:** Released July 19, 2025
12
+
13
+ * **GitHub Issue #7 Resolution (Completed):**
14
+ * [x] **No More Size Limits**: Enhanced Mermaid configuration with `maxTextSize: 900000000`
15
+ * [x] **Massive Edge Support**: Increased `maxEdges: 20000` for complex enterprise projects
16
+ * [x] **50x Zoom Range**: Advanced zoom from 0.01x (overview) to 50x (detailed inspection)
17
+ * [x] **Enhanced Performance**: Memory-optimized rendering for 1000+ dependency projects
18
+
19
+ * **Navigation Enhancements (Completed):**
20
+ * [x] **Keyboard Shortcuts**: `Ctrl+R` (reset), `+/-` (zoom), `s` (download)
21
+ * [x] **Smooth Zoom Controls**: Mouse wheel with 0.2 sensitivity for precise navigation
22
+ * [x] **One-Click Reset**: Instant return to full diagram view
23
+ * [x] **Error Prevention**: Zoom bounds validation and graceful error handling
24
+
25
+ ### Previous Major Releases ✅
26
+
27
+ * **v1.4.0 - Visual and Theme Enhancements** (July 17, 2025)
28
+ * [x] Professional minimal and dark themes
29
+ * [x] Enhanced HTML templates with interactive features
30
+ * [x] SVG download functionality and improved user experience
31
+
32
+ * **v1.3.0 - User Experience Improvements** (July 9, 2025)
33
+ * [x] Watch mode functionality with `--watch` flag
34
+ * [x] Enhanced error handling system with comprehensive guidance
35
+ * [x] Custom exception classes and validation modules
36
+ * [x] Comprehensive test coverage and modular organization
37
+
38
+ * **Core Foundation** (Earlier versions)
39
+ * [x] Multiple output formats (HTML and JSON)
40
+ * [x] Dependency version display with `--show-versions`
41
+ * [x] Multi-module Maven project support
42
+ * [x] CI/CD workflows and comprehensive documentation
43
+ * [x] `--theme` option with multiple built-in themes (default/minimal, dark, light)
44
+ ## 🔮 Future Development
45
+
46
+ ### v1.6.0 - Advanced Interactive Features 🎯 (Next Major Release)
47
+
48
+ **Focus:** Enhanced interactivity and user experience for large enterprise projects.
49
+
50
+ **Priority:** High - Building on the solid large project foundation with advanced user interaction.
51
+
52
+ * **Enhanced Node Search & Navigation (High Priority):**
53
+ * [ ] **Smart Dependency Search:** Find nodes by dependency name with instant highlighting
54
+ * **Technical Requirements:** Must highlight nodes WITHOUT moving or displacing SVG elements
55
+ * **Approach:** Use SVG overlays or CSS-only highlighting instead of DOM manipulation
56
+ * **Keyboard Shortcut:** `Ctrl+F` for search dialog
57
+ * **Features:** Auto-complete, regex support, multiple match handling
58
+ * [ ] **Dependency Path Tracing:** Highlight full dependency chains from root to selected node
59
+ * [ ] **Scope-based Filtering:** Filter by dependency scope (compile, test, runtime, provided)
60
+
61
+ * **Advanced Navigation Controls (Medium Priority):**
62
+ * [ ] **Zoom to Dependency Subtree:** Right-click zoom to focus on specific dependency branch
63
+ * [ ] **Breadcrumb Navigation:** Show current zoom/focus location in large diagrams
64
+ * [ ] **Mini-map Overlay:** Small overview map for orientation in large dependency trees
65
+
66
+ * **Enhanced User Experience (Medium Priority):**
67
+ * [ ] **Rich Tooltips:** Detailed dependency information (groupId, artifactId, version, scope, licenses)
68
+ * [ ] **Dependency Statistics:** Live counts of direct/transitive dependencies
69
+ * [ ] **Export Enhancements:** PNG, PDF export with current zoom level and highlighting
70
+
71
+ ### v1.7.0 - Enterprise Integration
72
+
73
+ **Focus:** Advanced functionality for enterprise development workflows.
74
+
75
+ * **CI/CD Integration:**
76
+ * [ ] **GitHub Actions Integration:** Pre-built actions for automated diagram generation
77
+ * [ ] **Jenkins Plugin:** Seamless integration with Jenkins pipelines
78
+ * [ ] **Docker Container:** Official container images for containerized environments
79
+
80
+ * **Advanced Analysis:**
81
+ * [ ] **Dependency Conflict Detection:** Visual highlighting of version conflicts
82
+ * [ ] **Security Vulnerability Mapping:** Integration with vulnerability databases
83
+ * [ ] **License Compliance:** Visual license information and compliance checking
84
+
85
+ * **Multi-Project Support:**
86
+ * [ ] **Workspace Mode:** Handle multiple Maven projects simultaneously
87
+ * [ ] **Cross-Project Dependencies:** Visualize dependencies between different projects
88
+ * [ ] **Monorepo Support:** Enhanced support for large monorepo structures
89
+
90
+ ### v1.8.0+ - Advanced Capabilities 🚀
91
+
92
+ **Focus:** Cutting-edge features for modern development workflows.
93
+
94
+ * **AI-Powered Features:**
95
+ * [ ] **Dependency Recommendations:** AI suggestions for dependency updates and optimizations
96
+ * [ ] **Architecture Insights:** Automated analysis of dependency architecture patterns
97
+ * [ ] **Refactoring Suggestions:** Recommendations for dependency cleanup and optimization
98
+
99
+ * **Real-time Collaboration:**
100
+ * [ ] **Shared Diagrams:** Cloud-based diagram sharing for team collaboration
101
+ * [ ] **Live Updates:** Real-time diagram updates for team development
102
+ * [ ] **Annotation System:** Team comments and notes on dependency diagrams
103
+
104
+ ## 🎯 Technical Debt & Maintenance
105
+
106
+ ### Ongoing Improvements
107
+ * **Performance Optimization:** Continuous improvements for larger and more complex projects
108
+ * **Browser Compatibility:** Ensure compatibility with all major browsers and versions
109
+ * **Accessibility:** Enhanced accessibility features for users with disabilities
110
+ * **Documentation:** Comprehensive API documentation and developer guides
111
+
112
+ ### Code Quality
113
+ * **Test Coverage:** Maintain high test coverage with focus on edge cases
114
+ * **Type Safety:** Full type annotation coverage and strict type checking
115
+ * **Security:** Regular security audits and dependency updates
116
+ * **Performance:** Continuous profiling and optimization of critical paths
117
+
118
+ **Focus:** Advanced analysis and integration features.
119
+
120
+ * **Dependency Analysis:**
121
+ * [ ] Dependency conflict detection and highlighting
122
+ * [ ] Dependency statistics and analysis
123
+ * [ ] Version mismatch warnings
124
+ * **Integration Capabilities:**
125
+ * [ ] CI/CD pipeline integration examples
126
+ * [ ] Docker support and containerization
127
+ * [ ] Maven plugin version (if demand exists)
128
+
129
+ ## Long-Term Vision (6-12 Months+)
130
+
131
+ * **Web-Based Version:** A web-based version where users can paste their dependency tree and get a visualization without installing the CLI.
132
+ * **IDE Integration:** Plugins for VS Code, IntelliJ IDEA, or Eclipse for direct dependency visualization.
133
+ * **Multi-Language Support:** Extend beyond Maven to support Gradle, npm, pip, etc.
134
+
135
+ ## Release Strategy
136
+
137
+ Each release follows this approach:
138
+ - **Incremental Value:** Each version adds meaningful value without breaking existing functionality
139
+ - **User-Driven:** Priority based on user feedback and common pain points
140
+ - **Quality First:** New features include comprehensive tests and documentation
141
+ - **Backward Compatibility:** CLI interface remains stable across minor versions
142
+
143
+ ## Contributing
144
+
145
+ If you're interested in contributing to any of these features, please check out our [CONTRIBUTING.md](CONTRIBUTING.md) file for more information.
146
+
147
+ ---
148
+
149
+ *Last updated: July 16, 2025*
@@ -0,0 +1,164 @@
1
+ # Examples
2
+
3
+ This directory contains example Maven dependency files and their corresponding outputs to demonstrate the capabilities of mvn-tree-visualizer, including the enhanced features for large dependency trees.
4
+
5
+ ## Simple Project Example
6
+
7
+ The `simple-project/` directory contains a modern Spring Boot 3.2 web application with:
8
+ - **Spring Boot 3.2.0** - Latest stable version with Spring 6.1
9
+ - **Apache Commons Lang3** - Utility library
10
+ - **JUnit Jupiter 5.10.1** - Modern testing framework
11
+
12
+ ### 📁 Available Examples:
13
+ - `diagram-minimal.html` - Clean light theme optimized for readability
14
+ - `diagram-dark.html` - Dark theme perfect for low-light environments
15
+ - `dependencies.json` - JSON output for programmatic integration
16
+
17
+ ### 🛠️ Generation Commands:
18
+ ```bash
19
+ cd examples/simple-project
20
+
21
+ # Generate with different themes
22
+ mvn_tree_visualizer --filename maven_dependency_file --output diagram-minimal.html
23
+ mvn_tree_visualizer --filename maven_dependency_file --output diagram-dark.html --theme dark
24
+
25
+ # Generate JSON output for automation
26
+ mvn_tree_visualizer --filename maven_dependency_file --output dependencies.json --format json
27
+ ```
28
+
29
+ ## Complex Project Example
30
+
31
+ The `complex-project/` directory demonstrates a **real-world enterprise microservice** with extensive dependencies:
32
+
33
+ - **Spring Boot 3.2.0** with Web, Data JPA, and Actuator
34
+ - **Database**: MySQL Connector with Hibernate ORM
35
+ - **Monitoring**: Prometheus metrics and Micrometer
36
+ - **Utilities**: Google Guava, Apache Commons
37
+ - **Testing**: Comprehensive test stack with Testcontainers
38
+ - **🎯 Over 100+ dependencies** - Perfect for testing large diagram capabilities!
39
+
40
+ ### 📁 Available Examples:
41
+ - `diagram-minimal.html` - Clean visualization with version numbers
42
+ - `diagram-dark.html` - Dark theme with complete dependency details
43
+
44
+ ### 🛠️ Generation Commands:
45
+ ```bash
46
+ cd examples/complex-project
47
+
48
+ # Generate with version numbers (recommended for enterprise projects)
49
+ mvn_tree_visualizer --filename maven_dependency_file --output diagram-minimal.html --show-versions
50
+ mvn_tree_visualizer --filename maven_dependency_file --output diagram-dark.html --theme dark --show-versions
51
+ ```
52
+
53
+ ## 🎨 Theme Comparison
54
+
55
+ ### Minimal Theme Features:
56
+ - **Clean white background** for presentations and documentation
57
+ - **Black text and borders** for high contrast and printing
58
+ - **Monospace font** (Monaco/Menlo) for technical readability
59
+ - **Optimized spacing** for large dependency trees
60
+
61
+ ### Dark Theme Features:
62
+ - **Forest green background** with enhanced visibility fixes
63
+ - **White text forced rendering** solves Mermaid.js dark theme issues
64
+ - **Perfect for long coding sessions** and low-light environments
65
+ - **Enhanced contrast** for better node distinction
66
+
67
+ ## 🔍 Enhanced Navigation Features
68
+
69
+ Both examples demonstrate the powerful navigation capabilities:
70
+
71
+ ### Zoom Controls:
72
+ - **Zoom In/Out Buttons**: `+` and `-` for precise control
73
+ - **Reset Button**: `Ctrl+R` to return to full view
74
+ - **Mouse Wheel**: Smooth zooming with 0.2 sensitivity
75
+ - **Extreme Zoom Range**: 0.01x (full overview) to 50x (detailed inspection)
76
+
77
+ ### Keyboard Shortcuts:
78
+ - `Ctrl+R` - Reset zoom and center
79
+ - `+` / `=` - Zoom in
80
+ - `-` - Zoom out
81
+ - `s` - Download SVG
82
+
83
+ ### Large Diagram Optimizations:
84
+ - **No text size limits** - Handles projects with 1000+ dependencies
85
+ - **Smooth performance** even with complex enterprise dependency trees
86
+ - **Memory efficient** rendering with optimized edge handling
87
+
88
+ ## 🔧 Technical Details
89
+
90
+ ### Mermaid.js Configuration:
91
+ ```javascript
92
+ maxTextSize: 900000000 // Virtually unlimited text rendering
93
+ maxEdges: 20000 // Supports massive dependency graphs
94
+ minZoom: 0.01 // 100x zoom out for full overview
95
+ maxZoom: 50 // 50x zoom in for detailed inspection
96
+ ```
97
+
98
+ ### Color Coding:
99
+ - **🔵 Blue nodes** - Root project dependencies
100
+ - **🟠 Orange nodes** - Intermediate dependencies
101
+ - **🟢 Green nodes** - Leaf dependencies (no further deps)
102
+
103
+ ## 📊 Use Cases
104
+
105
+ ### Development Teams:
106
+ - **Dependency analysis** and version conflict resolution
107
+ - **Architecture reviews** and dependency health checks
108
+ - **Documentation** for technical specifications
109
+
110
+ ### Enterprise Projects:
111
+ - **Compliance audits** with complete dependency visibility
112
+ - **Security analysis** of transitive dependencies
113
+ - **Performance optimization** by identifying heavy dependency chains
114
+
115
+ ## 🎯 Getting Started
116
+
117
+ 1. **Generate your dependency file**:
118
+ ```bash
119
+ mvn dependency:tree -DoutputFile=maven_dependency_file -DappendOutput=true
120
+ ```
121
+
122
+ 2. **Create visualizations**:
123
+ ```bash
124
+ # Basic diagram
125
+ mvn_tree_visualizer --filename maven_dependency_file --output diagram.html
126
+
127
+ # With versions for detailed analysis
128
+ mvn_tree_visualizer --filename maven_dependency_file --output diagram.html --show-versions
129
+
130
+ # Dark theme for coding sessions
131
+ mvn_tree_visualizer --filename maven_dependency_file --output diagram.html --theme dark
132
+ ```
133
+
134
+ 3. **Open in browser** and explore with enhanced zoom and navigation controls!
135
+
136
+ ## Use Cases
137
+
138
+ ### 1. Quick Dependency Overview
139
+ ```bash
140
+ mvn_tree_visualizer --filename maven_dependency_file --output overview.html
141
+ ```
142
+ - Clean view without version numbers
143
+ - Easy to identify dependency relationships
144
+
145
+ ### 2. Detailed Analysis with Versions
146
+ ```bash
147
+ mvn_tree_visualizer --filename maven_dependency_file --output detailed.html --show-versions
148
+ ```
149
+ - Shows all version information
150
+ - Useful for debugging version conflicts
151
+
152
+ ### 3. Scripting and Automation
153
+ ```bash
154
+ mvn_tree_visualizer --filename maven_dependency_file --output deps.json --format json
155
+ ```
156
+ - Machine-readable JSON format
157
+ - Perfect for CI/CD pipelines and automated analysis
158
+
159
+ ### 4. Multi-module Projects
160
+ ```bash
161
+ mvn_tree_visualizer --directory ./my-project --output multi-module.html
162
+ ```
163
+ - Automatically finds and merges dependency files from subdirectories
164
+ - Comprehensive view of entire project structure