• Stars
    star
    8,029
  • Rank 4,426 (Top 0.09 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 6 years ago
  • Updated 17 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🧘 Rewrite of a fully-featured GraphQL Server with focus on easy setup, performance & great developer experience. The core of Yoga implements WHATWG Fetch API and can run/deploy on any JS environment.

GraphQL Conf 2023

GraphQL Yoga

Fully-featured GraphQL Server with focus on easy setup, performance & great developer experience
Go to documenation

npm bundlephobia minified size bundlephobia minified+zipped size bundlephobia treeshaking license

Quick start

Install

pnpm add graphql-yoga graphql

Start

Make a schema, create Yoga and start a Node server:

import { createServer } from 'node:http'
import { createSchema, createYoga } from 'graphql-yoga'

const yoga = createYoga({
  schema: createSchema({
    typeDefs: /* GraphQL */ `
      type Query {
        hello: String
      }
    `,
    resolvers: {
      Query: {
        hello: () => 'Hello from Yoga!'
      }
    }
  })
})

const server = createServer(yoga)

server.listen(4000, () => {
  console.info('Server is running on http://localhost:4000/graphql')
})

Overview

  • Easiest way to run a GraphQL server: Sensible defaults & includes everything you need with minimal setup (we also export a platform/env-agnostic handler so you can build your own wrappers easily).
  • Includes Subscriptions: Built-in support for GraphQL subscriptions using Server-Sent Events.
  • Compatible: Works with all GraphQL clients (Apollo, Relay, Urql...) and fits seamless in your GraphQL workflow.
  • WHATWG Fetch API: the core package depends on WHATWG Fetch API so it can run and deploy on any environment (Serverless, Workers, Deno, Node).
  • Easily Extendable: New GraphQL-Yoga support all envelop plugins.

Features

Documentation

Our documentation website will help you get started.

Examples

We've made sure developers can quickly start with GraphQL Yoga by providing a comprehensive set of examples. See all of them in the examples/ folder.

Comparison

Read more about how GraphQL Yoga compares to other servers in the ecosystem here.

Contributing

If this is your first time contributing to this project, please do read our Contributor Workflow Guide before you get started off.

For this project in particular, to get started on stage/2-failing-test:

  1. Install Node.js
  2. Run in your terminal: npm i -g pnpm@7 && pnpm install && pnpm build
  3. Add tests to packages/graphql-yoga/__tests__ using Jest APIs
  4. Run the tests with pnpm test

Feel free to open issues and pull requests. We're always welcome support from the community.

Code of Conduct

Help us keep Yoga open and inclusive. Please read and follow our Code of Conduct as adopted from Contributor Covenant.

License

MIT

More Repositories

1

graphql-code-generator

A tool for generating code based on a GraphQL schema and GraphQL operations (query/mutation/subscription), with flexible support for custom plugins.
TypeScript
10,635
star
2

angularjs-dropdown-multiselect

AngularJS Dropdown Multiselect
HTML
443
star
3

graphql-binding

Auto-generated SDK for your GraphQL API (supports schema stitching & codegen)
TypeScript
379
star
4

graphql-typed-document-node

An improved version of `DocumentNode` for seamless TypeScript integration for GraphQL.
TypeScript
367
star
5

graphql-code-generator-community

TypeScript
101
star
6

graphql-typed-ast

Experimental TypeScript type-based parser for GraphQL
TypeScript
74
star
7

graphql-tools-rs

Rust
39
star
8

docker-node-graphql-api

Docker engine remote API using GraphQL
TypeScript
21
star
9

meteor-whatsapp-clone-step-by-step

Step by step for building WhatsApp clone using Meteor and AngularJS with angular-meteor.
JavaScript
18
star
10

accounts-ui-angular

AngularJS wrapper for Meteor's Account-UI package
JavaScript
17
star
11

graphql-angular-workshop

Angular and GraphQL (with Apollo) Workshop
HTML
15
star
12

graphql-to-config-schema

Use GraphQL SDL Language to define YAML config schema
TypeScript
10
star
13

graphql-codegen-graphql-request-example

TypeScript
9
star
14

typescript-node-boilerplate

TypeScript boilerplate for NodeJS
TypeScript
8
star
15

remark-import-partial

A plugin for Unified/Remark for populating `@import` syntax with partial files
JavaScript
8
star
16

graphql-codegen-appsync-android-example

Java
7
star
17

meteor-package-publisher

Packages publishing tool for packages that uses bower/npm
JavaScript
6
star
18

cozy

One place for all your development workflows. Makes monorepo development much easier.
TypeScript
6
star
19

angular2-blaze-template

Angular 2 Component that allows you to load Blaze templates
JavaScript
6
star
20

angular2-blaze-migration-tutorial

Blaze to Angular 2 Migration Tutorial
JavaScript
6
star
21

graphql-code-generator-issue-sandbox-template

TypeScript
5
star
22

strest

Stress tests for NodeJS
TypeScript
4
star
23

k6-github-pr-comment

JavaScript
3
star
24

graphql-codegen-react-apollo-example

TypeScript
3
star
25

graphql-hive-external-composition-heroku-template

JavaScript
2
star
26

poalim-demo

Java
2
star
27

test-renovate-changesets

2
star
28

graphql-code-generator-examples

2
star
29

changesets-experiments

2
star
30

codegen-resolvers-example

GraphQL Codegen example for generating MongoDB resolvers from GraphQL scheme
TypeScript
2
star
31

apollo-very-pessimism

TypeScript
1
star
32

apollo-client-unhandled-expection

JavaScript
1
star
33

renovate-experiments

1
star
34

experimental-stuff

TypeScript
1
star
35

dalet-subscriptions-bug

TypeScript
1
star
36

redwood-envelop-examples

TypeScript
1
star
37

angular2-meteor-tests-polyfills

JavaScript
1
star
38

moris-ts-example

TypeScript
1
star
39

minitrace-localspan-reproduce

Rust
1
star