{"id":13722883,"url":"https://github.com/axelson/dep_viz","last_synced_at":"2025-04-09T19:18:13.097Z","repository":{"id":45997563,"uuid":"305212751","full_name":"axelson/dep_viz","owner":"axelson","description":"A visual tool to help developers understand Elixir recompilation in their projects","archived":false,"fork":false,"pushed_at":"2024-09-15T19:16:07.000Z","size":14573,"stargazers_count":203,"open_issues_count":0,"forks_count":12,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-09T19:18:05.396Z","etag":null,"topics":["data-visualization","developer-tools","elixir"],"latest_commit_sha":null,"homepage":"https://depviz.jasonaxelson.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/axelson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2020-10-18T23:03:22.000Z","updated_at":"2025-02-21T16:52:30.000Z","dependencies_parsed_at":"2024-10-25T22:41:45.946Z","dependency_job_id":null,"html_url":"https://github.com/axelson/dep_viz","commit_stats":{"total_commits":226,"total_committers":3,"mean_commits":75.33333333333333,"dds":"0.013274336283185861","last_synced_commit":"bde768162c4d76f6f5b74f3ce49a1711528cd946"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelson%2Fdep_viz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelson%2Fdep_viz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelson%2Fdep_viz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axelson%2Fdep_viz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/axelson","download_url":"https://codeload.github.com/axelson/dep_viz/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248094989,"owners_count":21046770,"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","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":["data-visualization","developer-tools","elixir"],"created_at":"2024-08-03T01:01:34.213Z","updated_at":"2025-04-09T19:18:13.068Z","avatar_url":"https://github.com/axelson.png","language":"JavaScript","readme":"# DepViz\n\nDepViz is a visual tool to understand Elixir recompilation.\n\nIt is accessible online at: [https://depviz.jasonaxelson.com/](https://depviz.jasonaxelson.com/)\n\nThe intent is to help developers rapidly understand what compilation dependencies they have in their project. Then they can take steps to minimize them to reduce the feedback loop between writing code and seeing results.\n\nHelps you answer questions about the Elixir code base:\n* Why when I change file A does it cause 100 files to recompile?\n  * Investigate: What files will **cause this** file to recompile?\n  * Investigate: What files does **this file cause** to recompile?\n\nTo better understand how to use DepViz and why recompilation happens check out my Code BEAM BR talk: [https://www.codebeambr.com/video/12](https://www.codebeambr.com/video/12)\n\n## Screenshots\n\n![Screenshot of Credo](contrib/screenshot_credo.png)\n![Screenshot of Credo while hovering over a node](contrib/screenshot_highlight_credo.png)\n\n## FAQ\n\n* Is this usable with other graphs?\n  - A: Not really, for example the graph algorithms needs to revisit the starting node if the starting node is itself part of a transitive compile time dependency chain\n\n## Running locally\n\nTo start the server:\n\n  * Install dependencies with `mix deps.get`\n  * Install Node.js dependencies with `npm install` inside the `assets` directory\n  * Start Phoenix endpoint with `mix phx.server`\n\nNow visit [`localhost:4040`](http://localhost:4040) from your browser.\n","funding_links":[],"categories":["Tooling"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxelson%2Fdep_viz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxelson%2Fdep_viz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxelson%2Fdep_viz/lists"}