A Gatsby source plugin for pulling in data from GraphQL APIs.
$ yarn add @wyze/gatsby-source-graphql
$ npm install --save @wyze/gatsby-source-graphql
// gatsby-config.js
// Optionally pull in environment variables
require('dotenv').config({
path: `.env.${process.env.NODE_ENV}`,
});
module.exports = {
// ...
plugins: [
{
resolve: 'gatsby-source-filesystem',
options: {
name: 'queries',
path: `${__dirname}/src/queries/`,
},
},
{
resolve: '@wyze/gatsby-source-graphql',
options: {
headers: {
authorization: `Bearer ${process.env.GITHUB_TOKEN}`,
},
url: 'https://api.github.com/graphql',
},
},
]
}
# src/queries/github.graphql
{
viewer {
name
url
}
}
Given the above example with a GraphQL file named github.graphql
, you would query Gatsby like so:
query GitHubViewerQuery {
githubGraphQl {
viewer {
name
url
}
}
}
Alternatively, you can find a working sample project gatsby-source-graphql-usage where you can understand how to setup this plugin in your Gatsby Project.
v1.2.0 (2018-07-27)
- [
ac57b7ab69
] - Rename package under my named scope (Neil Kistner) - [
befa28c85f
] - Allow the use of a mapper function between results and nodes (#6) (Judah Anthony)
MIT © Neil Kistner