Skip to content

NPM Package Registry

Краткое описание

GitLab используется как приватный NPM-репозиторий для внутренних пакетов, включая утилиты, слои, общие компоненты и конфигурации. Это позволяет централизованно управлять зависимостями, исключить публикацию на сторонние реестры (например, npmjs.org), а также повысить безопасность и контроль доступа

Архитектура и организация пакетов

  • Исходники каждого пакета (@aceramica/nuxt-shared, @aceramica/layer-common) хранятся в отдельных GitLab-репозиториях внутри aceramica/frontend/common/...
  • Все пакеты публикуются в GitLab NPM Registry, активированном в проекте shared-packages
  • Для публикации и установки пакетов в проекты используется Project Access Token с правами api и read_api
  • Подключение и установка пакетов возможны из любого фронтенд-проекта, при наличии .npmrc и NPM_TOKEN
  • Все пакеты используют namespace @aceramica, например:
    • @aceramica/nuxt-shared
    • @aceramica/layer-common

Структура проектов с пакетами и хранилищем публикаций:

bash
aceramica/
├─ frontend/
  ├─ common/
  ├─ utils/
  └─ nuxt-shared     # код общих утилит для Nuxt
  └─ layers/
     └─ layer-common    # код слоя общих компонентов для Nuxt
└─ shared-packages          # хранилище публикаций npm-пакетов (GitLab NPM Registry)

📝 Важно: несмотря на то, что исходники разбросаны по разным проектам, все пакеты публикуются в один репозиторий GitLab (shared-packages), в котором активирован приватный реестр NPM-пакетов

➡️ Подробное руководство по публикации, настройке .npmrc и работе с токенами см. в разделе:

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

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