Может ли релейный компилятор прочитать схему с конечной точки (http или https)?

Опережающая компиляция Relay генерирует новые скомпилированные артефакты. Для этого необходимо передать путь схемы GraphQL к его файлу конфигурации. У меня вопрос: может ли этот путь быть URL-адресом? Если нет, то какой альтернативный способ? Документация об этом очень расплывчата.

Зачем мне нужен URL? Моя серверная часть находится в другой службе, поэтому мне нужно найти способ получить доступ к ее схеме. Я использовал команду graphql get-schema ─, которая создает локальную копию удаленной схемы. Но команда get-schema устарела в graphql-cli@4.

get-schema больше не доступна. В предыдущих версиях вы могли загрузить схему по указанному пути в schemaPath по ›URL-адресу, указанному внутри конечной точки. В новой версии схема относится к конечной точке схемы.

Если вы используете Prisma или любой другой инструмент, который предоставляет вашу схему в качестве конечной точки URL, вы должны ›указать его, используя следующий синтаксис в конфигурации YAML:

Источник: https://github.com/Urigo/graphql-cli/blob/a8fc4bc6376205b2c6ee077cc0acfcef0712b470/docs/MIGRATION.md#get-schema-is-no-longer-available

С тех пор я не могу найти простой способ синхронизировать удаленную схему с моим клиентским проектом. Может быть, единственная альтернатива - перейти на graphql-cli@3?


person Mate Paiva    schedule 08.01.2021    source источник


Ответы (1)


Похоже, что relay-config, в отличие от graphql-config, не принимает схему URL. Это должен быть локальный путь.

Итак, вы должны продолжать использовать локальную схему. В graphql-cli@4 руководстве по миграции объясняется, как загрузить схему, поскольку этой функции больше нет в ядре пакета:

Если вы хотите загрузить схему с этого URL-адреса в свою локальную файловую систему, вам также потребуется установить codegen плагин и его schema-ast плагин, используя следующую команду или ее эквивалент в npm:

yarn add @graphql-cli/codegen @graphql-codegen/schema-ast --dev

После этого вы можете указать выходной путь к локальному файлу схемы:

schema: http://localhost:4000/graphql
extensions:
  codegen:
    generates:
      ./schema.graphql:
        plugins:
          - schema-ast

При запуске кода graphql файл schema.graphql создается в корневом пути вашего проекта.

Источник: https://github.com/Urigo/graphql-cli/blob/a8fc4bc6376205b2c6ee077cc0acfcef0712b470/docs/MIGRATION.md#get-schema-is-no-longer-available

person Mate Paiva    schedule 08.01.2021