SvelteKit GraphQL
Opinionated GraphQL server and client setup for SvelteKit applications, utilising Houdini and Yoga.
- 🔧 Minimal configuration
- 🎩 Powered by Houdini & Yoga
- ⚡ Quick & easy setup
Introduction
SvelteKit GraphQL consists of three parts.
CLI
The CLI is used on initial setup to quickly scaffold out a skeleton graphql server in an existing
SvelteKit app. It can also be used to add new modules later down the line.
Vite Plugin
The vite plugin adds hooks to vite to run codegen on build, and on the dev server as you change your
schemas. It also automatically adds in the houdini vite plugin.
Runtime Package
To avoid needing to manually install and configure many of the dependencies you typically need when
working with GraphQL, SvelteKit GraphQL provides a package wrapping and/or exporting these as
needed.
Getting Started
The following assumes you already have a SvelteKit app set up and working, and that you are in the
root directory of your app in your terminal. If you don't have a SvelteKit app yet, follow the
official SvelteKit documentaion to create one and then come back here once that is confirmed
working.
Install sveltekit-graphql
npm i -D sveltekit-graphql
Run the script to initialise your repo. It is recommended to commit any pending changes
before running this.
npx sveltekit-graphql init
Assuming everything worked as intended, you should now have a working GraphQL setup in your
SvelteKit app!
Run the dev server to check if everything is working:
npm run dev
Going to http://localhost:5173/graphql, you should see the Yoga GraphiQL interface.
Next Steps
You can now start building out your GraphQL queries and mutations. The CLI has set you up with the
beginnings of a module structure in 'src/graphql/' allowing you to split up your schema into
separate areas of concern. You are free to expand on this or simply stay with one module. Check out
the Yoga documentation to learn more.
Houdini is set up and ready for you to start making client queries. Check out the houdini
documentation to learn more.