Gatsby source plugin for building websites using Parse as a data source
-
Add
gatsby-source-parse
as a dependency by running usingnpm
oryarn
:npm i gatsby-source-parse # or yarn add gatsby-source-parse
-
Configure settings at
gatsby-config.js
, for example (please note that parseConfig settings are only placeholder/dummy values):module.exports = { plugins: [ { resolve: `gatsby-source-parse`, options: { parseConfig: { apiKey: 'api-key', appId: 'my-parse-app-id', jsKey: 'my-parse-app-js-key', serverURL: 'https://myserveraddress.com/parse', }, types: [ { type: `Book`, map: doc => ({ title: doc.title, isbn: doc.isbn, }), }, { type: `Author`, map: doc => ({ name: doc.name, country: doc.country, }), }, ], }, }, ], };
Note that you will need to have
books
andauthors
in Parse matching this schema before Gatsby can query correctly. -
Test GraphQL query:
{ allBooks { edges { node { title isbn author { name } } } } }
Key | Description |
---|---|
appConfig |
Parse credentials generated on parse server configuration. |
types |
Array of types, which require the following keys (type , collection , map ) |
types.type |
The type of the collection, which will be used in GraphQL queries, e.g. when type = Book , the GraphQL types are named book and allBook |
types.collection |
The name of the collections in Parse. Nested collections are not tested |
types.map |
A function to map your data in Parse to Gatsby nodes, utilize the undocumented ___NODE to link between nodes |
This project is created solely to suit our requirements, no maintenance or warranty are provided. Feel free to send in pull requests.