Ir para o conteúdo
Totalmente local

Inspetor de ficheiros de bloqueio

Liste cada pacote num ficheiro de bloqueio com a sua versão exata e se é uma dependência direta ou transitiva.

Entrada
Segundo ficheiro de bloqueio (opcional, para comparar)

Inspetor de ficheiros de bloqueio

Cole um ficheiro package-lock.json, yarn.lock ou pnpm-lock.yaml e esta ferramenta lista cada pacote que contém, com a sua versão exata resolvida e se é uma dependência direta (uma que o manifesto do seu projeto lista) ou transitiva (puxada por outro pacote). É uma forma rápida de auditar o que realmente se distribui em node_modules, verificar um pull request que altera o ficheiro de bloqueio ou descobrir de onde veio uma versão inesperada.

Escolha o formato que corresponde ao seu ficheiro, depois ordene a lista alfabeticamente ou pelo número de outros pacotes que dependem dela, o que coloca em evidência os pacotes transitivos dos quais o seu projeto mais depende. Um filtro reduz a saída para um nome ou escopo, como @babel/ ou eslint. Ativar a sinalização de duplicatas adiciona um resumo de qualquer nome de pacote que apareça em mais de uma versão — uma fonte comum de um pacote inchado. Escolha lista simples, tabela de largura fixa ou CSV para folhas de cálculo. Cole um segundo ficheiro de bloqueio na caixa segunda opcional para comparar duas versões do mesmo projeto e ver exatamente quais pacotes foram adicionados, removidos ou atualizados.

A ferramenta trata as terminações de linha Windows e Unix da mesma forma. Para package-lock.json e pnpm-lock.yaml, lê a lista de dependências registada do seu projeto para distinguir as dependências diretas reais daquelas meramente elevadas ao topo de node_modules; yarn.lock (v1 clássica) não contém esse registo, pelo que as suas entradas são listadas sem essa distinção. Ficheiros de bloqueio muito grandes são processados sem congelar o separador, e a saída para além de 10 MB é limitada com uma mensagem a pedir-lhe para filtrar ou comparar um ficheiro menor.

Tudo funciona localmente no seu navegador — o seu ficheiro de bloqueio e a árvore de dependências que descreve nunca são carregados. Copie o resultado, descarregue-o como ficheiro .txt ou envie-o de volta para a entrada para filtrar ainda mais.

FAQ

Qual é a diferença entre uma dependência direta e uma dependência transitiva?
Uma dependência direta é uma que o ficheiro package.json do seu projeto lista pelo nome. Uma dependência transitiva foi puxada apenas porque um desses pacotes depende dela.
Por que é que yarn.lock mostra cada pacote da mesma forma, sem distinção entre dependências diretas e transitivas?
yarn.lock (v1 clássica) não regista a lista de dependências do seu projeto da mesma forma que package-lock.json e pnpm-lock.yaml, por isso não há nada no ficheiro que permita distinguir um pacote de topo de um puxado transitivamente.
Como funciona a comparação de dois ficheiros de bloqueio?
Cole o ficheiro de bloqueio antigo na caixa principal e o novo no segundo campo, utilizando o mesmo formato para ambos. A ferramenta lista cada pacote cuja versão mudou, além de tudo o que foi adicionado ou removido.
O que conta como duplicata?
Um nome de pacote que aparece com mais de uma versão no mesmo ficheiro de bloqueio — uma causa comum de um pacote maior quando duas dependências fixam versões incompatíveis da mesma biblioteca.
O meu ficheiro de bloqueio é carregado em algum lugar?
Não. A análise ocorre totalmente no seu navegador — o ficheiro nunca deixa o seu dispositivo.