{"id":20349055,"url":"https://github.com/justinmimbs/elm-module-graph","last_synced_at":"2025-04-12T01:22:34.253Z","repository":{"id":119038652,"uuid":"77108197","full_name":"justinmimbs/elm-module-graph","owner":"justinmimbs","description":"Visually explore package and module dependencies for an Elm project","archived":false,"fork":false,"pushed_at":"2017-10-10T01:41:00.000Z","size":100,"stargazers_count":33,"open_issues_count":2,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-04T22:33:55.678Z","etag":null,"topics":["dependency-graph","elm","graph-diagrams"],"latest_commit_sha":null,"homepage":"https://justinmimbs.github.io/elm-module-graph","language":"Elm","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/justinmimbs.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":"2016-12-22T03:20:24.000Z","updated_at":"2025-02-22T14:44:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"8d98bf08-7088-47e4-beb4-0f355239b20b","html_url":"https://github.com/justinmimbs/elm-module-graph","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justinmimbs%2Felm-module-graph","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justinmimbs%2Felm-module-graph/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justinmimbs%2Felm-module-graph/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/justinmimbs%2Felm-module-graph/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/justinmimbs","download_url":"https://codeload.github.com/justinmimbs/elm-module-graph/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248502072,"owners_count":21114733,"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":["dependency-graph","elm","graph-diagrams"],"created_at":"2024-11-14T22:23:57.734Z","updated_at":"2025-04-12T01:22:34.235Z","avatar_url":"https://github.com/justinmimbs.png","language":"Elm","funding_links":[],"categories":[],"sub_categories":[],"readme":"# elm-module-graph\n\nVisually explore package and module dependencies for an Elm project.\n\n\n## Examples\n\nExplore dependency graphs for these Elm projects:\n\n- [graph](https://justinmimbs.github.io/elm-module-graph/examples/ellie.html) - [lukewestby/ellie](https://github.com/lukewestby/ellie)\n- [graph](https://justinmimbs.github.io/elm-module-graph/examples/elm-spa-example.html) - [rtfeldman/elm-spa-example](https://github.com/rtfeldman/elm-spa-example)\n- [graph](https://justinmimbs.github.io/elm-module-graph/examples/time-tracker.html) - [knewter/time-tracker](https://github.com/knewter/time-tracker)\n- [graph](https://justinmimbs.github.io/elm-module-graph/examples/tradenomiitti.html) - [Tradenomiliitto/tradenomiitti](https://github.com/Tradenomiliitto/tradenomiitti)\n\n\n## Usage\n\n1.  __Generate__ a `module-graph.json` file for your Elm project with the Python script in this repository.\n\n    To generate this file, first save the script, [elm-module-graph.py](https://raw.githubusercontent.com/justinmimbs/elm-module-graph/master/elm-module-graph.py), locally. Execute it, passing it the file path to either an Elm module or an `elm-package.json`.\n\n    ```sh\n    ./elm-module-graph.py project/src/Main.elm\n    ```\n\n    or\n\n    ```sh\n    ./elm-module-graph.py library/elm-package.json\n    ```\n\n    By default it writes to a file in the current working directory named `module-graph.json`, but you can specify a different output location with the `--output` option.\n\n\n2.  __Provide__ that file to this page: [elm-module-graph](https://justinmimbs.github.io/elm-module-graph).\n\n\n## About\n\nThe page displays two graph diagrams. Nodes are vertically sorted so that for each connection the lower node depends on the higher node.\n\nIn the Packages graph, clicking a package name will toggle its modules in and out of the Modules graph. In the Modules graph, clicking a module name will highlight the subgraph it's connected to; the nodes are then colored based on distance from the selected module.\n\nGraph diagrams are drawn using [justinmimbs/elm-arc-diagram](http://package.elm-lang.org/packages/justinmimbs/elm-arc-diagram/latest).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustinmimbs%2Felm-module-graph","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjustinmimbs%2Felm-module-graph","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustinmimbs%2Felm-module-graph/lists"}