Работа с NPM
CodeScoring.Save реализует npm Registry API с префиксом /npm/<project>/<repository>/. Совместим со стандартными клиентами npm, yarn и pnpm.
Proxy-репозиторий
Hosted-репозиторий
Настройка клиента
npm
Для CI/CD используйте robot-аккаунт: username = sa$<robot-name>, password = <api-key>. Структура .npmrc не меняется — отличается только значение _auth (base64 от sa$<robot-name>:<api-key>). Подробнее — в общем разделе Аутентификация.
npm-клиент после npm adduser / npm login сохраняет полученный opaque-токен и далее использует его как Authorization: Bearer <token>. cs-auth классифицирует любой не-JWT bearer-токен (Bearer-значение без трёх сегментов через точку) как npm_token и валидирует через сервис-аккаунты, привязанные к API-ключам.
Публикация в hosted-репозиторий:
yarn
Yarn Classic (1.x)
Yarn 1.x использует тот же .npmrc, что и npm:
Yarn 2+ (Berry)
В .yarnrc.yml:
pnpm
pnpm читает тот же .npmrc:
Для scoped-пакетов можно настроить отдельный registry:
Миграция URL репозитория
Сценарий использования: миграция npm-репозитория с Nexus / Artifactory на CodeScoring.Save.
При миграции достаточно заменить URL в .npmrc/.yarnrc.yml. Существующие credentials Nexus/Artifactory можно переиспользовать как Basic Auth.
