1
0
Fork 0
mirror of https://github.com/imjasonh/apkviz synced 2026-07-16 12:21:59 +00:00
Commit graph

7 commits

Author SHA1 Message Date
Jason Hall
ac866e3c3e
Fix PR preview deployment permissions
- Use peaceiris/actions-gh-pages for proper GitHub token handling
- Fix cleanup workflow syntax error
- Add proper checks for preview directory existence

This should resolve the 403 permission errors when deploying PR previews.
2025-06-13 16:26:20 -04:00
Jason Hall
7295f29c92
Add PR preview deployments with GitHub Pages
- Create workflow to build and deploy PR previews to /pr-{number}/
- Add automatic PR comments with preview links
- Clean up previews when PRs are closed
- Update data fetcher to handle PR preview base paths
- Add gh-pages branch initialization workflow
- Document PR preview feature in README

Now every pull request will automatically get its own preview deployment at:
https://imjasonh.github.io/apkviz/pr-{number}/

This enables easy testing and review of changes before merging.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 16:12:34 -04:00
Jason Hall
95fa533ac7
Add permalink support for sharing package visualizations
- Update URL hash when selecting packages (search or click)
- Handle initial page load with package in URL hash
- Support browser back/forward navigation
- Preserve package selection when toggling transitive dependencies
- Add comprehensive permalink testing script

Now you can share direct links to specific packages:
- https://imjasonh.github.io/apkviz/#curl
- https://imjasonh.github.io/apkviz/#python
- https://imjasonh.github.io/apkviz/#gcc

The URL automatically updates as you navigate, making it easy
to share specific dependency visualizations with others.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 16:08:57 -04:00
Jason Hall
e933e2bf0f
Add comprehensive documentation for project continuity
README.md:
- Complete feature overview and live demo link
- Getting started guide with prerequisites and installation
- Development and testing instructions
- Architecture overview and component descriptions
- Visual guide explaining arrow colors and interactions
- Usage tips for finding critical packages and analyzing impact
- Future enhancement ideas

CLAUDE.md:
- Critical context for AI assistants working on the project
- Technical implementation details and decisions
- Common tasks and how to approach them
- Testing strategies and debugging tips
- Code style guidelines
- Known issues and gotchas
- Emphasis on Wolfi (not Alpine) and project goals

This documentation ensures the project can be effectively maintained
and enhanced by future contributors, whether human or AI.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 15:55:21 -04:00
Jason Hall
3b643386f0
Fix tooltip persistence issues
- Create tooltip once during initialization instead of on every render
- Properly hide tooltip when clicking nodes
- Add mousemove handler to follow cursor smoothly
- Reduce transition duration for snappier response
- Add z-index to ensure tooltip appears above other elements

This fixes the issue where tooltips would persist or stack up
when navigating through the dependency graph.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 15:52:01 -04:00
Jason Hall
72c2a57471
Add GitHub Pages deployment with GitHub Actions
- Add GitHub Actions workflow to build and deploy on push to main
- Configure webpack for production builds with correct base path
- Add CopyWebpackPlugin to copy APKINDEX file to dist
- Update data fetcher to handle GitHub Pages base path
- Clean dist directory on build for fresh deployments

The site will be automatically deployed to https://imjasonh.github.io/apkviz/
whenever changes are pushed to the main branch.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 15:46:07 -04:00
Jason Hall
c9fe336400
Add Wolfi APK dependency visualizer with advanced analytics
This web application visualizes package dependencies in the Wolfi Linux distribution,
providing powerful insights into the package ecosystem.

Features:
- Interactive force-directed dependency graph visualization
- Shows both forward dependencies (what a package depends on) and reverse dependencies (what depends on it)
- Click any node to re-center the visualization on that package
- Transitive dependency analysis with toggle control
- Advanced package analytics including:
  - Criticality scores showing how many packages depend on each package
  - Total size impact analysis (package + all dependencies)
  - Dependency depth metrics
  - Bus factor warnings for critical infrastructure packages
- "Most Critical Packages" dashboard showing system-wide statistics
- Real-time search with auto-complete
- Different visual styles for direct vs transitive dependencies
- Playwright-based testing infrastructure for automated UI testing

Technical implementation:
- TypeScript + D3.js for visualization
- Webpack build system
- Analyzes Wolfi's APKINDEX for package metadata
- Efficient dependency graph algorithms
- Responsive design with detailed package information panel

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-13 15:41:49 -04:00