mirror of
https://github.com/chrisbenincasa/tunarr.git
synced 2026-04-18 09:03:35 -04:00
chore: add bump-version script
This commit is contained in:
59
scripts/bump-version.sh
Executable file
59
scripts/bump-version.sh
Executable 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."
|
||||
Reference in New Issue
Block a user