{"id":32791545,"url":"https://github.com/zentch-q/depviz-dependency-visualizer","last_synced_at":"2025-11-05T13:01:49.454Z","repository":{"id":317785454,"uuid":"1068822668","full_name":"ZENTCH-Q/DepViz-Dependency-Visualizer","owner":"ZENTCH-Q","description":"Function call \u0026 call stack diagrams for VS Code (Python/TS/JS). Architecture/UML, PlantUML export.","archived":false,"fork":false,"pushed_at":"2025-10-23T00:04:18.000Z","size":386,"stargazers_count":48,"open_issues_count":2,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-23T02:18:02.899Z","etag":null,"topics":["architecture-diagram","architecture-diagrams","architecture-diagrams-generation","call-stack","code-map","code-visualization","code-visualization-tool","dependency-graph","dependency-graph-analysis","function-call","function-call-graph","plantuml","plantuml-diagrams","uml","uml-diagram","vscode-extension"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZENTCH-Q.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"ZENTCH-Q"}},"created_at":"2025-10-03T00:54:47.000Z","updated_at":"2025-10-23T00:04:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"8acf21b5-3aaf-4023-87be-6137250058ce","html_url":"https://github.com/ZENTCH-Q/DepViz-Dependency-Visualizer","commit_stats":null,"previous_names":["zentch-q/depviz-dependency-visualizer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ZENTCH-Q/DepViz-Dependency-Visualizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZENTCH-Q%2FDepViz-Dependency-Visualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZENTCH-Q%2FDepViz-Dependency-Visualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZENTCH-Q%2FDepViz-Dependency-Visualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZENTCH-Q%2FDepViz-Dependency-Visualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZENTCH-Q","download_url":"https://codeload.github.com/ZENTCH-Q/DepViz-Dependency-Visualizer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZENTCH-Q%2FDepViz-Dependency-Visualizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":282823603,"owners_count":26733133,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-05T02:00:05.946Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["architecture-diagram","architecture-diagrams","architecture-diagrams-generation","call-stack","code-map","code-visualization","code-visualization-tool","dependency-graph","dependency-graph-analysis","function-call","function-call-graph","plantuml","plantuml-diagrams","uml","uml-diagram","vscode-extension"],"created_at":"2025-11-05T13:01:14.489Z","updated_at":"2025-11-05T13:01:49.440Z","avatar_url":"https://github.com/ZENTCH-Q.png","language":"JavaScript","funding_links":["https://github.com/sponsors/ZENTCH-Q"],"categories":[],"sub_categories":[],"readme":"# DepViz — Call Graphs for VS Code (\n\nInteractive **code maps** in **VS Code**. See **who calls what**, how modules → classes → functions connect, with **call** (solid, arrowed) and **import** (dashed) edges. **Python / TypeScript / JavaScript**. Export stuff.\n\n![Showcase](https://github.com/user-attachments/assets/33de3d2e-513a-4a20-bf1e-c599ffe845b9)\n\n## Why bother\n- **Answer “what breaks if I touch X?”** in seconds.\n- **Jump** to code (Go to Definition / Peek References).\n- **Slice impact** inbound/outbound to see blast radius.\n- **Export** PNG / SVG / JSON / snapshot (`.dv`).\n\n## Install\n- VS Code → Extensions → search **DepViz** → install.  \n- Or `code --install-extension depviz-*.vsix` if you like pain.\n\n## Quick start\n1. `DepViz: Open` (Command Palette) → empty canvas.  \n2. **Drag files/folders** in, or `DepViz: Import`.  \n3. Pan (mouse), zoom (wheel), right-click canvas for actions.  \n4. Click legend to toggle **call/import** visibility.\n\n## Features (you’ll use)\n- **Import** from Explorer / drag \u0026 drop.  \n- **See** modules, classes, functions; **edges**: call ✅, import ✅.  \n- **Arrange**: folders (Ctrl/Cmd+Shift+A) or balanced grid (…+B).  \n- **Search labels** (Ctrl/Cmd+F) with live highlighting.  \n- **Impact slices**: right-click node → Outbound / Inbound / Clear.  \n- **Export**: PNG / SVG / JSON / `.dv` snapshot.  \n- **Snapshots**: open `.dv` as a custom editor; Ctrl/Cmd+S saves.\n\n## Shortcuts (remember two)\n- **Arrange by folders**: Ctrl/Cmd+Shift+A  \n- **Balanced grid**: Ctrl/Cmd+Shift+B  \n- **Search**: Ctrl/Cmd+F  \n- **Toggle help**: Ctrl/Cmd+/  \n- **Clear slice**: Ctrl/Cmd+Shift+S  \n- **Undo/Redo**: Ctrl/Cmd+Z / Shift+Z or Y  \n- **Zoom**: `+` / `-`, **Pan**: arrows\n\n## Drag rules (no surprises)\n- **Functions** and **classes** drag.  \n- Drop near their **home** (module/class) to re-dock; otherwise they float.  \n- Cards won’t overlap: collisions get nudged.  \n- Right-click anything for context actions.\n\n## Settings (because projects are messy)\n```jsonc\n// Settings → “DepViz”\n\"depviz.maxFiles\": 2000,           // hard cap per import\n\"depviz.maxFileSizeMB\": 1.5,       // skip huge files\n\"depviz.includeGlobs\": [\"**/*\"],   // what to scan\n\"depviz.excludeGlobs\": [           // what to ignore\n  \"**/.git/**\", \"**/node_modules/**\", \"**/__pycache__/**\"\n]\n```\n\n## Parsing (don’t @ me)\n- Uses VS Code symbols when available; falls back to a heuristic parser.  \n- Handles Python + TS/JS. Calls = best-effort: name-based, scope-aware enough to be useful.  \n- Imports detected from `import`/`from…import`/`require`.  \n- Yes, dynamic/reflective nonsense will fool it. Bring tests, not tears.\n\n## Known limits / gotchas\n- Not a typechecker. If two functions share a name, it picks the closest import/module match.  \n- Huge repos: tune `maxFiles`, `maxFileSizeMB`, and globs.  \n- Impact slice summary (copy file list) appears when opened via the main panel; the `.dv` custom editor is view-only for that part.\n\n## Export\nRight-click canvas → **Export** → PNG / SVG / JSON / `.dv`.  \nSVG includes styles; PNG renders the current viewport.\n\n## Uninstall note\nIt won’t touch your code. It only reads files and writes snapshots you save.\n\n---\n\n**TL;DR:** drag code in, see who calls who, slice blast radius, export receipts.\n\nThis extension is a prototype I'm working on to make it robust and reliable. stay tune :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzentch-q%2Fdepviz-dependency-visualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzentch-q%2Fdepviz-dependency-visualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzentch-q%2Fdepviz-dependency-visualizer/lists"}