Ir para o conteúdo
Totalmente local

Visão geral de dependências package.json

Divida o package.json em dependências de produção, desenvolvimento, peer e opcionais com seus intervalos de versão.

Entrada
Saída

Visão geral de dependências package.json

Cole o conteúdo de um arquivo package.json e esta ferramenta classifica cada dependência no seu grupo — produção, desenvolvimento, peer e opcionais — e lista o intervalo de versão ao lado de cada nome de pacote. Foi criada para abrir um repositório desconhecido e ver suas dependências sem rolar uma parede de JSON, ou para revisar um pedido de mesclagem que toca a lista de dependências.

Escolha como a lista é ordenada: agrupada por tipo ou nivelada alfabeticamente. As contagens de grupo mostram quantos pacotes estão em cada bucket em um relance. "Explicar versões de intervalo" adiciona uma nota breve a cada linha descrevendo o que seu intervalo permite — circunflexo permite atualizações menores e de correção, til apenas atualizações de correção, uma versão exata nunca se atualiza por conta própria, e um asterisco simples aceita qualquer coisa. Duas caixas de seleção adicionais expõem riscos: uma marca pacotes fixados a uma versão exata ou totalmente sem restrições, a outra marca qualquer nome de pacote repetido entre grupos, geralmente um sinal de que a entrada precisa ser limpa. Uma alternância separada anexa os campos engines e packageManager, quando presentes.

A saída é renderizada como uma tabela simples alinhada, uma lista de texto simples agrupada ou uma tabela Markdown pronta para colar em um README ou uma descrição de pedido de mesclagem. A ferramenta lê apenas os campos de que precisa e ignora o resto, portanto colar um package.json completo com scripts e metadados funciona exatamente como colar uma versão reduzida.

Tudo funciona localmente no seu navegador. Seu package.json nunca é carregado, o que importa se ele nomeia pacotes privados ou não publicados. Copie o resultado, baixe-o como arquivo .txt ou envie-o diretamente para a entrada de outra ferramenta para continuar trabalhando com ele.

FAQ

Quais campos ele lê do package.json?
dependencies, devDependencies, peerDependencies, optionalDependencies e — quando a opção está ativada — engines e packageManager. Todos os outros campos, incluindo scripts e metadados, são ignorados.
O que conta como uma versão "fixa" ou "wildcard"?
Uma versão fixa não tem nenhum operador de intervalo, como "4.17.21" — nunca se atualiza na instalação. Um wildcard é "*" ou uma string vazia, que aceita qualquer versão. A opção de sinalizador marca ambas, já que estão em extremos opostos do mesmo problema: nenhum controle sobre o que é instalado.
Por que um pacote apareceria em mais de um grupo?
Geralmente significa que uma dependência foi adicionada duas vezes à mão, ou movida de devDependencies para peerDependencies sem remover a entrada antiga. O sinalizador de duplicata chama a atenção para qualquer nome de pacote que apareça em dois ou mais dos quatro grupos.
Ela valida os intervalos de versão em relação ao registro npm?
Não. Ela lê apenas a sintaxe de intervalo já no arquivo — não verifica a rede para ver quais versões realmente existem, portanto funciona totalmente offline.
O meu package.json é carregado em algum lugar?
Não. A análise e formatação funcionam inteiramente no seu navegador — seu arquivo, incluindo qualquer nome de pacote privado que ele contém, nunca deixa seu dispositivo.