gatsby-source-mms
v0.6.32
Published
Gatsby source plugin for building websites using MMS as a data source
Downloads
226
Readme
Gatsby Source MMS
Overview
A Gatsby plugin that runs a GraphQL query on MMS, and parses its response based on a GraphQL schema, to get your data properly into Gatsby's world.
Development Team
- Creator: Daniel Farrell
- Updates: Danny Sellergren
- Updates: Matt Clough
- Updates: Dan Sibitzky
- Updates: Lloyd Flanaganmailto::[email protected]
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
- Download and cache the schema from the server (
utils/getSchema
). - Build client scheme from that schema.
- Parse the client query to query AST and operation AST.
- Gather fragment definitions.
- Validate the query is valid for the schema.
- Run query against server.
- Use the type info of the schema to walk through the operations.
- Recursively make nodes from the data, using fragments as needed.
Dependencies
Testing
Server
Published to NPM.