9.6 KiB
Hive CLI (Command Line Interface)
A CLI util to manage and control your GraphQL Hive. You can perform schema-registry actions on your Hive targets using the Hive CLI.
Installation
NodeJS
If you are running a JavaScript/NodeJS project, you can install Hive CLI from the npm registry:
pnpm install -D @graphql-hive/cli
yarn add -D @graphql-hive/cli
npm install -D @graphql-hive/cli
We recommend installing Hive CLI as part of your project, under
devDependencies, instead of using a global installation.
Binary
If you are running a non-JavaScript project, you can download the prebuilt binary of Hive CLI using the following command:
curl -sSL https://graphql-hive.com/install.sh | sh
Commands
hive config:delete KEYhive config:get KEYhive config:resethive config:set KEY VALUEhive help [COMMANDS]hive operations:check FILEhive operations:publish FILEhive schema:check FILEhive schema:delete SERVICEhive schema:publish FILEhive update [CHANNEL]hive whoami
hive config:delete KEY
deletes specific cli configuration
USAGE
$ hive config:delete KEY
ARGUMENTS
KEY config key
DESCRIPTION
deletes specific cli configuration
See code: dist/commands/config/delete.js
hive config:get KEY
prints specific cli configuration
USAGE
$ hive config:get KEY
ARGUMENTS
KEY config key
DESCRIPTION
prints specific cli configuration
See code: dist/commands/config/get.js
hive config:reset
resets local cli configuration
USAGE
$ hive config:reset
DESCRIPTION
resets local cli configuration
See code: dist/commands/config/reset.js
hive config:set KEY VALUE
updates specific cli configuration
USAGE
$ hive config:set KEY VALUE
ARGUMENTS
KEY config key
VALUE config value
DESCRIPTION
updates specific cli configuration
See code: dist/commands/config/set.js
hive help [COMMANDS]
Display help for hive.
USAGE
$ hive help [COMMANDS] [-n]
ARGUMENTS
COMMANDS Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for hive.
See code: @oclif/plugin-help
hive operations:check FILE
checks operations against a published schema
USAGE
$ hive operations:check FILE [--registry.endpoint <value>] [--registry.accessToken <value>] [--require <value>]
ARGUMENTS
FILE Glob pattern to find the operations
FLAGS
--registry.endpoint=<value> registry endpoint
--registry.accessToken=<value> api token
--require=<value>... [default: ] Loads specific require.extensions before running the command
DESCRIPTION
checks operations against a published schema
See code: dist/commands/operations/check.js
hive operations:publish FILE
saves operations to the store
USAGE
$ hive operations:publish FILE [--registry.endpoint <value>] [--registry.accessToken <value>] [--require <value>]
ARGUMENTS
FILE Glob pattern to find the operations
FLAGS
--registry.endpoint=<value> registry address
--require=<value>... [default: ] Loads specific require.extensions before running the codegen and reading the
configuration
--registry.accessToken=<value> api token
DESCRIPTION
saves operations to the store
See code: dist/commands/operations/publish.js
hive schema:check FILE
checks schema
USAGE
$ hive schema:check FILE [--service <value>] [--registry.endpoint <value>] [--registry.accessToken <value>] [--forceSafe] [--github]
[--require <value>]
ARGUMENTS
FILE Path to the schema file(s)
FLAGS
--forceSafe mark the check as safe, breaking changes are expected
--github Connect with GitHub Application
--registry.endpoint=<value> registry address
--require=<value>... [default: ] Loads specific require.extensions before running the codegen and reading the
configuration
--service=<value> service name (only for distributed schemas)
--registry.accessToken=<value> api token
DESCRIPTION
checks schema
See code: dist/commands/schema/check.js
hive schema:delete SERVICE
deletes a schema
USAGE
$ hive schema:delete SERVICE [--registry.endpoint <value>] [--registry.accessToken <value>] [--dryRun] [--confirm]
ARGUMENTS
SERVICE name of the service
FLAGS
--confirm Confirm deletion of the service
--dryRun Does not delete the service, only reports what it would have done.
--registry.endpoint=<value> Address of the registry
--registry.accessToken=<value> API token
DESCRIPTION
deletes a schema
See code: dist/commands/schema/delete.js
hive schema:publish FILE
publishes schema
USAGE
$ hive schema:publish FILE [--service <value>] [--url <value>] [--metadata <value>] [--registry.endpoint <value>]
[--registry.accessToken <value>] [--author <value>] [--commit <value>] [--github] [--force] [--experimental_acceptBreakingChanges]
[--require <value>]
ARGUMENTS
FILE Path to the schema file(s)
FLAGS
--author=<value> author of the change
--commit=<value> associated commit sha
--experimental_acceptBreakingChanges (experimental) accept breaking changes and mark schema as valid (only if
composable)
--force force publish even on breaking changes
--github Connect with GitHub Application
--metadata=<value> additional metadata to attach to the GraphQL schema. This can be a string with a
valid JSON, or a path to a file containing a valid JSON
--registry.endpoint=<value> registry address
--require=<value>... [default: ] Loads specific require.extensions before running the codegen and
reading the configuration
--service=<value> service name (only for distributed schemas)
--registry.accessToken=<value> api token
--url=<value> service url (only for distributed schemas)
DESCRIPTION
publishes schema
See code: dist/commands/schema/publish.js
hive update [CHANNEL]
update the hive CLI
USAGE
$ hive update [CHANNEL] [-a] [-v <value> | -i] [--force]
FLAGS
-a, --available Install a specific version.
-i, --interactive Interactively select version to install. This is ignored if a channel is provided.
-v, --version=<value> Install a specific version.
--force Force a re-download of the requested version.
DESCRIPTION
update the hive CLI
EXAMPLES
Update to the stable channel:
$ hive update stable
Update to a specific version:
$ hive update --version 1.0.0
Interactively select version:
$ hive update --interactive
See available versions:
$ hive update --available
See code: @oclif/plugin-update
hive whoami
shows information about the current token
USAGE
$ hive whoami [--registry <value>] [--token <value>]
FLAGS
--registry=<value> registry address
--token=<value> api token
DESCRIPTION
shows information about the current token
See code: dist/commands/whoami.js
Configuration
Environment Variables
You may set the HIVE_TOKEN environment variable while running the Hive CLI, in order to set it
globally.
Config file (hive.json)
You can create a hive.json file to manage your Hive configuration.
Note that the CLI args will override the values in config if both are specified.
The configuration input priority is: CLI args > environment variables > hive.json configuration.
This is how the structure of the config file should look like:
{
"registry": {
"endpoint": "<yourRegistryURL>",
"accessToken": "<yourtoken>"
},
"cdn": {
"endpoint": "<yourCdnURL>",
"accessToken": "<yourtoken>"
}
}