Need help with nexus?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

2.3K Stars 210 Forks MIT License 651 Commits 170 Opened issues


Code-First, Type-Safe, GraphQL Schema Construction

Services available


Need anything else?

Contributors list


trunk npm version

Declarative, code-first and strongly typed GraphQL schema construction for TypeScript & JavaScript.


npm install nexus graphql

Note you must also add

. Nexus pins to it as a peer dependency.


  • Expressive, declarative API for building schemas
  • Full type-safety for free
  • Powerful plugin system
  • No need to re-declare interface fields per-object
  • Optionally possible to reference types by name (with autocomplete)
    Rather than needing to import every single piece of the schema
  • Interoperable with vanilla
    types, and it's just a

    So it fits in just fine with existing community solutions of
    , etc.
  • Inline function resolvers
    For when you need to do simple field aliasing
  • Auto-generated graphql SDL schema
    Great for when seeing how any code changes affected the schema
  • DRY-up schema design
    Create higher level "functions" which wrap common fields


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



You can find the docs for Nexus here.

Migrate from SDL

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.