Skip to Content
Yoga
Yoga 3 DocsQuick Start
⚠️
Warning

This is the documentation for the old GraphQL Yoga v3.
We recommend upgrading to the latest GraphQL Yoga v5. Migrate to GraphQL Yoga v5.

Quick start

GraphQL Yoga is a batteries-included cross-platform GraphQL over HTTP spec-compliant GraphQL server powered by Envelop and GraphQL Tools that runs anywhere; focused on easy setup, performance and great developer experience.

Installation

Terminal
yarn add graphql graphql-yoga

Schema

You will need to provide a schema to Yoga, there are many ways to assemble a GraphQL schema, here’s just a few:

Use the createSchema function included in Yoga. It actually reuses the makeExecutableSchema from @graphql-tools/schema.

schema.js
import { createSchema } from 'graphql-yoga' export const schema = createSchema({ typeDefs: /* GraphQL */ ` type Query { hello: String } `, resolvers: { Query: { hello: () => 'world' } } })
💡
Tip

Get the best developer experience!

GraphQL Code Generator and its server preset can help you build type-safe and scalable GraphQL servers.

Check out GraphQL Code Generator, then read how to set up GraphQL server with server preset.

Server

After you have created a GraphQL schema, simply pass it in to Yoga and liftoff! 🚀

import { createServer } from 'node:http' import { createYoga } from 'graphql-yoga' import { schema } from './schema' // Create a Yoga instance with a GraphQL schema. const yoga = createYoga({ schema }) // Pass it into a server to hook into request handlers. const server = createServer(yoga) // Start the server and you're done! server.listen(4000, () => { console.info('Server is running on http://localhost:4000/graphql') })

Visit http://localhost:4000/graphql to see Yoga in action.