Há elementos sem conexões?
Encontre elementos sem relações detectadas e confira se são usados.
GitHub · JavaScript/TypeScript · Vue · Python (modo de teste)
Escolha um repositório, uma branch e uma pasta. JavaScript/TypeScript analisa .js, .jsx, .ts e .tsx; os arquivos JSON, CSS/SCSS e HTML selecionados são adicionados por referências estáticas detectadas. Vue analisa .vue, JavaScript e TypeScript junto com arquivos vinculados. Python analisa .py em modo de teste.
Entenda mais rápido a estrutura do projeto, examine as relações entre módulos e avalie o impacto das mudanças antes de refatorar.
Repositórios públicos e privados · O código é analisado no navegador e não é enviado ao servidor da aplicação
Repositórios públicos não exigem login no GitHub.
Para que serve
O grafo mostra as conexões estáticas detectadas entre os arquivos do projeto. Escolha visualizações para explorar as dependências, comparar arquivos compartilhados e distintos ou avaliar quais importadores uma mudança pode afetar.
Encontre elementos sem relações detectadas e confira se são usados.
Examine as conexões de entrada e saída de um módulo antes de refatorar.
Acompanhe a cadeia de importações no grafo e na lista de elementos relacionados.
Escolha um analisador: JavaScript/TypeScript, Vue ou Python (modo de teste). JavaScript/TypeScript analisa .js, .jsx, .ts e .tsx; os arquivos JSON, CSS/SCSS e HTML selecionados são adicionados por referências estáticas detectadas. Vue analisa .vue, JavaScript e TypeScript junto com arquivos vinculados. Python analisa .py em modo de teste.

Como funciona
Informe a URL de um repositório público ou conecte o GitHub para acessar um privado.
Modos e comparações
O gráfico padrão exibe as visualizações selecionadas e as conexões estáticas encontradas entre elas e outros arquivos. Ao acompanhar vários componentes, fica mais fácil identificar arquivos compartilhados e compará-los. Isso ajuda a entender o caminho das dependências e a decidir quais módulos revisar antes de uma alteração.
A estrutura de páginas detecta heuristicamente os componentes Page e as exportações padrão de arquivos page.js, page.jsx, page.ts e page.tsx. Esses itens ficam ao redor dos demais componentes, destacando possíveis pontos de entrada e suas conexões estáticas com o projeto. Ao selecionar um, as conexões detectadas são destacadas; as rotas reais da aplicação não são reconstruídas.
A árvore do projeto organiza pastas e componentes pela hierarquia em que estão armazenados, sem linhas de dependência. Assim fica mais fácil entender como os arquivos estão distribuídos e encontrar um componente pela pasta antes de examinar suas conexões em outra visualização.
O impacto das alterações parte do componente selecionado e mostra seus importadores no sentido inverso: os diretos no primeiro nível e os seguintes nos próximos níveis. Isso ajuda a avaliar quais componentes revisar antes de alterar um arquivo. A visualização se baseia nas conexões estáticas detectadas e não descreve todo o comportamento da aplicação em execução.
A classificação de arquivos ordena pelo critério escolhido: quantidade de conexões de entrada, de saída ou ausência de conexões detectadas. Ajuda a localizar arquivos dos quais muitos outros dependem, módulos que importam muitas dependências e, separadamente, nós sem conexões. Muitas conexões não medem a complexidade do código; a ausência delas deve ser conferida nos arquivos-fonte.
As interseções mostram os arquivos compartilhados em cada par e nas combinações maiores. Arquivos comuns a três visualizações também aparecem nos três grupos de pares.
Cada combinação mostra arquivos usados por pelo menos uma visualização, mas não por todas. Em A+B+C ficam os de uma ou duas; os comuns às três são excluídos.
Recursos
Abra um repositório público sem login. Para acessar um privado, use o GitHub OAuth.
Escolha um ou mais componentes como visualizações e acompanhe as cadeias de dependências, incluindo partes compartilhadas do projeto.
Os arquivos vêm do GitHub para o navegador, onde o grafo é criado. Eles não são enviados ao servidor para análise nem salvos no banco de dados.
Comece sem assinatura ou cartão. Podem valer limites da API do GitHub e regras de acesso ao repositório.
Explore conexões estáticas detectadas em arquivos JavaScript/TypeScript, Vue e Python.
Encontre arquivos e elementos sem importações ou dependências relacionadas detectadas no código selecionado.
JavaScript/TypeScript: .js, .jsx, .ts, .tsx e JSON, CSS/SCSS, HTML selecionados · Vue: .vue, JS/TS e arquivos vinculados · Python: .py (modo de teste).
O analisador JavaScript/TypeScript lê .js, .jsx, .ts e .tsx. Arquivos JSON, CSS/SCSS e HTML selecionados são adicionados por referências estáticas detectadas. O analisador Vue lê .vue, JavaScript e TypeScript junto com arquivos explicitamente vinculados. Python lê .py e está em modo de teste.
O grafo representa as conexões estáticas detectadas nos arquivos selecionados, mas não abrange todo o comportamento do aplicativo em execução. Você pode excluir pastas de compilação, dependências e arquivos gerados. A falta de uma conexão detectada não significa necessariamente que o arquivo não seja usado.
Segurança
É possível abrir um repositório público sem login. Para um privado, usa-se o GitHub OAuth. O navegador carrega os arquivos selecionados do GitHub e cria o grafo localmente. O servidor troca o código de autorização por um token, mas não recebe arquivos do projeto para análise.
O grafo e a análise de importações são feitos no navegador
Os arquivos não são enviados ao servidor nem salvos no banco de dados
Ao recarregar, os arquivos são removidos da memória da aba
Recarregar apaga o grafo e a autorização
O GitHub OAuth é usado para acessar repositórios privados
Os arquivos selecionados vêm diretamente do GitHub para o navegador
Confira a transferência de dados
Perguntas e respostas
Ele mostra as conexões estáticas detectadas entre os arquivos selecionados. Assim, é possível acompanhar as relações, mas a análise não abrange todo o comportamento do aplicativo em execução.
Não. A ferramenta funciona no navegador. Abra um repositório GitHub, escolha a branch e a pasta e selecione um analisador e seus arquivos.
Não são enviados arquivos para análise no servidor. O navegador carrega o código do GitHub e cria o grafo localmente. O servidor participa da autorização OAuth para repositórios privados.
Entre com o GitHub OAuth, escolha um repositório privado e selecione a branch, a pasta, o analisador e os arquivos.
Você não precisa de assinatura nem cartão para começar. Podem valer limites da API do GitHub conforme o acesso, as requisições e a configuração da conta.
O grafo, os elementos selecionados e o token são apagados da memória da aba. Para repetir a análise, escolha novamente o repositório, a branch e a pasta.
JavaScript/TypeScript analisa .js, .jsx, .ts e .tsx; JSON, CSS/SCSS e HTML selecionados são adicionados por conexões estáticas detectadas. Vue analisa .vue, JavaScript e TypeScript junto com arquivos vinculados. Python analisa .py em modo de teste. O grafo mostra conexões estáticas detectadas, mas não abrange todo o comportamento do aplicativo em execução.
Abra DevTools → Network e veja as requisições. Os arquivos vêm do GitHub para o navegador; o servidor participa do OAuth, mas não recebe seu conteúdo.
Como usar
Depois de carregar o projeto, use «Exportar» para baixar um JSON com as visualizações selecionadas, visibilidade e filtros. Para restaurar, carregue o mesmo repositório, branch e pasta raiz, clique em «Importar», escolha o arquivo e confirme a substituição. O código não entra no arquivo.
Escolha um componente na barra lateral e adicione-o às visualizações. O grafo mostrará sua cadeia de dependências e as pastas envolvidas. Adicione outra visualização para comparar arquiteturas e encontrar componentes compartilhados.
Os filtros acima do painel mostram ou ocultam os tipos de arquivo selecionados e suas conexões. Ao selecionar um componente, os demais nós permanecem no lugar e suas conexões diretas são destacadas. Use a busca para localizar um arquivo ou elemento.
Digite um nome ou caminho em «Buscar componente» acima do painel. Os resultados são destacados e os outros modelos continuam visíveis. Limpe o campo para remover o destaque.
Escolha um componente na barra lateral e adicione-o às visualizações. Repita para outros pontos de entrada: cada arquitetura aparecerá em sua própria linha, facilitando a comparação dos elementos e conexões compartilhados.
Um grafo de dependências mostra a estrutura da aplicação não só como lista de pastas e arquivos, mas como mapa das conexões detectadas entre módulos. Ele revela quais arquivos importam uns aos outros e onde uma mudança pode afetar o restante do projeto.
JavaScript/TypeScript analisa .js, .jsx, .ts e .tsx. Arquivos JSON, CSS/SCSS e HTML selecionados são adicionados por conexões estáticas detectadas. Vue analisa .vue, JavaScript e TypeScript junto com arquivos vinculados. Python analisa .py em modo de teste.
O grafo representa conexões estáticas detectadas nos arquivos selecionados, mas não abrange todo o comportamento do aplicativo em execução. Repositórios públicos podem ser explorados sem login; os privados exigem GitHub OAuth. Os arquivos vêm do GitHub para o navegador, onde o grafo é construído.
Use o grafo para explorar a estrutura do projeto, planejar mudanças e discutir as conexões detectadas com a equipe.
Escolha JavaScript/TypeScript, Vue ou Python (modo de teste). O grafo mostra as conexões estáticas detectadas nos arquivos selecionados, incluindo referências a JSON, CSS/SCSS e HTML selecionados; a análise não abrange todo o comportamento do aplicativo em execução.
Criar grafo de dependênciasNão é preciso fazer login para analisar um repositório GitHub público.