Versioning & Packages

editor de package.json

Edite um manifesto, encontre erros e organize dependências preservando a ordem dos scripts e das condições de exports.

editor de package.json

Manifesto de entrada

Resultado formatado

O manifesto fica neste navegador. Sem consulta ao registro nem execução de scripts.

Ajuda dos campos e limites

name identifica o pacote pelas regras de nomes novos. É opcional em projetos locais.

Verifica regras integradas, nomes e versão raiz. Configurações de outras ferramentas são preservadas sem validação específica.

Um objeto, 100.000 unidades UTF-16, profundidade 100. Inteiros não seguros e estouros são rejeitados. Dependências são verificadas apenas como strings.

Grupos de dependências

dependencies: 0 · devDependencies: 0 · peerDependencies: 0 · optionalDependencies: 0

Nenhuma dependência para exibir.

A entrada ou as opções mudaram. Verifique antes de exportar.

O editor de package.json ajuda na revisão de um arquivo após um merge. Um JSON válido ainda pode ter um nome inadequado ou uma dependência com valor do tipo errado.

O exemplo inicial representa um projeto privado. Confira os quatro grupos separadamente; a presença do mesmo pacote em grupos diferentes não significa que ele deva ser removido.

Por que usar este editor de package.json?

Preserve a prioridade das condições

O editor de package.json ordena apenas os nomes dentro de dependencies, devDependencies, peerDependencies e optionalDependencies. Campos principais, scripts e condições exports mantêm a ordem, evitando que uma organização visual altere a resolução.

Quatro grupos de dependências são ordenados internamente, mantendo as ramificações de exports ao lado.

Veja a substituição antes de confirmar

O resultado é uma prévia separada. Aplicar, carregar exemplo e limpar exibem o conteúdo e o tamanho da substituição. Desfazer recupera uma vez a entrada e o resultado anteriores, com seu estado válido ou desatualizado.

Um manifesto original e uma prévia ligados por setas de aplicação e de desfazer.

Separe a conferência da substituição

01

Pause a verificação automática

A análise espera 350 ms após a última alteração. Ao desligá-la, aparece o botão principal; Ctrl ou Cmd com Enter executa a mesma ação. Mudanças na entrada ou indentação bloqueiam imediatamente a exportação antiga.

02

Confira os grupos reorganizados

Ordenar dependências gera uma prévia e informa quantos grupos realmente mudaram de ordem. Voltar à ordem original usa o texto de entrada. Nenhuma versão é atualizada e nenhum pacote muda de grupo.

03

Aplique depois de comparar

Um resultado válido pode ser copiado ou baixado antes da aplicação. Para substituir a entrada, confirme a prévia. Desfazer restaura o texto e o resultado anteriores juntos, sem tentar inverter cada edição.

Verifique sintaxe, nomes e campos

Localização no texto original

Ao validar package.json, comentários, vírgulas finais, chaves repetidas e raízes que não sejam objetos são rejeitados. Linha, coluna e JSON Pointer se referem ao texto original, inclusive para nomes com barras.

Nome e versão do projeto

O nome do pacote npm segue as regras de pacotes novos no campo name e de nomes antigos nas chaves das dependências. A version preenchida é analisada por node-semver; projetos locais podem omitir ambos os campos.

Dependências por finalidade

O painel mostra nomes e especificações preservadas em quatro grupos, 100 linhas por vez. As descrições explicam dependências de execução, desenvolvimento, peer e optional. A edição continua no JSON de entrada.

Indentação e arquivo pronto para revisar

Você pode formatar package.json com dois espaços, quatro espaços ou tabulações. Campos próprios e a escrita dos números são preservados. O download usa o nome package.json.

O que a validação não garante

Cobertura do esquema integrado
O esquema derivado do SchemaStore verifica a estrutura e restringe private a booleano. Configurações de ESLint, Prettier e outras ferramentas são mantidas sem validação específica. O $schema da entrada não é baixado.
Sem consulta de versões
Intervalos, tags, URLs Git, caminhos locais, aliases e referências workspace continuam como strings. A ferramenta não verifica existência, atualização, vulnerabilidade ou possibilidade de instalar uma versão.
Scripts são apenas texto
Não há execução de comandos, instalação, publicação, alteração de lockfile ou leitura de outros arquivos de workspace. Passar na análise local não significa que o pacote está pronto para publicação.
Somente quatro mapas são ordenados
Não são removidas repetições entre grupos nem transferidos pacotes. A ordem de exports, imports, arrays e scripts permanece intacta. A representação de escapes de strings pode mudar durante a formatação.
Tamanho e precisão limitados
Aceita um objeto JSON com até 100.000 unidades UTF-16 e 100 níveis. Inteiros fora da faixa segura e estouros numéricos impedem a saída. São exibidos até 50 diagnósticos; resultados inválidos ou desatualizados não podem ser exportados.

Dúvidas sobre o editor de package.json

Como adicionar comentários ao package.json?

O JSON padrão não aceita comentários de linha nem de bloco. A ferramenta aponta o erro em vez de remover comentários silenciosamente. Um campo personalizado para anotações é um dado comum; confirme se as demais ferramentas do projeto aceitam essa convenção.

Qual a diferença entre dependencies e devDependencies?

dependencies reúne os pacotes necessários na execução; devDependencies contém os usados no desenvolvimento e nos testes. peerDependencies descreve compatibilidade esperada no consumidor e optionalDependencies permite falha de instalação. Nenhum pacote é reclassificado automaticamente.

É possível ordenar as dependências do package.json alfabeticamente sem instalar um pacote?

Sim. Os nomes dos quatro grupos são ordenados no navegador, sem instalar outro pacote. Confira a contagem de grupos modificados e a prévia antes de baixar. Scripts e exports condicionais mantêm sua ordem.

Por que o campo name do package.json não corresponde ao padrão esperado?

Novos nomes devem usar letras minúsculas, caracteres apropriados para URL e ter até 214 caracteres contando o escopo. @team/widget é aceito. Um nome válido não indica que ele esteja disponível nem confirma sua propriedade no registro.

Qual é a diferença entre ~ e ^ no package.json?

Para versões principais comuns diferentes de zero, ~1.2.3 costuma permitir atualizações de correção e ^1.2.3 permite também versões menores compatíveis. Versões principais zero e pré-lançamentos têm regras adicionais. Aqui a string é preservada sem resolver uma versão instalada.

Quais campos são necessários em um package.json mínimo?

O npm permite omitir name e version em projetos que não serão publicados. Por isso um objeto vazio passa nesta análise estrutural local. A publicação exige informações e verificações adicionais.

Faltou uma verificação útil?

Confira a próxima alteração

Abra o editor de package.json com um exemplo pequeno, compare as dependências e mantenha a entrada original até decidir aplicar o resultado.