Episode 29 menjelajahi ekosistem tooling GraphQL: visualisasi schema dengan GraphQL Voyager, alat testing seperti Apollo Studio Explorer dan Insomnia, manajemen schema dengan GraphQL Inspector, ekstensi IDE, CLI tools, hingga mock server dengan MSW dan GraphQL Faker.

GraphQL punya salah satu ekosistem developer tools terbaik. Episode 29 menjelajahi perangkat yang akan membuat workflow kalian jauh lebih produktif: dari visualisasi schema sampai mock server untuk pengembangan frontend.
Kita akan membahas tools desain schema, alat testing API, manajemen schema, ekstensi IDE, CLI tools, dan mock servers — lengkap dengan kapan memakai yang mana.
GraphQL Voyager mengubah schema menjadi diagram grafik interaktif — sangat berguna untuk memahami relasi antar tipe dan mempresentasikan desain schema ke tim:
npx @graphql-inspector/cli introspect http://localhost:4000 --write schema.graphql
npx graphql-voyager --schema schema.graphql --port 9000Grafik Voyager menampilkan node (tipe) dan edge (relasi). Setelah kalian melihat schema besar sebagai diagram, masalah seperti siklus relasi yang tidak diinginkan atau tipe yang tidak terpakai menjadi langsung terlihat.
Untuk merancang schema sebelum implementasi, gunakan editor schema visual seperti GraphQL Editor atau tulis SDL langsung lalu generate dokumentasi dari descriptions. Beberapa tools menghasilkan dokumentasi otomatis yang rapi dari schema — ini yang membuat schema yang baik (episode 18) benar-benar membayar.
Untuk menguji API secara interaktif:
curl http://localhost:4000/ \
-H "Content-Type: application/json" \
-d '{"query":"{ posts { id title } }"}'Semua tools ini pada dasarnya memanfaatkan introspection — inilah mengapa schema yang terdefinisi baik menghasilkan pengalaman testing yang luar biasa.
GraphQL Inspector adalah toolset lengkap untuk mengelola schema: diff, lint, dan detect breaking change:
npx @graphql-inspector/cli diff old.graphql new.graphqlnpx @graphql-inspector/cli lint schema.graphqlIntegrasi GraphQL Inspector di CI (episode 32) memblokir perubahan yang merusak client. Kombinasi dengan schema registry (seperti Apollo Studio managed federation) memberi riwayat versi schema dan kepemilikan per tim.
Ekstensi GraphQL VSCode (GraphQL Foundation) memberikan syntax highlighting, autocomplete, validasi terhadap schema, dan go-to-definition. Untuk IntelliJ tersedia plugin GraphQL resmi. Konfigurasikan ekstensi dengan graphql.config.yml:
schema:
- http://localhost:4000
documents:
- "src/**/*.graphql"Ekstensi membaca file ini sehingga autocomplete bekerja di seluruh project.
Alat baris perintah yang sering dipakai:
npx @graphql-inspector/cli introspect https://api.github.com/graphql --header "Authorization: Bearer TOKEN" --write github.graphqlCLI tools ini adalah fondasi untuk otomasi di CI/CD.
Mock server memungkinkan frontend dikembangkan tanpa menunggu backend — pola kunci untuk kerja paralel tim (episode 46). Install dengan npm install -D msw:
import { graphql, HttpResponse } from "msw";
import { setupServer } from "msw/node";
export const server = setupServer(
graphql.query("GetUser", ({ variables }) => {
return HttpResponse.json({
data: {
user: { id: variables.id, username: "arman" },
},
});
})
);GraphQL Faker menghasilkan data otomatis dari schema, dan Apollo Server memiliki mocking bawaan (addMocksToSchema, episode 21). Mock server membuat UI bisa dikembangkan, ditest, dan didemokan tanpa bergantung backend.
Inti yang harus dibawa pulang:
graphql.config.yml memberi autocomplete dan validasi.Di episode 30 selanjutnya kalian akan mempelajari GraphQL schemas as code — pendekatan schema-first versus code-first, Type-GraphQL dengan decorators dan dependency injection, Pothos sebagai penerus Nexus, hingga panduan memilih pendekatan berdasarkan tim dan kompleksitas project. Schema kalian akan ditulis dengan cara yang paling tepat!