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
- 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;
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?;
É 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.
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.
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.
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 parareact_16.12.0
oureact_16
;
{
"filters": [
"@angular/core_4",
"@angular/core_6",
"@angular/core_7",
"@angular/core_8",
"@angular/core_9"
],
}
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.
Se você quer agradecer e/ou apoiar o desenvolvimento deste projeto:
- Adicione uma GitHub Star para o projeto.
- Tweet sobre o projeto em seu Twitter.
- Escreva um review ou tutorial no Medium, Dev.to ou no blog pessoal.
- Apoie o projeto doando um cafézinho.
Se você quer apoiar o Relatório de dependência, você pode ☕ comprar um café aqui
- Cândido Sales - @candidosales
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.