37 lines
891 B
Bash
Executable File
37 lines
891 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Check if a parameter was provided
|
|
if [ -z "$1" ]; then
|
|
echo "Usage: ./version-bump.sh [major|minor|patch]"
|
|
exit 1
|
|
fi
|
|
|
|
# Read current version
|
|
current_version=$(node -p "require('./package.json').version")
|
|
IFS='.' read -r major minor patch <<< "$current_version"
|
|
|
|
# Update version based on parameter
|
|
case "$1" in
|
|
"major")
|
|
new_version="$((major + 1)).0.0"
|
|
;;
|
|
"minor")
|
|
new_version="$major.$((minor + 1)).0"
|
|
;;
|
|
"patch")
|
|
new_version="$major.$minor.$((patch + 1))"
|
|
;;
|
|
*)
|
|
echo "Invalid parameter. Use: major, minor, or patch"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
# Update package.json
|
|
node -e "
|
|
const pkg = require('./package.json');
|
|
pkg.version = '$new_version';
|
|
require('fs').writeFileSync('package.json', JSON.stringify(pkg, null, 2) + '\n');
|
|
"
|
|
|
|
echo "Version bumped from $current_version to $new_version" |