Управление проверкой graphql в gatsby для обхода контента без возврата моделей контента без контента - PullRequest
1 голос
/ 04 февраля 2020

Мы разрабатываем большую CMS с использованием Gatsby. Эта содержательная установка имеет 2 пробела из-за законодательных причин содержания и множества сред для разработки новых функций. В настоящее время наш процесс состоит в том, что мы используем инструменты миграции для Contentful, чтобы создавать миграции для новых моделей контента и / или изменений в моделях контента в Contentful и хранить их в системе контроля версий. После слияния наши рабочие процессы CI переносят эти изменения модели контента в главные среды обоих наших пространств.

Проблема, с которой мы столкнулись, заключается в том, что из-за причудливого API управления контентом, где любая модель контента, которая не У нас нет регистров контента как несуществующих, нам нужно создать начальный контент для некоторых изменений нашей модели контента. Это создает следующие проблемы:

  • Содержимое семени, которое должно ссылаться на существующее содержимое через идентификаторы, будет разрываться между пробелами, так как идентификаторы будут различаться
  • Если мы потратим некоторое время на разработку функции, наши среды будет отставать от основного env, и обновление нашего временного env разработки может быть трудоемким и неудобным в зависимости от уровня изменений в master
  • В результате в наших пространствах появляется фиктивный контент, что делает наши содержательные пространства неопрятными

Мы экспериментируем с парой решений, но предпочтительным является простое обращение с ошибками проверки правильности graphql. После нескольких экспериментов с проверкой gql, удалив некоторые из их внутренних правил, вызов contentful на самом деле не нарушает приложение. Все критические ошибки происходят с шага проверки. В идеале было бы «отключить» правило валидации NoUndefinedVariables, единственное, которое вызывает у нас проблемы. Под выключением я подразумеваю только отображение предупреждения об ошибке взлома. Затем мы сами обработаем неопределенные или пустые значения в приложении.

Я не вижу способа справиться с проверкой gql через интерфейс разработчика gatsby (gatsby-node, gatsby-config et c). Какой лучший способ справиться с этим?

...