@worldsibu/convector-cli
v1.1.7
Published
Official Command-Line Interface for Convector Framework
Downloads
8
Readme
Convector CLI
Convector CLI is the official Command-Line Interface for Convector Framework. It is an open source project under an Apache 2.0 license to help you create Convector projects easily.
Important
Recently malicious code was found in event-stream
which is a dependency for ps-tree
which is a dependency for npm-run-all
, used in autogenerated projects created by convector-cli
we took care of it and encourage people to upgrade their @worldsibu/convector-cli
installation as soon as possible.
To upgrade:
npm update -g @worldsibu/convector-cli
Prerequisites
- Node 8.11.0 (other versions might work, but this is the one we use for development)
- Docker
- You may want to install Hurley to manage your development environment as well. If it's not installed you can still create and manage your development environment through the NPM commands Convector-CLI generates for you.
Usage
npm install -g @worldsibu/convector-cli
Creating a new project with a chaincode ready
conv new PROJECT-NAME -c CHAINCODE-NAME
cd PROJECT-NAME
npm i
# Bring up a development blockchain in your computer
npm run env:restart
# Install the chaincode to the blockchain
npm run cc:start -- CHAINCODE-NAME 1
# Upgrade the code amazing code you build on top of the template
npm run cc:upgrade -- CHAINCODE-NAME 2
Details
conv new
The way to kickoff a new project. It includes the posibility to create a new project along a new Chaincode right out of the box. npm i
and get a project working for you.
# New project
conv new <project-name> [-c -chaincode <chaincode-name>]
conv generate
The easiest way to include new chaincodes, and model and controller files.
# Creates a chaincode package with a `model` and `controller` default. This needs to be run inside a Convector project folder.
conv generate chaincode <chaincode-name>
# Creates the file in the current folder (by overriding the folder conventions).
conv generate model <chaincode-name> <model-name>
Tests 👷♂️
Fork Convector CLI repo, build it, link it to your global node_modules
, and use it.
- First bring up all the source code dependencies by running
npm i
. - Then run
npm link
to enable it globally.
Roadmap 🗺
Proposed current roadmap. Have ideas? Post them in the Issues section.
- Individual generators for:
- Project root structure -
conv new
- Package structure -
conv new -c <chaincode>
conv generate
- Model file -
conv generate model <model-name>
- Controller file -
conv generate controller <controller-name>
[DEPRECATED] - Convector Tool: Dev Env and Chaincode Manager -
npm run env:restart
npm run cc:start -- <chaincode-name> <version>
- Project root structure -
- Log usage information to internet.
- [🤚 We are here] Unify other Convector CLIs into one.
- Test methods generation from controller.
- Error collection details - report.
- Versioning of cc creation, distribute different versions of dependencies.
- Download settings from the internet.
Important ⚗️
This project is currently under development and it's changing fast, but you can use it for your projects and if something doesn't work or would like new features provide feedback. We love community feedback!
Support
- For recommendations, feature requests, or bugs go to our issues section.
- News on Convector, subscribe to our Newsletter.
- Need support? Chat directly with our team, join our Discord.