@zdravkurort/quotas-contracts
v1.0.20
Published
Общие контракты (zod-схемы и типы) для backend и frontend виджета квот
Readme
@zdravkurort/quotas-contracts
Общие контракты (zod-схемы и производные от них TypeScript-типы) для backend и frontend виджета квот. Пакет публикуется публично в npm в scope организации zdravkurort: https://www.npmjs.com/package/@zdravkurort/quotas-contracts
- Исходники:
commands/(реэкспорт черезindex.ts) - Сборка:
build/(генерируетсяtsc, в git не хранится осмысленно — пересобирается при публикации) - Потребитель:
frontend(зависимость@zdravkurort/quotas-contractsвfrontend/package.json)
Разовая настройка (один раз на машину)
Ваш личный npm-аккаунт должен состоять в организации zdravkurort с правом публикации (участников добавляет владелец организации на странице Members).
Авторизоваться в npm под своим личным аккаунтом:
npm loginПроверить вход:
npm whoami— должно вывести имя вашего аккаунта.
Флоу обновления контрактов
Все команды выполняются из каталога backend/contracts.
Внести изменения в схемы в
commands/(новые файлы не забыть реэкспортировать вcommands/index.ts).Проверить сборку:
npm run buildПоднять версию по semver:
npm version patch # правка без изменения API (фикс схемы) npm version minor # добавлены новые схемы/поля, обратная совместимость сохранена npm version major # ломающее изменение (переименование/удаление полей, изменение типов)Опубликовать:
npm publishПеред публикацией автоматически выполняется
prepublishOnly— чистая пересборкаbuild/. Публикация публичная (publishConfig.access: "public"), флаг--access publicуказывать не нужно.Обновить пакет во frontend (из каталога
frontend):yarn upgrade @zdravkurort/quotas-contractsПри minor/major-обновлении сначала поправить диапазон версии в
frontend/package.json, затем выполнитьyarn install.Закоммитить изменения: исходники контрактов,
backend/contracts/package.json(новая версия),frontend/package.jsonиfrontend/yarn.lock.
Типичные проблемы
npm publish→ 403 Forbidden — вы залогинены не под тем пользователем (npm whoami), либо версия уже опубликована (поднимите версию), либо у пользователя нет прав на scope@zdravkurort.npm publish→ 402 Payment Required — пакет пытается опубликоваться как приватный. Убедитесь, что вpackage.jsonосталась секция"publishConfig": { "access": "public" }.- Frontend не видит новые типы — проверьте, что новая схема реэкспортируется из
commands/index.ts, версия поднята и опубликована, а во frontend выполненyarn upgrade.
История
До июля 2026 пакет назывался @yatolstoy/quotas-contracts и публиковался в GitHub Packages (npm.pkg.github.com, требовался .npmrc с токеном). Сейчас — публичный npm, .npmrc не нужен.
