Integration with Deno – GraphQL Yoga

v3 (latest)

Integrations

Deno

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 import_map.json file. Learn more about import maps (opens in a new tab)

Create a deno-yoga.ts file:

import_map.json

{

"imports"

:

{

"graphql-yoga"

:

"npm:graphql-yoga@^3.7.3"

}

}

deno-yoga.ts

import

{ createYoga

,

createSchema }

from

'graphql-yoga'

import

{ serve }

from

'https://deno.land/[email protected]/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

--import-map

./import_map.json

index.ts

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