Cole um lockfile ou trecho para listar os pacotes e versões resolvidas reconhecidos. Consulte o relatório para encontrar pacotes registrados em mais de uma versão.
Funciona localmente no seu navegadorEsta página lê package-lock.json, pnpm-lock.yaml ou yarn.lock no navegador e informa o que o lockfile resolve: quantas entradas ele fixa, quantos nomes diferentes contém e quais nomes estão fixados em mais de uma versão. Nada é instalado e nenhum registro é contactado.
Cole o arquivo ou um trecho dele e pressione Analisar localmente. O relatório mostra o formato detectado, o número de entradas resolvidas e os nomes duplicados; a tabela imprime nome, versão e origem de cada entrada, e Copiar leva o relatório JSON para a área de transferência.
Um lockfile do npm é reconhecido pelos campos lockfileVersion, packages ou dependencies. Arquivos de versão 2 e 3 são lidos do mapa packages: cada chave que contém node_modules/ vira uma entrada, portanto a entrada do projeto raiz ("") não é contada e um caminho aninhado como node_modules/foo/node_modules/bar aparece como bar. Arquivos de versão 1 são lidos do mapa dependencies.
Um lockfile do pnpm é reconhecido pelo lockfileVersion ou pela seção packages, e cada chave /nome@versão vira uma entrada, incluindo nomes com escopo como /@babel/core@7.24.0. Um lockfile do Yarn clássico é reconhecido pelos blocos de seletores: a linha version é pareada com cada seletor da chave, então uma linha que mapeia duas faixas para uma versão gera duas entradas, e seletores entre aspas como "@scope/pkg@^0.4.0" têm as aspas removidas antes de extrair o nome.
Uma entrada é uma resolução, não um pacote distinto: no npm é um caminho da árvore e no Yarn é um seletor, então uma dependência instalada em dois níveis aparece duas vezes. A contagem de duplicados trabalha por nome entre versões: um nome fixado em duas versões diferentes é avisado, mas a mesma versão alcançada por dois seletores não é.
O relatório JSON contém format, resolvedPackages, uniqueNames e namesWithMultipleVersions, podendo ser comparado entre duas branches. A tabela imprime no máximo 500 linhas e avisa quando o lockfile é maior; as métricas e o relatório contam sempre todas as entradas.
Nada é baixado: a página não contacta o npm, o registro do pnpm nem o Yarn, por isso não pode verificar se uma versão existe, se um hash de integridade corresponde ou se um pacote está obsoleto ou afetado por um aviso de segurança. Uma entrada sem o campo version aparece como não resolvido, o que normalmente indica um lockfile editado à mão ou escrito por outra ferramenta.
Um JSON malformado interrompe a análise com uma dica e a posição onde a leitura falhou; um YAML que não seja um lockfile do pnpm e um JSON sem seção de pacotes reconhecida respondem com a mesma mensagem em vez de uma tabela vazia. Copiar antes de analisar devolve uma dica em vez de uma área de transferência vazia.