schema-diff-bot
v1.0.0
Published
schema diff bot
Downloads
1
Readme
Schema diff bot
A simple slack bot to send the differences between graphql schemas
How to use
- install the lib globally or local and be free to configure how to call the bot.
npm install [-g] schema-diff-bot
My suggestion is to call the bot using git hook before push new code to the remote repository. I would suggest the usage of Husky to configure git hooks using npm scripts in an easy way.
config file
schema diff bot uses cosmiconfig
so, you can create the config file using:
- a package.json property
- a JSON or YAML, extensionless "rc file"
- an "rc file" with the extensions .json, .yaml, .yml, or .js.
- a .config.js CommonJS module
our module is called schemaDiffBot
so, you can create:
- a
schemaDiffBot
property in package.json - a
.schemaDiffBotrc
file in JSON or YAML format - a
.schemaDiffBotrc.json
file - a
.schemaDiffBotrc.yaml
,.schemaDiffBotrc.yml
, or.schemaDiffBotrc.js
file - a
schemaDiffBot.config.js
file exporting a JS object
config options
{
leftSchema: "path to file or url to graphql schema",
rightSchema: "path to file or url to graphql schema",
options: {
//headers to be applied in both schemas
headers: {
authorization: "Bearer token",
},
//headers to be applied on leftSchema
leftSchema: {
headers: {}
},
//headers to applied on rightSchema
rightSchema: {
headers: {}
}
},
slack: {
//you should create an slack app e get the token to use web client API
token: "token",
//you also should provide channelId
channelId: "CGU94K7S8"
},
icons: {
//you can change default icons per type of action
//the actions covered are:
changed: ":exclamation:",
removed: ":fire:",
added: ":white_check_mark:"
},
// if true, when has differences the process will stop, useful to run in CI process
stopProcessIfHasDifferences: "false"
}
Example of message received: