DEV Community

Guilherme Siquinelli
Guilherme Siquinelli

Posted on • Edited on

Criando um pacote NPM

Você pode adicionar um arquivo package.json ao seu pacote para facilitar o gerenciamento e a instalação por outras pessoas. Os pacotes publicados no registro devem conter um arquivo package.json.

Um arquivo package.json:

  • lista os pacotes dos quais seu projeto depende
  • especifica versões de um pacote que seu projeto pode usar usando regras de versão semântica
  • torna sua compilação reproduzível e, portanto, mais fácil de compartilhar com outros desenvolvedores

Observação
Para facilitar a localização do pacote no site do npm, recomendamos incluir uma descrição personalizada no arquivo package.json.

Campos package.json 

Os campos name e version são obrigatórios

Um arquivo package.json deve conter os campos "name" e "version".

O campo "name" contém o nome do seu pacote e deve estar em letras minúsculas e uma palavra, e pode conter hífens e sublinhados.

O campo "version" deve estar no formato x.x.x e seguir o diretrizes de versão semântica.

Campo Author

Se você quiser incluir as informações do autor do pacote no campo "author", use o seguinte formato (e-mail e site são opcionais):

Seu nome email@example.com (http://example.com)

Examplo

{
  "name": "meu-maravilhoso-pacote",
  "version": "1.0.0",
  "author": "Guilherme Siquinelli <email@guiseek.dev>"
}
Enter fullscreen mode Exit fullscreen mode

Criando um novo arquivo package.json

Você pode criar um arquivo package.json executando um questionário CLI ou criando um arquivo package.json padrão.

Executando um questionário CLI

Para criar um arquivo package.json com os valores que você fornecer, use o comando npm init.

  1. No terminal, navegue até o diretório raiz do seu pacote.

    cd /caminho/para/pacote
    
  2. Execute o seguinte comando:

    npm init
    
  3. Responda às perguntas do questionário da linha de comando.

Personalizando o questionário package.json 

Se você espera criar muitos arquivos package.json , pode personalizar as perguntas feitas e os campos criados durante o processo init para que todos os arquivos package.json contenham um conjunto padrão de informações.

  1. Em seu diretório pessoal (home), crie um arquivo chamado .npm-init.js.

  2. Para adicionar perguntas personalizadas, usando um editor de texto, adicione perguntas com a função prompt:

    module.exports = prompt("qual é o seu sabor de sorvete preferido, amigo?", "Gosto de todos");
    
  3. Para adicionar campos personalizados, usando um editor de texto, adicione os campos desejados ao arquivo .npm-init.js:

    module.exports = {
        customField: 'Example custom field',
        otherCustomField: 'This example field is really cool'
    }
    

Para saber mais sobre como criar personalizações npm init avançadas, consulte o init-package-json GitHub repository.

Criando um arquivo package.json padrão

Para criar um package.json padrão usando informações extraídas do diretório atual, use o comando npm init com a sinalização --yes ou -y. Para obter uma lista de valores padrão, consulte "Valores padrões extraídos do diretório atual".

  1. Na linha de comando, navegue até o diretório raiz do seu pacote.

    cd /caminho/para/pacote
    
  2. Execute o seguinte comando:

    npm init --yes
    

Resultado:

{
  "name": "seu-maravilhoso-pacote",
  "description": "",
  "version": "1.0.0",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/seu-usuario/seu-maravilhoso-pacote.git"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/seu-usuario/seu-maravilhoso-pacote/issues"
  },
  "homepage": "https://github.com/seu-usuario/seu-maravilhoso-pacote"
}
Enter fullscreen mode Exit fullscreen mode

Valores padrão extraídos do diretório atual

  • name: o nome do diretório atual
  • version: sempre 1.0.0
  • description: informações do README ou uma string vazia ""
  • scripts: por padrão, cria um script test vazio
  • keywords: vazio
  • author: vazio
  • licenseISC
  • bugs: informações do diretório atual, se presente
  • homepage: informações do diretório atual, se presente

Definir opções de configuração para o comando init

Você pode definir opções de configuração padrão para o comando init. Por exemplo, para definir o e-mail padrão do autor, o nome do autor e a licença, na linha de comando, execute os seguintes comandos

npm set init-author-email "example-user@example.com"
npm set init-author-name "example_user"
npm set init-license "MIT"
Enter fullscreen mode Exit fullscreen mode

Top comments (0)