Need a plugin that doesn't exist yet?
Feel free to create an issue if you have a plugin suggestion that should be maintained in core, like general source plugins or other common functionalities that will fit most use cases. That will also let others join the discussion about how it should be implemented first. Transformers for common file types should also be maintained in the core repository.
Any plugins on NPM can be added to plugin library. Add a
gridsome-plugin keyword in
package.json to make it available in the plugin library.
Source plugins are responsible for retrieving data from APIs and insert it into the internal database. If you plan on doing exactly that, call your plugin
@username/gridsome-source-* if you publish the plugin with a namespace.
Learn more about the Data Store API
Other plugins that add functionality should be named
Transformers don't work like the plugins above, but they are used by the source plugins to parse content. They can also add more fields to the GraphQL schema. Transformers must be named
@username/gridsome-transformer-* in order to be found by the source plugins.
Learn more about the Transformer API
Some plugins, like the
@gridsome/transformer-remark, can have its own plugins. They can be named
npm link my-plugin-nameor
yarn link my-plugin-name
If you are integrating with the Server API in your plugin, restarting the development server is necessary. But, if you are only interacting with the Client API, your plugin should automatically hot-reload in your development server.