| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/bin/bash
- # Version bump script
- # Usage: ./scripts/bump-version.sh [alpha|beta|rc|patch|minor|major]
- set -e
- STAGE=${1:-alpha}
- # Colors
- GREEN='\033[0;32m'
- BLUE='\033[0;34m'
- YELLOW='\033[1;33m'
- RED='\033[0;31m'
- NC='\033[0m'
- # Get current version
- CURRENT_VERSION=$(cat VERSION 2>/dev/null || echo "0.1.0-alpha.1")
- echo -e "${BLUE}📦 Version Bump Tool${NC}"
- echo -e "${BLUE}====================${NC}"
- echo ""
- echo -e "Current version: ${YELLOW}${CURRENT_VERSION}${NC}"
- echo -e "Bump type: ${YELLOW}${STAGE}${NC}"
- echo ""
- # Navigate to root
- cd "$(dirname "$0")/.." || exit 1
- # Bump version in package.json
- case "$STAGE" in
- alpha)
- npm run version:bump:alpha
- ;;
- beta)
- npm run version:bump:beta
- ;;
- rc)
- npm run version:bump:rc
- ;;
- patch)
- npm run version:bump:patch
- ;;
- minor)
- npm run version:bump:minor
- ;;
- major)
- npm run version:bump:major
- ;;
- *)
- echo -e "${RED}❌ Invalid stage: $STAGE${NC}"
- echo -e "${YELLOW}Valid options: alpha, beta, rc, patch, minor, major${NC}"
- exit 1
- ;;
- esac
- # Get new version
- NEW_VERSION=$(cat VERSION)
- echo ""
- echo -e "${GREEN}✅ Version bumped!${NC}"
- echo -e "New version: ${GREEN}${NEW_VERSION}${NC}"
- echo ""
- # Prompt for changelog update
- echo -e "${YELLOW}📝 Don't forget to update CHANGELOG.md!${NC}"
- echo ""
- echo -e "Next steps:"
- echo -e " 1. Update CHANGELOG.md with changes"
- echo -e " 2. Commit: ${BLUE}git add VERSION package.json CHANGELOG.md${NC}"
- echo -e " 3. Commit: ${BLUE}git commit -m \"chore: bump version to v${NEW_VERSION}\"${NC}"
- echo -e " 4. Tag: ${BLUE}git tag v${NEW_VERSION}${NC}"
- echo -e " 5. Push: ${BLUE}git push origin main --tags${NC}"
- echo ""
|