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

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

Description

Code-First, Type-Safe, GraphQL Schema Construction

Services available

!
?

Need anything else?

Contributors list

Nexus

trunk npm version

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

Installation

npm install nexus graphql

Note you must also add

graphql
. Nexus pins to it as a peer dependency.

Features

  • 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
    graphql-js
    types, and it's just a
    GraphQLSchema

    So it fits in just fine with existing community solutions of
    apollo-server
    ,
    graphql-middleware
    , 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

Example

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

/examples
directory:

Documentation

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.