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
}