chore: add bump-version script

This commit is contained in:
Christian Benincasa
2026-01-20 16:45:06 -05:00
parent ad5836a29b
commit bcf8c511a2

59
scripts/bump-version.sh Executable file
View File

@@ -0,0 +1,59 @@
#!/usr/bin/env bash
set -euo pipefail
if [[ $# -ne 1 ]]; then
echo "Usage: $0 <version>"
echo "Example: $0 1.2.0"
exit 1
fi
VERSION="$1"
# Validate version format (basic semver check)
if ! [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.]+)?$ ]]; then
echo "Error: Invalid version format. Expected semver (e.g., 1.2.0 or 1.2.0-beta.1)"
exit 1
fi
# Check for jq
if ! command -v jq &> /dev/null; then
echo "Error: jq is required but not installed."
exit 1
fi
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(dirname "$SCRIPT_DIR")"
# Package.json files to update (relative to root)
PACKAGE_FILES=(
"package.json"
"server/package.json"
"shared/package.json"
"types/package.json"
"web/package.json"
)
echo "Updating version to $VERSION in all package.json files..."
for file in "${PACKAGE_FILES[@]}"; do
filepath="$ROOT_DIR/$file"
if [[ -f "$filepath" ]]; then
tmp=$(mktemp)
jq --arg version "$VERSION" '.version = $version' "$filepath" > "$tmp"
mv "$tmp" "$filepath"
echo " Updated $file"
else
echo " Warning: $file not found, skipping"
fi
done
echo ""
echo "Committing changes..."
cd "$ROOT_DIR"
git add "${PACKAGE_FILES[@]}"
git commit -m "chore: bump version to $VERSION"
echo ""
echo "Done! Version bumped to $VERSION and committed."