#!/bin/bash function bump() { if [ "$1" == "major" ] || [ "$1" == "minor" ] || [ "$1" == "patch" ]; then current_version=$(cat package.json | jq -r '.version') IFS='.' read -a version_parts <<< "$current_version" major=${version_parts[0]} minor=${version_parts[1]} patch=${version_parts[2]} case "$1" in "major") major=$((major + 1)) minor=0 patch=0 ;; "minor") minor=$((minor + 1)) patch=0 ;; "patch") patch=$((patch + 1)) ;; esac new_version="$major.$minor.$patch" echo "New Version is $new_version" cat package.json | jq ".version = \"$new_version\"" > temp.json mv temp.json package.json cat package-lock.json | jq ".version = \"$new_version\"" > temp.json mv temp.json package-lock.json else echo >&2 "No patch type set. Aborting." fi } echo "Bumping version ... " bump $1