v0Getting StartedOverview
⚠️
This is the documentation for the old GraphQL Mesh version v0. We recommend upgrading to the latest GraphQL Mesh version v1.

Migrate to GraphQL Mesh v1

Overview

Working with Mesh means dealing with 4 main concepts: Sources, Handlers, Transforms and Unified Schema:

  1. In Mesh, a sub-service (GraphQL API, REST API) is called a Source.
  2. Sources are translated to GraphQL Schemas with the appropriate Handler.
  3. All Sources’ GraphQL Schema are merged into a final Unified Schema.
  4. Finally, if applicable, configured transformations, called Transforms, are applied to the Unified Schema.

The above GraphQL Mesh Gateway has 3 configured Sources:

  1. The “City” Source configured with the @graphql-mesh/openapi Handler.
  2. The “Population” Source configured with the @graphql-mesh/graphql Handler.
  3. The “Weather” Source configured with the @graphql-mesh/raml Handler.

Sources, Handlers, Transforms are configured in a .mesh.yaml (or .json, .js, .ts) configuration file that defines:

  • How to fetch the definition of the sub-services (GraphQL API, REST API, and more)
  • What transformations should be applied to the unified schema (optional)
  • The path to the declaration of custom resolvers (optional)
  • Which cache strategy should be used? (optional)
  • Which envelop plugins should be loaded and configured at the server level? (optional)

Let’s have a closer look to a .mesh.yaml configuration file by installing Mesh and building our first Gateway!