console/packages/libraries/cli/README.md

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.

Version

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 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>"
  }
}