Skip to content

Работа с npm-пакетами

Настройка публикации

1. Файл .npmrc

Создаётся в корне проекта:

ini
@aceramica:registry=https://gitlab.a-ceramica.ru/api/v4/projects/9/packages/npm/
//gitlab.a-ceramica.ru/api/v4/projects/9/packages/npm/:_authToken=${NPM_TOKEN}

⚠️ Обрати внимание: ID — это числовой ID проекта shared-packages, его можно найти в интерфейсе GitLab

🔐 Где хранить NPM_TOKEN?

  • В CI/CD — как переменную окружения
  • Локально — можно временно прописать в .npmrc, но предпочтительно использовать .env, переменные среды, или CI

2. Генерация токена

  • Перейти в проект shared-packages

  • Открыть Настройки → Access Tokens

  • Нажать Добавить новый токен

  • Указать:

    • Token name: например, npm-publisher

    • Expiration: по необходимости

    • Scopes:

      • api — для публикации
      • read_api — для установки
    • Role: как правило, достаточно Developer

  • Скопировать сгенерированный токен и сохранить его как NPM_TOKEN (например, в .npmrc или переменных окружения CI/CD)

3. Публикация

Для публикации должен быть корректно настроен package.json, пример:

json
{
	"name": "@aceramica/nuxt-shared",
	"version": "1.0.1", // Версия пакета должна быть увеличена (с командой npm run release происходит автоматически)
	"publishConfig": {
		"registry": "https://gitlab.a-ceramica.ru/api/v4/projects/9/packages/npm/"
	}
}

Публикация осуществляется командой:

bash
npm run release

Использование пакета в другом проекте

  1. Убедись, что файл .npmrc есть и NPM_TOKEN указан:
ini
@aceramica:registry=https://gitlab.a-ceramica.ru/api/v4/projects/9/packages/npm/
//gitlab.a-ceramica.ru/api/v4/projects/9/packages/npm/:_authToken=${NPM_TOKEN}
  1. Установи нужный пакет:
bash
npm install @aceramica/nuxt-shared

Примечания

  • История пакетов и версий отображается в разделе Deploy → Package registry проекта shared-packages
  • Удаление пакетов возможно через UI GitLab

Внутренний ресурс компании