mvn-tree-visualizer 1.6.0b1__tar.gz → 1.8.4__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 (72) hide show
  1. mvn_tree_visualizer-1.8.4/.github/workflows/ci.yml +35 -0
  2. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/.github/workflows/release.yml +5 -13
  3. mvn_tree_visualizer-1.8.4/CHANGELOG.md +153 -0
  4. mvn_tree_visualizer-1.6.0b1/README.md → mvn_tree_visualizer-1.8.4/PKG-INFO +52 -1
  5. mvn_tree_visualizer-1.6.0b1/PKG-INFO → mvn_tree_visualizer-1.8.4/README.md +29 -21
  6. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/RELEASE.md +0 -33
  7. mvn_tree_visualizer-1.8.4/ROADMAP.md +130 -0
  8. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/pyproject.toml +33 -16
  9. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/src/mvn_tree_visualizer/cli.py +94 -17
  10. mvn_tree_visualizer-1.8.4/src/mvn_tree_visualizer/utils.py +29 -0
  11. mvn_tree_visualizer-1.8.4/tests/README.md +69 -0
  12. mvn_tree_visualizer-1.8.4/tests/cli/README.md +61 -0
  13. mvn_tree_visualizer-1.8.4/tests/cli/__init__.py +1 -0
  14. mvn_tree_visualizer-1.8.4/tests/cli/test_open.py +165 -0
  15. mvn_tree_visualizer-1.8.4/tests/cli/test_quiet.py +162 -0
  16. mvn_tree_visualizer-1.8.4/tests/cli/test_timestamp.py +253 -0
  17. mvn_tree_visualizer-1.8.4/tests/cli/test_version.py +166 -0
  18. mvn_tree_visualizer-1.8.4/tests/large_diagrams/README.md +63 -0
  19. mvn_tree_visualizer-1.8.4/tests/large_diagrams/__init__.py +1 -0
  20. mvn_tree_visualizer-1.8.4/tests/large_diagrams/test_compatibility.py +41 -0
  21. mvn_tree_visualizer-1.8.4/tests/large_diagrams/test_config.py +48 -0
  22. mvn_tree_visualizer-1.8.4/tests/large_diagrams/test_errors.py +35 -0
  23. mvn_tree_visualizer-1.8.4/tests/large_diagrams/test_navigation.py +88 -0
  24. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/tests/test_watch_mode.py +45 -37
  25. mvn_tree_visualizer-1.8.4/uv.lock +1204 -0
  26. mvn_tree_visualizer-1.6.0b1/.github/copilot-instructions.md +0 -87
  27. mvn_tree_visualizer-1.6.0b1/.github/workflows/ci.yml +0 -38
  28. mvn_tree_visualizer-1.6.0b1/CHANGELOG.md +0 -109
  29. mvn_tree_visualizer-1.6.0b1/ROADMAP.md +0 -149
  30. mvn_tree_visualizer-1.6.0b1/issues.md +0 -79
  31. mvn_tree_visualizer-1.6.0b1/tests/test_large_diagram_support.py +0 -199
  32. mvn_tree_visualizer-1.6.0b1/uv.lock +0 -838
  33. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/.github/FUNDING.yml +0 -0
  34. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  35. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  36. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/.github/ISSUE_TEMPLATE/question.md +0 -0
  37. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  38. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/.github/SECURITY.md +0 -0
  39. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/.github/dependabot.yml +0 -0
  40. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/.gitignore +0 -0
  41. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/.python-version +0 -0
  42. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/CODE_OF_CONDUCT.md +0 -0
  43. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/CONTRIBUTING.md +0 -0
  44. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/LICENSE +0 -0
  45. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/docs/INTEGRATION.md +0 -0
  46. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/docs/README.md +0 -0
  47. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/docs/THEMES.md +0 -0
  48. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/examples/README.md +0 -0
  49. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/examples/complex-project/diagram-dark.html +0 -0
  50. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/examples/complex-project/diagram-minimal.html +0 -0
  51. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/examples/complex-project/maven_dependency_file +0 -0
  52. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/examples/simple-project/dependencies.json +0 -0
  53. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/examples/simple-project/diagram-dark.html +0 -0
  54. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/examples/simple-project/diagram-minimal.html +0 -0
  55. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/examples/simple-project/maven_dependency_file +0 -0
  56. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/examples/watch-test/README.md +0 -0
  57. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/examples/watch-test/test_maven_file +0 -0
  58. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/ruff.toml +0 -0
  59. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/src/mvn_tree_visualizer/__init__.py +0 -0
  60. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/src/mvn_tree_visualizer/__main__.py +0 -0
  61. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/src/mvn_tree_visualizer/diagram.py +0 -0
  62. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/src/mvn_tree_visualizer/enhanced_template.py +0 -0
  63. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/src/mvn_tree_visualizer/exceptions.py +0 -0
  64. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/src/mvn_tree_visualizer/file_watcher.py +0 -0
  65. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/src/mvn_tree_visualizer/get_dependencies_in_one_file.py +0 -0
  66. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/src/mvn_tree_visualizer/outputs/html_output.py +0 -0
  67. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/src/mvn_tree_visualizer/outputs/json_output.py +0 -0
  68. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/src/mvn_tree_visualizer/themes.py +0 -0
  69. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/src/mvn_tree_visualizer/validation.py +0 -0
  70. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/tests/test_github_issue_7.py +0 -0
  71. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/tests/test_html_output.py +0 -0
  72. {mvn_tree_visualizer-1.6.0b1 → mvn_tree_visualizer-1.8.4}/tests/test_json_output.py +0 -0
@@ -0,0 +1,35 @@
1
+ name: CI
2
+
3
+ on:
4
+ pull_request:
5
+ branches: [ master, develop ]
6
+
7
+ jobs:
8
+ test:
9
+ runs-on: ubuntu-latest
10
+ strategy:
11
+ matrix:
12
+ python-version: ["3.13"]
13
+
14
+ steps:
15
+ - uses: actions/checkout@v6
16
+
17
+ - name: Set up Python
18
+ uses: actions/setup-python@v6
19
+
20
+ - name: Install uv
21
+ uses: astral-sh/setup-uv@v7
22
+ with:
23
+ version: "latest"
24
+
25
+ - name: Install dependencies
26
+ run: uv sync --dev
27
+
28
+ - name: Install tox
29
+ run: uv tool install tox --with tox-uv
30
+
31
+ - name: Run linter & tests
32
+ run: tox --parallel
33
+
34
+ - name: Test CLI
35
+ run: uv run python -m mvn_tree_visualizer --help
@@ -2,7 +2,7 @@ name: Semantic Release
2
2
 
3
3
  on:
4
4
  push:
5
- branches: [ master, develop ]
5
+ branches: [ master ]
6
6
  workflow_dispatch:
7
7
 
8
8
  concurrency: ${{ github.workflow }}-${{ github.ref }}
@@ -18,34 +18,26 @@ jobs:
18
18
 
19
19
  steps:
20
20
  - name: Checkout
21
- uses: actions/checkout@v4
21
+ uses: actions/checkout@v6
22
22
  with:
23
23
  fetch-depth: 0
24
24
  token: ${{ secrets.GITHUB_TOKEN }}
25
25
 
26
26
  - name: Set up Python
27
- uses: actions/setup-python@v5
27
+ uses: actions/setup-python@v6
28
28
  with:
29
29
  python-version: '3.13'
30
30
 
31
31
  - name: Install uv
32
- uses: astral-sh/setup-uv@v6
32
+ uses: astral-sh/setup-uv@v7
33
33
 
34
34
  - name: Install dependencies
35
35
  run: |
36
36
  uv sync --dev
37
-
38
- - name: Run tests
39
- run: |
40
- uv run pytest tests/ -v
41
-
42
- - name: Run linting
43
- run: |
44
- uv run ruff check .
45
37
 
46
38
  - name: Python Semantic Release
47
39
  id: release
48
- uses: python-semantic-release/python-semantic-release@v10.2.0
40
+ uses: python-semantic-release/python-semantic-release@v10.5.2
49
41
  with:
50
42
  github_token: ${{ secrets.GITHUB_TOKEN }}
51
43
 
@@ -0,0 +1,153 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
+ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
+
8
+ <!-- insertion marker -->
9
+ ## [v1.8.3](https://github.com/dyka3773/mvn-tree-visualizer/releases/tag/v1.8.3) - 2025-11-24
10
+
11
+ <small>[Compare with v1.8.2](https://github.com/dyka3773/mvn-tree-visualizer/compare/v1.8.2...v1.8.3)</small>
12
+
13
+ ## [v1.8.2](https://github.com/dyka3773/mvn-tree-visualizer/releases/tag/v1.8.2) - 2025-11-10
14
+
15
+ <small>[Compare with v1.8.1](https://github.com/dyka3773/mvn-tree-visualizer/compare/v1.8.1...v1.8.2)</small>
16
+
17
+ ## [v1.8.1](https://github.com/dyka3773/mvn-tree-visualizer/releases/tag/v1.8.1) - 2025-11-10
18
+
19
+ <small>[Compare with v1.8.0](https://github.com/dyka3773/mvn-tree-visualizer/compare/v1.8.0...v1.8.1)</small>
20
+
21
+ ## [v1.8.0](https://github.com/dyka3773/mvn-tree-visualizer/releases/tag/v1.8.0) - 2025-08-13
22
+
23
+ <small>[Compare with v1.7.0](https://github.com/dyka3773/mvn-tree-visualizer/compare/v1.7.0...v1.8.0)</small>
24
+
25
+ ### Features
26
+
27
+ - add --timestamp-output flag to append timestamp to output filenames ([0292ac5](https://github.com/dyka3773/mvn-tree-visualizer/commit/0292ac5209a6b16c281b8146acc32e47264a02a7) by Hercules Konsoulas).
28
+ - add --open flag to automatically open HTML diagrams in browser ([fb5237e](https://github.com/dyka3773/mvn-tree-visualizer/commit/fb5237ee5e3696bd550b08c1d8a4d5b428666b6f) by Hercules Konsoulas).
29
+
30
+ ### Code Refactoring
31
+
32
+ - encode URL with proper built-in function ([eed841d](https://github.com/dyka3773/mvn-tree-visualizer/commit/eed841d007f1d2a0b0d6632d8a36b93e4524acc2) by Hercules Konsoulas).
33
+ - restructure test suite into modular architecture ([6d25b7b](https://github.com/dyka3773/mvn-tree-visualizer/commit/6d25b7b1948252615d32ff7076428dc520ed60de) by Hercules Konsoulas).
34
+ - moved timestamp creation to a separate util module for clarity ([cf8d188](https://github.com/dyka3773/mvn-tree-visualizer/commit/cf8d1885b0a4056988dba94496a4ac992af2b693) by Hercules Konsoulas).
35
+
36
+ ## [v1.7.0](https://github.com/dyka3773/mvn-tree-visualizer/releases/tag/v1.7.0) - 2025-08-02
37
+
38
+ <small>[Compare with v1.6.0](https://github.com/dyka3773/mvn-tree-visualizer/compare/v1.6.0...v1.7.0)</small>
39
+
40
+ ### Features
41
+
42
+ - add --quiet/-q flag for silent operation ([5dfc82c](https://github.com/dyka3773/mvn-tree-visualizer/commit/5dfc82c57987870ab6200a7ec6682bda3aaf06c7) by Hercules Konsoulas).
43
+ - add --version/-v flag to display current tool version ([6ee3e56](https://github.com/dyka3773/mvn-tree-visualizer/commit/6ee3e56302893aecb5ad87c115ea801acf03b4bc) by Hercules Konsoulas).
44
+
45
+ ### Bug Fixes
46
+
47
+ - CLI test timeouts and file cleanup issues ([3d236d9](https://github.com/dyka3773/mvn-tree-visualizer/commit/3d236d93406e4bcc0a0ee6ea4c6f096ba5c0f861) by Hercules Konsoulas).
48
+
49
+ ### Code Refactoring
50
+
51
+ - correct copilot's mistake for traceback ([d33b5a8](https://github.com/dyka3773/mvn-tree-visualizer/commit/d33b5a847399b34cb101f5650ff98af29e133db1) by Hercules Konsoulas).
52
+
53
+ ## [v1.6.0](https://github.com/dyka3773/mvn-tree-visualizer/releases/tag/v1.6.0) - 2025-07-24
54
+
55
+ <small>[Compare with v1.5.2](https://github.com/dyka3773/mvn-tree-visualizer/compare/v1.5.2...v1.6.0)</small>
56
+
57
+ ### Features
58
+
59
+ - add beta release support for develop branch ([e578499](https://github.com/dyka3773/mvn-tree-visualizer/commit/e5784991ae136242fd4c8ddb929704f2b6f77616) by Hercules Konsoulas).
60
+
61
+ ### Bug Fixes
62
+
63
+ - implement comprehensive changelog generation with git-changelog ([17e0c89](https://github.com/dyka3773/mvn-tree-visualizer/commit/17e0c894dfaff23ab464be52c9e1df8ac4bf71bc) by Hercules Konsoulas).
64
+
65
+ ## [v1.5.2](https://github.com/dyka3773/mvn-tree-visualizer/releases/tag/v1.5.2) - 2025-07-24
66
+
67
+ <small>[Compare with v1.5.1](https://github.com/dyka3773/mvn-tree-visualizer/compare/v1.5.1...v1.5.2)</small>
68
+
69
+ ### Bug Fixes
70
+
71
+ - enable automatic changelog generation in semantic release ([c10460e](https://github.com/dyka3773/mvn-tree-visualizer/commit/c10460e09e96510ae95e795dafae53ac28230c50) by Hercules Konsoulas).
72
+
73
+ ## [v1.5.1](https://github.com/dyka3773/mvn-tree-visualizer/releases/tag/v1.5.1) - 2025-07-21
74
+
75
+ <small>[Compare with v1.5.0](https://github.com/dyka3773/mvn-tree-visualizer/compare/v1.5.0...v1.5.1)</small>
76
+
77
+ ### Bug Fixes
78
+
79
+ - resolve an issue causing similar duplicate logs ([e861008](https://github.com/dyka3773/mvn-tree-visualizer/commit/e86100867de380ea37ff49a8b4d4659486bd7046) by Hercules Konsoulas).
80
+
81
+ ### Code Refactoring
82
+
83
+ - remove unused and wrong imports ([3051ea2](https://github.com/dyka3773/mvn-tree-visualizer/commit/3051ea20b9f40f40c97a5b3aed5a67c167b75a99) by Hercules Konsoulas).
84
+
85
+ ## [v1.5.0](https://github.com/dyka3773/mvn-tree-visualizer/releases/tag/v1.5.0) - 2025-07-19
86
+
87
+ <small>[Compare with v1.4.0](https://github.com/dyka3773/mvn-tree-visualizer/compare/v1.4.0...v1.5.0)</small>
88
+
89
+ ### Features
90
+
91
+ - resolve GitHub issue #7 with enhanced large project support ([3b3b14e](https://github.com/dyka3773/mvn-tree-visualizer/commit/3b3b14e88608c4b1c64295bbf786a898e3b600be) by Hercules Konsoulas).
92
+
93
+ ### Code Refactoring
94
+
95
+ - updated another test to stay consistent with the previous commits ([01a100f](https://github.com/dyka3773/mvn-tree-visualizer/commit/01a100f01587a3f2b43eaa9b6859d7c77e849202) by Hercules Konsoulas).
96
+ - centralize all magic numbers into shared constants module ([e3ee53c](https://github.com/dyka3773/mvn-tree-visualizer/commit/e3ee53cd99f146ca56265ea54c1ea3389ee1e1d8) by Hercules Konsoulas).
97
+ - extract hardcoded magic numbers to named constants ([f1f6734](https://github.com/dyka3773/mvn-tree-visualizer/commit/f1f67347b401959d1700e2da36632e1eb87e6a34) by Hercules Konsoulas).
98
+ - fix to previous commit ([2652892](https://github.com/dyka3773/mvn-tree-visualizer/commit/265289286eafe94f3aeef649ed6856c587061941) by Hercules Konsoulas).
99
+ - extract zoom configuration values to constants ([b2d506e](https://github.com/dyka3773/mvn-tree-visualizer/commit/b2d506e7446e79e998be3bc6bd000930a7cab78c) by Hercules Konsoulas).
100
+
101
+ ## [v1.4.0](https://github.com/dyka3773/mvn-tree-visualizer/releases/tag/v1.4.0) - 2025-07-17
102
+
103
+ <small>[Compare with v1.3.0](https://github.com/dyka3773/mvn-tree-visualizer/compare/v1.3.0...v1.4.0)</small>
104
+
105
+ ### Features
106
+
107
+ - add theme system with minimal and dark themes ([649e317](https://github.com/dyka3773/mvn-tree-visualizer/commit/649e317dac9531cc16b03cba3602994188468bf9) by Hercules Konsoulas).
108
+
109
+ ## [v1.3.0](https://github.com/dyka3773/mvn-tree-visualizer/releases/tag/v1.3.0) - 2025-07-16
110
+
111
+ <small>[Compare with v1.2.0](https://github.com/dyka3773/mvn-tree-visualizer/compare/v1.2.0...v1.3.0)</small>
112
+
113
+ ### Features
114
+
115
+ - implement automated release system ([e8fc847](https://github.com/dyka3773/mvn-tree-visualizer/commit/e8fc8472ecbc3ebc7376b07f43aae63a27f299bc) by Hercules Konsoulas).
116
+ - implement v1.3.0 user experience improvements ([2b87699](https://github.com/dyka3773/mvn-tree-visualizer/commit/2b8769903c34527542ee491ea9ac58f46e439e23) by Hercules Konsoulas).
117
+ - enhance error handling and refactor code organization ([c4a183c](https://github.com/dyka3773/mvn-tree-visualizer/commit/c4a183c59380c30d6fe74e8609fc5eb706e88c85) by Hercules Konsoulas).
118
+ - transform repository into professional open-source project ([4ceebdc](https://github.com/dyka3773/mvn-tree-visualizer/commit/4ceebdc886c87eb0d9852259a3aa06d0bc610ab2) by Hercules Konsoulas).
119
+
120
+ ### Bug Fixes
121
+
122
+ - install build module within semantic-release build command ([cd5718d](https://github.com/dyka3773/mvn-tree-visualizer/commit/cd5718d56cd91934b55285c46713bb6cd738b4fa) by Hercules Konsoulas).
123
+ - ensure build tools available for semantic-release action ([e2db367](https://github.com/dyka3773/mvn-tree-visualizer/commit/e2db367f3ebd14768eee5efc5d7515fab0f48c1c) by Hercules Konsoulas).
124
+ - use uv run for build command in semantic-release ([bc5857b](https://github.com/dyka3773/mvn-tree-visualizer/commit/bc5857b080224b2489542470bff9beabf84b59fa) by Hercules Konsoulas).
125
+ - add missing ruff dependency for CI linting ([675d892](https://github.com/dyka3773/mvn-tree-visualizer/commit/675d89209db91d0bbf234b7872a5a1893d81b729) by Hercules Konsoulas).
126
+ - corrected funding link ([13c76c4](https://github.com/dyka3773/mvn-tree-visualizer/commit/13c76c4ad99ead6ecb5d7471c07b5ea5a22ffc8f) by Hercules Konsoulas).
127
+ - install pytest separately in CI to resolve command not found error ([1a99192](https://github.com/dyka3773/mvn-tree-visualizer/commit/1a991927a9d94a405170d93660b62f89513e0056) by Hercules Konsoulas).
128
+ - update JSON tests to match show_versions=False default ([88bcf95](https://github.com/dyka3773/mvn-tree-visualizer/commit/88bcf951f08243c97ddf8d3f3fa4c26e3f7de41d) by Hercules Konsoulas).
129
+
130
+ ### Code Refactoring
131
+
132
+ - add watch mode and standardize JSON output format ([c1a6e14](https://github.com/dyka3773/mvn-tree-visualizer/commit/c1a6e143120031b4f9cf2417cb5db32a35899ddb) by Hercules Konsoulas).
133
+
134
+ ## [v1.2.0](https://github.com/dyka3773/mvn-tree-visualizer/releases/tag/v1.2.0) - 2025-07-08
135
+
136
+ <small>[Compare with v1.1.0](https://github.com/dyka3773/mvn-tree-visualizer/compare/v1.1.0...v1.2.0)</small>
137
+
138
+ ### Features
139
+
140
+ - add --show-versions flag for both HTML and JSON outputs ([80c7d10](https://github.com/dyka3773/mvn-tree-visualizer/commit/80c7d1089e21c3a345bdc9a61242ed1233605a0e) by Hercules Konsoulas).
141
+ - add comprehensive type hints to improve code quality ([b9b9da5](https://github.com/dyka3773/mvn-tree-visualizer/commit/b9b9da5a48b3c40feeca40de0c69eef3316afc7f) by Hercules Konsoulas).
142
+
143
+ ### Bug Fixes
144
+
145
+ - Correct dependency installation in workflow ([3e500fc](https://github.com/dyka3773/mvn-tree-visualizer/commit/3e500fc76927b736a0f529ad8b2261b6735b949d) by Hercules Konsoulas).
146
+
147
+ ## [v1.1.0](https://github.com/dyka3773/mvn-tree-visualizer/releases/tag/v1.1.0) - 2025-07-08
148
+
149
+ <small>[Compare with first commit](https://github.com/dyka3773/mvn-tree-visualizer/compare/58ba414323de8d69f0f80a514cf9bb14f40fa22c...v1.1.0)</small>
150
+
151
+ ### Features
152
+
153
+ - Add JSON output and decouple output logic ([e6cd138](https://github.com/dyka3773/mvn-tree-visualizer/commit/e6cd13836f93221f2dbd334574ca614d7dbe0e4a) by Hercules Konsoulas).
@@ -1,7 +1,30 @@
1
+ Metadata-Version: 2.4
2
+ Name: mvn-tree-visualizer
3
+ Version: 1.8.4
4
+ Summary: A simple command line tool to visualize the dependency tree of a Maven project in a graphical format.
5
+ Project-URL: source, https://github.com/dyka3773/mvn-tree-visualizer
6
+ Author-email: Iraklis Konsoulas <dyka3773@gmail.com>
7
+ License-Expression: MIT
8
+ License-File: LICENSE
9
+ Keywords: cli,command-line,dependency,graph,maven,mermaid,tool,tree,visualization
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Topic :: Software Development :: Build Tools
18
+ Classifier: Typing :: Typed
19
+ Requires-Python: >=3.10
20
+ Requires-Dist: jinja2>=3.1.6
21
+ Requires-Dist: watchdog>=6.0.0
22
+ Description-Content-Type: text/markdown
23
+
1
24
  # Maven Dependency Tree Visualizer
2
25
 
3
26
  [![PyPI version](https://badge.fury.io/py/mvn-tree-visualizer.svg)](https://badge.fury.io/py/mvn-tree-visualizer)
4
- ![Python](https://img.shields.io/badge/python-3.13+-blue.svg)
27
+ ![Python](https://img.shields.io/badge/python-3.10%20|%203.11%20|%203.12%20|%203.13-blue.svg)
5
28
  ![License](https://img.shields.io/badge/license-MIT-green.svg)
6
29
  [![Downloads](https://pepy.tech/badge/mvn-tree-visualizer)](https://pepy.tech/project/mvn-tree-visualizer)
7
30
  [![CI](https://github.com/dyka3773/mvn-tree-visualizer/workflows/CI/badge.svg)](https://github.com/dyka3773/mvn-tree-visualizer/actions)
@@ -92,6 +115,30 @@ mvn-tree-visualizer --filename "maven_dependency_file" --output "dependencies.js
92
115
  mvn-tree-visualizer --filename "maven_dependency_file" --output "diagram.html" --watch
93
116
  ```
94
117
 
118
+ #### Quiet Mode (For Automation/Scripts)
119
+ ```bash
120
+ # Only show errors, suppress success messages
121
+ mvn-tree-visualizer --filename "maven_dependency_file" --output "diagram.html" --quiet
122
+
123
+ # Short form also available
124
+ mvn-tree-visualizer --filename "maven_dependency_file" --output "diagram.html" -q
125
+ ```
126
+
127
+ #### Auto-Open in Browser
128
+ ```bash
129
+ # Automatically open the generated HTML diagram in your default browser
130
+ mvn-tree-visualizer --filename "maven_dependency_file" --output "diagram.html" --open
131
+ ```
132
+
133
+ #### Timestamped Output Files
134
+ ```bash
135
+ # Generate files with timestamps (e.g., diagram_20250813_143022.html)
136
+ mvn-tree-visualizer --filename "maven_dependency_file" --output "diagram.html" --timestamp-output
137
+
138
+ # Combine with auto-open for immediate viewing
139
+ mvn-tree-visualizer --filename "maven_dependency_file" --output "diagram.html" --timestamp-output --open
140
+ ```
141
+
95
142
  > **💡 Tip:** In watch mode, the tool will monitor for changes to your Maven dependency files and automatically regenerate the diagram. Perfect for development workflows! Press `Ctrl+C` to stop watching.
96
143
 
97
144
  ### Step 3: View the output
@@ -123,6 +170,10 @@ Each example includes:
123
170
  | `--watch` | Watch for file changes and auto-regenerate diagram | `False` |
124
171
  | `--directory` | The directory to scan for the Maven dependency file(s) | current directory |
125
172
  | `--keep-tree` | Keep the intermediate `dependency_tree.txt` file | `False` |
173
+ | `--quiet`, `-q` | Suppress all console output except errors | `False` |
174
+ | `--open` | Automatically open generated HTML files in default browser | `False` |
175
+ | `--timestamp-output` | Add timestamp to output filename (e.g., `diagram-2025-08-13-203045.html`) | `False` |
176
+ | `--version`, `-v` | Show the current version and exit | - |
126
177
  | `--help` | Show the help message and exit | - |
127
178
 
128
179
  ### Theme Options
@@ -1,27 +1,7 @@
1
- Metadata-Version: 2.4
2
- Name: mvn-tree-visualizer
3
- Version: 1.6.0b1
4
- Summary: A simple command line tool to visualize the dependency tree of a Maven project in a graphical format.
5
- Project-URL: source, https://github.com/dyka3773/mvn-tree-visualizer
6
- Author-email: Iraklis Konsoulas <dyka3773@gmail.com>
7
- License-Expression: MIT
8
- License-File: LICENSE
9
- Keywords: cli,command-line,dependency,graph,maven,mermaid,tool,tree,visualization
10
- Classifier: Development Status :: 4 - Beta
11
- Classifier: Intended Audience :: Developers
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.13
14
- Classifier: Topic :: Software Development :: Build Tools
15
- Classifier: Typing :: Typed
16
- Requires-Python: >=3.13
17
- Requires-Dist: jinja2>=3.1.6
18
- Requires-Dist: watchdog>=6.0.0
19
- Description-Content-Type: text/markdown
20
-
21
1
  # Maven Dependency Tree Visualizer
22
2
 
23
3
  [![PyPI version](https://badge.fury.io/py/mvn-tree-visualizer.svg)](https://badge.fury.io/py/mvn-tree-visualizer)
24
- ![Python](https://img.shields.io/badge/python-3.13+-blue.svg)
4
+ ![Python](https://img.shields.io/badge/python-3.10%20|%203.11%20|%203.12%20|%203.13-blue.svg)
25
5
  ![License](https://img.shields.io/badge/license-MIT-green.svg)
26
6
  [![Downloads](https://pepy.tech/badge/mvn-tree-visualizer)](https://pepy.tech/project/mvn-tree-visualizer)
27
7
  [![CI](https://github.com/dyka3773/mvn-tree-visualizer/workflows/CI/badge.svg)](https://github.com/dyka3773/mvn-tree-visualizer/actions)
@@ -112,6 +92,30 @@ mvn-tree-visualizer --filename "maven_dependency_file" --output "dependencies.js
112
92
  mvn-tree-visualizer --filename "maven_dependency_file" --output "diagram.html" --watch
113
93
  ```
114
94
 
95
+ #### Quiet Mode (For Automation/Scripts)
96
+ ```bash
97
+ # Only show errors, suppress success messages
98
+ mvn-tree-visualizer --filename "maven_dependency_file" --output "diagram.html" --quiet
99
+
100
+ # Short form also available
101
+ mvn-tree-visualizer --filename "maven_dependency_file" --output "diagram.html" -q
102
+ ```
103
+
104
+ #### Auto-Open in Browser
105
+ ```bash
106
+ # Automatically open the generated HTML diagram in your default browser
107
+ mvn-tree-visualizer --filename "maven_dependency_file" --output "diagram.html" --open
108
+ ```
109
+
110
+ #### Timestamped Output Files
111
+ ```bash
112
+ # Generate files with timestamps (e.g., diagram_20250813_143022.html)
113
+ mvn-tree-visualizer --filename "maven_dependency_file" --output "diagram.html" --timestamp-output
114
+
115
+ # Combine with auto-open for immediate viewing
116
+ mvn-tree-visualizer --filename "maven_dependency_file" --output "diagram.html" --timestamp-output --open
117
+ ```
118
+
115
119
  > **💡 Tip:** In watch mode, the tool will monitor for changes to your Maven dependency files and automatically regenerate the diagram. Perfect for development workflows! Press `Ctrl+C` to stop watching.
116
120
 
117
121
  ### Step 3: View the output
@@ -143,6 +147,10 @@ Each example includes:
143
147
  | `--watch` | Watch for file changes and auto-regenerate diagram | `False` |
144
148
  | `--directory` | The directory to scan for the Maven dependency file(s) | current directory |
145
149
  | `--keep-tree` | Keep the intermediate `dependency_tree.txt` file | `False` |
150
+ | `--quiet`, `-q` | Suppress all console output except errors | `False` |
151
+ | `--open` | Automatically open generated HTML files in default browser | `False` |
152
+ | `--timestamp-output` | Add timestamp to output filename (e.g., `diagram-2025-08-13-203045.html`) | `False` |
153
+ | `--version`, `-v` | Show the current version and exit | - |
146
154
  | `--help` | Show the help message and exit | - |
147
155
 
148
156
  ### Theme Options
@@ -89,24 +89,6 @@ When the release PR is merged to `master`, the automation triggers:
89
89
  7. **Publishes to PyPI** automatically
90
90
  8. **Creates GitHub release** with generated release notes
91
91
 
92
- ## Manual Release (Emergency)
93
-
94
- For emergency releases or manual intervention:
95
-
96
- ```bash
97
- # Install semantic-release locally
98
- uv sync --dev
99
-
100
- # Preview what will be released (dry-run)
101
- uv run semantic-release --dry-run
102
-
103
- # Force a specific version type
104
- uv run semantic-release --patch # or --minor, --major
105
-
106
- # Generate changelog only
107
- uv run semantic-release changelog
108
- ```
109
-
110
92
  ## Monitoring Releases
111
93
 
112
94
  ### Check Release Status:
@@ -144,21 +126,6 @@ minor_tags = ["feat"]
144
126
  patch_tags = ["fix", "perf"]
145
127
  ```
146
128
 
147
- ## Migration from Manual Process
148
-
149
- **Previous manual steps no longer needed:**
150
- - ❌ Manual version updates in `pyproject.toml`
151
- - ❌ Manual CHANGELOG.md editing
152
- - ❌ Manual Git tag creation
153
- - ❌ Manual PyPI uploads
154
-
155
- **New automated process:**
156
- - ✅ Conventional commit messages
157
- - ✅ Automatic version management
158
- - ✅ Automatic changelog generation
159
- - ✅ Automatic PyPI publishing
160
- - ✅ Automatic GitHub releases
161
-
162
129
  ## Emergency Procedures
163
130
 
164
131
  ### Rollback a Release:
@@ -0,0 +1,130 @@
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.8.0 - User Experience & Test Architecture Improvements (In Progress)
8
+
9
+ **Focus:** Practical CLI enhancements and improved maintainability
10
+
11
+ **Status:** Ready for Release - August 13, 2025
12
+
13
+ **Completed Features:**
14
+ * [x] **`--open` flag:** Automatically open generated HTML diagrams in default browser
15
+ * Platform-agnostic implementation using Python's `webbrowser` module
16
+ * Intelligent handling: only works with HTML output, graceful error handling
17
+ * Combined functionality with quiet mode and other flags
18
+ * [x] **`--timestamp-output` flag:** Auto-append timestamp to output filenames
19
+ * Format: `diagram_20250813_143022.html` for version tracking
20
+ * Works with both HTML and JSON output formats
21
+ * Perfect for CI/CD and avoiding file overwrites
22
+ * [x] **Comprehensive Test Architecture Refactoring:**
23
+ * Modular test structure: Split monolithic test files into focused modules
24
+ * `tests/cli/` - Individual CLI feature testing (version, quiet, open, timestamp)
25
+ * `tests/large_diagrams/` - Focused large diagram feature testing
26
+ * Single-responsibility principle: Each test file has one clear purpose
27
+ * Improved maintainability and parallel test execution support
28
+
29
+ ### v1.6.0 - Mistake Release (Released)
30
+
31
+ **Focus:** Enhance automatic documentation generation and prerelease configs
32
+
33
+ **Status:** Released July 24, 2025
34
+
35
+ ### Previous Major Releases ✅
36
+
37
+ * **v1.5 - GitHub Issue #7 Resolution and Navigation Enhancements** (July 19, 2025)
38
+ * [x] **Support for Massive Dependency Trees**: Enhanced Mermaid configuration with `maxTextSize: 900000000` and `maxEdges: 20000`
39
+ * [x] **Advanced Zoom Controls**: 50x zoom range with smooth mouse wheel support
40
+ * [x] **Keyboard Shortcuts**: `Ctrl+R` for reset, `+/-` for zoom, `Ctrl+S` for download
41
+
42
+ * **v1.4 - Visual and Theme Enhancements** (July 17, 2025)
43
+ * [x] Professional minimal and dark themes
44
+ * [x] Enhanced HTML templates with interactive features
45
+ * [x] SVG download functionality and improved user experience
46
+
47
+ * **v1.3 - User Experience Improvements** (July 9, 2025)
48
+ * [x] Watch mode functionality with `--watch` flag
49
+ * [x] Enhanced error handling system with comprehensive guidance
50
+ * [x] Custom exception classes and validation modules
51
+ * [x] Comprehensive test coverage and modular organization
52
+
53
+ * **Core Foundation** (Earlier versions)
54
+ * [x] Multiple output formats (HTML and JSON)
55
+ * [x] Dependency version display with `--show-versions`
56
+ * [x] Multi-module Maven project support
57
+ * [x] CI/CD workflows and comprehensive documentation
58
+ * [x] `--theme` option with multiple built-in themes (default/minimal, dark, light)
59
+ ## 🔮 Future Development
60
+
61
+ ### Candidate Features for Upcoming Releases
62
+
63
+ **Philosophy:** Small, practical improvements that provide immediate value to users. Features will be selected based on user feedback, development bandwidth, and priority.
64
+
65
+ #### User Experience Enhancements
66
+ * [ ] **Custom title support:** `--title "My Project Dependencies"`
67
+ * **Use Case:** Personalize diagrams with meaningful project names
68
+ * [ ] **Progress indicators:** Simple feedback during long operations
69
+ * **Implementation:** "Parsing dependencies..." → "Generating diagram..." → "Done!"
70
+ #### Configuration & Customization
71
+ * [ ] **Configuration file support:** `.mvnviz.conf` file for default options
72
+ * **Use Case:** Avoid typing same flags repeatedly, team consistency
73
+ * [ ] **`--exclude-scopes` option:** Filter out test, provided, or other scopes
74
+ * [ ] **`--max-depth` option:** Limit dependency tree depth for overview mode
75
+
76
+ #### Output & Analysis Improvements
77
+ * [ ] **Basic dependency statistics:** Show total counts in CLI output and HTML comments
78
+
79
+ #### Enterprise & Integration Features
80
+ * [ ] **Docker container:** Official container images for CI/CD
81
+ * [ ] **GitHub Actions integration:** Pre-built actions for automated diagram generation
82
+
83
+ ## 🎯 Technical Debt & Maintenance
84
+
85
+ ### Ongoing Improvements
86
+ * **Performance Optimization:** Continuous improvements for larger and more complex projects
87
+ * **Browser Compatibility:** Ensure compatibility with all major browsers and versions
88
+ * **Accessibility:** Enhanced accessibility features for users with disabilities
89
+ * **Documentation:** Comprehensive API documentation and developer guides
90
+
91
+ ### Code Quality
92
+ * **Test Coverage:** Maintain high test coverage with focus on edge cases
93
+ * **Type Safety:** Full type annotation coverage and strict type checking
94
+ * **Security:** Regular security audits and dependency updates
95
+ * **Performance:** Continuous profiling and optimization of critical paths
96
+
97
+ **Focus:** Advanced analysis and integration features.
98
+
99
+ * **Dependency Analysis:**
100
+ * [ ] Dependency conflict detection and highlighting
101
+ * [ ] Dependency statistics and analysis
102
+ * [ ] Version mismatch warnings
103
+ * **Integration Capabilities:**
104
+ * [ ] CI/CD pipeline integration examples
105
+ * [ ] Docker support and containerization
106
+ * [ ] Maven plugin version (if demand exists)
107
+
108
+ ## Long-Term Vision (6-12 Months+)
109
+
110
+ * **Web-Based Version:** A web-based version where users can paste their dependency tree and get a visualization without installing the CLI.
111
+ * **IDE Integration:** Plugins for VS Code, IntelliJ IDEA, or Eclipse for direct dependency visualization.
112
+ * **Multi-Language Support:** Extend beyond Maven to support Gradle, npm, pip, etc.
113
+
114
+ ## Release Strategy
115
+
116
+ Each release follows this approach:
117
+ - **Incremental Value:** Each version adds meaningful value without breaking existing functionality
118
+ - **User-Driven:** Priority based on user feedback and common pain points
119
+ - **Quality First:** New features include comprehensive tests and documentation
120
+ - **Backward Compatibility:** CLI interface remains stable across minor versions
121
+ - **Small & Focused:** Features are kept small and manageable for faster delivery
122
+ - **Feature Selection:** Features are chosen from the candidate list based on current priorities and available development time
123
+
124
+ ## Contributing
125
+
126
+ If you're interested in contributing to any of these features, please check out our [CONTRIBUTING.md](CONTRIBUTING.md) file for more information.
127
+
128
+ ---
129
+
130
+ *Last updated: August 13, 2025*
@@ -1,12 +1,12 @@
1
1
  [project]
2
2
  name = "mvn-tree-visualizer"
3
- version = "1.6.0-beta.1"
3
+ version = "1.8.4"
4
4
  authors = [
5
5
  { name = "Iraklis Konsoulas", email = "dyka3773@gmail.com" },
6
6
  ]
7
7
  description = "A simple command line tool to visualize the dependency tree of a Maven project in a graphical format."
8
8
  readme = "README.md"
9
- requires-python = ">=3.13"
9
+ requires-python = ">=3.10"
10
10
  license = "MIT"
11
11
  keywords = [
12
12
  "maven",
@@ -20,9 +20,12 @@ keywords = [
20
20
  "mermaid",
21
21
  ]
22
22
  classifiers = [
23
- "Development Status :: 4 - Beta",
23
+ "Development Status :: 5 - Production/Stable",
24
24
  "Intended Audience :: Developers",
25
25
  "Programming Language :: Python :: 3",
26
+ "Programming Language :: Python :: 3.10",
27
+ "Programming Language :: Python :: 3.11",
28
+ "Programming Language :: Python :: 3.12",
26
29
  "Programming Language :: Python :: 3.13",
27
30
  "Topic :: Software Development :: Build Tools",
28
31
  "Typing :: Typed",
@@ -40,12 +43,12 @@ mvn-tree-visualizer = "mvn_tree_visualizer.cli:cli"
40
43
 
41
44
  [dependency-groups]
42
45
  dev = [
43
- "twine>=6.1.0",
44
- "ruff>=0.12.3",
45
- "pytest>=8.3.2",
46
- "python-semantic-release>=10.2.0",
47
- "build>=1.0.0",
48
- "git-changelog>=2.5.3",
46
+ "twine>=6.2.0",
47
+ "python-semantic-release>=10.5.2",
48
+ "build>=1.3.0",
49
+ "git-changelog>=2.7.0",
50
+ "tox>=4.32.0",
51
+ "pytest>=9.0.1",
49
52
  ]
50
53
 
51
54
  [build-system]
@@ -67,15 +70,10 @@ remove_dist = false
67
70
  match = "master"
68
71
  prerelease = false
69
72
 
70
- [tool.semantic_release.branches.develop]
71
- match = "develop"
72
- prerelease = true
73
- prerelease_token = "beta"
74
-
75
73
  [tool.semantic_release.commit_parser_options]
76
- allowed_tags = ["build", "chore", "ci", "docs", "feat", "fix", "perf", "style", "refactor", "test"]
74
+ allowed_tags = ["build", "chore", "deps", "ci", "docs", "feat", "fix", "perf", "style", "refactor", "test"]
77
75
  minor_tags = ["feat"]
78
- patch_tags = ["fix", "perf"]
76
+ patch_tags = ["fix", "perf", "deps"]
79
77
 
80
78
  [tool.git-changelog]
81
79
  convention = "conventional"
@@ -91,4 +89,23 @@ sections = [
91
89
  {type = "build", section = "Build System", scopes = []},
92
90
  {type = "test", section = "Tests", scopes = []},
93
91
  {type = "style", section = "Style", scopes = []},
92
+ {type = "deps", section = "Dependencies", scopes = []},
93
+ ]
94
+
95
+ [tool.tox]
96
+ env_list = ["lint", "3.10", "3.11", "3.12", "3.13"]
97
+
98
+ [tool.tox.env_run_base]
99
+ description = "Run tests with the current Python version"
100
+ deps = [
101
+ "pytest>=9.0.1",
102
+ ]
103
+ commands = [[ "pytest", "-v" ]]
104
+
105
+ [tool.tox.env.lint]
106
+ description = "Lint the codebase with ruff"
107
+ deps = [
108
+ "ruff>=0.12.3",
94
109
  ]
110
+ skip_install = true
111
+ commands = [[ "ruff", "check", "src/", "tests/" ]]