Gerador de package.json
Guia
Gerador de package.json
Crie um válido package.json a partir de um formulário estruturado em vez de memorizar cada campo. Defina o nome do pacote, versão, licença, sistema de módulos (ESM ou CommonJS), engenho do Node, scripts e dependências, e a ferramenta produz um manifesto limpo e ordenado que pode ser colado diretamente em um projeto.
Diferente de um formatação que reorganiza um arquivo existente, este gerador constrói o manifesto do zero e pula campos vazios, então você obtém um arquivo mínimo, publicável, que já segue as convenções que o npm usa para npm init.
Como usar
- Insira o nome do pacote, versão e (opcional) descrição e autor.
- Escolha uma licença e escolha Módulos ES ou CommonJS para o sistema de módulos.
- Defina o arquivo de entrada (por exemplo,
index.js) e um intervalo de engines.node como>=18. - Preencha os scripts que você realmente usa (
dev,build,test,start) — deixe os campos em branco para omiti-los. - Adicione dependências e devDependencies como
name@range, uma por linha ou separadas por vírgula. - Escolha sua indentação (2 espaços, 4 espaços ou tab) e copie ou baixe o gerado
package.json.
Características
- Baseado em formulário – Sem necessidade de lembrar os nomes ou ordem exatos dos campos; chaves comuns são preenchidas para você.
- ESM ou CommonJS – Alternar o sistema de módulos e a ferramenta define
"type": "module"e omodulede entrada conforme necessário. - Scripts inteligentes – Campos de script vazios são ignorados em vez de deixados como
""placeholders. - Análise de dependências – Cole uma lista de
package@^1.2.3entradas e elas se tornam um objeto limpo.dependenciesObjeto. - Auxiliares de repositório – Insira uma URL do GitHub e a ferramenta preenche
repository,bugse, ehomepagepara você. - Flag privada – Um clique marca o pacote como privado para evitar publicação acidental
npm publish. - Ajuste sua indentação – Saída com 2 espaços, 4 espaços ou tab para corresponder ao estilo existente do repositório.
- Copiar ou baixar – Obtenha o resultado como texto ou baixe
package.jsondiretamente.
Perguntas frequentes
-
Qual a diferença entre dependências e devDependencies?
dependenciessão pacotes que seu código importa em tempo de execução e que os consumidores do seu pacote também instalam.devDependenciessão ferramentas que você só precisa durante o desenvolvimento ou a construção do projeto — como bundlers, runners de testes, verificadores de tipo — e elas não são instaladas quando alguém adiciona seu pacote em seu próprio projeto. -
O que faz definir type como module?
Contexto
"type": "module"informa ao Node.js para tratar.jsarquivos no pacote como módulos ES, entãoimporteexportfuncionam nativamente. Sem isso, o Node trata.jscomo CommonJS e você precisa usarrequire/module.exports. Os módulos ES também permitem top-levelawaite resolução de arquivos mais rigorosa. -
Por que o package.json usa versão semântica?
A versão semântica (MAJOR.MINOR.PATCH) dá aos consumidores um contrato: um aumento PATCH deve ser uma correção de bug segura, um aumento MINOR adiciona recursos compatíveis com a versão anterior, e um aumento MAJOR indica mudanças que quebram a compatibilidade. Operadores de intervalo como
^e~dependem desse contrato para que o npm instale atualizações compatíveis sem quebrar seu build. -
Qual a função do campo engines?
O
enginescampo declara quais versões do Node.js (ou outro runtime) seu pacote suporta. O npm e muitas ferramentas exibem uma advertência quando o instalador está em uma versão não suportada, e algumas plataformas recusam instalar completamente. Definir um intervalo explícitonodeprevine erros sutis causados por APIs que existem em versões mais recentes do Node.
Instale nossas extensões
Adicione ferramentas de IO ao seu navegador favorito para acesso instantâneo e pesquisa mais rápida
恵 O placar chegou!
Placar é uma forma divertida de acompanhar seus jogos, todos os dados são armazenados em seu navegador. Mais recursos serão lançados em breve!
Ferramentas essenciais
Ver tudo Novas chegadas
Ver tudoAtualizar: Nosso ferramenta mais recente foi adicionado em 3 de maio de 2026
