Easyp
easyp is a cli tool for workflows with proto files.
For now, it's just linter and package manager, but... who knows, who knows...
Just testing
Official site
https://easyp.tech/
Telegram chat
https://t.me/easyptech
Install
Build from source
- Clone repository
- Build
go build ./cmd/easyp
Install from github
go install github.com/easyp-tech/easyp/cmd/easyp@latest
Linter
easyp support buf's linter rules.
Usage
easyp lint -cfg example.easyp.yaml
Breaking check
Checking your current API on backward compatibility with API from another branch.
Usage
easyp breaking --against $BRANCH_TO_COMPARE_WITH
Package manager
Usage
easyp -cfg example.easyp.yaml mod download
Read your dependencies from easyp.lock file and install them.
If easyp.lock is empty or doesn't exist easyp read dependencies from easyp.yaml config file (deps section).
easyp -cfg example.easyp.yaml mod update
Read dependencies from easyp.yaml config file and ignore easyp.lock file.
Could be used for update versions: set version in easyp.yaml file and run update command.
easyp -cfg example.easyp.yaml mod vendor
Copy all your proto files dependencies to local dir (like go mod vendor command).
Configuration
Write list of your dependencies in easyp.yaml config with in section deps.
For example:
deps:
- github.com/googleapis/googleapis@common-protos-1_3_1
NOTE: Use only git tag or full hash of commit version.
By default, easyp use $HOME/.easyp dir to storage cache and downloaded modules, you could override it with EASYPPATH env var.
Auto-completion
zsh auto-completion
- Add the following line to your ~/.zshrc startup script:
source <(easyp completion zsh)
- Re-launch your shell or run:
source ~/.zshrc
Bash auto-completion
- Install bash-completion and add the software to your
~/.bashrc.
- Add the following line to your ~/.bashrc startup script:
source <(easyp completion bash)
- Re-launch your shell or run:
source ~/.bashrc