From 74580918b3f13f1ea4c78efb7f505dba2c88a94a Mon Sep 17 00:00:00 2001 From: Pablo Pettinari Date: Tue, 7 Jun 2022 15:30:39 -0300 Subject: [PATCH] add schema docs --- docs/schema.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 docs/schema.md diff --git a/docs/schema.md b/docs/schema.md new file mode 100644 index 00000000000..d989d8098ac --- /dev/null +++ b/docs/schema.md @@ -0,0 +1,12 @@ +# Schema + +Our schema, used in the Gatsby GraphQL layer, is defined under the `src/schema` folder. These files are then grabbed by the createSchemaCustomization`Gatsby hook in`gatsby-node.ts`. +There are two ways to define a schema in Gatsby: + +- GraphQL SDL, the traditional way using [template literals](https://graphql.org/learn/schema/) +- And a more "programmatic" approach, which has more flexibility, [Gatsby Type Builders](https://www.gatsbyjs.com/docs/reference/graphql-data-layer/schema-customization/#gatsby-type-builders) with `schema.buildObjectType` + +That is why you see two folders in /schema + +- `src/schema/sdls` for GraphQL SDL +- `src/schema/builders` for Gatsby Type Builders