Fiz uma ferramenta para visualizar as dependências de múltiplos serviços node em um final de semana
Eu trabalho com microsserviços, e algumas vezes já me questionei qual versão de dependência X é mais usada nos nossos serviços, quantos e quais serviços estão mais desatualizados em relação a uma dependência específica, e assim por diante.
Não tinha um jeito fácil de saber, a não ser entrando no projeto e abrindo o package.json.
Foi aí que decidi montar uma matriz automaticamente, conectando uma organização do github e lendo os repositórios e o package.json de cada projeto.
Percebi que seria um projeto interessante de disponibilizar publicamente, então fiz de uma forma que pudesse ser usada por qualquer um, e já está disponível aqui: https://deps-matrix.pablodinella.com/
Screenshot:
Caracteríscas
Alguns pontos que eu acho interessante destacar:
- Na matriz eu mostro primeiro as dependências mais utilizadas entre seus projetos
- Apenas exibo dependências utilizadas em mais de 1 projeto
- O seu token do github fica criptografado na URL, então não há perigo de alguém obter seu token e acessar seus repositórios (o máximo que conseguiriam ver são as dependências e versões, caso você compartilhe a URL)
Aprendizados
- O GitHub tem uma documentação bastante extensa, mas mesmo assim tive certa dificuldade de acessar os repositórios privados de uma organização, talvez eu faça um post sobre isso para ajudar outras pessoas
- O ag-grid é uma ótima lib de tabelas para React e outros frameworks
- Aprendi mais sobre React Server Components e o Next.js App Router, realmente parece simplificar bastante o código
- Aprendi um pouco sobre criptografia com o algorítmo AES
Conclusão
Fazer projetos pessoais para resolver um problema real é realmente um ótimo jeito de praticar. Toma um pouco de tempo mas agrega muito no seu conhecimento e portfólio.
Caso queiram ver o código fonte, especialmente como referência sobre RSC, criptografia, e integração com GitHub, fiquem à vontade: https://github.com/pablodinella/deps-matrix
(se quiserem deixar uma estrela no repo também seria bem legal :D)
Você chegou no momento certo! Muito obrigada por compartilhar, é algo realmente importante e necessário.
Caraca fiquei impressionado, parabens...
Excelente iniciativa, parabéns!
muito bom!