fix: install plugins via direct Gitea tarball URLs (core deps from npmjs)
Some checks failed
build-and-publish / build-test (push) Failing after 20s
build-and-publish / publish (push) Has been skipped

This commit is contained in:
2026-08-26 23:06:25 +07:00
parent 81159a22e8
commit f686c1413c
5 changed files with 95 additions and 63 deletions

View File

@@ -27,21 +27,35 @@ pnpm -r pack # контроль упаковки tarball
## Публикация
Для публикации в Gitea npm-реестр:
Пакеты публикуются в Gitea npm-реестр (`https://git.byte-mate.ru/api/packages/Coder/npm/`)
под scope `@deepseek-ai/*`. Транзитивные core-зависимости (`@deepseek-ai/cordis`,
`dsh-settings`, `dsh-web`, `schemastery` и т.д.) тянутся из публичного npmjs —
реестр Gitea не проксирует npmjs, поэтому скоуп `@deepseek-ai` НЕ перенаправляется
на Gitea при установке.
### Через CI (рекомендуется)
1. Убедись, что в настройках репозитория есть секрет `GITEA_NPM_TOKEN` (токен
пользователя `Coder` с правами на packages).
пользователя `Coder` с правами на packages) — Settings → Actions → Secrets.
2. Создай git-тег с префиксом `v*` (например `v0.1.0-rc.7`) и запушь его.
3. Gitea Actions запустит job `publish`: workflow проверяет `check-published.mjs`,
какие пакеты ещё не опубликованы (идемпотентно), и публикует их в реестр.
3. Job `publish` в `.gitea/workflows/publish.yml` соберёт пакеты и опубликует те,
которых ещё нет (идемпотентно через `check-published.mjs`).
Публикация только по тегу; пуш в `main` гоняет `build-test` без публикации.
Пуш в `main` гоняет только `build-test` (сборка + тесты), публикация — по тегу.
### Вручную
```sh
pnpm --filter @deepseek-ai/dsh-tool-lab publish --no-git-checks \
--registry https://git.byte-mate.ru/api/packages/Coder/npm/ \
"--//git.byte-mate.ru/api/packages/Coder/npm/:_authToken=$GITEA_NPM_TOKEN"
```
## Установка плагина
Скрипты-установщики ставят все три плагина в активный профиль DSH, пишут в
`.npmrc` профиля scoped-registry `@deepseek-ai` → Gitea и идемпотентно
дописывают insert-записи в `cordis.patch.yml`.
Скрипты-установщики добавляют плагины в активный профиль DSH как **прямые tarball
URL из Gitea-реестра** (не скоупят `@deepseek-ai` — транзитивные core-зависимости
берутся из npmjs) и идемпотентно дописывают insert-записи в `cordis.patch.yml`.
### Windows