Skip to content

Conversation

Dmitriy-Alekseenko
Copy link
Contributor

Summary

в index.html добавлено 3 скрипта:

  • generate:schema - скачивается схема из https://rails-base-graphql-api.herokuapp.com/graphql и на основе этих данных генерируется graphql-schema.json
  • generate:TSFiles - на основе graphql-schema.json можно сгенерить типы.
  • gen:types - запускает 2 выше перечисленных скрипта последовательно. (этот скрипт надо запускать когда требуется сгенерить новые типы)

Так же можно сгенерить типы для локальных данных (которые создаются на клиенте). В PR этого функционала нет, тк в react-next-base нет локальных данных. Подробнее об этом тут https://www.apollographql.com/blog/tooling/apollo-codegen/typescript-graphql-code-generator-generate-graphql-types/

Есть иные способы сгенерить типы на основе схемы.
Например:

  • https://www.npmjs.com/package/apollo-codegen (устарел)
  • https://www.graphql-code-generator.com/ (отличный инструмент. Можно гибко настроить генерацию. Но у меня не получилось настроить разбивку сложных типов на несколько простых. Генерится 1 большой тип в котором типизируется вся схема и часто требуется не весь тип, а только какая то его часть. Из за этого пришлось отказаться. Попробуйте вы, может у вас получится

Типы генерятся по файлам рядом с graphql схемой и 1 глобальный тип globalTypes
так же я перевел компонент Activities на новые типы

List of steps to manually test introduced functionality:

What do need to pay more attention to, some implicit changes that influence the app:

  • ...

Review notes

While reviewing pull-request (especially when it's your pull-request), please make sure that:

  • you named PR close to issue name and linked that issue
  • you understand what problem is solved by PR and how is it solved
  • new tests are in place, no redundant tests
  • required ENV variables added and described in .env.example and added to Heroku
  • associated Heroku review app works correctly with introduced changes

@Regina-Gimazova Regina-Gimazova added the WIP Work in progress label Jun 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

WIP Work in progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants