Skip to content

Latest commit

 

History

History
124 lines (83 loc) · 5.45 KB

README_pt-BR.md

File metadata and controls

124 lines (83 loc) · 5.45 KB

📊 Relatório de dependências

Relatório de dependências visa ajudar a analisar a consistência das dependências em seus projetos frontend de sua empresa. Veja um exemplo https://dependency-report.web.app/. In English

🎯 Recursos

  • Visualizar qual a porcentagem de projetos estão em uma determinada versão;
  • Visualizar qual a porcentagem de componentes estão em uma determinada versão;
  • Visualizar todas as dependências de seus projetos e quantas diferentes versões são usadas por projetos;
  • Visualizar link para documentacão de frontend e design para cada projeto/componente;
  • Visualizar notificacões do Github relacionados a vulnerabilidades de seguranca para cada projeto/componente;
  • Visualizar quais dependências precisam ser atualizadas por projetos;

Github Notifications

⚙️ Como configurar

O projeto é dividido em duas pastas:

  • client: Frontend desenvolvido em Angular para apresentacão dos gráficos. Angular 18+ - Como instalar Node?;
  • server: Backend desenvolvido em Go para geracão dos dados para os relatórios. Go 1.15 - Como instalar Go?;

Criando seu personal Github Auth Token

É necessário criar seu Personal Access Token para que o servidor tenha permissão de usar a API do Github. Para mais instrucões acesse ou aqui.

Inicializando o cliente

O projeto usa Angular 18+ e requer versão do Node 20+. Você pode usar o NVM para controlar as versões node de sua máquina.

cd client/
npm install # Instalar dependências
ng serve

Irá inicializar na porta 4200. http://localhost:4200.

Inicializando o servidor

cd server/
GITHUB_AUTH_TOKEN=<personal-auth-token> go run *.go # Exemplo: GITHUB_AUTH_TOKEN=12321wqdd12e12321dse go run *.go

Irá criar um servidor na porta 3000. http://localhost:3000.

Adaptando para seus projetos

Você precisa editar o arquivo server/config.json adicionar os repositórios de seus projetos frontend e components. Não esqueca de especificar o tipo de repositório se é project ou component.

  • project: São os seus projetos frontend que podem ser um admin ou backoffice de sua empresa;
  • component: São os componentes modulares que são usados em seus projetos;

Exemplo:

{
    "repositories": [
        {
            "url": "https://github.com/vendasta/listing-builder-client",
            "type": "project"
        },
        {
            "url": "https://github.com/vendasta/frontend/tree/master/angular/projects/business-categories",
            "type": "component"
        },
    ]
}

O filtro é usado para analisar as dependências de seus repositórios e assim gerar as estatísticas. O formato do filtro é o nome da biblioteca e a versão: <nome-biblioteca>_<versão>. Você ver sua dependência no seu package.json nesse formato "@angular/core": "~9.1.1" então você cria seu filtro dessa forma: @angular/core_9.1.1.

Dessa forma, você criar qualquer filtro para qualquer dependência ou versão.

Exemplo:

  • "@angular/core": "~9.0.0" mude para @angular/core_9.0.0 ou @angular/core_9;
  • "react": "^16.12.0" mude para react_16.12.0 ou react_16;
{
    "filters": [
        "@angular/core_4",
        "@angular/core_6",
        "@angular/core_7",
        "@angular/core_8",
        "@angular/core_9"
    ],
}

Inicializando

Após a configuracão do server/config.json e inicializacão do server e client você acessa o client via http://localhost:4200 e clica no botão de REFRESH na barra do topo para gerar os dados que você precisa.

📚 Referência

👍 Contribuir

Se você quer agradecer e/ou apoiar o desenvolvimento deste projeto:

  1. Adicione uma GitHub Star para o projeto.
  2. Tweet sobre o projeto em seu Twitter.
  3. Escreva um review ou tutorial no Medium, Dev.to ou no blog pessoal.
  4. Apoie o projeto doando um cafézinho.

☕ Apoiadores

Se você quer apoiar o Relatório de dependência, você pode ☕ comprar um café aqui

✨ Agradecimentos

Joel Kesler, Rafael Lins

Autor

⚠️ Direitos autorais e licenca

Direitos autorais de código e documentação 2024-2034, os Autores e o Código liberado sob a MIT License. Documentos publicados sob Creative Commons.