Code-First, Type-Safe, GraphQL Schema Construction
Declarative, code-first and strongly typed GraphQL schema construction for TypeScript & JavaScript.
npm install nexus graphql
Note you must also add
graphql. Nexus pins to it as a peer dependency.
graphql-jstypes, and it's just a
GraphQLSchema
apollo-server,
graphql-middleware, etc.
import { queryType, stringArg, makeSchema } from 'nexus' import { GraphQLServer } from 'graphql-yoga'const Query = queryType({ definition(t) { t.string('hello', { args: { name: stringArg() }, resolve: (parent, { name }) =>
Hello ${name || 'World'}!
, }) }, })const schema = makeSchema({ types: [Query], outputs: { schema: __dirname + '/generated/schema.graphql', typegen: __dirname + '/generated/typings.ts', }, })
const server = new GraphQLServer({ schema, })
server.start(() =>
Server is running on http://localhost:4000
)
More examples can be found in the
/examplesdirectory:
You can find the docs for Nexus here.
If you've been following an SDL-first approach to build your GraphQL server and want to see what your code looks like when written with GraphQL Nexus, you can use the SDL converter.