
rev-dep v3.0.0
Kit de ferramentas de análise e otimização de dependências para bases de código modernas em JavaScript e TypeScript. Garanta a higiene do grafo de dependências e remova código não utilizado com uma CLI muito rápida.
Rev-dep
Capacidades • Instalação • Documentação • Kit de Ferramentas Exploratórias • Referência da CLI
Kit de ferramentas de análise e otimização de dependências para bases de código modernas em JavaScript e TypeScript.
Imponha higiene no grafo de dependências e remova código não utilizado com uma CLI extremamente rápida.
Sobre 📣
À medida que as bases de código crescem, manter um mapa mental das dependências torna-se impossível. O Rev-dep é uma ferramenta de análise estática de alta velocidade projetada para impor integridade arquitetural e higiene de dependências em projetos JS/TS de grande escala.
Pense no Rev-dep como um linter de alta velocidade para o seu grafo de dependências.
Consolide verificações fragmentadas e sequenciais de múltiplas ferramentas lentas em um único motor de alto desempenho. O Rev-dep executa um conjunto completo de verificações de governança - incluindo circularidade, órfãos, limites de módulos e mais, em uma única passagem paralelizada. Implementado em Go para contornar os gargalos de desempenho da análise baseada em Node, ele pode auditar um projeto com mais de 500 mil linhas de código em aproximadamente 150ms. Veja a comparação de desempenho
Governança Automatizada de Bases de Código
O Rev-dep vai além da varredura passiva para a imposição ativa, respondendo (e reprovando a CI para) as perguntas difíceis:
- Integridade Arquitetural: "Meu 'Domínio A' está importando ilegalmente do 'Domínio B'?".
- Código Morto e Inchaço: "Esses arquivos estão inacessíveis, ou esses
node_modulesestão sem uso?". - Segurança em Refatoração: "Quais pontos de entrada realmente usam este utilitário, e existem cadeias circulares?".
- Higiene do Workspace: "Meus imports estão consistentes e todas as dependências estão declaradas?".
O Rev-dep atua como um guardião de alta velocidade para sua CI, garantindo que seu grafo de dependências permaneça enxuto e sua arquitetura se mantenha intacta conforme você itera.
Por que Rev-dep? 🤔
🏗️ Suporte de primeira classe a monorepos
Projetado para workspaces modernos (pnpm, yarn, npm). O Rev-dep resolve nativamente os mapas de exports/imports do package.json, aliases do TypeScript e rastreia dependências através de fronteiras de pacotes.
🛡️ Governança de Bases de Código Baseada em Configuração
Vá além da varredura passiva. Use o motor de configuração para impor Limites de Módulos e Convenções de Import. Execute um conjunto completo de verificações de higiene (circularidade, órfãos, módulos não utilizados e mais) em uma única passagem paralelizada que serve como um guardião de alta velocidade para sua CI.
🔍 Kit de Ferramentas Exploratórias
Kit de ferramentas CLI que ajuda a depurar problemas com dependências entre arquivos. Entenda a relação transitiva entre arquivos e corrija problemas.
⚡ Feito para Velocidade e Eficiência em CI
Implementado em Go para eliminar o custo de desempenho da análise baseada em Node. Ao processar arquivos em paralelo, o Rev-dep oferece execução de 17x a 90x mais rápida que as alternativas, reduzindo significativamente os custos de CI e o tempo de espera dos desenvolvedores.
O Rev-dep pode auditar um projeto com mais de 500 mil linhas de código em cerca de 150ms. Veja a comparação de desempenho
Capacidades 🚀
Governança e manutenção (baseada em configuração) 🛡️
Use rev-dep config run para executar múltiplas verificações em uma única passagem para todos os pacotes.
Verificações disponíveis:
moduleBoundaries- impõe limites arquiteturais entre módulos.importConventions- impõe convenções de estilo de import (oferece correção automática).unusedExportsDetection- detecta exports que nunca são usados (oferece correção automática).orphanFilesDetection- detecta arquivos mortos/órfãos (oferece correção automática).unusedNodeModulesDetection- detecta dependências declaradas mas não usadas.missingNodeModulesDetection- detecta imports ausentes no package json.unresolvedImportsDetection- detecta requisições de import não resolvidas.circularImportsDetection- detecta imports circulares.duplicatedCodeDetection- detecta código copiado e colado (blocos repetidos e elementos JSX).devDepsUsageOnProdDetection- detecta dependências de desenvolvimento usadas em código de produção.restrictedImportsDetection- bloqueia a importação de arquivos/módulos negados a partir de pontos de entrada selecionados.restrictedImportersDetection- define uma lista de permissões de quais pontos de entrada podem alcançar transitivamente um conjunto de arquivos/módulos.restrictedDirectImportersDetection- restringe quais arquivos podem importar diretamente um conjunto de arquivos/módulos (não transitivo).
Análise exploratória (baseada em CLI) 🔍
Use comandos CLI para exploração ad-hoc de dependências:
entry-points- descobre pontos de entrada do projeto.files- lista os arquivos da árvore de dependências para um dado ponto de entrada.resolve- rastreia caminhos de dependência entre arquivos (quem importa este arquivo).imported-by- lista importadores diretos de um arquivo.circular- lista cadeias de dependência circulares.duplicated-code- encontra blocos de código copiados e colados e elementos JSX.node-modules- inspeciona módulos nodeused,unused,missingeinstalled.lines-of-code- conta LOC efetivas.unresolved- lista imports que não puderam ser resolvidos, agrupados por arquivo.list-cwd-files- lista todos os arquivos de código-fonte no CWDdebug- inspeciona o que o rev-dep analisa, resolve e descobre internamente.
Instalação 📦
Documentação completa: rev-dep.com/docs/intro
Instale localmente para configurar scripts de verificação do projeto``` yarn add -D rev-dep
## Instalação
### Requisitos
- Python 3.8+
- pip
### Instalar a partir do código-fonte
```bash
git clone https://github.com/example/tool.git
cd tool
pip install -r requirements.txt
Uso
python tool.py --target example.com
Opções
| Opção | Descrição |
|---|---|
-t | Alvo a analisar |
-o | Ficheiro de saída |
-v | Modo verboso |
Licença