5 releases
0.1.5 | Dec 14, 2023 |
---|---|
0.1.4 | Jul 2, 2023 |
0.1.2 | Jun 25, 2023 |
#524 in Development tools
3MB
406 lines
Contains (ELF exe/lib, 5.5MB) shivr-Linux-x86/shivr, (Mach-o exe, 1.5MB) shivr-macOS-x86/shivr
shivr
Lightweight command runner for monorepos. Can run commands on only packages changed against defined root branch
Demo
Installing
Install script
View the script here
# Non root user, can only download
$ curl https://raw.githubusercontent.com/xtenduke/shivr/main/download.sh | bash
# Root user, can download and install to /usr/local/bin
$ curl https://raw.githubusercontent.com/xtenduke/shivr/main/download.sh | sudo bash
From cargo
$ cargo install shivr
Usage
Usage: shivr [--detect-changes] [--main-branch <main-branch>] [--root-dir <root-dir>] [--package-dir <package-dir>] --command <command> [--concurrency <concurrency>]
Arguments
Options:
--detect-changes if shiv should run the command on all packages, or just
those changed against main
--main-branch main branch name, default "main"
--root-dir root dir to run in
--package-dir package directory, default "packages"
--command command to run on packages
--concurrency max number of threads to run, default 1
--help display usage information
Example
$ shivr --detect-changes --command build
Config files required
Config files mapping out commands to package scripts should be configured in all package dirs like so.
Named shiv.json
{
"scripts": [
{
"name": "build",
"run": "yarn build"
}
]
}
Development
Testing
setup_test.sh
needs to be run before running cargo test
Dependencies
~11MB
~264K SLoC