yarn init
Создает или обновляет файл package.json в интерактивном режиме.
yarn init
Эта команда проведет вас через интерактивный процесс генерации package.json
. Некоторые настройки по умолчанию, такие как лицензия и начальная версия, находятся в свойствах init-*
конфигурации yarn.
Вот пример запуска этой команды в директории testdir
:
$ 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.
В результате имеем следующий package.json
:
{
"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"
}
По умолчанию, если поле
question private
остаётся пустым, тоprivate
ключ не добавляется вpackage.json
Если файл package.json
уже существует, то значения по умолчанию будут взяты из его содержания.
Следующий package.json
:
{
"name": "my-existing-package",
"version": "0.1",
"description": "I exist therefore I am.",
"repository": {
"url": "https://github.com/yarnpkg/example-yarn-package",
"type": "git"
},
"license": "BSD-2-Clause"
}
Приведёт к следующим значениям по умолчанию во время интерактивного сеанса:
$ 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.
Установка значений по умолчанию для yarn init
Следующие переменные из config могут быть использованы для установки значений по умолчанию при запуске yarn init
:
init-author-name
init-author-email
init-author-url
init-version
init-license
Запуск с параметром yarn init --yes/-y
Данная команда пропустит описанный интерактивный режим и создаст package.json
основанный на ваших настройках по умолчанию. Как уже упоминалось, некоторые установки могут быть предварительно заданы через init-*
. Например, после чистой установки yarn в директории yarn-example
:
$ 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.
внимание Установлен флаг yes. Это приведет к автоматическому ответу yes на все вопросы, что может повлиять на вопрос безопасности.
Что произведет следующий package.json
:
{
"name": "yarn-example",
"version": "1.0.0",
"main": "index.js",
"license": "MIT"
}
yarn init --private/-p
автоматически добавляет
private: true
вpackage.json
$ yarn init --private
Если передан параметр private
, то ключ private
будет автоматически установлен в true
и процесс настройки будет продолжен без запроса этого пункта.
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
}
Вы можете одновременно использовать параметры yes
и private
Вот так:
$ 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.
Что произведет следующий package.json
:
{
"name": "yarn-example",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"private": true
}