Skip to content
/ garph Public

Fullstack GraphQL Framework for TypeScript

License

Notifications You must be signed in to change notification settings

stepci/garph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0b3e33b Â· Mar 1, 2024
Mar 31, 2023
Sep 23, 2023
Feb 25, 2024
Feb 25, 2024
Mar 1, 2024
Mar 31, 2023
Jan 25, 2023
Sep 23, 2023
Feb 25, 2024
Feb 25, 2024
Sep 23, 2023
Jan 2, 2024

Repository files navigation

garph

Screen.Recording.2023-02-27.at.19.32.45.mov

Warning: We would love to hear your Feedback in our Discord

Note: tRPC-style client for Garph has arrived! See garph-gqty for more 🚀

Garph is a fullstack GraphQL framework for TypeScript, that aims to deliver the best GraphQL Developer-Experience.

Get started

  1. Install the dependencies

    npm i garph graphql-yoga
    
  2. Create example GraphQL API

    import { g, InferResolvers, buildSchema } from 'garph'
    import { createYoga } from 'graphql-yoga'
    import { createServer } from 'http'
    
    const queryType = g.type('Query', {
      greet: g.string()
        .args({
          name: g.string().optional().default('Max')
        })
        .description('Greets a person')
    })
    
    const resolvers: InferResolvers<{ Query: typeof queryType }, {}> = {
      Query: {
        greet: (parent, args, context, info) => `Hello, ${args.name}`
      }
    }
    
    const schema = buildSchema({ g, resolvers })
    const yoga = createYoga({ schema })
    const server = createServer(yoga)
    server.listen(4000, () => {
      console.info('Server is running on http://localhost:4000/graphql')
    })
  3. Start the server

    npx ts-node server.ts
    
  4. Query the API

    Go to: http://localhost:4000/graphl

    Enter the following query:

    {
      greet(name: "Max")
    }

    Click on the play button

Documentation

Documentation is available on garph.dev/docs

Examples

Example projects can be found under examples/

Feedback

We would love to hear your Feedback in our Discord community