Co Robi Ten Formatowanie GraphQL
- Wykorzystuje parser GraphQL Prettier do zastosowania spójnego, standardowego formatowania społeczności
- Obsługuje zapytania, mutacje, subskrypcje, fragmenty oraz pełny schemat SDL (typy, interfejsy, unie, enumy, wejścia, dyrektywy)
- Regulowane wcięcie: wybierz spacje lub tabulatory i skonfiguruj rozmiar wcięcia (1–8)
- Opcjonalna kontrola długości linii / zawijania poprzez konfigurowalną szerokość kolumny
- Zachowuje opisy (`"""…"""`) i komentarze w tekście nienaruszone, normalizując ich układ
- Weryfikuje strukturę dokumentu GraphQL jako część formatowania; nieprawidłowa składnia wyświetli błędy zamiast cichego zniekształcania kodu
- Hybrydowe wykonanie: uruchamia Prettier w przeglądarce, gdy jest dostępne, a w razie potrzeby przechodzi na formatowanie serwerowe
- Wklej lub prześlij pliki `.graphql` / `.gql`, a następnie podglądaj, kopiuj lub pobieraj sformatowany wynik
📝 Jak Formatować GraphQL Online for graphql-formatter
Wklej lub Prześlij Swój GraphQL
Wklej swój schemat GraphQL lub zapytania do edytora lub upuść plik `.graphql` / `.gql`. Formatowanie działa zarówno dla dokumentów SDL, jak i operacji.
Dostosuj Opcje Formatowania
Wybierz spacje lub tabulatory, ustaw rozmiar wcięcia i skonfiguruj preferowaną długość linii. Te opcje są przekazywane do formatowania GraphQL Prettier.
Sformatuj, Przejrzyj i Eksportuj
Kliknij Formatuj, aby zastosować zmiany. Przejrzyj wynik w panelu podglądu, a następnie skopiuj go z powrotem do edytora lub pobierz sformatowany plik.
Specyfikacje Techniczne
Obsługiwane Dane Wejściowe
Zaprojektowany dla standardowych schematów GraphQL i dokumentów operacji.
| Typ | Przykłady | Uwagi |
|---|---|---|
| Schemat SDL | schema.graphql, schema.gql | Typy, interfejsy, unie, enumy, dane wejściowe, dyrektywy, definicja schematu |
| Operacje | queries.graphql, app.gql | Zapytania, mutacje, subskrypcje i fragmenty |
| Rozszerzenia | rozszerzenia schematu w oddzielnych plikach | np. bloki `extend type Query { … }` |
Silnik Formatowania
Formatowanie jest wykonywane przy użyciu obsługi GraphQL Prettier. W większości przypadków Prettier działa w przeglądarce za pośrednictwem lekkiego środowiska uruchomieniowego. Jeśli wtyczka GraphQL nie może zostać rozwiązana w bieżącym środowisku, formatowanie przejrzyste przechodzi na serwerowy proces Prettier.
Dostępne Opcje (Mapowane na Prettier)
| Opcja | Zachowanie | Typowe Wartości |
|---|---|---|
| Styl Wcięcia | Wybierz między spacjami a tabulatorami | spacja (domyślnie) lub tabulator |
| Rozmiar Wcięcia | Liczba spacji na poziom wcięcia (przy użyciu spacji) | 1–8, domyślnie: 2 |
| Długość Linii | Docelowa kolumna dla zawijania / łamania długich selekcji | 0–120 (0 ≈ praktycznie bez zawijania) |
Limity i Wydajność
Narzędzie jest dostrojone do typowych schematów GraphQL i plików operacji. Żądania o rozmiarze od kilkuset KB do ~2 MB są generalnie bezpieczne; bardzo duże dokumenty mogą napotkać limity czasu lub ograniczenia rozmiaru.
Prywatność i bezpieczeństwo
Dokumenty GraphQL są formatowane w przeglądarce lub na zapleczu formatującym encode64. Nie są wykonywane ani wysyłane do usług stron trzecich. Dla wrażliwych schematów możesz odtworzyć tę samą konfigurację lokalnie za pomocą Prettier.
Odpowiednik wiersza poleceń (Prettier)
Jeśli masz już zainstalowane Node.js i Prettier, możesz odtworzyć to zachowanie lokalnie.
Node.js (wszystkie platformy)
Sformatuj plik schematu GraphQL w miejscu
npx prettier --write schema.graphqlPrettier automatycznie rozpoznaje GraphQL na podstawie rozszerzenia pliku.
Formatuj z niestandardnym wcięciem i długością linii
npx prettier --write schema.graphql --tab-width 2 --use-tabs false --print-width 80Odbija opcje wcięcia i zawijania dostępne w narzędziu online.
Formatuj ze standardowego wejścia (np. przekazane z innego narzędzia)
cat input.graphql | npx prettier --stdin-filepath input.graphqlPrzydatne w skryptach powłoki, potokach CI lub hakach Git.
Typowe przypadki użycia formatowania GraphQL
Rozwój schematu API
- Utrzymuj duże pliki schematów spójnie sformatowane dla łatwiejszej nawigacji
- Zmniejsz szum różnic w białych znakach w PR schematów
- Przygotuj czysty SDL dla narzędzi generowania kodu
# Przed
type User{ id:ID! name:String!}
# Po
type User {
id: ID!
name: String!
}Operacje frontendowe i fragmenty
- Normalizuj wspólne zapytania w wielu aplikacjach lub pakietach
- Ułatw skanowanie zagnieżdżonych selekcji podczas debugowania
- Utrzymuj fragmenty dokumentacji i przykłady w playground ładnie sformatowane
Testy, dane testowe i narzędzia
- Standaryzuj dane testowe GraphQL używane w testach snapshot
- Zintegruj formatowanie w haki pre-commit lub zadania CI
- Podawaj czyste dokumenty do narzędzi walidacji lub porównywania schematów
❓ Frequently Asked Questions
Co właściwie zmienia formatowanie GraphQL?
Czy obsługuje zarówno operacje, jak i SDL schematu?
Czy komentarze i ciągi opisu są zachowywane?
Czy mój kod GraphQL jest wykonywany?
Gdzie odbywa się formatowanie: po stronie klienta czy serwera?
Czy to narzędzie jest darmowe?
Pro Tips
Użyj tego formatowania do ujednolicenia starych schematów przed dodaniem lintowania lub wprowadzaniem zmian łamiących; to sprawia, że kolejne różnice są znacznie łatwiejsze do przejrzenia.
Dopasuj ustawienia narzędzia online (rozmiar wcięcia i długość linii) do konfiguracji Prettier w Twoim projekcie, aby formatowanie lokalne i internetowe było identyczne.
Wyodrębnij długie osadzone ciągi GraphQL z kodu do plików `.graphql`, aby można je było jednolicie sformatować i ponownie wykorzystać.
Połącz formatowanie z lintowaniem (np. GraphQL ESLint), aby wychwycić problemy ze schematami i zapytaniami, które wykraczają poza białe znaki i zawijanie.
Additional Resources
Other Tools
- Upiększacz CSS
- Upiększacz HTML
- Upiększacz JavaScript
- Upiększacz PHP
- Wybór koloru
- Ekstraktor sprite'ów
- Dekoder Base64
- Koder Base64
- Formatowanie C#
- Formatowanie CSV
- Dockerfile Formatter
- Formatowanie Elm
- Formatowanie ENV
- Formatowanie Go
- Formatowanie HCL
- Formatowanie INI
- Formatowanie JSON
- Formatowanie LaTeX
- Formatowanie Markdown
- Formatowanie Objective-C
- Php Formatter
- Formatowanie Proto
- Formatowanie Python
- Formatowanie Ruby
- Formatowanie Rust
- Formatowanie Scala
- Formatowanie skryptów powłoki
- Formatowanie SQL
- Formatowanie SVG
- Formatowanie Swift
- Formatowanie TOML
- Typescript Formatter
- Formatowanie XML
- Formatowanie YAML
- Formatowanie Yarn
- Minifikator CSS
- Html Minifier
- Javascript Minifier
- Minifikator JSON
- Minifikator XML
- Przegląd nagłówków HTTP
- PDF do tekstu
- Tester wyrażeń regularnych
- Sprawdzanie pozycji w SERP
- Wyszukiwanie Whois