• Stars
    star
    3,162
  • Rank 13,586 (Top 0.3 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 4 years ago
  • Updated 15 days ago

Reviews

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

Repository Details

The Graph of Everything - Federated architecture for any API service

Mesh GIF

npm version CI Discord Chat code style: prettier

https://www.graphql-mesh.com

GraphQL Mesh allows you to use GraphQL query language to access data in remote APIs that don't run GraphQL (and also ones that do run GraphQL). It can be used as a gateway to other services or run as a local GraphQL schema that aggregates data from remote APIs.

The goal of GraphQL Mesh is to let developers easily access services that are written in other APIs specs (such as gRPC, OpenAPI/Swagger, OData, SOAP/WSDL, Apache Thrift, Mongoose, PostgreSQL, Neo4j, and also GraphQL) with GraphQL queries and mutations.

GraphQL Mesh gives the developer the ability to modify the output schemas, link types across schemas and merge schema types. You can even add custom GraphQL types and resolvers that fit your needs.

It allows developers to control the way they fetch data, and overcome issues related to backend implementation, legacy API services, chosen schema specification and non-typed APIs.

GraphQL Mesh is acting as a proxy to your data, and uses common libraries to wrap your existing API services. You can use this proxy locally in your service or application by running the GraphQL schema locally (with GraphQL execute), or you can deploy this as a gateway layer to your internal service.

How does it work?

The way GraphQL Mesh works is:

  1. Collect API schema specifications from services
  2. Create a runtime instance of fully-typed SDK for the services.
  3. Convert API specs to GraphQL schema
  4. Applies custom schema transformations and schema extensions
  5. Creates fully-typed, single schema, GraphQL SDK to fetch data from your services.

Getting Started

Installation

GraphQL Mesh comes in multiple packages, which you should install according to your needs.

To get started with the basics, install the following:

$ yarn add graphql @graphql-mesh/runtime @graphql-mesh/cli

Then, you need to install a Mesh handler, according to your API needs. You can see the list of all available built-in handlers in this README, under the Supported APIs section.

For example, if you wish to use OpenAPI handler, install the handler that matches your needs:

$ yarn add graphql @graphql-mesh/openapi

Then, this handler will be available for you to use in your config file.

Getting started

Supported Source APIs

Schema Transformations

Contributions

Contributions, issues and feature requests are very welcome. If you are using this package and fixed a bug for yourself, please consider submitting a PR!

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

Code of Conduct

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

License

GitHub license

MIT

More Repositories

1

graphql-tools

🔧 Utility library for GraphQL to build, stitch and mock GraphQL schemas in the SDL-first approach
TypeScript
5,282
star
2

graphql-import

Import & export definitions in GraphQL SDL
871
star
3

feTS

TypeScript HTTP Framework focusing on e2e type-safety, easy setup, performance & great developer experience
TypeScript
570
star
4

graphql-toolkit

A set of utils for faster development of GraphQL tools
168
star
5

whatwg-node

Helper packages to create platform agnostic applications and libraries without worrying about the lack of WHATWG support in Node.js
TypeScript
140
star
6

meteor-webpack

https://medium.com/@ardatan/meteor-with-webpack-in-2018-faster-compilation-better-source-handling-benefit-from-bc5ccc5735ef
JavaScript
122
star
7

stencil-apollo

Stencil Apollo Library
TypeScript
98
star
8

graphql-import-node

Import 'graphql' files in NodeJS
JavaScript
79
star
9

schema-stitching

Automatically stitch multiple schemas together into one larger API in a simple, fast and powerful way.
MDX
44
star
10

graphql-mesh-workshop

14
star
11

WhatsApp-Clone-client-Stencil

WhatsApp Clone based on Stencil and Ionic 4
TypeScript
12
star
12

graphql-modules-accountsjs-boilerplate

https://medium.com/the-guild/authentication-with-accountsjs-graphql-modules-e0fb9799a9da
TypeScript
11
star
13

react-native-browser-polyfills

Set of browser polyfills for React Native
JavaScript
8
star
14

TypeGraphQLModules

GraphQL-Modules TypeGraphQL Integration Example
TypeScript
6
star
15

react-native-meteor-polyfills

https://medium.com/@ardatan/connecting-react-native-and-meteor-w-o-any-3rd-party-library-in-2018-3e784d33acb0
JavaScript
5
star
16

angular-rss-reader

RSS Reader for Angular
TypeScript
4
star
17

msgraph-react-mesh-sdk

MS Graph SDK Example on React project using GraphQL Mesh
TypeScript
3
star
18

fetchache

Cross platform Fetch with Generic Key Value Cache support
2
star
19

meteor-mocha

Mocha Testing Package for Meteor
JavaScript
2
star
20

nodejs-typescript-starter

Created with CodeSandbox
TypeScript
2
star