yarn init

Cria ou atualiza um arquivo package.json interativamente.

yarn init

Este comando guia você através de uma sessão interativa para criar um arquivo package.json. Algumas configurações padrão, como a licença e a versão inicial, são encontradas nas configurações init-* do Yarn.

Aqui está um exemplo de quando se executa o comando dentro de uma pasta chamada pastateste:

$ yarn init
question name (pastateste): meu-pacote-maneiro
question version (1.0.0):
question description: O melhor pacote que você vai encontrar.
question entry point (index.js):
question git repository: https://github.com/yarnpkg/example-yarn-package
question author: Contribuidor do Yarn
question license (MIT):
question private:
success Saved package.json
✨  Done in 87.70s.

Isso resulta no seguinte package.json:

{
  "name": "meu-pacote-maneiro",
  "version": "1.0.0",
  "description": "O melhor pacote que você vai encontrar.",
  "main": "index.js",
  "repository": {
    "url": "https://github.com/yarnpkg/example-yarn-package",
    "type": "git"
  },
  "author": "Contribuidor do Yarn",
  "license": "MIT"
}

Por padrão, se for dada uma resposta vazia para a pergunta question private, a chave private não será adicionada ao package.json

Se você já tem um arquivo package.json existente, então ele usará os valores do arquivo como padrão.

O seguinte arquivo package.json existente:

{
  "name": "meu-pacote-existente",
  "version": "0.1",
  "description": "Eu existo, logo, sou.",
  "repository": {
    "url": "https://github.com/yarnpkg/example-yarn-package",
    "type": "git"
  },
  "license": "BSD-2-Clause"
}

Resulta nos seguintes valores padrão na sessão interativa:

$ yarn init
question name (meu-pacote-existente):
question version (0.1):
question description (Eu existo, logo, sou.):
question entry point (index.js):
question git repository (https://github.com/yarnpkg/example-yarn-package):
question author: Contribuidor do Yarn
question license (BSD-2-Clause):
question private:
success Saved package.json
✨  Done in 121.53s.
Definindo valores padrão para o yarn init

As seguintes variáveis de configuração podem ser usadas para personalizar os valores padrão do yarn init:

  • init-author-name (Nome do autor)
  • init-author-email (E-mail do autor)
  • init-author-url (URL do autor)
  • init-version (Versão inicial)
  • init-license (Licença)
yarn init --yes/-y

Este comando pula a sessão interativa mencionada acima e gera um package.json baseado nos seus valores padrão. Alguns padrões podem ser modificados mudando as configurações init-* mencionadas acima. Por exemplo, dada uma instalação nova do Yarn e dentro de uma pasta yarn-exemplo:

$ yarn init --yes
warning The yes flag has been set. This will automatically answer yes to all questions which may have security implications.
success Saved package.json
✨  Done in 0.09s.

O que produz o seguinte package.json:

{
  "name": "yarn-exemplo",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT"
}
yarn init --private/-p

Adiciona automaticamente private: true ao package.json

$ yarn init --private

Se a flag private estiver presente, a chave private será automaticamente definida para true, e você ainda poderá completar o resto do processo de inicialização.

question name (pastateste): meu-pacote-maneiro
question version (1.0.0):
question description: O melhor pacote que você vai encontrar.
question entry point (index.js):
question git repository: https://github.com/yarnpkg/example-yarn-package
question author: Contribuidor do Yarn
question license (MIT):
success Saved package.json
✨  Done in 87.70s.
{
  "name": "my-awesome-package",
  "version": "1.0.0",
  "description": "The best package you will ever find.",
  "main": "index.js",
  "repository": {
    "url": "https://github.com/yarnpkg/example-yarn-package",
    "type": "git"
  },
  "author": "Yarn Contributor",
  "license": "MIT",
  "private": true
}

Você pode usar ambas as flags yes e private ao mesmo tempo

Como a seguir:

$ yarn init -yp
warning The yes flag has been set. This will automatically answer yes to all questions which may have security implications.
success Saved package.json
✨  Done in 0.05s.

O que produz o seguinte package.json:

{
  "name": "yarn-exemplo",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "private": true
}