An elegant, interactive version bumping and release tool for MoonBit packages.
Dependencies
moon install unmbt/moon-bump/cmd/moon-bump
moon-bump -Vcurl -fsSL https://raw.githubusercontent.com/unmbt/moon-bump/master/scripts/install.sh | bashirm https://raw.githubusercontent.com/unmbt/moon-bump/master/scripts/install.ps1 | iexNote: The pre-compiled binary scripts install to ~/.unmbt and add that directory to your PATH. You may need to restart your terminal for the changes to take effect.
moon-bump? Current version 0.0.1 ยป
> patch 0.0.2
minor 0.1.0
major 1.0.0
next 0.0.2
conventional 0.0.2
pre-patch 0.0.2-beta.1
pre-minor 0.1.0-beta.1
pre-major 1.0.0-beta.1
as-is 0.0.1
custom ... # Bump to a specific version directly
moon-bump 1.2.3
# Bump patch version directly
moon-bump patch
# Customize commit message and tag
moon-bump --commit "chore(release): v%s" --tag "v%s"
# Skip pushing to git remote
moon-bump --no-push
# Execute a command after bumping
moon-bump --execute "moon publish"| Option | Description | Default |
|---|---|---|
| [release], --release | prompt, next, conventional, a SemVer bump type, or an exact SemVer | prompt |
| [files...] | Files to update; moon.mod is edited structurally, other files use boundary-aware replacement | moon.mod |
| --preid | Prerelease identifier | beta |
| --commit, -c | Commit message template; a value is required | release: v%s |
| --no-commit | Disable the release commit, tag, and push while keeping file updates and lifecycle scripts | false |
| --tag, -t | Annotated tag template; a value is required | v%s |
| --no-tag | Disable tagging | false |
| --sign | Sign the commit and tag | false |
| --push, -p / --no-push | Push the commit, then the release tag | true |
| --update / --no-update | Run moon update after file changes | false |
| --all, -a | Stage all changed files | false |
| --git-check / --no-git-check | Require a clean working tree | true |
| --verify / --no-verify | Run or skip Git verification hooks | true |
| --yes, -y | Skip confirmation | false |
| --cwd | Working directory for files, Git, and commands | . |
| --recursive, -r | Find all moon.mod files recursively | false |
| --ignore-scripts | Ignore preversion, version, and postversion scripts | false |
| --execute, -x | Shell command after file updates and before the version script | - |
| --current-version | Override the version used for calculation and text replacement | - |
| --print-commits / --no-print-commits | Display commits since the latest tag | true |
| --quiet, -q | Suppress progress output | false |
| --config, --configFilePath | Explicit JSON configuration path | bump.config.json |
{
"release": "conventional",
"update": true,
"commit": "release: v%s",
"tag": "v%s",
"files": ["moon.mod", "README.md"]
}Install
Download zipAn elegant, interactive version bumping and release tool for MoonBit packages.
Dependencies