Йоу
Поделитесь опытом, как кошерно шарить gql-схему между репозиторием, где эта схема описана, и репозиториями-клиентами. Моя хотелка — генерить typescript-декларации из схемы.
Вижу два варианта
— настроить сетап, который смотрит на сервер со схемой и по событию генерит декларации. Предвижу проблемы с доступностью и актуальностью этого сервера (надо накатить туда «тот самый» коммит, надо авторизовываться, иногда впн-туннель поднимать)
— настроить ci вокруг репозитория со схемой, чтобы схема деплоилась в стандартный реджистри в виде артефакта с версионированием, нотификациями об изменениях и прочими свистелками. Предвижу проблемы с гемором настройки
Как у вас? Какие есть подводные камни?
Я использую монорепо сетап:
- Все клиенты и бэкэнд находятся в одном репозитории
- Соответственно все имеют доступ к одному и тому же файлу-схеме
Очень рекомендую монорепо, если есть возможность перейти на него, обязательно попробуй.
Также:
- Файл-схема компилируется в typescript и на фронте и на бэке
- Любой брэйк схемы таким образом отлавливается