bump-version.sh 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #!/bin/bash
  2. # Version bump script
  3. # Usage: ./scripts/bump-version.sh [alpha|beta|rc|patch|minor|major]
  4. set -e
  5. STAGE=${1:-alpha}
  6. # Colors
  7. GREEN='\033[0;32m'
  8. BLUE='\033[0;34m'
  9. YELLOW='\033[1;33m'
  10. RED='\033[0;31m'
  11. NC='\033[0m'
  12. # Get current version
  13. CURRENT_VERSION=$(cat VERSION 2>/dev/null || echo "0.1.0-alpha.1")
  14. echo -e "${BLUE}📦 Version Bump Tool${NC}"
  15. echo -e "${BLUE}====================${NC}"
  16. echo ""
  17. echo -e "Current version: ${YELLOW}${CURRENT_VERSION}${NC}"
  18. echo -e "Bump type: ${YELLOW}${STAGE}${NC}"
  19. echo ""
  20. # Navigate to root
  21. cd "$(dirname "$0")/.." || exit 1
  22. # Bump version in package.json
  23. case "$STAGE" in
  24. alpha)
  25. npm run version:bump:alpha
  26. ;;
  27. beta)
  28. npm run version:bump:beta
  29. ;;
  30. rc)
  31. npm run version:bump:rc
  32. ;;
  33. patch)
  34. npm run version:bump:patch
  35. ;;
  36. minor)
  37. npm run version:bump:minor
  38. ;;
  39. major)
  40. npm run version:bump:major
  41. ;;
  42. *)
  43. echo -e "${RED}❌ Invalid stage: $STAGE${NC}"
  44. echo -e "${YELLOW}Valid options: alpha, beta, rc, patch, minor, major${NC}"
  45. exit 1
  46. ;;
  47. esac
  48. # Get new version
  49. NEW_VERSION=$(cat VERSION)
  50. echo ""
  51. echo -e "${GREEN}✅ Version bumped!${NC}"
  52. echo -e "New version: ${GREEN}${NEW_VERSION}${NC}"
  53. echo ""
  54. # Prompt for changelog update
  55. echo -e "${YELLOW}📝 Don't forget to update CHANGELOG.md!${NC}"
  56. echo ""
  57. echo -e "Next steps:"
  58. echo -e " 1. Update CHANGELOG.md with changes"
  59. echo -e " 2. Commit: ${BLUE}git add VERSION package.json CHANGELOG.md${NC}"
  60. echo -e " 3. Commit: ${BLUE}git commit -m \"chore: bump version to v${NEW_VERSION}\"${NC}"
  61. echo -e " 4. Tag: ${BLUE}git tag v${NEW_VERSION}${NC}"
  62. echo -e " 5. Push: ${BLUE}git push origin main --tags${NC}"
  63. echo ""