yarn init

Cria ou atualiza um arquivo package.json interativamente.

yarn init

Este comando caminha com você por uma sessão interativa para criar um arquivo package.json. Algumas configurações padrões como a licença e a versão inciadas são achadas 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 (testdir): my-awesome-package
question version (1.0.0):
question description: The best package you will ever find.
question entry point (index.js):
question git repository: https://github.com/yarnpkg/example-yarn-package
question author: Yarn Contributor
question license (MIT):
question private:
success Saved package.json
✨  Done in 87.70s.

Isso resulta no seguinte package.json:

{
  "name": "meu-pacote-demais",
  "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"
}

By default, if answer given to question private is passed in as empty, the private key will not be added to 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ões na sessão interativa:

$ yarn init
question name (my-existing-package):
question version (0.1):
question description (I exist therefore I am.):
question entry point (index.js):
question git repository (https://github.com/yarnpkg/example-yarn-package):
question author: Yarn Contributor
question license (BSD-2-Clause):
question private:
success Saved package.json
✨  Done in 121.53s.
Definindo valores padrões para o yarn init

As seguintes variáveis de configuração (config) podem ser usadas para personalizar os valores padrões 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)
  • init-license
yarn init --yes/-y

Este comando pula a sessão interativa mencionada acima e gera um package.json baseado nos seus valores padrões. Alguns padrões podem ser modificados mudando as configurações init-* mencionadas acima. Por exemplo, dado 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-example",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT"
}
yarn init --private/-p

automatically add private: true to the package.json

$ yarn init --private

If the private flag is set, the private key will be automatically set to true and you still complete the rest of the init process.

question name (testdir): my-awesome-package
question version (1.0.0):
question description: The best package you will ever find.
question entry point (index.js):
question git repository: https://github.com/yarnpkg/example-yarn-package
question author: Yarn Contributor
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
}

You can use both the yes and the private flags at the same time

Like this:

$ 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-example",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "private": true
}