Installation
Dual-license
The 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
2. Setting license key in eventcatalog.config.js​
If you prefer, you can set the license key in the eventcatalog.config.js
file
using the licenseKey
property in the EventCatalog GraphQL plugin.
export default {
generators: [
[
'@eventcatalog/generator-graphql',
{
licenseKey: '[INSERT_YOUR_LICENSE_KEY]', // or process.env.EVENTCATALOG_LICENSE_KEY_GRAPHQL
},
],
],
};
White listing EventCatalog domains​
If you are behind a firewall you will need to white list the domain https://api.eventcatalog.cloud
in your firewall. This is because the plugin needs to verify your license key.
Run the plugin​
This command will run the generators in your eventcatalog.config.js file.
npm run generate
View your catalog​
Run your catalog locally to see the changes
npm run dev
Any questions or need help?​
If you get stuck, find an issue or need help, please raise an issue on GitHub or join our Discord community.