Catch the highlights of GraphQLConf 2023!Click for recordings.Or check out our recap blog post.
v4
Integrations
Deno
⚠️
This is the documentation for the old GraphQL Yoga version 4. We recommend upgrading to the latest GraphQL Yoga version 5.

Migrate to GraphQL Yoga v5

Integration with Deno

GraphQL Yoga provides you a cross-platform GraphQL Server. So you can easily integrate it into any platform besides Node.js. Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust (opens in a new tab). We will use graphql-yoga which has an agnostic HTTP handler using Fetch API (opens in a new tab)'s Request (opens in a new tab) and Response (opens in a new tab) objects.

Example

Create a deno.json file. Learn more about import maps (opens in a new tab)

Create a deno-yoga.ts file:

deno.json
{
  "imports": {
    "graphql-yoga": "npm:graphql-yoga@^3.7.3"
  }
}
deno-yoga.ts
import { createSchema, createYoga } from 'graphql-yoga'
import { serve } from 'https://deno.land/std@0.157.0/http/server.ts'
 
const yoga = createYoga({
  schema: createSchema({
    typeDefs: /* GraphQL */ `
      type Query {
        hello: String!
      }
    `,
    resolvers: {
      Query: {
        hello: () => 'Hello Deno!'
      }
    }
  })
})
 
serve(yoga, {
  onListen({ hostname, port }) {
    console.log(`Listening on http://${hostname}:${port}/${yoga.graphqlEndpoint}`)
  }
})

And run it:

deno run --allow-net index.ts

You can also check a full example on our GitHub repository here (opens in a new tab)