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, theprivate
key will not be added topackage.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 thepackage.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
}