Ключові моменти
- 01Форматує запити, мутації, підписки й SDL схеми за допомогою офіційного парсера graphql.js.
- 02Перевіряє синтаксис й повідомляє точну лінію й колону для помилок — схема не потрібна.
- 03GraphQL коментарі (#) видаляються при форматуванні; використовуйте рядки описання для документації, яку ви хочете зберегти.
- 04Запускається повністю у вашому браузері — внутрішні запити API й власницькі схеми залишаються приватними.
Чому форматувати GraphQL документи?
GraphQL запити можуть стати складними дуже швидко — вкладені фрагменти, вбудовані змінні, визначення кількох операцій й визначення типів SDL з інтерфейсами й директивами. Послідовне форматування прискорює перегляд однорівневих й полегшує помітити відсутні закривальні дужки чи невідповідність аргументів з першого погляду.
Форматер використовує еталонний парсер graphql.js — той же парсер, з яким поставляється специфікація GraphQL. Це означає, що канонічне форматування, яке ви отримуєте тут, збігається з тим, що вироблює GraphQL плаґін Prettier й більша частина инструментів GraphQL. Все, що розбирається чисто тут, розбиватиметься чисто в Apollo, Relay й graphql-request.
Як форматувати GraphQL документ
- 01
Вставте свій GraphQL
Вставте запит, мутацію, підписку, фрагмент чи визначення SDL схеми в панель введення.
- 02
Клацніть Форматувати
Парсер видає документ із канонічним відступом — двопробільний відступ, одне поле на рядок, послідовне вирівнювання аргументів. Результат з'являється в панелі виводу.
- 03
Опціонально перевіряйте
Клацніть Перевірити, щоб підтвердити, що документ розбирається без видання відформатованого виводу. Результат — підтвердження чи список помилок синтаксису з номерами рядків і колон.
- 04
Копіюйте результат
Клацніть Копіювати, щоб отримати відформатований документ. Вставте у свою кодову базу, опис PR чи файл документації.
Безпечно для внутрішніх схем й запитів API
Парсер graphql.js запускається повністю у вашому браузері. Жоден текст операції чи визначення схеми не надсилається жодному серверу. Це робить його безпечним для форматування запитів, які посилаються на приватні назви полів чи внутрішні системи типів, які ви не хочете відкривати інструментам третьої сторони.
Перевірка тут — тільки синтаксична — інструмент перевіряє, що документ — це дійсний документ GraphQL, але не перевіряє, чи존재ять імена полів у реальній схемі, чи змінні відповідають типам аргументів чи чи правильно застосовуються директиви. Перевірка, яка знає схему, вимагає, щоб цільова схема завантажувалася разом із документом.
FAQ GraphQL форматера
Чи форматування GraphQL перевіряє проти схеми?
Ні — тільки перевірка синтаксису. Перевірка, чи існують поля й аргументи, вимагає цільову схему. Цей інструмент підтверджує, що документ — це дійсний документ GraphQL, більше нічого.
Чи коментарі у моєму GraphQL будуть збережені?
Ні. Рядки, що починаються з #, видаляються парсером. Використовуйте рядки описання з трьома цитатами для документації, яка повинна пережити форматування.
Яка версія специфікації GraphQL підтримується?
Специфікація з жовтня 2021 року, включаючи OneOf вхідні об'єкти й директиву @specifiedBy.
Чи можу я форматувати визначення SDL схеми, а не тільки документи операцій?
Так. Визначення типу, оголошення інтерфейсу, типи об'єднання, перелічення, директиви й описи всі правильно двостороннього обміну через форматер.
Чи запит чи схема завантажуються десь?
Ні. Парсер graphql.js запускається повністю у вашому браузері — нічого не залишає ваш пристрій.