On this page

Integration with Deno

Run GraphQL Yoga on Deno. Yoga is a cross-platform GraphQL server, so it integrates into any runtime besides Node.js.

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. We will use graphql-yoga which has an agnostic HTTP handler using Fetch API’s Request and Response objects.

Example

Create a deno.json file. Learn more about import maps

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'

const yoga = createYoga({
  schema: createSchema({
    typeDefs: /* GraphQL */ `
      type Query {
        hello: String!
      }
    `,
    resolvers: {
      Query: {
        hello: () => 'Hello Deno!'
      }
    }
  })
})

Deno.serve(yoga, {
  onListen({ hostname, port }) {
    console.log(`Listening on http://${hostname}:${port}/${yoga.graphqlEndpoint}`)
  }
})

And run it:

deno run --allow-net deno-yoga.ts

You can also check a full example on our GitHub repository here