npm.io
2.0.0 • Published 1 month agoCLI

@golemio/cli

Licence
MIT
Version
2.0.0
Deps
21
Size
165 kB
Vulns
0
Weekly
0
Install scriptsThis package runs scripts during installation (preinstall/install/postinstall)

pipeline status coverage report

Golemio CLI

Golemio CLI is a collection of executables intended for use with Golemio services and modules

Install the CLI

Prerequisites

$ cd my-project

# With Yarn
$ yarn add --dev @golemio/cli
# For Portman support, run yarn add --dev @apideck/portman@^1.16.1

# With npm
$ npm install --save-dev @golemio/cli
# For Portman support, run npm install --save-dev @apideck/portman@^1.16.1

# Test it out
$ yarn golemio
$ npm exec golemio
Install globally
# With Yarn
$ yarn global add @golemio/cli

# With npm
$ npm install -g @golemio/cli

# Test it out
$ golemio

Commands summary

Command Description
golemio Default command (welcome)
golemio help View available commands
golemio migrate-db help View available migration commands and flags
golemio migrate-db create <name> Create new migration scripts (--postgres, --path)
golemio migrate-db up Execute up migrations (--postgres, --path)
golemio migrate-db down Execute down migrations (--postgres, --path)
golemio migrate-db reset Reset all executed migrations (--postgres, --path)
golemio import-db-data help View available db data import commands and flags
golemio import-db-data Import db data (--dangerous, --postgres)
golemio rabbitmq help View available rabbitmq commands and flags
golemio rabbitmq send --help View available rabbitmq send flags
golemio rabbitmq receive --help View available rabbitmq receive flags
golemio release help View available commands
golemio release check-modules-integrity Check module group if new repo was added
golemio release check Check repos that are ready to release (--scope, --skip or --only, --interactive)
golemio release merge Merge repos marked as release candidate by check command (--scope, --skip or --only, --interactive)
golemio release check-mr-pipelines Show pipelines of merged repos (--scope, --skip or --only, --interactive)
golemio release sync-branches Synchronize branches after release (--scope, --skip or --only, --interactive)
golemio release create-tags Create tags and releases of merged repos (--scope, --skip or --only, --interactive)
golemio release print-release-issue Print issues and release candidate modules
golemio swagger help View available swagger commands and flags
golemio swagger generate Generate OAS file from multiple inputs
golemio swagger api-test Run Portman integration tests
golemio asyncapi merge Merge asyncapi documentation
golemio asyncapi upload Build and upload the asyncapi documentation to the azure blob storage

Read release_management_CZ for more info to release command. Read migrations for more info about database migrations.

Environmental variables

Variable Example Required
POSTGRES_CONN postgres://oict:oict-pass@localhost/oict-test (mdb and idd postgres)
RABBIT_CONN amqp://rabbit:pass@localhost (rmq)
POSTGRES_MIGRATIONS_DIR db/migrations/postgresql (default)
SQL_DUMP_FILES db/example/*.sql (idd postgres)
GITLAB_API_TOKEN token (rls)
RELEASE_BRANCH_NAME release (rls) default: release
TARGET_BRANCH_NAME master (rls) default: master

The value of the variable GITLAB_API_TOKEN should be created in GitLab User Settings page Access Tokens. Token scopes are api, read_repository and write_repository.

Development

Local environment

To set up your local development environment, install project dependencies and create .env file in the root of the project (see .env.template for reference)

$ npm install
$ cp .env.template .env

Now you can run the CLI in development mode, just type

$ ./bin/golemio.js

You don't need to compile the source code as the script automatically registers the ts-node loader in development mode

Unit tests

Unit tests are located at test/unit. You can run them by typing

$ npm run test-unit
Integration tests

Integration tests are located at test/integration. You can run them by typing

# Run local services, recommended
$ docker-compose up -d

$ npm run test-integration

License

MIT

Keywords