Skip to content

Instantly share code, notes, and snippets.

@gardner
Created January 15, 2022 00:33
Show Gist options
  • Save gardner/e9eef681a1871f4572e9ceeb96a8d27b to your computer and use it in GitHub Desktop.
Save gardner/e9eef681a1871f4572e9ceeb96a8d27b to your computer and use it in GitHub Desktop.
Versioning a React app in a monorepo with no tags
#!/bin/sh
cd $(git rev-parse --show-toplevel)/ui
previous=$(npm version | grep rating-ui | awk -F"'" '{ print $4 }')
tickets=$(git log --oneline ./ | awk '{ print tolower($2) }' | sort | uniq | grep -i -E -o 'MX-[0-9]+' | wc | awk '{ print $1 }')
patch=$(($tickets % 10))
minor=$(($tickets % 100))
minor=${minor:0:1}
major=$(($tickets % 1000))
major=${major:0:1}
version="$major.$minor.$patch"
echo "$previous -> $version"
if [ "$previous" != "$version" ]; then
echo "Version $version"
npm version $version
echo "Please commit the new version number and push again."
exit 1
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment