chore: add VERSION file and bump-version.sh script
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
55
scripts/bump-version.sh
Executable file
55
scripts/bump-version.sh
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
VERSION_FILE="$PROJECT_ROOT/VERSION"
|
||||
|
||||
if [ $# -ge 1 ]; then
|
||||
echo "$1" > "$VERSION_FILE"
|
||||
fi
|
||||
|
||||
if [ ! -f "$VERSION_FILE" ]; then
|
||||
echo "ERROR: VERSION file not found at $VERSION_FILE" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERSION=$(cat "$VERSION_FILE")
|
||||
|
||||
# Sanitize: strip leading v/V, trim whitespace
|
||||
VERSION=$(echo "$VERSION" | sed 's/^[vV]//' | tr -d '[:space:]')
|
||||
|
||||
# Validate semver (X.Y.Z)
|
||||
if ! echo "$VERSION" | grep -qE '^[0-9]+\.[0-9]+\.[0-9]+$'; then
|
||||
echo "ERROR: '$VERSION' is not valid semver (expected X.Y.Z)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Bumping to version $VERSION"
|
||||
|
||||
# 1. package.json
|
||||
cd "$PROJECT_ROOT"
|
||||
npm pkg set "version=$VERSION" --json 2>/dev/null || npm pkg set "version=$VERSION"
|
||||
echo " ✓ package.json"
|
||||
|
||||
# 2. src-tauri/Cargo.toml — update [package] version (first version = line)
|
||||
sed -i '' "s/^version = \".*\"/version = \"$VERSION\"/" "$PROJECT_ROOT/src-tauri/Cargo.toml"
|
||||
echo " ✓ src-tauri/Cargo.toml"
|
||||
|
||||
# 3. src-tauri/tauri.conf.json
|
||||
node -e "
|
||||
const fs = require('fs');
|
||||
const path = '$PROJECT_ROOT/src-tauri/tauri.conf.json';
|
||||
const conf = JSON.parse(fs.readFileSync(path, 'utf8'));
|
||||
conf.version = '$VERSION';
|
||||
fs.writeFileSync(path, JSON.stringify(conf, null, 2) + '\n');
|
||||
"
|
||||
echo " ✓ src-tauri/tauri.conf.json"
|
||||
|
||||
# 4. Sync Cargo.lock
|
||||
cd "$PROJECT_ROOT/src-tauri"
|
||||
cargo generate-lockfile 2>/dev/null
|
||||
echo " ✓ src-tauri/Cargo.lock"
|
||||
|
||||
echo ""
|
||||
echo "Done — all manifests set to $VERSION"
|
||||
Reference in New Issue
Block a user