1

Pitch: Depx — entenda o que realmente tem no seu node_modules (e no seu Cargo.lock)

Seu node_modules tem centenas de pacotes. Você sabe quais deles o seu código de fato importa? Por que is-odd está instalado? Se aquele alerta de vulnerabilidade afeta código que você realmente usa?

Foi com essas perguntas que comecei a escrever o depx, um analisador de dependências pra projetos JS/TS e Rust, escrito em Rust. Ferramentas como npm ls, npm audit e depcheck dão pedaços da informação sem contexto. A ideia do depx é ligar os pontos.

O que essa atualização traz

  • analyze — separa o que é usado, o que é dev/build tool (esperado, não importado) e o que é lixo removível de verdade, já com a dica de npm uninstall.
  • deprecated — agora cruza pacote deprecado × uso real. Você sabe se o problema está em algo que você importa ou só numa dependência transitiva ([USED] vs [unused]).
  • why <pacote> — mostra a cadeia completa até a raiz, pra entender por que aquilo entrou na árvore.
  • audit — consulta o OSV com as suas versões exatas instaladas, eliminando os falsos positivos clássicos do npm audit.
  • duplicates — pra projetos Rust, encontra crates duplicados em várias versões, classifica por severidade e calcula o custo em compile units.

Pra testar

cargo install depx

Está em estágio inicial (pnpm-lock.yaml e yarn.lock vêm a seguir), é MIT, e o repo está aqui: https://github.com/ruidosujeira/depx

Transparência: construo o depx em parceria com IA. Eu defino a arquitetura, tomo as decisões e reviso o código; a IA acelera a execução. Está tudo explícito no README.

Feedback é muito bem-vindo, principalmente sobre as heurísticas de detecção de uso e de severidade.

Carregando publicação patrocinada...
1

cargo install depx

A única crítica que eu tenho sobre seu pacote:

Eu não vou instalar a stack de rust para ter o cargo somente para analisar porque o meu node_modules está grande.

Eu só usaria isso se ele estivesse no npm