{"id":42587966,"url":"https://github.com/graphlens/graphlens","last_synced_at":"2026-04-02T17:19:36.820Z","repository":{"id":330636568,"uuid":"1118492934","full_name":"GraphLens/graphlens","owner":"GraphLens","description":"Interactive architecture visualizer for Angular projects","archived":false,"fork":false,"pushed_at":"2026-02-14T23:03:37.000Z","size":9076,"stargazers_count":27,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-15T06:28:59.196Z","etag":null,"topics":["angular","architecture","dependency-graph","devtools","static-analysis","typescript","visualization","vscode-extension"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=GraphLens.graphlens","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GraphLens.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"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}},"created_at":"2025-12-17T20:53:32.000Z","updated_at":"2026-02-14T23:02:37.000Z","dependencies_parsed_at":"2025-12-28T12:00:08.996Z","dependency_job_id":"8922ea70-d893-4cf6-bbd3-315f9a0fb42f","html_url":"https://github.com/GraphLens/graphlens","commit_stats":null,"previous_names":["graphlens/graphlens"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/GraphLens/graphlens","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GraphLens%2Fgraphlens","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GraphLens%2Fgraphlens/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GraphLens%2Fgraphlens/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GraphLens%2Fgraphlens/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GraphLens","download_url":"https://codeload.github.com/GraphLens/graphlens/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GraphLens%2Fgraphlens/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29494180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T00:00:57.352Z","status":"ssl_error","status_checked_at":"2026-02-15T23:56:34.338Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["angular","architecture","dependency-graph","devtools","static-analysis","typescript","visualization","vscode-extension"],"created_at":"2026-01-28T23:06:53.447Z","updated_at":"2026-04-02T17:19:36.814Z","avatar_url":"https://github.com/GraphLens.png","language":"TypeScript","readme":"\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./assets/logo-v2.png\" alt=\"logo\" width=\"150\" /\u003e\n    \u003ch1\u003eGraphLens\u003c/h1\u003e\n    \u003cdetails align=\"center\"\u003e\n        \u003csummary\u003e\n            \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=GraphLens.graphlens\u0026ssr=false#overview\" title=\"Version\"\u003e\u003cimg src=\"https://img.shields.io/badge/version-0.3.3-blue.svg\" alt=\"Version\" /\u003e\u003c/a\u003e\n            \u003ca href=\"https://github.com/GraphLens/graphlens\" title=\"Status\"\u003e\u003cimg src=\"https://img.shields.io/badge/status-Public%20Beta-orange.svg\" alt=\"status\" /\u003e\u003c/a\u003e\n            \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=GraphLens.graphlens\u0026ssr=false#overview\" title=\"Last updated\"\u003e\u003cimg src=\"https://img.shields.io/visual-studio-marketplace/last-updated/GraphLens.graphlens?cacheSeconds=7200\" alt=\"status\" /\u003e\u003c/a\u003e\n            \u003ca href=\"https://open-vsx.org/extension/GraphLens/graphlens\" title=\"Verification on Open VSX Registry\"\u003e\u003cimg src=\"https://img.shields.io/badge/Open%20VSX-Verified-8a35da?logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjMiIHZpZXdCb3g9IjAgMCAyMCAyMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTAgMC41TDAgNC41TDAuNTU1NTU2IDEwLjVDMS4xMzA2MSAxNi4wNSA0LjI2NjY3IDIxLjI0IDEwIDIyLjVDMTUuNzMzMyAyMS4yNCAxOC44NjM5IDE2LjA1IDE5LjQ0NDQgMTAuNUwyMCA0LjVMMTAgMC41Wk04LjE4MTU5IDE2LjA0NTRMMy43ODk0NCAxMS45NDUzTDUuMzM3NjggMTAuNUw4LjE4MTU5IDEzLjE0NDZMMTUuNDE3NyA2LjM4OTYxTDE2Ljk2NTkgNy44NDUxNkw4LjE4MTU5IDE2LjA0NTRaIiBmaWxsPSJ3aGl0ZSIgLz4gPC9zdmc+Cg==\" alt=\"Verification on Open VSX Registry\" /\u003e\u003c/a\u003e\n            \u003ca href=\"https://vt-scan.graphlens.dev\" title=\"VirusTotal Scan Report\"\u003e\u003cimg src=\"https://img.shields.io/badge/VirusTotal-%E2%9C%93%200%2F65%20Clean-2962FF?logo=virustotal\u0026color=2962FF\" alt=\"VirusTotal Scan Report\" /\u003e\u003c/a\u003e\n            \u003cbr\u003e\n            \u003ca href=\"https://github.com/GraphLens/graphlens\" title=\"GitHub stars\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/GraphLens/graphlens?style=flat\u0026logo=github\u0026color=gold\" alt=\"GitHub stars\" /\u003e\u003c/a\u003e\n            \u003ca href=\"https://github.com/GraphLens/graphlens/commits/main\" title=\"GitHub latest update\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/GraphLens/graphlens?style=flat\u0026color=blueviolet\u0026logo=github\u0026cacheSeconds=7200\" alt=\"GitHub last commit\" /\u003e\u003c/a\u003e\n            \u003ca href=\"https://github.com/GraphLens/graphlens/issues\" title=\"GitHub open Issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/GraphLens/graphlens?style=flat\u0026color=blueviolet\u0026logo=github\u0026cacheSeconds=7200\" alt=\"GitHub issues\" /\u003e\u003c/a\u003e\n            \u003ca href=\"https://github.com/orgs/GraphLens/discussions\" title=\"GitHub Discussions\"\u003e\u003cimg src=\"https://img.shields.io/github/discussions/GraphLens/graphlens?style=flat\u0026logo=github\u0026color=blueviolet\u0026cacheSeconds=7200\" alt=\"GitHub Discussions\" /\u003e\u003c/a\u003e\n            \u003cbr\u003e\n            \u003cimg src=\"https://img.shields.io/endpoint?url=https://graphlens-total-downloads-script.vercel.app/api/stats\u0026color=blue\u0026label=Total%20downloads\u0026logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxNSAxMyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTAuNSA0QzguMDE1IDQgNiA2LjAxNSA2IDguNUM2IDEwLjk4NSA4LjAxNSAxMyAxMC41IDEzQzEyLjk4NSAxMyAxNSAxMC45ODUgMTUgOC41QzE1IDYuMDE1IDEyLjk4NSA0IDEwLjUgNFpNMTIuODU0IDguODU0TDEwLjg1NCAxMC44NTRDMTAuODA2IDEwLjkwMiAxMC43NTEgMTAuOTM4IDEwLjY5MiAxMC45NjNDMTAuNjM0IDEwLjk4NyAxMC41NyAxMSAxMC41MDQgMTEuMDAxSDEwLjQ5OEMxMC40MzEgMTEuMDAxIDEwLjM2OCAxMC45ODcgMTAuMzEgMTAuOTYzQzEwLjI1MiAxMC45MzkgMTAuMTk3IDEwLjkwMyAxMC4xNSAxMC44NTdMMTAuMTQ3IDEwLjg1NEw4LjE0NyA4Ljg1NEM3Ljk1MiA4LjY1OSA3Ljk1MiA4LjM0MiA4LjE0NyA4LjE0N0M4LjM0MiA3Ljk1MiA4LjY1OSA3Ljk1MiA4Ljg1NCA4LjE0N0wxMCA5LjI5NFY2LjAwMUMxMCA1LjcyNSAxMC4yMjQgNS41MDEgMTAuNSA1LjUwMUMxMC43NzYgNS41MDEgMTEgNS43MjUgMTEgNi4wMDFWOS4yOTRMMTIuMTQ2IDguMTQ3QzEyLjM0MSA3Ljk1MiAxMi42NTggNy45NTIgMTIuODUzIDguMTQ3QzEzLjA0OCA4LjM0MiAxMy4wNDggOC42NTkgMTIuODUzIDguODU0SDEyLjg1NFpNMy4xNjA2MyA4LjVINVYxMEgzLjI1QzEuNDU1IDEwIDAgOC41NDUgMCA2Ljc1QzAgNS4wMjkgMS4zMzggMy42MiAzLjAzIDMuNTA3QzMuMjczIDEuNTMgNC45NTggMCA3IDBDOC44NjIgMCAxMC40MTEgMS4yNzggMTAuODU3IDNMOS4yNTYzMiAzLjE3NTUzQzguOTMzNjcgMi4zMDgyMiA4LjMwMyAxLjU3OTA3IDcgMS41NzkwN0M1LjI4OTQ2IDEuNjk0MjUgNC44ODYzMyAyLjI3MDE2IDQuNDk0MjUgNC4xMDI1MkM0LjQ5NDI1IDQuMzc4NTIgNC4wMTg2IDQuODc1MjQgMy43NDI2IDQuODc1MjRMMy4wNjczNyA0Ljk1MTI0QzIuMTIzMiA1LjA3Nzc3IDEuNDA4NTcgNS42NjQ0OSAxLjQ0ODU3IDYuNzVDMS40ODc0MSA3LjgwMzk1IDIuMjc3MzkgOC40MTgzOCAzLjE2MDYzIDguNVoiIGZpbGw9IndoaXRlIiAvPjwvc3ZnPgo=\" alt=\"Total Downloads\" /\u003e\n            \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=GraphLens.graphlens\u0026ssr=false#review-details\" title=\"VS Code Marketplace rating\"\u003e\u003cimg src=\"https://img.shields.io/visual-studio-marketplace/r/GraphLens.graphlens?style=flat\u0026cacheSeconds=7200\u0026logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBjbGlwLXBhdGg9InVybCgjcHJlZml4X19jbGlwMF8zNDJfMTYpIj4KICAgICAgICA8cGF0aAogICAgICAgICAgICBkPSJNMTEuNTc1IDEuMjk2TDkuMTAzLjEwNkEuNzQ3Ljc0NyAwIDAwOC4yNS4yNUwuMTU2IDcuNjNhLjUuNSAwIDAwMCAuNzRsLjY2Mi42YS41LjUgMCAwMC42MzguMDNsOS43NDctNy4zOTVBLjQ5Ny40OTcgMCAwMTEyIDJ2LS4wMjhhLjc1Ljc1IDAgMDAtLjQyNS0uNjc2eiIKICAgICAgICAgICAgZmlsbD0iIzAwNjVBOSIgLz4KICAgICAgICA8cGF0aAogICAgICAgICAgICBkPSJNMTEuNTc1IDEwLjcwNGwtMi40NzIgMS4xOWEuNzQ4Ljc0OCAwIDAxLS44NTMtLjE0NEwuMTU2IDQuMzdhLjUuNSAwIDAxMC0uNzRsLjY2MS0uNkEuNS41IDAgMDExLjQ1NiAzbDkuNzQ3IDcuMzk1QS40OTcuNDk3IDAgMDAxMiAxMHYuMDI5YS43NS43NSAwIDAxLS40MjUuNjc1eiIKICAgICAgICAgICAgZmlsbD0iIzAwN0FDQyIgLz4KICAgICAgICA8cGF0aAogICAgICAgICAgICBkPSJNOS4xMDMgMTEuODk1YS43NDguNzQ4IDAgMDEtLjg1My0uMTQ1LjQ0LjQ0IDAgMDAuNzUtLjMxVi41NmEuNDQuNDQgMCAwMC0uNzUtLjMxLjc0OC43NDggMCAwMS44NTMtLjE0NWwyLjQ3MiAxLjE4OUEuNzUuNzUgMCAwMTEyIDEuOTd2OC4wNmEuNzUuNzUgMCAwMS0uNDI1LjY3NmwtMi40NzIgMS4xOXoiCiAgICAgICAgICAgIGZpbGw9IiMxRjlDRjAiIC8+CiAgICAgICAgPHBhdGggc3R5bGU9Im1peC1ibGVuZC1tb2RlOm92ZXJsYXkiIG9wYWNpdHk9Ii4yNSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgICAgIGQ9Ik04LjUwMiAxMS45MThhLjc0Ni43NDYgMCAwMC41OTUtLjAyM2wyLjQ3MS0xLjE4OWEuNzUuNzUgMCAwMC40MjUtLjY3NlYxLjk3YS43NS43NSAwIDAwLS40MjUtLjY3Nkw5LjA5OC4xMDVhLjc0Ny43NDcgMCAwMC0uODUzLjE0NWwtNC43MyA0LjMxNS0yLjA2LTEuNTY0YS41LjUgMCAwMC0uNjM4LjAyOWwtLjY2LjZhLjUuNSAwIDAwLS4wMDEuNzRMMS45NDIgNiAuMTU2IDcuNjNhLjUuNSAwIDAwMCAuNzRsLjY2MS42QS41LjUgMCAwMDEuNDU1IDlsMi4wNi0xLjU2NCA0LjczIDQuMzE1Yy4wNzMuMDczLjE2LjEzLjI1Ny4xNjh6bS40OTMtOC42NDJMNS40MDUgNmwzLjU5IDIuNzI0VjMuMjc2eiIKICAgICAgICAgICAgZmlsbD0idXJsKCNwcmVmaXhfX3BhaW50MF9saW5lYXJfMzQyXzE2KSIgLz4KICAgIDwvZz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icHJlZml4X19wYWludDBfbGluZWFyXzM0Ml8xNiIgeDE9IjUuOTkzIiB5MT0iLjAzMSIgeDI9IjUuOTkzIiB5Mj0iMTEuOTY5IgogICAgICAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNmZmYiIC8+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiIgc3RvcC1vcGFjaXR5PSIwIiAvPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGNsaXBQYXRoIGlkPSJwcmVmaXhfX2NsaXAwXzM0Ml8xNiI+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMTJ2MTJIMHoiIC8+CiAgICAgICAgPC9jbGlwUGF0aD4KICAgIDwvZGVmcz4KPC9zdmc+Cg==\" alt=\"VS Code Marketplace rating\" /\u003e\u003c/a\u003e\n        \u003c/summary\u003e\n        \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=GraphLens.graphlens\u0026ssr=false#overview\" title=\"VS Code Marketplace installs\"\u003e\u003cimg src=\"https://img.shields.io/visual-studio-marketplace/i/GraphLens.graphlens?color=blue\u0026cacheSeconds=3600\u0026logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBjbGlwLXBhdGg9InVybCgjcHJlZml4X19jbGlwMF8zNDJfMTYpIj4KICAgICAgICA8cGF0aAogICAgICAgICAgICBkPSJNMTEuNTc1IDEuMjk2TDkuMTAzLjEwNkEuNzQ3Ljc0NyAwIDAwOC4yNS4yNUwuMTU2IDcuNjNhLjUuNSAwIDAwMCAuNzRsLjY2Mi42YS41LjUgMCAwMC42MzguMDNsOS43NDctNy4zOTVBLjQ5Ny40OTcgMCAwMTEyIDJ2LS4wMjhhLjc1Ljc1IDAgMDAtLjQyNS0uNjc2eiIKICAgICAgICAgICAgZmlsbD0iIzAwNjVBOSIgLz4KICAgICAgICA8cGF0aAogICAgICAgICAgICBkPSJNMTEuNTc1IDEwLjcwNGwtMi40NzIgMS4xOWEuNzQ4Ljc0OCAwIDAxLS44NTMtLjE0NEwuMTU2IDQuMzdhLjUuNSAwIDAxMC0uNzRsLjY2MS0uNkEuNS41IDAgMDExLjQ1NiAzbDkuNzQ3IDcuMzk1QS40OTcuNDk3IDAgMDAxMiAxMHYuMDI5YS43NS43NSAwIDAxLS40MjUuNjc1eiIKICAgICAgICAgICAgZmlsbD0iIzAwN0FDQyIgLz4KICAgICAgICA8cGF0aAogICAgICAgICAgICBkPSJNOS4xMDMgMTEuODk1YS43NDguNzQ4IDAgMDEtLjg1My0uMTQ1LjQ0LjQ0IDAgMDAuNzUtLjMxVi41NmEuNDQuNDQgMCAwMC0uNzUtLjMxLjc0OC43NDggMCAwMS44NTMtLjE0NWwyLjQ3MiAxLjE4OUEuNzUuNzUgMCAwMTEyIDEuOTd2OC4wNmEuNzUuNzUgMCAwMS0uNDI1LjY3NmwtMi40NzIgMS4xOXoiCiAgICAgICAgICAgIGZpbGw9IiMxRjlDRjAiIC8+CiAgICAgICAgPHBhdGggc3R5bGU9Im1peC1ibGVuZC1tb2RlOm92ZXJsYXkiIG9wYWNpdHk9Ii4yNSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgICAgIGQ9Ik04LjUwMiAxMS45MThhLjc0Ni43NDYgMCAwMC41OTUtLjAyM2wyLjQ3MS0xLjE4OWEuNzUuNzUgMCAwMC40MjUtLjY3NlYxLjk3YS43NS43NSAwIDAwLS40MjUtLjY3Nkw5LjA5OC4xMDVhLjc0Ny43NDcgMCAwMC0uODUzLjE0NWwtNC43MyA0LjMxNS0yLjA2LTEuNTY0YS41LjUgMCAwMC0uNjM4LjAyOWwtLjY2LjZhLjUuNSAwIDAwLS4wMDEuNzRMMS45NDIgNiAuMTU2IDcuNjNhLjUuNSAwIDAwMCAuNzRsLjY2MS42QS41LjUgMCAwMDEuNDU1IDlsMi4wNi0xLjU2NCA0LjczIDQuMzE1Yy4wNzMuMDczLjE2LjEzLjI1Ny4xNjh6bS40OTMtOC42NDJMNS40MDUgNmwzLjU5IDIuNzI0VjMuMjc2eiIKICAgICAgICAgICAgZmlsbD0idXJsKCNwcmVmaXhfX3BhaW50MF9saW5lYXJfMzQyXzE2KSIgLz4KICAgIDwvZz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icHJlZml4X19wYWludDBfbGluZWFyXzM0Ml8xNiIgeDE9IjUuOTkzIiB5MT0iLjAzMSIgeDI9IjUuOTkzIiB5Mj0iMTEuOTY5IgogICAgICAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNmZmYiIC8+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiIgc3RvcC1vcGFjaXR5PSIwIiAvPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGNsaXBQYXRoIGlkPSJwcmVmaXhfX2NsaXAwXzM0Ml8xNiI+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMTJ2MTJIMHoiIC8+CiAgICAgICAgPC9jbGlwUGF0aD4KICAgIDwvZGVmcz4KPC9zdmc+Cg==\" alt=\"installs\" /\u003e\u003c/a\u003e\n        \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=GraphLens.graphlens\u0026ssr=false#overview\" title=\"VS Code Marketplace downloads\"\u003e\u003cimg src=\"https://img.shields.io/visual-studio-marketplace/d/GraphLens.graphlens?color=blue\u0026cacheSeconds=3600\u0026logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBjbGlwLXBhdGg9InVybCgjcHJlZml4X19jbGlwMF8zNDJfMTYpIj4KICAgICAgICA8cGF0aAogICAgICAgICAgICBkPSJNMTEuNTc1IDEuMjk2TDkuMTAzLjEwNkEuNzQ3Ljc0NyAwIDAwOC4yNS4yNUwuMTU2IDcuNjNhLjUuNSAwIDAwMCAuNzRsLjY2Mi42YS41LjUgMCAwMC42MzguMDNsOS43NDctNy4zOTVBLjQ5Ny40OTcgMCAwMTEyIDJ2LS4wMjhhLjc1Ljc1IDAgMDAtLjQyNS0uNjc2eiIKICAgICAgICAgICAgZmlsbD0iIzAwNjVBOSIgLz4KICAgICAgICA8cGF0aAogICAgICAgICAgICBkPSJNMTEuNTc1IDEwLjcwNGwtMi40NzIgMS4xOWEuNzQ4Ljc0OCAwIDAxLS44NTMtLjE0NEwuMTU2IDQuMzdhLjUuNSAwIDAxMC0uNzRsLjY2MS0uNkEuNS41IDAgMDExLjQ1NiAzbDkuNzQ3IDcuMzk1QS40OTcuNDk3IDAgMDAxMiAxMHYuMDI5YS43NS43NSAwIDAxLS40MjUuNjc1eiIKICAgICAgICAgICAgZmlsbD0iIzAwN0FDQyIgLz4KICAgICAgICA8cGF0aAogICAgICAgICAgICBkPSJNOS4xMDMgMTEuODk1YS43NDguNzQ4IDAgMDEtLjg1My0uMTQ1LjQ0LjQ0IDAgMDAuNzUtLjMxVi41NmEuNDQuNDQgMCAwMC0uNzUtLjMxLjc0OC43NDggMCAwMS44NTMtLjE0NWwyLjQ3MiAxLjE4OUEuNzUuNzUgMCAwMTEyIDEuOTd2OC4wNmEuNzUuNzUgMCAwMS0uNDI1LjY3NmwtMi40NzIgMS4xOXoiCiAgICAgICAgICAgIGZpbGw9IiMxRjlDRjAiIC8+CiAgICAgICAgPHBhdGggc3R5bGU9Im1peC1ibGVuZC1tb2RlOm92ZXJsYXkiIG9wYWNpdHk9Ii4yNSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgICAgICAgICAgIGQ9Ik04LjUwMiAxMS45MThhLjc0Ni43NDYgMCAwMC41OTUtLjAyM2wyLjQ3MS0xLjE4OWEuNzUuNzUgMCAwMC40MjUtLjY3NlYxLjk3YS43NS43NSAwIDAwLS40MjUtLjY3Nkw5LjA5OC4xMDVhLjc0Ny43NDcgMCAwMC0uODUzLjE0NWwtNC43MyA0LjMxNS0yLjA2LTEuNTY0YS41LjUgMCAwMC0uNjM4LjAyOWwtLjY2LjZhLjUuNSAwIDAwLS4wMDEuNzRMMS45NDIgNiAuMTU2IDcuNjNhLjUuNSAwIDAwMCAuNzRsLjY2MS42QS41LjUgMCAwMDEuNDU1IDlsMi4wNi0xLjU2NCA0LjczIDQuMzE1Yy4wNzMuMDczLjE2LjEzLjI1Ny4xNjh6bS40OTMtOC42NDJMNS40MDUgNmwzLjU5IDIuNzI0VjMuMjc2eiIKICAgICAgICAgICAgZmlsbD0idXJsKCNwcmVmaXhfX3BhaW50MF9saW5lYXJfMzQyXzE2KSIgLz4KICAgIDwvZz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icHJlZml4X19wYWludDBfbGluZWFyXzM0Ml8xNiIgeDE9IjUuOTkzIiB5MT0iLjAzMSIgeDI9IjUuOTkzIiB5Mj0iMTEuOTY5IgogICAgICAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNmZmYiIC8+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2ZmZiIgc3RvcC1vcGFjaXR5PSIwIiAvPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGNsaXBQYXRoIGlkPSJwcmVmaXhfX2NsaXAwXzM0Ml8xNiI+CiAgICAgICAgICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMTJ2MTJIMHoiIC8+CiAgICAgICAgPC9jbGlwUGF0aD4KICAgIDwvZGVmcz4KPC9zdmc+Cg==\" alt=\"VS Code Marketplace downloads\" /\u003e\u003c/a\u003e\n        \u003ca href=\"https://open-vsx.org/extension/GraphLens/graphlens\" title=\"Open VSX Registry downloads\"\u003e\u003cimg src=\"https://img.shields.io/open-vsx/dt/GraphLens/graphlens?color=blue\u0026logo=eclipseide\u0026cacheSeconds=3600\" title=\"Open VSX Registry downloads\" /\u003e\u003c/a\u003e\n        \u003ca href=\"https://github.com/GraphLens/graphlens/releases\" title=\"GitHub downloads\"\u003e\u003cimg src=\"https://img.shields.io/github/downloads/GraphLens/graphlens/total?style=flat\u0026logo=github\u0026color=blue\u0026cacheSeconds=3600\" alt=\"GitHub downloads\" /\u003e\u003c/a\u003e\n        \u003cbr\u003e\n        \u003ca href=\"https://github.com/GraphLens/graphlens?tab=License-1-ov-file\" title=\"License\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-Proprietary-blueviolet.svg\" alt=\"license\" /\u003e\u003c/a\u003e\n        \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=GraphLens.graphlens\u0026ssr=false#overview\" title=\"Release date\"\u003e\u003cimg src=\"https://img.shields.io/visual-studio-marketplace/release-date/GraphLens.graphlens?cacheSeconds=86400\" alt=\"status\" /\u003e\u003c/a\u003e\n    \u003c/details\u003e\n    \u003ch3\u003eInteractive architecture visualizer for Angular projects\u003c/h3\u003e\n    \u003cp\u003eTransforms code entropy into structured, navigable graphs\u003c/p\u003e\n    \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=graphlens.graphlens\" target=\"_blank\"\u003eMarketplace\u003c/a\u003e •\n    \u003ca href=\"https://graphlens.github.io/graphlens/start-guide.pdf#view=200\"\u003eStart Guide\u003c/a\u003e •\n    \u003ca href=\"https://github.com/GraphLens/graphlens/tree/main/demo\"\u003eDemo\u003c/a\u003e •\n    \u003ca href=\"https://github.com/GraphLens/graphlens/issues\"\u003eIssues\u003c/a\u003e •\n    \u003ca href=\"https://github.com/orgs/GraphLens/discussions\"\u003eDiscussions\u003c/a\u003e •\n    \u003ca href=\"https://github.com/GraphLens/graphlens/issues/3\"\u003eRoadmap\u003c/a\u003e\n\u003c/div\u003e\n\n---\n\n\n### 📢 Updates\n\n\u003e **Release 0.3.2-0.3.3:** Stability improvements, support for route dynamic imports and selector-less template entities! Details on the [Releases page](https://github.com/GraphLens/graphlens/releases).\n\n\u003e **Foundation \u0026 Identity:** Meet our new brand style and explore the principal concepts driving GraphLens – from software entropy to code liquidity – in the [Core Philosophy](#7-core-philosophy-).\n\n---\n\n\n### Table of Contents\n\n- [1. Definition \u0026 Purpose](#1-definition--purpose)\n- [2. Features](#2-features)\n- [3. Requirements](#3-requirements)\n- [4. Current Limitations](#4-current-limitations)\n- [5. Roadmap](#5-roadmap)\n- [6. FAQ](#6-faq)\n- [7. Core Philosophy](#7-core-philosophy-)\n- [8. Feedback \u0026 Contribution](#8-feedback--contribution)\n- [9. License](#9-license)\n\n\n## 1. Definition \u0026 Purpose\n\n**GraphLens** is a professional static analysis and architecture visualization tool built for Frontend Developers, Software Architects, Analysts, and QA Specialists working with Angular.\n\nIn large-scale Web projects, connections between modules, routes, and components often become invisible and tangled. This increases codebase entropy, leading to \"spaghetti code\", excessive cognitive load, and reduced development efficiency.\n\nGraphLens solves this by performing automated analysis of your project and visualizing its architecture in the form of structural tree views and interactive graphs. It provides seamless, real-time information and navigation through project entities, helping gain control over the codebase.\n\nIt acts as an explorer and visualizer for Angular workspace, helping you to:\n-   **Visualize** the high-level structure and architecture\n-   **Navigate** efficiently through program entities\n-   **Onboard** faster into new or legacy projects\n-   **Communicate** more effectively with your teammates\n-   **Plan** development and refactoring by seeing the complete picture of entities and their relationships\n\n#### Disclaimer\n\nGraphLens is currently in **Public Beta**. While we strive for stability, occasional inaccuracies in analysis or graph rendering may occur in projects with non-standard configurations and complex code patterns. GraphLens supports **Angular v2+** projects utilizing `angular.json`. Please review the [Current limitations](#4-current-limitations) section before use.\n\n\n## 2. Features\n\n### 2.1. How It Works\n\nGraphLens activates automatically if an `angular.json` file is detected in the VS Code workspace, or when opening TypeScript and HTML files.\n\nThe extension scans your VS Code workspace and explores Angular projects and _program entities_\u003csup\u003e1\u003c/sup\u003e: Modules, Components, Directives, and Routes. It analyzes Angular metadata properties (imports, declarations, exports, etc.) to resolve relationships between program entities. Based on collected data, it builds interactive directed graphs for three _abstraction levels_\u003csup\u003e2\u003c/sup\u003e of architecture: Module Hierarchy, Navigation Map, and Component tree.\n\nGraphLens fully supports both classic NgModules and modern Standalone API architectures. However, the scope of analysis is currently restricted to the Angular program entities mentioned above.\n\nThe analysis is performed entirely without AI models. All processing is performed locally – your project data never leaves your machine. The analysis results are deterministic, reproducible and consistent given the same input. Under identical conditions you will always get an accurate \"snapshot\" of your project's reality.\n\n#### Quick demonstration\n\n![GraphLens Demo](./assets/demo.gif)\n\n### 2.2. Commands\n\nCommands are accessible via the custom command palette `graph-lens.open-command-palette`, as well as through the standard Command Palette under the `GraphLens` title.\n\n**Key Commands:**\n\n| Command | Description |\n| :--- | :--- |\n| `GraphLens: Open Command Palette` | Open the main commands menu with all available actions |\n| `GraphLens: Refresh Project` | Re-scan the current project and update the graphs manually |\n| `GraphLens: Open WebView` | Open WebView panel with current project general info and graphs |\n\nA detailed list of commands is also available in the **Features → Commands** tab within the extension description.\n\n### 2.3. TreeView Panel in Activity Bar\n\nThe GraphLens side panel with cube icon provides a Tree view of your Angular workspaces and projects:\n\nKey features:\n-   **Project Structure:** Quick overview of project structure and program entities.\n-   **Context Menu:** Convenient navigation and context actions via right-click.\n-   **Entity Locator:** Quick jump to the entity's location on the graphs.\n\n### 2.4. WebView Panel as Portal for Graphs\n\nThe main workspace of the extension is an interactive graphs.\n\nKey features:\n-   **Architecture Layout:** Comprehensive visualization of Angular Modules, Components, and Routing levels.\n-   **Interactions Highlight:** Select any node to trace its specific relationships.\n-   **Context Actions:** Seamless navigation to source code, Tree View focusing, and other graph tools.\n-   **Theming:** Full support for VS Code High Contrast, Dark and Light themes.\n\n### 2.5. Manual Refresh\n\nThe graphs do not update automatically upon file save. To reflect changes in your code:\n-   Use the `Refresh button` at the left top corner of the WebView or right top corner of the TreeView.\n-   Run the `Refresh current project` or `Restart exploration` commands via the GraphLens palette. Please note that `Restart exploration` command will trigger re-exploration of the entire workspace.\n\n\n## 3. Requirements\n\nTo ensure GraphLens works correctly, your environment must meet the following criteria:\n\n### 3.1. VS Code Version\n\nRequires **Visual Studio Code v1.85.0** or newer.\n\n### 3.2. Trusted Workspaces\n\nThe extension executes analysis scripts, so it will not function in Restricted Mode. Please ensure your project folder is added to **Trusted Workspaces**.\n\n### 3.3. External Dependencies\n\n**Critical:** For a complete dependency graph analysis, external dependencies must be installed.\n\nPlease run `npm install` (or `yarn`, `pnpm`) in your project root before launching GraphLens. If TypeScript cannot resolve imports (files appear red in the editor), the analysis may be incomplete or contain errors.\n\n### 3.4. TypeScript Language Server\n\nGraphLens leverages VS Code's built-in capabilities to find definitions and references.\n\n-   Ensure the built-in **TypeScript and JavaScript Language Features** extension is enabled. GraphLens relies on the data provided by the TS Server to correctly analyze projects.\n-   For projects under active development that may contain TS errors, it's recommended to enable `\"typescript.tsserver.experimental.enableProjectDiagnostics\": true`. This allows the extension to resolve links more accurately during parsing, though it may increase the initial analysis time.\n\n\n## 4. Current Limitations\n\n-   **Program Entities\u003csup\u003e1\u003c/sup\u003e:** Supports only Angular Modules, Routes, Components, and Directives. DI services and other Angular building entities are not supported yet, but are planned for future releases.\n-   **Manual Refresh:** The graphs do not update automatically upon file save. See the [Manual Refresh](#25-manual-refresh) section for details.\n-   **Frameworks:** Supports **Angular v2+** only. React, Vue, Svelte, and Angular meta-frameworks are not supported.\n-   **Project Types:** Supports only Angular applications. Angular libraries are not supported yet.\n-   **Configurations:** Supports projects with `angular.json` configuration. Legacy configurations with `.angular-cli.json` are not supported.\n-   **SSR Support:** Server-side specific configurations and server-side modules are not supported.\n-   **Monorepos:** Nx workspaces, specific configurations, and custom monorepo structures are not supported.\n\n\n## 5. Roadmap\n\nA detailed development roadmap for this year is available here – [Roadmap 2026](https://github.com/GraphLens/graphlens/issues/3).\n\n\n## 6. FAQ\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cstrong\u003eDoes it support Standalone API / Components?\u003c/strong\u003e\u003c/summary\u003e\n    \u003cp\u003e\n        — Yes! GraphLens fully supports the Modern Angular API, including Standalone API / Components. It parses the `imports` array in your component metadata to build the dependency graph.\n    \u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cstrong\u003eWill it work with React, Vue, or Svelte?\u003c/strong\u003e\u003c/summary\u003e\n    \u003cp\u003e\n        — Currently, GraphLens is designed exclusively for Angular v2+. Focusing on a single framework allows the extension to provide better quality of analysis of working projects.\n    \u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cstrong\u003eIs there an extension for other code editors?\u003c/strong\u003e\u003c/summary\u003e\n    \u003cp\u003e\n        — Currently, no, but it is planned for mid-term future releases.\n    \u003c/p\u003e\n\u003c/details\u003e\n\n\n## 7. Core Philosophy 🌀\n\nEvery software system exists within its own \"solution space\" – an infinite field of variations and changes. The essence of programming is the continuous evolution of the system and the search for right solutions within this space. In an ideal world, this evolution should unfold harmoniously, much like the Fibonacci sequence spiraling outward, where each new cycle of development naturally builds upon the solid foundation of the previous one, maintaining strict structural and semantic balance.\n\nHowever, the reality for long-living projects is different. Scaling, shifting requirements, continuous search for solutions, and inevitable trade-offs generate excessive software entropy – a massive, complex, and practically chaotic labyrinth of invisible connections and hidden pitfalls. This is how \"shadow architecture\" forms. Under these conditions, finding the right solutions demands heavy cognitive load; over-analyzing complex dependencies becomes a daily struggle even for senior developers, and business costs constantly increase. Strict principles, patterns, and technologies like Angular exist to purposefully narrow possible variations and standardize development processes. Yet, under the weight of business demands and scale, systems inevitably grow more complex.\n\nAll these aspects are united by the new concept of \"code liquidity\" – a codebase's ability to be accessible, comprehensible, and ready for rapid change in response to new tasks. Just as a highly liquid financial asset can be quickly converted into real value, liquid code can be easily, predictably, and cost-effectively transformed to meet new business requirements. Essentially, all methodologies, principles, patterns, and quality metrics boil down to one primary goal – keeping code in a liquid state. Frameworks serve precisely this purpose – establishing standards and boundaries to increase codebase liquidity. But without the ability to see the complete picture within a reasonable timeframe, overall system liquidity plummets rapidly under the inevitable weight of entropy. This is especially relevant today in the era of AI code generation: when advanced models can produce thousands of lines in seconds, maintaining human control over the generator and resulting architecture becomes a critical condition for project success.\n\nGraphLens is an automated analysis and visualization tool for Angular projects, acting as a point of synergy between the code editor and the framework. Much like a real telescope focuses the light of distant cosmic objects, GraphLens gathers information about your Angular workspace, allowing you to peer into the very center of the architectural cosmos and transform the entropy of complex relationships into a structured and cognitively accessible form. The tool provides a new, faster interface – a visual environment through which take place the reading, perception, and navigation of the project's actual structure and architecture. GraphLens is a tool that gives developers the freedom to easily explore the system and expand their control over its codebase.\n\nBy revealing the hidden geometry of connections as interactive graphs, GraphLens helps you comprehend the current state of the system, organize and channel software entropy into the right flow, regain control over the project, and ensure your project maintains the highest level of code liquidity.\n\n\n## 8. Feedback \u0026 Contribution\n\nThe project is proprietary, but the project will evolve together with the community.\n\nThis is a public repository created for feedback:\n-   **Found a bug?** [Create an Issue](https://github.com/GraphLens/graphlens/issues)\n-   **Have an idea?** [Start a Discussion](https://github.com/GraphLens/graphlens/discussions)\n-   **Stay updated:** [GitHub GraphLens](https://github.com/GraphLens/graphlens)\n\nIf you find GraphLens useful, please consider [leaving a review on the Marketplace](https://marketplace.visualstudio.com/items?itemName=graphlens.graphlens\u0026ssr=false#review-details). It helps immensely!\n\n\n## 9. License\n\n**GraphLens** is proprietary software. Copyright © 2025-2026 Dmitrii Kostiuk. All Rights Reserved.\n\nThis extension is licensed under the **GraphLens End-User License Agreement (EULA)**\n\n-   **You are free to:** Use for personal, educational, and commercial projects free of charge. You own the generated graphs, tree views, and visualizations.\n-   **You may not:** Decompile, reverse engineer, extract internal data, modify, resell, or create derivative works based on this software.\n\nSee the full [License agreement](./LICENSE) file for details.\n\nThe example code located in the `demo` directory is provided under the [MIT License](./demo/LICENSE).\n\n---\n\n\n### 📚 Notes \u0026 Terminology\n\n1. **Program entities:** Refer to the common building blocks of an Angular application, currently including Angular Modules, Routes, Components, and Directives.\n2. **Abstraction or Program levels**: Represent different layers of the application structure formed by these common entities and include Module Hierarchy, Navigation Map, and Component tree.\n\n---\n\n**Created with respect for human ingenuity ✨🚀**\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphlens%2Fgraphlens","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgraphlens%2Fgraphlens","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphlens%2Fgraphlens/lists"}