Gerador de Package.json
Em vez de executar npm init e responder a onze perguntas, preencha um formulário e receba um package.json organizado e estruturado corretamente. Este gerador cobre os campos obrigatórios (nome, versão), os comumente usados (scripts, dependências, devDependencies, engines) e as conveniências (repositório, bugs, palavras-chave, licença) que tornam um pacote descobrível e publicável.
Como gerar seu package.json
-
1
Digite nome e versão
O nome segue as regras do npm: minúsculas, seguro para URL, até 214 caracteres. A versão é semver (por exemplo, 0.1.0).
-
2
Escolha o tipo de módulo
CommonJS (padrão) ou ESM via "type": "module". Importante para projetos Node.js 14+.
-
3
Adicione scripts
Start, build, test, lint, os comandos são executados com `npm run <name>`.
-
4
Liste as dependências
Pacotes de tempo de execução em dependências, ferramentas em devDependencies.
-
5
Defina metadados
Descrição, autor, licença, URL do repositório, palavras-chave.
-
6
Copie a saída
Cole em um novo package.json na raiz do projeto.
Os campos que mais importam
| Campo | Obrigatório? | Notas |
|---|---|---|
name |
Sim | Minúsculas, 1-214 caracteres, seguro para URL |
version |
Sim | Semver (major.minor.patch) |
type |
Não | “module” para ESM, omita para CommonJS |
main |
Recomendado | Ponto de entrada para CommonJS (index.js) |
exports |
Recomendado | Mapa de exportações moderno para dual CJS/ESM |
scripts |
Fortemente recomendado | comandos npm run <name> |
dependencies |
Conforme necessário | Pacotes de tempo de execução |
devDependencies |
Conforme necessário | Ferramentas de construção, runners de teste, linters |
engines |
Bom ter | Faixa de versão do Node necessária |
license |
Sim para publicação | Identificador SPDX como MIT, Apache-2.0 |
Resumo de semver
1.0.0, major.minor.patch^1.0.0, compatível com 1.x.x (>=1.0.0, <2.0.0)~1.0.0, apenas atualizações de patch (>=1.0.0, <1.1.0)>=1.0.0 <2.0.0, faixa explícita1.0.0-beta.1, pré-lançamentolatest, tag npm, não uma versão
O padrão ao executar npm install package é ^, que permite atualizações não quebradas.
Scripts padrão que valem a pena ter
{
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"build": "tsc",
"test": "vitest",
"lint": "eslint .",
"format": "prettier --write ."
}
}
Armadilhas de nomenclatura
- Sem maiúsculas.
MyPackagefalha nonpm install. - Sem espaços. Use hífens:
my-package. - Nomes com escopo começam com
@org/para organizações do GitHub ou npm:@acme/utils. - Palavras reservadas.
node_modules,favicon.ico,core,expressnão podem ser usados como nomes de pacotes.
Opções de licença
Escolha um identificador SPDX reconhecido:
- MIT, escolha comum mais permissiva.
- Apache-2.0, permissiva com concessão de patente.
- ISC, licença muito curta semelhante ao MIT, padrão do npm.
- GPL-3.0-or-later, copyleft.
- UNLICENSED, pacote privado, não para distribuição.
Strings de licença erradas ou ambíguas acionam avisos no npm publish.
Perguntas frequentes
Dependências são instaladas quando alguém executa npm install em um projeto que consome o seu. devDependencies são instaladas apenas no ambiente de desenvolvimento do pacote. Coloque pacotes de tempo de execução em dependências e ferramentas de teste/construção em devDependencies.
Sim, para aplicações. O lockfile fixa versões exatas e garante instalações reproduzíveis em máquinas e CI. Para pacotes de biblioteca publicados no npm, o lockfile é opcional, os consumidores obtêm seu próprio lockfile.
Apenas se você quiser que o pacote seja ESM (sintaxe de importação/exportação) por padrão. Sem ele, arquivos .js são tratados como CommonJS. Você também pode usar .mjs para arquivos ESM ou .cjs para arquivos CommonJS, independentemente de “type”.
As versões do Node contra as quais seu código foi testado. Uma escolha típica hoje é "engines": {"node": ">=18"}. É um aviso, não um erro, mas as ferramentas respeitam isso e os usuários fixam corretamente.
Ferramentas relacionadas
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Referência de Caracteres HTML
Lista pesquisável de entidades HTML, seus códigos nomeados e numéricos, e uma cópia com um clique para caracteres e símbolos especiais.
Referência de atalhos de teclado
Pesquise atalhos padrão documentados do VS Code, Chrome e Bash com GNU Readline no macOS, Windows e Linux.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Gerador de EditorConfig
Gere um arquivo .editorconfig com suas regras de estilo e tamanho de indentação, fim de linha, charset e espaços em branco para formatação consistente entre IDEs e editores.
Validador de Email
Valide um endereço de email: verificação de sintaxe RFC 5322, consulta de registro MX em tempo real, além de detalhes de parte local, domínio e comprimento. Nenhum email é enviado.
Ferramenta disponível em outros idiomas
- Trình tạo package.json [VI]
- Package.json-generator [SV]
- package.json-Generator [DE]
- Generador de Package.json [ES]
- ตัวสร้าง package.json [TH]
- مولد package.json [AR]
- Package.json 생성기 [KO]
- Générateur de package.json [FR]
- Generator package.json [ID]
- Package.json-generator [NL]
- Generator package.json [PL]
- PackageJsonジェネレータ [JA]
- Package.json Generator [EN]
- Generatore di Package.json [IT]
- Генератор package.json [RU]
- Package.json Oluşturucu [TR]
- package.json 生成器 [ZH]