@chili-publish/connector-cli
v1.11.0
Published
`@chili-publish/connector-cli` is a command-line interface tool designed to facilitate the management of connector test and publish processes in the CHILI publisher ecosystem. It provides a suite of commands to create new projects, build connectors, debug
Keywords
Readme
Connector CLI
@chili-publish/connector-cli is a command-line interface tool designed to facilitate the management of connector test and publish processes in the CHILI publisher ecosystem. It provides a suite of commands to create new projects, build connectors, debug, test, and deploy them to your environment.
Features
Project setup
- New: Scaffold a new connector project with
new.
Development
- Build: Build your connector from TypeScript to JavaScript with
build. - Debug: Run a local debug server for your connector with
debug. - Test: Run a test suite against your connector with
test. - Stress Test: Perform stress tests on your compiled connector with
stress.
Deployment
- Publish: Deploy your connector to the specified environment with
publish. - Set Auth: Configure your connector authentication with
set-auth. - Update: Granular update of an environment connector (e.g.
enabled,default,name). Not allowed for Hub-Based connectors. - Delete: Remove a published connector from an environment with
delete.
Informational
- Info: Retrieve information about your connector with
info. - Demo: Run a demo of your connector with
demo.
Installation
Prerequisites
- Node.js 20 LTS or higher
- Yarn v1.22.19 or higher (for building from source)
You can install @chili-publish/connector-cli globally via npm:
npm install -g @chili-publish/connector-cliOr, if you prefer using Yarn:
yarn global add @chili-publish/connector-cliUsage
After installation, the connector-cli command will be available globally. Below are some examples of how to use the CLI:
Note: For commands that accept
pathToProject, if omitted, it defaults to the current directory (./).
Create a new connector project
For a media connector:
connector-cli new YourProjectName -t media -n YourConnectorNameFor a data connector:
connector-cli new YourProjectName -t data -n YourConnectorNameBuild a connector
connector-cli buildWith watch mode:
connector-cli build -wLogin to the system
connector-cli loginDeploy a connector to environment
connector-cli publish -b EnvironmentAPIBaseURL -e YOUR_ENVIRONMENT -n YourConnectorName --proxyOption.allowedDomains "example.com" "*.example.com"To update an existing connector:
connector-cli publish -b EnvironmentAPIBaseURL -e YOUR_ENVIRONMENT -n YourConnectorName --connectorId EXISTING_CONNECTOR_ID --proxyOption.allowedDomains "example.com"Configure a connector authentication
connector-cli set-auth -b EnvironmentAPIBaseURL -e YOUR_ENVIRONMENT --connectorId ConnectorIdFromEnv -au browser -at staticKey --auth-data-file ./pathToAuthDataAvailable authentication types: staticKey, oAuth2ClientCredentials, oAuth2ResourceOwnerPassword, oAuth2AuthorizationCode, oAuth2JwtBearer
Available usage types: browser, server
Update a connector (enabled / default / name)
At least one of --enabled, --default or --name is required. Omitted options are not sent in the PATCH.
connector-cli update -b EnvironmentAPIBaseURL -e YOUR_ENVIRONMENT --connectorId <id> --enabled true --default falseUpdate only the connector display name:
connector-cli update -b EnvironmentAPIBaseURL -e YOUR_ENVIRONMENT --connectorId <id> -n "My Connector Name"Options: --enabled and --default accept true or false. -n, --name sets the connector display name. Not allowed for Hub-Based connectors.
Debug a connector
connector-cli debug -p 3300 -wGet connector information
connector-cli info -o info.jsonTest a connector
connector-cli test -t ./test/your-test-file.tsRun a demo of a connector
connector-cli demoStress test a connector
connector-cli stress -i 100Delete a connector from environment
connector-cli delete -b EnvironmentAPIBaseURL -e YOUR_ENVIRONMENT --connectorId <id>Build Instructions
To build @chili-publish/connector-cli from source, follow these steps:
yarn -v # to check existing yarn version
Clone the repository:
git clone https://github.com/chili-publish/studio-connector-framework.git cd studio-connector-frameworkInstall dependencies:
yarn installRun the build script from the root:
yarn run build-cliOr from the connector-cli directory:
cd src/connector-cli yarn run build
This will compile TypeScript files to JavaScript and prepare the CLI for use.
Auto generated types
The package includes types located in src/core/gen-types.ts file that automaticaly produced by quicktype library. You shouldn't manually change this typescript file. If you want to make a change you need to update a corresponding json-schema file under resources/schemas/... directory and execute yarn workspace @chili-publish/connector-cli run produce-types from the root level of monorepo
Contributing
Contributions are welcome! Please feel free to submit a pull request or create an issue if you have any ideas, suggestions, or bug reports.
