diff --git a/src/lib/yoga/index.ts b/src/lib/yoga/index.ts new file mode 100644 index 0000000..65e9322 --- /dev/null +++ b/src/lib/yoga/index.ts @@ -0,0 +1,22 @@ +import type { RequestEvent } from '@sveltejs/kit'; +import { createSchema, createYoga } from 'graphql-yoga'; + +export const Yoga = createYoga({ + schema: createSchema({ + typeDefs: ` + type Query { + hello: String + } + `, + resolvers: { + Query: { + hello: () => 'SvelteKit - GraphQL Yoga' + } + } + }), + // Needed to be defined explicitly because our endpoint lives at a different path other than `/graphql` + graphqlEndpoint: '/api/graphql', + + // Needed to let Yoga use sveltekit's Response object + fetchAPI: { Response } +}); \ No newline at end of file diff --git a/src/routes/api/graphql/+server.ts b/src/routes/api/graphql/+server.ts index 6722a21..72aab8c 100644 --- a/src/routes/api/graphql/+server.ts +++ b/src/routes/api/graphql/+server.ts @@ -1,24 +1,3 @@ -import { createSchema, createYoga } from 'graphql-yoga'; -import type { RequestEvent } from '@sveltejs/kit'; +import { Yoga } from '$lib/yoga'; -const yogaApp = createYoga({ - schema: createSchema({ - typeDefs: ` - type Query { - hello: String - } - `, - resolvers: { - Query: { - hello: () => 'SvelteKit - GraphQL Yoga' - } - } - }), - // Needed to be defined explicitly because our endpoint lives at a different path other than `/graphql` - graphqlEndpoint: '/api/graphql', - - // Needed to let Yoga use sveltekit's Response object - fetchAPI: { Response } -}); - -export { yogaApp as GET, yogaApp as POST }; \ No newline at end of file +export { Yoga as GET, Yoga as POST }; \ No newline at end of file