Migrate to Netlify Today

Netlify announces the next evolution of Gatsby Cloud. Learn more

ContactSign Up
Community Plugin
View plugin on GitHub

Gatsby Source MMS

  1. Overview
  2. Setup
  3. Structure
  4. Dependencies
  5. Testing
  6. Server
  7. Caveats
  8. Other

Overview

A Gatsby plugin that runs a GraphQL query on MMS and parses its response based on a schema to get your data properly into Gatsby’s world.

Development Team

  • Creator: Daniel Farrell
  • Updates: Danny Sellergren
  • Updates: Matt Clough
  • Updates: Dan Sibitzky

Setup

Add the following with your settings to the gatsby-config.js file under plugins:

{
  resolve: `gatsby-source-mms`,
  options: {
    account: `awesome-co`,
    accessToken: `00000000-0000-0000-0000-000000000000`
  }
},

For development, you can just add gatsby-source-mms to plugins and it will point to localhost:3000/graphql.

Plugin Development

To use a local version of this package for development purposes, clone this repository and then from the repo directory run:

yarn link

From the local project repository directory that you want to use with this package, run:

yarn link gatsby-source-mms

Then run yarn and yarn watch in this package’s directory and you can yarn develop from the project you’re running the package from.

To reverse this process, run yarn unlink in this repository’s directory and yarn unlink gatsby-source-mms and yarn in the project repository’s directory.

Structure

Process/Workflow

  1. Download and cache the schema from the server (utils/getSchema).
  2. Build client scheme from that schema.
  3. Parse the client query to query AST and operation AST.
  4. Gather fragment definitions.
  5. Validate the query is valid for the schema.
  6. Run query against server.
  7. Use the type info of the schema to walk through the operations.
  8. Recursively make nodes from the data, using fragments as needed.

Dependencies

Testing

Server

Published to NPM.

Caveats

Other

© 2023 Gatsby, Inc.