Installation
Dual-licenseThe GraphQL plugin is used to generate EventCatalog resources (e.g domains, services and messages) from your GraphQL schema files.
Installation​
Run the command below to install the EventCatalog GraphQL plugin.
- Install on existing catalog
npm i @eventcatalog/generator-graphql
If you don't have an EventCatalog project yet, you can follow the instructions in the Getting Started guide.
Configuration​
Configure the plugin in your eventcatalog.config.js file.
Add the plugin to the generators array.
// ...
generators: [
// Add single GraphQL schema to a domain
[
'@eventcatalog/generator-graphql',
{
services: [
// Point to a local GraphQL schema file, we assign it to the service "User Service", the service has a version of 1.0.0
{ path: path.join(__dirname, 'graphql-schemas', 'user-service.graphql'), id: "User Service", version: "1.0.0"}
],
// The services are assigned to the domain "Users"
domain: { id: 'users', name: 'Users', version: '0.0.1' },
},
],
// Add many GraphQL schemas to a domain
[
'@eventcatalog/generator-graphql',
{
services: [
// Orders service
{ path: path.join(__dirname, 'graphql-schemas', 'order-service.graphql'), id: "Order Service", version: "1.0.0"}
// Payment service
{ path: path.join(__dirname, 'graphql-schemas', 'payment-service.graphql'), id: "Payment Service", version: "1.0.0"}
],
// We add the orders and payment services to the domain "Shopping"
domain: { id: 'shopping', name: 'Shopping', version: '0.0.1' },
},
],
],
};
Configure license key​
The EventCatalog GraphQL plugin requires a license key to work with EventCatalog.
You can get a trial license key from EventCatalog Cloud.
You have a few options for setting the license key:
1. Setting license key in .env file (recommended)​
Create a .env file in the root of your project and add the following:
EVENTCATALOG_LICENSE_KEY_GRAPHQL=your-license-key
If you are using an older version of EventCatalog that does not support the .env file, you can just export the license key as an environment variable.
export EVENTCATALOG_LICENSE_KEY_GRAPHQL=your-license-key