-
Notifications
You must be signed in to change notification settings - Fork 18
/
codegen.yml
36 lines (36 loc) · 1.63 KB
/
codegen.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Конфигурация для кодогенерации схемы и запросов GraphQL для TypeScript
# @remark Конфигурацию объявляем глобально, т.к. плагины должны использоваться одинаково для нескольких файлов
# FIXME: Добавить возможность сплитить модели внутри себя?
# FIXME: remove (| null) ?
# FIXME: убрать опциональность полей (config#avoidOptionals)
schema:
- ${REACT_APP_API_URL}:
headers:
Authorization: Bearer ${REACT_APP_ACCESS_TOKEN}
documents: src/**/*.gql
config:
# Сгенерированные файлы напрямую менять нельзя (!), только через обертки / доп. файлы
content: ${API_GENCOMMENT}
# Работа с запросами ведется через react-hooks
withHooks: true
# Из типов для схемы исключается служебное поле __typename
skipTypename: true
# Все типы из схемы и запросов - иммутабельны
immutableTypes: true
# Типы генерируются на лету, без Pick - для чистоты информации по типу
preResolveTypes: true
generates:
src/models.gen.ts:
plugins:
- add
- typescript
src/:
preset: near-operation-file
# Типы схемы и запросы - разделены
presetConfig:
extension: .gen.ts
baseTypesPath: models.gen.ts
plugins:
- add
- typescript-operations
- typescript-react-apollo