# Сборка npm-пакетов
Чтобы собрать npm-пакет, нужно выполнить
```bash
ya package <pkg.json> --npm
```
Обратите внимание, что для npm-пакетов файл с именем `package.json` уже имеет предопределенное значение, и здесь требуется конфиг для ya package называть по-другому, например, `pkg.json`.
В `pkg.json` описании пакета нужно описать структуру пакета с файлом `package.json` в корне, описывающим сам npm-пакет.

## Публикация пакетов  { #publish }
Для публикации необходимо указать целевой `npm registry` через опцию ```--publish-to <npm_registry>``` и после сборки пакета он будет опубликован.
При локальном запуске с целью публикации авторизационная информация берется из локального `.npmrc`-конфига. Версию собираемого пакета можно переопределить через опцию `--custom-version`.

## Особенности запуска через задачу YA_PACKAGE { #sandbox }
При публикации из YA_PACKAGE параметр таски `npm_registry` принимает дефолтное значение `https://npm.yandex-team.ru`.
Помимо адреса репозитория нужно указать `npm_login` пользователя в npm, под которым осуществляется публикация, а также `npm_password_vault_name` для пароля этого пользователя, которые предварительно нужно сохранить в [SandBox Vault](https://sandbox.yandex-team.ru/admin/vault).
Версию пакета в таске можно переопределить с помощью параметра `custom_version`.

Чтобы собрать пакет в sandbox с помощью YA_PACKAGE, задачу необходимо выполнить в контейнере, в котором установлен `npm`, по умолчанию используется https://sandbox.yandex-team.ru/resource/1724812895/view.
