
Security News
MCP Community Begins Work on Official MCP Metaregistry
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
gatsby-plugin-apollo
Advanced tools
This plugin sets up your Gatsby project to use Apollo Client. It wraps your app in an ApolloProvider
so that you can use GraphQL queries and mutations in your components.
import {useQuery} from '@apollo/client';
function Cupcake() {
const {data, loading, error} = useQuery(GET_CUPCAKE); // <-- just works
}
To learn all about GraphQL and Apollo, check out the Lift-off course on Odyssey, Apollo's learning platform.
To use this plugin, you'll also need to install your own copy of @apollo/client
. This package exports all of the tools you'll need to make GraphQL queries in your app.
npm install gatsby-plugin-apollo @apollo/client graphql
Once installed, add the plugin to your Gatsby config.
// gatsby-config.js
module.exports = {
plugins: ['gatsby-plugin-apollo']
};
This plugin supports two methods of configuration:
For simple configurations, you can supply many of the ApolloClient
constructor options directly to the plugin in your Gatsby config.
// gatsby-config.js
module.exports = {
plugins: [
{
resolve: 'gatsby-plugin-apollo',
options: {
uri: 'https://example.com/graphql'
}
}
]
};
Due to a limitation on the types of options that can be passed to a Gatsby plugin, only certain constructor options can be passed as plugin options. Options that require an instance of a JavaScript class, like cache
or link
can't be serialized as JSON, so they can't be configured in this way.
For more complex configurations, the client shadowing method allows you to define your own custom Apollo Client instance to be used by the plugin.
You can configure this plugin to use your own custom Apollo Client instance by creating a client.js
file in src/gatsby-plugin-apollo
that exports your client. You can create your client however you like, as long as you remember these important details:
isomorphic-fetch
) as an option to HttpLink
// src/gatsby-plugin-apollo/client.js
import fetch from 'isomorphic-fetch';
import {ApolloClient, HttpLink, InMemoryCache} from '@apollo/client';
const client = new ApolloClient({
cache: new InMemoryCache(),
link: new HttpLink({
uri: 'https://api.spacex.land/graphql/',
fetch
})
});
export default client;
This configuration method should be used if you need to customize your cache or use a complex link, such as sending a JWT along with every request or enabling subscriptions using a WebSocketLink
.
FAQs
Set up your Gatsby project to use Apollo
The npm package gatsby-plugin-apollo receives a total of 3,267 weekly downloads. As such, gatsby-plugin-apollo popularity was classified as popular.
We found that gatsby-plugin-apollo demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
Research
Security News
Malicious npm packages posing as developer tools target macOS Cursor IDE users, stealing credentials and modifying files to gain persistent backdoor access.